Моделирование цифрового фильтра верхних частот
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
Задание
. Спроектировать цифровой фильтр с заданными характеристиками.
(определить коэффициенты, передаточную функцию и т.д.)
. Построить АЧХ и ФЧХ цифрового фильтра.
. Выбрать структуру цифрового фильтра, его параметры (разрядность регистров памяти, АЛУ и др.) и оценить влияние ошибок округления коэффициентов.
. Разработать программную или аппаратную реализацию спроектированного фильтра. Провести его тестирование.
. Сделать выводы по работе.
8 кГц, 4 кГц, =19 кГц
=-33дБ.
Расчеты
) =2*=2*19=38000 Гц
=2*pi*/=6.28*8000/38000=1,322105
=2*pi*/=6.28*4000/38000=0,661053
) С==0,777793
== 0,777793 /0,343113=2,266871
Найдём n по формуле 10Lg(1+)>=33дБ
,543>33при n=5
) Фильтр Баттерворта 5-го порядка обеспечивает требуемое ослабление в полосе затухания. Определим передаточную функцию K(z) цифрового фильтра:
(p)=1/Bn(p), где Bn(p)-полином степени n. Для n=5(p)=
Используем билинейное преобразование p=
(p)=,(z)=
Делаем соответствующие математические преобразования в Maple 11 и получаем:
(z)= ((0.269699-0.809097*z^(-1)+0.809097*z^(-2)-0.269699*z^(-3))/(z^3-0.503807*z^2+0.586409*z-0.0673772))*((0.349231*(z-1)^2)/(z^2-0.275919*z
+0.121006))(z)=
4) Построение АЧХ исходной схемы ЦФВЧ.
) Выбор величины разрядной сетки, для хранения весовых коэффициентов.
разряда
Десятичная с.с.Двоичная с.с.Десятичная с.с.0.269699 (а01,а04)0.01000.250.809097 (а02-а03)0.11000.750.503807 (б01)0.10000.50.586409 (б02)0.10010.56250.0673772 (б03)0.00010.06250.349231 (а11,а13)0.01010.31250.698462 (а12)0.10110.68750.275919 (б11)0.01000.250.121006 (б12)0.00010.0625
АЧХ схемы с 4 разрядами.
разряда
Десятичная с.с.Двоичная с.с.Десятичная с.с.0.269699 (а01,а04)0.010001010.269531250.809097 (а02-а03)0.110011110.808593750.503807 (б01)0.100000000.50.586409 (б02)0.100101100.58593750.0673772 (б03)0.000100010.066406250.349231 (а11,а13)0.010110010.347656250.698462 (а12)0.101100100.69531250.275919 (б11)0.010001100.27343750.121006 (б12)0.000111100.1171875
АЧХ схемы с 8 разрядами.
разряда
Десятичная с.с.Двоичная с.с.Десятичная с.с.0.269699 (а01,а04)0.01000101000010100.2696838378906250.809097 (а02-а03)0.11001111001000000.809082031250.503807 (б01)0.10000000111110010.5037994384765630.586409 (б02)0.10010110000111100.5863952636718750.0673772 (б03)0.00010001001111110.06736755371093750.349231 (а11,а13)0.01011001011001110.3492279052734380.698462 (а12)0.10110010110011100.6984558105468750.275919 (б11)0.01000110101000100.2759094238281250.121006 (б12)0.00011110111110100.121002197265625
АЧХ схемы с 16 разрядами.
АЧХ исходной схемы и схем 4, 8, 16.
) Разница между АЧХ исходной схемы и АЧХ схемы с 4 разрядами.
Разница в полосе пропускания 5,598-2.996=2,602
Разница в полосе затухания 37,153-35,520=1,633
Разница между АЧХ исходной схемы и АЧХ схемы с 8 разрядами.
Разница в полосе пропускания 3,072-2.996=0.076
Разница в полосе затухания 35,611-35.520=0.091
Разница между АЧХ исходной схемы и АЧХ схемы с 16 разрядами.
Разница в полосе пропускания 2.996-2.996=0
Разница в полосе затухания 35.520-35.518=0.002
Разница между АЧХ исходной схемы и АЧХ схем 4,8,16 разрядами.
Для того чтобы фильтр удовлетворял заданию, нужно чтобы он отвечал следующим условиям:
в полосе пропускания не будет отличаться от нормального значения 3 дБ не более чем на 0,01 дБ.
в полосе затухания будет не менее заданного значения -33дБ.
Как видно из графиков наиболее подходящее значение разрядной сетки равно 16 разрядов.
) Структурная схема реализации фильтра.
Коэффициенты0.269699 (а01,а04)0.809097 (а02-а03)0.503807 (б01)0.586409 (б02)0.0673772 (б03)0.349231 (а11,а13)0.698462 (а12)0.275919 (б11)0.121006 (б12)
Каноническая форма реализации фильтра:
Вывод
В данном курсовом проекте требовалось построить аналоговый ВЧ-фильтр и путём билинейного Z-преобразования перевести его в цифровую форму. Расчёт показал, что для удовлетворения требований задания необходимо и достаточно применить фильтр Баттерворта 5 порядка. Для цифровой реализации фильтра потребовалось осуществить выбор разрядной сетки для хранения коэффициентов передаточной функции. При 16-и разрядах отклонения укладываются в отведённый диапазон (как видно по графику).
8) Программная реализация цифрового фильтра верхних частот.
Программа выполняет моделирование работы цифрового фильтра высоких частот 6 порядка. По результатам обработки выводятся графики входного аналогового сигнала и выходного цифрового сигнала, полученного в соответствии с заданием на проектирование цифрового фильтра.
Пример работы программы представлен ниже:
Filter1;
Forms,
UFilterOne in UFilterOne.pas {Form1},
UGenerator in UGenerator.pas,
{$R *.res}
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;.UFilterOne;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls,, Spin, Ugenerator, Series,Math;
TForm1 = class(TForm)
Button1: TButton;
BitBtn1: TBitBtn;
Label2: TLabel;
SpinEdit3: TSpinEdit;
Label7: TLabel;
Memo2: TMemo;
Label8: TLabel;
Chart1: TChart;
Series1: TLineSeries;
Series2: TLineSeries;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Form1: TForm1;
20theny120 theny1<=y then:=y;:=20*log10(abs(y1/x));.Lines.Add(FloatToStr(res));;;.UGenerator;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls,, Spin, Math;
TGen = class (TObject)
Fample: real; {Амплитуда}
FVhod: real; {Частота входного сигнала}
Fdec: real; {Частота дескретизации}
Constructor Init1(aVhod,adec: real);
Function getValue(ax: integer): real;
Function getTime(ax: