Моделирование цифрового фильтра верхних частот

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

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

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

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

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

Задание

1. Спроектировать цифровой фильтр с заданными характеристиками.

(определить коэффициенты, передаточную функцию и т.д.)

2. Построить АЧХ и ФЧХ цифрового фильтра.

3. Выбрать структуру цифрового фильтра, его параметры (разрядность регистров памяти, АЛУ и др.) и оценить влияние ошибок округления коэффициентов.

4. Разработать программную или аппаратную реализацию спроектированного фильтра. Провести его тестирование.

5. Сделать выводы по работе.

8 кГц, 4 кГц, =19 кГц

=-33дБ.

Расчеты

1) =2*=2*19=38000 Гц

=2*pi*/=6.28*8000/38000=1,322105

=2*pi*/=6.28*4000/38000=0,661053

2) С==0,777793

== 0,777793 /0,343113=2,266871

Найдём n по формуле 10Lg(1+)>=33дБ

35,543>33при n=5

3) Фильтр Баттерворта 5-го порядка обеспечивает требуемое ослабление в полосе затухания. Определим передаточную функцию K(z) цифрового фильтра:

K(p)=1/Bn(p), где Bn(p)-полином степени n. Для n=5

Bn(p)=

Используем билинейное преобразование p=

K(p)=,

K(z)=

Делаем соответствующие математические преобразования в Maple 11 и получаем:

K(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))

K(z)=

4) Построение АЧХ исходной схемы ЦФВЧ.

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

4 разряда

Десятичная с.с.

Двоичная с.с.

Десятичная с.с.

0.269699 (а01,а04)

0.0100

0.25

0.809097 (а02-а03)

0.1100

0.75

0.503807 (б01)

0.1000

0.5

0.586409 (б02)

0.1001

0.5625

0.0673772 (б03)

0.0001

0.0625

0.349231 (а11,а13)

0.0101

0.3125

0.698462 (а12)

0.1011

0.6875

0.275919 (б11)

0.0100

0.25

0.121006 (б12)

0.0001

0.0625

АЧХ схемы с 4 разрядами.

8 разряда

Десятичная с.с.

Двоичная с.с.

Десятичная с.с.

0.269699 (а01,а04)

0.01000101

0.26953125

0.809097 (а02-а03)

0.11001111

0.80859375

0.503807 (б01)

0.10000000

0.5

0.586409 (б02)

0.10010110

0.5859375

0.0673772 (б03)

0.00010001

0.06640625

0.349231 (а11,а13)

0.01011001

0.34765625

0.698462 (а12)

0.10110010

0.6953125

0.275919 (б11)

0.01000110

0.2734375

0.121006 (б12)

0.00011110

0.1171875

АЧХ схемы с 8 разрядами.

16 разряда

Десятичная с.с.

Двоичная с.с.

Десятичная с.с.

0.269699 (а01,а04)

0.0100010100001010

0.269683837890625

0.809097 (а02-а03)

0.1100111100100000

0.80908203125

0.503807 (б01)

0.1000000011111001

0.503799438476563

0.586409 (б02)

0.1001011000011110

0.586395263671875

0.0673772 (б03)

0.0001000100111111

0.0673675537109375

0.349231 (а11,а13)

0.0101100101100111

0.349227905273438

0.698462 (а12)

0.1011001011001110

0.698455810546875

0.275919 (б11)

0.0100011010100010

0.275909423828125

0.121006 (б12)

0.0001111011111010

0.121002197265625

АЧХ схемы с 16 разрядами.

АЧХ исходной схемы и схем 4, 8, 16.

6) Разница между АЧХ исходной схемы и АЧХ схемы с 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 разрядов.

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

Коэффициенты

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 порядка. По результатам обработки выводятся графики входного аналогового сигнала и выходного цифрового сигнала, полученного в соответствии с заданием на проектирование цифрового фильтра.

Пример работы программы представлен ниже:

program Filter1;

uses

Forms,

UFilterOne in 'UFilterOne.pas' {Form1},

UGenerator in 'UGenerator.pas',

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

unit UFilterOne;

interface

uses

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

Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls,

ComCtrls, Spin, Ugenerator, Series,Math;

type

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;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var a,c:real;

k: tGen;

i,j:integer;

f1: Tfilter;

x,y,y1,h: real;

res: Comp;

begin

a:=38;

c:=StrToInt(SpinEdit3.text);

K:=tgen.Init1(c,a);

F1:=Tfilter.Init2;

Chart1.Series[0].Clear;

Chart1.Series[1].Clear;

