Проектирование цифрового фильтра нижних частот

Определение порядка аналогового фильтра Баттерворта. Величины разрядной сетки для хранения весовых коэффициентов. Анализ программных особенностей при моделировании работы цифрового фильтра низких частот 8 порядка с заданной частотой дискретизации.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 05.03.2014
Размер файла 187,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Задание

Спроектировать цифровой ФНЧ.

Граница полосы пропускания .

Граница полосы затухания .

Уровень ослабления в полосе затухания - не хуже - 35 дб.

1. Частота дискретизации

2. Определение значений цифровых частот

.

.

3. Коэффициент частотного преобразования

.

4. Определение порядка аналогового фильтра Баттерворта

.

.

Минимальное значение, удовлетворяющее этому неравенству n = 8.

5. Определение передаточной функции для ЦФНЧ:

.

Идеальная АЧХ будет иметь вид:

,

при:

.

.

Так как возможны проблемы, связанные с ошибками округления, то принято решение реализовать с помощью каскадной формы.

Отсюда имеем коэффициенты:

Табл. 1. Для первого фильтра в каскаде

a10 = 0.2136794622

b10 = 1

a11 = 0.4273589244

b11 = -0.8562909114

a12 = 0.2136794622

b12 = 0.7110087604

Табл. 2. Для второго фильтра в каскаде

a20 = 0.1686507829

b20 = 1

a21 = 0.3373015658

b21 = -0.6758447025

a22 = 0.1686507829

b22 = 0.3504478341

Табл. 3. Для третьего фильтра в каскаде

a30 = 0.1452275905

b30 = 1

a31 = 0.290455181

b31 = -0.5819794964

a32 = 0.1452275905

b32 = 0.1628898584

Табл. 4. Для четвертого фильтра в каскаде

a40 = 0.1350748354

b40 = 1

a41 = 0.2701496708

b41 = -0.5412937337

a42 = 0.1350748354

b42 = 0.08159307546

6. Идеальная АЧХ

Рис. 1

Рис. 2

7. Величины разрядной сетки для хранения весовых коэффициентов

Табл. 5. 8 разрядов

a10 = 0.2136794622

0.00110111

0.21484375

a11 = 0.4273589244

0.01101101

0.42578125

a12 = 0.2136794622

0.00110111

0.21484375

b10 = 1

1

1

b11 = -0.8562909114

0.11011011

-0.85546875

b12 = 0.7110087604

0.10110110

0.71093750

a20 = 0.1686507829

0.00101011

0.16796875

a21 = 0.3373015658

0.01010110

0.33593750

a22 = 0.1686507829

0.00101011

0.16796875

b20 = 1

1

1

b21 = -0.6758447025

0.10101101

-0.67578125

b22 = 0.3504478341

0.01011010

0.35156250

a30 = 0.1452275905

0.00100101

0.14453125

a31 = 0.290455181

0.01001010

0.28906250

a32 = 0.1452275905

0.00100101

0.14453125

b30 = 1

1

1

b31 = -0.5819794964

0.10010101

-0.58203125

b32 = 0.1628898584

0.00101010

0.16406250

a40 = 0.1350748354

0.00100011

0.13671875

a41 = 0.2701496708

0.01000101

0.26953125

a42 = 0.1350748354

0.00100011

0.13671875

b40 = 1

1

1

b41 = -0.5412937337

0.10001011

-0.54296875

b42 = 0.08159307546

0.00010101

0.08203125

Табл. 6. 12 разрядов

a10 = 0.2136794622

0.001101101011

0.213623046875

a11 = 0.4273589244

0.011011010110

0.427246093750

a12 = 0.2136794622

0.001101101011

0.213623046875

b10 = 1

1

1

b11 = -0.8562909114

0.110110110011

-0.856201171875

b12 = 0.7110087604

0.101101100000

0.710937500000

a20 = 0.1686507829

0.001010110011

0.168701171875

a21 = 0.3373015658

0.010101100110

0.337402343750

a22 = 0.1686507829

0.001010110011

0.168701171875

b20 = 1

1

1

b21 = -0.6758447025

0.101011010000

-0.675781250000

b22 = 0.3504478341

0.010110011011

0.350341796875

a30 = 0.1452275905

0.001001010011

0.145263671875

a31 = 0.290455181

0.010010100110

0.290527343750

a32 = 0.1452275905

0.001001010011

0.145263671875

b30 = 1

1

1

b31 = -0.5819794964

0.100101010000

-0.582031250000

b32 = 0.1628898584

0.001010011011

0.162841796875

a40 = 0.1350748354

0.001000101001

0.135009765625

a41 = 0.2701496708

0.010001010011

0.270263671875

a42 = 0.1350748354

0.001000101001

0.135009765625

b40 = 1

1

1

b41 = -0.5412937337

0.100010101001

-0.541259765625

b42 = 0.08159307546

0.000101001110

0.081542968750

8. Идеальная АЧХ и АЧХ схем с 8 и 12 разрядами

Рис. 3

Рис. 4

DB(v(5)) -идеальная; DB(v(9)) - 8 разрядов; DB(v(13)) - 12 разрядов;

Для того чтобы фильтр удовлетворял заданию, нужно чтобы он отвечал следующим условиям:

- в полосе пропускания не будет отличаться от нормального значения 3 дБ не более чем на 0.1дБ.

- в полосе затухания будет не менее заданного значения -35 дБ.

Разница на границе полосы пропускания:

8 разрядов: |-3,063|-|-3,032|= 0,031 дБ - соответствует условию

12 разрядов: |-3,033|-|-3,032|= 0,001 дБ - соответствует условию

Разница на границе полосы затухания:

8 разрядов: |-38,323|-|-38,213|= 0,11 дБ - соответствует условию

12 разрядов: |-38,207|-|-38,213|= -0,006 дБ - соответствует условию

9. Разница между идеальной АЧХ и схем с 8 и 12 разрядами

Рис. 5

10. Структурная схема реализации фильтра

Рис. 6

11. Программная реализация

Программа выполняет моделирование работы цифрового фильтра низких частот 8 порядка с частотой дискретизации Fd=132 кГц и максимальной частотой входного непрерывного сигнала Fmax. По результатам обработки выводятся графики входного аналогового сигнала и выходного цифрового сигнала, полученного в соответствии с заданием на проектирование цифрового фильтра.

unit uFilter;

interface

uses Generics.Collections;

type

TMyFilter = class

private

faCof, fbCof, fX, fY: TList<Extended>;

public

constructor Init(aaCof, abCof: TList<Extended>);

function GetValue(ax: Extended): Extended;

end;

implementation

function TMyFilter.GetValue(ax: Extended): Extended;

var

i, n: integer;

tmps1, tmps2: Extended;

begin

n := fX.Count;

for i := 0 to n - 2 do

begin

fX.Items[i] := fX.Items[i + 1];

end;

fX.Items[n - 1] := ax;

n := fY.Count;

for i := 0 to n - 2 do

begin

fY.Items[i] := fY.Items[i + 1];

end;

tmps1 := 0;

n := faCof.Count;

for i := 0 to n - 1 do

begin

tmps1 := tmps1 + faCof.Items[i] * fX.Items[n - 1 - i];

end;

tmps2 := 0;

n := fbCof.Count;

for i := 0 to n - 1 do

begin

tmps2 := tmps2 + fbCof.Items[i] * fY.Items[n - 1 - i];

end;

fY.Items[n] := tmps1 - tmps2;

result := fY.Items[n - 1];

end;

constructor TMyFilter.Init(aaCof, abCof: TList<Extended>);

var

i, n: integer;

begin

faCof := TList<Extended>.Create();

fbCof := TList<Extended>.Create();

fX := TList<Extended>.Create();

fY := TList<Extended>.Create();

n := aaCof.Count;

for i := 0 to n - 1 do

begin

faCof.Add(aaCof.Items[i]);

fX.Add(0);

end;

n := abCof.Count;

for i := 0 to n - 1 do

begin

fbCof.Add(abCof.Items[i]);

fY.Add(0);

end;

fY.Add(0);

end;

end.

unit ugenerator;

interface

uses classes;

type

TGenerator = class

private

fFreq, fFreqDiscrete, fAmpl: Extended;

public

constructor Init(aF, aA, aFd: Extended);

function GetValue(aX: Extended): Extended;

function GetTime(aX: Extended): Extended;

end;

implementation

function TGenerator.GetTime(aX: Extended): Extended;

begin

Result := aX / fFreqDiscrete;

end;

function TGenerator.GetValue(aX: Extended): Extended;

begin

Result := fAmpl * cos(2 * Pi * fFreq * GetTime(aX));

end;

constructor TGenerator.Init(aF, aA, aFd: Extended);

begin

fFreq := aF;

fFreqDiscrete := aFd;

fAmpl := aA;

end;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, uFilter, TeEngine, ExtCtrls, TeeProcs, Chart, StdCtrls, Series,

ugenerator, Generics.Collections, Math;

type

TForm1 = class(TForm)

Chart: TChart;

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Series1: TLineSeries;

Series2: TLineSeries;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

s1: TChartSeries;

