Проектиране на на цифров филтър


П О Л И Н О М И Н А П Р Е Д А В А Т Е Л Н А Т А Ф У Н К Ц И Я



страница5/8
Дата18.05.2022
Размер185.5 Kb.
#114331
1   2   3   4   5   6   7   8
1308816250-elektronika tetradka-50doc
Свързани:
dokumentite.com-proektirane-na-cifrov-filtyr-1, Konspekt Istoria bqlg zemi 15 17 vek
П О Л И Н О М И Н А П Р Е Д А В А Т Е Л Н А Т А Ф У Н К Ц И Я

ПОЛИНОМ p(s)


( .7552236166825791 + 0 * s + 1 * s2 )
( 1.162911278631762 + 0 * s + 1 * s2 )
( 0 + 1 * s + 0 * s2 )

ПОЛИНОМ e(s)


424.8285740250845
( .9832496509597537 + 2.296523010651383E-002 * s + 1 * s2 )
( .9432988470313993 + 4.768469205181353E-002 * s + 1 * s2 )
( .9043911804975191 + 2.236557215457323E-002 * s + 1 * s2 )
ЧЕСТОТА НА НОРМИРАНЕ, HZ: 4108

Двата полинома представляват съответно числителя и знаменателя на предавателната функция които ги въвеждаме в програмата на "matlab" и чрез билинейното z-преобразуване получаваме предавателната функция на цифровия филтър която след това използваме при синтеза.




4.Aнализ на филтрите чрез MATLAB.


4.1. Анализ на филтъра с равновълнова апроксимация.

При анализа на филтъра в matlab използваме билинейното z-преобразуване което дава връзката между аналоговия и цифровия филтри.Това го реализираме чрез функцията "stoz", която е зададена в" matlab".Описанието на функцията е следното:


[Nz,Dz]=stoz(Ns,Ds,Fn,Fs);
Nz,Dz - получените съответно числител и знаменател на търсената цифрова ПФ.
Ns,Ds - зададените съответно числител и знаменател на известната вече аналогова ПФ
Fn - честотата на нормиране на аналоговата ПФ в [Hz].
Fs - честотата на дискретизация в [Hz].

Зададена в matlab програмата е следната:


Ns=[1 0 0 0]; / въвеждане на кофициентите на полиномите в числителя/


Ds1=[1 0.0048 0.993]; /въвеждане коефициентите на полиномите в знаменателя/
Ds2=[1 0.0094 0.943];
Ds3=[1 0.0046 0.895];
Ds=41941.223*(conv(Ds1,conv(Ds2,Ds3)));
Fn=4108; / честота на нормиране /
Fs=30000; / честота на дискретизация /
[Nz,Dz]=stoz(Ns,Ds,Fn,Fs); / билинейно z-преобрезуване/
f=3000:1:5000;
H=freqz(Nz,Dz,f,Fs);
m=abs(H); / изчислява АЧХ-то на филтъра/
plot(f,m); / изчертава АЧХ /
grid;
a=20*log10(1./m); / изчислява затихването на филтъра /
figure(2);
plot(f,a,'r');
hold on
f1=[3000 3280 3480 3580 3580];
a1=[46 46 42 10.89 0];
f2=[3680 3680 3880 3880];
a2=[20 6.86 6.86 20];
f3=[3980 3980 4080 4280 5000];
a3=[0 10.89 42 46 46];
plot(f1,a1);
plot(f2,a2);
plot(f3,a3);
grid;
xlabel('frequency [Hz] ');
ylabel(' fallen [dB] ');
title(' ACH ');

При въвеждането й се използват следните по важни функций: -"конволюция"-функция за умножение на полиноми.