for i:=0 to 200 do begin

Chart1.Series[0].AddXY(k.getTime(i),k.getValue(i));

Chart1.Series[1].AddXY(k.getTime(i),F1.getValueP(k.getValue(i)));

end;

for i:=1 to 380 do begin

if x<=k.getValue(i) then

x:=k.getValue(i);

y:=f1.getValueP(k.getValue(i));

if i>20 then

if y1<=y then

y1:=y;

res:=20*log10(abs(y1/x));

memo2.Lines.Add(FloatToStr(res));

end;

end;

end.

unit UGenerator;

interface

uses

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

Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls,

ComCtrls, Spin, Math;

Type

TGen = class (TObject)

Protected

Fample: real; {Амплитуда}

FVhod: real; {Частота входного сигнала}

Fdec: real; {Частота дескретизации}

Public

Constructor Init1(aVhod,adec: real);

Function getValue(ax: integer): real;

Function getTime(ax: integer): real;

end;

type

TFilter = class (Tobject)

Protected

a01, a02, a03, b01, b02: Real;

a11, a12, a13, b11, b12: Real;

a21, a22, a23, b21, b22: Real;

e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,

e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,

e21,e22,e23,e24,e25,e26,e27,x1, x2,y1,y2: real;

Public

Constructor Init2;

Function getValueP(aX: Real) :Real;

end;

implementation

Constructor TFilter.Init2;

begin

Inherited Create;

a01:=0.562495; a02:=-0.562495; b01:=-0.12499;

a11:=0.47947; a12:=-2*0.47947; a13:=0.47947; b11:=0.378817; b12:=-0.539061;

a21:=0.349231; a22:=-2*0.349231; a23:=0.349231; b21:=0.275919; b22:=-0.121006;

e01:=0;e02:=0;e03:=0;e04:=0;e05:=0;e06:=0;e07:=0;e08:=0;e09:=0;e10:=0;e11:=0;

e12:=0;e13:=0;e14:=0;e15:=0; x1:=0; x2:=0;y1:=0;y2:=0;

end;

Constructor TGen.Init1(aVhod,adec: real);

begin

inherited Create;

Fample:=1;

Fvhod:=aVhod;

Fdec:=adec;

end;

Function TGen.getValue(aX: Integer): Real;

begin

Result := fAmple * sin(2*Pi * (Fvhod*1000) * getTime(aX));

end;

Function TGen.getTime(aX: Integer): Real;

begin

Result := ax/(fdec*1000);

end;

Function TFilter.getValueP(aX: Real): Real;

begin

x2:=x1;

x1:=ax;

y1:=a01*x1+a02*x2-b01*y1;

e03:=e02;

e06:=e03*a13;

e02:=e01;

e05:=e02*a12;

e01:=y1;

e04:=e01*a11;

e09:=e08;

e11:=e09*b12;

e08:=e07;

e10:=e08*b11;

e07:=e04+e05+e06+e10+e11;

e14:=e09*a23;

e13:=e08*a22;

e12:=e07*a21;

e17:=e16;

e19:=e17*b22;

e16:=e15;

e18:=e15*b21;

e15:=e12+e13+e14+e18+e19;

Result:=e15;

end;

end.

Вывод:

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

Список литературы

1 Пронин А.С. Лекции - “ Спецпроцессоры в цифровой обработке и передаче информации ”.

2 Витязев В.В. - “Цифровая частотная селекция сигналов”. Радио и связь. 1993г.

3 http://model.exponenta.ru - Проектирование цифровых фильтров.

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


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

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

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

  • Изучение сущности цифровой фильтрации - выделения в определенном частотном диапазоне с помощью цифровых методов полезного сигнала на фоне мешающих помех. Особенности КИХ-фильтров. Расчет цифрового фильтра. Моделирование работы цифрового фильтра в MatLab.

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

  • Фильтры на основе операционных усилителей. Расчет полосового фильтра на операционных усилителях. Электрическая схема активного фильтра верхних и нижних частот. Усиление в полосе пропускания фильтра. Коэффициент прямоугольности для уровней затухания.

    курсовая работа [195,1 K], добавлен 19.11.2010

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

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

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

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

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

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

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

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

  • Расчет эллиптического фильтра высоких частот Золотарева–Кауэра. Определение неравномерности затухания в полосе пропускания. Связь коэффициента отражения с неравномерностью затухания. Нормирование и преобразование величин. Расчет АЧХ и ФЧХ фильтра.

    курсовая работа [145,5 K], добавлен 09.01.2015

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

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

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

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

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