F, Fd, x, y1, y2, ymax, Ampl: Extended;

i, n, n1: integer;

Generator: TGenerator;

F1, F2, F3, F4: TMyFilter;

aCof, bCof: TList<Extended>;

YWST: TChartSeries;

begin

Ampl := 1;

F := strToFloat(Edit1.Text);

Fd := strToFloat(Edit2.Text);

aCof := TList<Extended>.Create();

bCof := TList<Extended>.Create();

YWST := TChartSeries.Create(self);

// filter 1

aCof.Clear;

aCof.Add(0.21484375);

aCof.Add(0.42578125);

aCof.Add(0.21484375);

bCof.Clear;

bCof.Add(-0.85546875);

bCof.Add(0.71093750);

F1 := TMyFilter.Init(aCof, bCof);

// filter 2

aCof.Clear;

aCof.Add(0.16796875);

aCof.Add(0.33593750);

aCof.Add(0.16796875);

bCof.Clear;

bCof.Add(-0.67578125);

bCof.Add(0.35156250);

F2 := TMyFilter.Init(aCof, bCof);

// filter 3

aCof.Clear;

aCof.Add(0.14453125);

aCof.Add(0.28906250);

aCof.Add(0.14453125);

bCof.Clear;

bCof.Add(-0.58203125);

bCof.Add(0.16406250);

F3 := TMyFilter.Init(aCof, bCof);

// filter 4

aCof.Clear;

aCof.Add(0.13671875);

aCof.Add(0.26953125);

aCof.Add(0.13671875);

bCof.Clear;

bCof.Add(-0.54296875);

bCof.Add(0.08203125);

F4 := TMyFilter.Init(aCof, bCof);

Generator := TGenerator.Init(F, Ampl, Fd);

Chart.Series[0].Clear;

Chart.Series[1].Clear;

n := Round((Fd / F) * 10);

n1 := Round((Fd / F) * 9);

for i := 0 to n do

begin

x := Generator.GetTime(i) - 10 / F;

y1 := Generator.GetValue(i);

y2 := F4.GetValue(F3.GetValue(F2.GetValue(F1.GetValue(y1))));

Chart.Series[0].AddXY(x, y1);

Chart.Series[1].AddXY(x, y2);

if i > n1 then

begin

YWST.AddXY(x, y2);

end;

end;

ymax := (YWST.MaxYValue - YWST.MinYValue) / 2;

Label2.Caption := 'Ослабление: ' + FloatToStr(20 * Log10(ymax / Ampl)) + 'dB';

end;

end.

аналоговый баттерворт разрядный программный

Вывод: В качестве аналогового прототипа использовался фильтр Баттерворта. Расчеты показали, что нам необходим фильтр 8-го порядка. При использовании 8-разрядной сетки фильтр удовлетворяет заданным условиям.

Размещено на Allbest.ru

...