/ N1=[a b c];
/ N2=[a b c];
/ Ns=conv(N1,N2); /
-изчислява АЧХ, и записва стойностите в матрица m
/ m=abs(H); /
-изчертаване на графиката на затихването във вункция от честотата
/ plot(f,m); /
- задържане на текущата графика, като следващата графична команда ще бъде изпълнена върху тази графика без да изтрива предишната крива
/ hold on /
-поставяне на мрежа на графиката на АЧХ
/ grid; /
-надписване на абцисата -х , на ординатата -у както и на цялата фигура
/ xlabel('name');
/ ylabel('name');
/ title/'name'); /
Задаваме също така и габарита на цифровия филтър с което показваме, че АЧХ-то на филтъра влиза в зададените граници и удовлетворява изискването за запас. В matlab получаваме следната графика за равновълновата апроксимация:


От графиката се вижда, че характеристиката е равновълнова в лентата на пропускане и осугурява максимално затихване в лентата на задържане.Честотния обхват е показан от 3000 до 5000 [Hz], за да се види по добре затихването на филтъра в лентата на пропускане и удовлетворяване на зададения ни габарит. Тъй като имаме полиномна ПФ за нулата и безкрайността затихването е максимално и в ЛЗ се получава доста голям запас от затихването.Вижда се, че равновълновото отклонение на затихването е еднакво за цялата ЛП. Съответно АЧХ-то на филтъра във вид на усилване е следното:




От тази графика се вижда усилването на филтъра и съответно по добре личи равновълновия характер на графиката в лентата на пропускане.Също така се вижда и липсата на усилване в лентата на задържане.


4.2. Анализ на филтъра с максимално-плоска апроксимация.

Аналогично на филтъра с равновълнова апроксимация и тук използваме същите функции за изчертаване на АЧХ-то на този филтър.Тук очакваме графиката да е максимално плоска в лентата на пропускае. От графиката се вижда, че това е изпълнено, както и че за средната честота 0 затихването е нула.


Програмата, която ползваме в случая е следната:

Ns1=[1 0 0.755];


Ns2=[1 0 1.163];
Ns3=[0 1 0];
Na=conv(Ns1,Ns2);
Ns=conv(Na,Ns3);
Ds1=[1 0.0223 0.983];
Ds2=[1 0.048 0.943];
Ds3=[1 0.022 0.904];
Ds4=[0 0 424.829];
Da=conv(Ds1,Ds2);
Db=conv(Ds3,Ds4);
Ds=conv(Da,Db);
Fn=4108;
Fs=30000;
[Nz,Dz]=stoz(Ns,Ds,Fn,Fs);
f=3000:1:5000;
H=freqz(Nz,Dz,f,Fs);
m=abs(H);
plot(f,m);
grid;
a=-20*log10(m);
figure(2);
plot(f,a);
hold on
f1=[3000 3280 3480 3580 3580];
f2=[46 46 42 10.89 0];
f3=[3680 3680 3880 3880];
f4=[20 6.86 6.86 20];
f5=[3980 3980 4080 4280 5000];
f6=[0 10.89 42 46 46];
plot(f1,f2);
plot(f3,f4);
plot(f5,f6);
plot(f,a,'r');
grid;

axis([3000 5000 0 60]);


xlabel('frequency [Hz]');
ylabel('fallen [dB]');
title('ACH');

Това е графиката на затихването на филтъра.Отново честотата е ограничена в обхвата 3000 до 5000 [Hz], за да се покаже селективността на филтъра.Тук поставянето на полюси за реални честоти осигурява по голяма стръмност на филтъра както и определя и по-добрите му селективни свойства спрямо филтъра с равновълнова апроксимация. Разликата между филтрите с равновълнова и максимално-плоска апроксимация в ЛП, е че при максимално-плоската реализация при едни и същи данни (степен, неравномерност в лентата на пропускане и полюси на затихването), затихването на филтъра в ЛП е по-малко от това на равновълновата.


Графиката на АЧХ на филтъра съответно за усилването е следната:

Тук се вижда, че ЛП на филтъра удовлетворява изискването на заданието да пропуска честотите от 3680 до3880 [Hz].






Сподели с приятели:
1   2   3   4   5   6   7   8




©obuch.info 2022
отнасят до администрацията

    Начална страница