Подобные документы

  • Расчет цифрового и аналогового фильтра-прототипа. Структурные схемы и реализационные характеристики фильтра. Синтез цифрового фильтра в системе программирования MATLAB. Частотные и импульсные характеристики цифрового фильтра, карта его нулей и полюсов.

    курсовая работа [564,8 K], добавлен 24.10.2012

  • Аналитическое выражение передаточной функции аналогового фильтра. Построение структурной схемы реализации цифрового фильтра прямым и каноническим способами. Определение реализационных характеристик фильтра. Проверка коэффициентов передаточной функции.

    курсовая работа [604,4 K], добавлен 24.10.2012

  • Характеристика фильтра низких частот. Фильтр Баттерворта, Чебышева и Бесселя. Определение порядка фильтра и количества звеньев. Структурная схема фильтра низких частот каскадного типа восьмого порядка. Основные номиналы элементов для четвертого звена.

    контрольная работа [172,8 K], добавлен 29.05.2012

  • Способы решения задач синтеза. Этапы расчета элементов фильтра нижних частот. Определение схемы заданного типа фильтра с минимальным числом индуктивных элементов. Особенности расчета фильтр нижних частот Чебышева 5-го порядка с частотой среза 118 кГц.

    контрольная работа [525,0 K], добавлен 29.06.2014

  • Разработка общего алгоритма функционирования цифрового фильтра нижних частот. Разработка и отладка программы на языке команд микропроцессора, составление и описание электрической принципиальной схемы устройства. Быстродействие и устойчивость фильтра.

    курсовая работа [860,6 K], добавлен 28.11.2010

  • Выделение полезной информации из смеси информационного сигнала с помехой. Математическое описание фильтров. Характеристика фильтра Баттерворта и фильтра Чебышева. Формирование шаблона и определение порядка фильтра. Расчет элементов фильтра высоких частот.

    курсовая работа [470,3 K], добавлен 21.06.2014

  • Проект фильтра низких частот в морском исполнении. Электрические и конструкторские расчеты катушки индуктивности, конденсатора. Амплитудно-частотная характеристика фильтра Баттерворта. Эскизная компоновка элементов на плате. Защита от влажности, коррозии.

    курсовая работа [1,4 M], добавлен 09.06.2016

  • Разработка математической модели цифрового фильтра нижних частот. Структурная и электрическая принципиальная схемы системы с обоснованием выбора элементов. Время выполнения программы работы цифрового фильтра. Оценка инструментальной погрешности системы.

    курсовая работа [3,3 M], добавлен 13.06.2016

  • Расчет цифрового фильтра нижних частот с конечной импульсной характеристикой. Синтез фильтра методом окна (параболического типа). Свойства фильтра: устойчивость, обеспечение совершенно линейной фазочастотной характеристики. Нахождение спектра сигнала.

    курсовая работа [28,6 K], добавлен 07.07.2009

  • Испытание синтезированного нерекурсивного и рекурсивного цифрового фильтра стандартными и гармоническими сигналами. Расчет реакции фильтра на четырехточечный входной сигнал. Получение системной функции и частотных характеристик цифрового фильтра.

    курсовая работа [3,0 M], добавлен 19.05.2015

  • Фильтры верхних частот с многопетлевой обратной связью и бесконечным коэффициентом усиления. Проект фильтра Баттерворта верхних частот на основе каскадного соединения звеньев, состоящих из резисторов, конденсаторов, ОУ; схема, расчет, анализ АЧХ фильтра.

    курсовая работа [2,3 M], добавлен 22.06.2012

  • Расчет аналогового фильтра нижних частот и основных характеристик фильтра. Граничная частота полосы непропускания. Реализация передаточных функций фильтров. Денормированные значения емкостей. Полиномиальные фильтры Баттерворта, Чебышева и Гаусса.

    контрольная работа [234,6 K], добавлен 20.03.2013

  • Общая характеристика и принцип действия фильтров нижних частот. Схема простейшего низкочастотного фильтра. Схематическое изображение пассивного RC-фильтра нижних частот и его амплитудно-частотная характеристика. Области применения данных фильтров.

    презентация [3,2 M], добавлен 16.12.2013

  • Аппроксимация амплитудно-частотной характеристики фильтра. Определение передаточной функции фильтра нижних частот в области комплексной частоты. Схемотехническое проектирование устройства и его конструкторская реализация в виде узла с печатным монтажом.

    курсовая работа [330,8 K], добавлен 09.06.2015

  • Структурная схема и расчет устойчивости цифрового фильтра. Расчет X(jkw1) и H(jkw1) с помощью алгоритмов БПФ и ОБПФ. Определение мощности собственных шумов синтезируемого фильтра. Реализация заданной характеристики H(Z) на сигнальном процессоре 1813ВЕ1.

    контрольная работа [144,2 K], добавлен 28.10.2011

  • Основные типы фильтров, их достоинства и недостатки. Синтез фильтра верхних частот (ФВЧ) с аппроксимацией амплитудно-частотной характеристики (АЧХ) полиномом Баттерворта. Выбор схемы для каскадов общего фильтра. Методика его настройки и регулирования.

    курсовая работа [753,3 K], добавлен 29.08.2010

  • Функционирование рекурсивного цифрового фильтра нижних частот. Определение его быстродействия, импульсной и переходной характеристик. Составление и описание структурной и принципиальной схемы устройства. Разработка и отладка программы на языке ассемблера.

    курсовая работа [323,8 K], добавлен 05.03.2011

  • Применение схемы фильтра второго порядка Саллена-Ки при реализации фильтров нижних частот, верхних частот и полосовых. Возможность раздельной регулировки добротности полюсов и частот среза как главное достоинство звеньев фильтров по заданной схеме.

    реферат [614,8 K], добавлен 21.08.2015

  • Цифровой фильтр с заданными характеристиками: рабочие коэффициенты, передаточная функция, параметры и структура. Программная и аппаратная реализация спроектированного фильтра, его тестирование. Особенности режимов работы фильтра в полосе пропускания.

    контрольная работа [1,9 M], добавлен 19.09.2012

  • Разработка фильтра высоких частот с характеристикой Чебышева при неравномерности АЧХ 3 дБ второго порядка. Расчет принципиальной схемы, выбор компонентов. Выбор резисторов и конденсаторов из диапазона стандартных значений. Переходная характеристика схемы.

    контрольная работа [251,1 K], добавлен 10.12.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.