Documente Academic
Documente Profesional
Documente Cultură
åb z k
-k
H (z ) = k =0
M
(4.2)
1- å ai z -i
i =1
- fs frecvenţa de eşantionare
Pentru cazul unui filtru IIR de tip trece bandă, caracteristica de gabarit este
prezentată în figura Fig. 4.1. De asemenea, atenuările se pot exprima în decibeli
(dB):
( )
Ap = 10 log10 1 + e 2 = -20 log10 (1 - d p ) [dB] , atenuarea în banda de trecere (4.3)
72
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
|H|
1 dp
1
1 + e2 fe
2
ds
Banda de trecere
73
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
Observaţie
Răspunsul la impuls, h[n ] al filtrului digital este egal cu răspunsul la impuls ce
caracterizează filtrul analogic, h(t ) , la momentele de timp discrete
t = nT , n = 0,1,.... , de unde rezultă şi denumirea metodei.
2 æ w c Te ö
W ci = × arctançç i ÷
÷ (4.5)
Te è 2 ø
2 æ z - 1ö
s= ×ç ÷ (4.6)
T è z + 1ø
Observaţie
În practică, funcţia de transfer H (s ) a filtrului analogic nu este totdeauna
disponibilă şi trebuie determinată din specificaţiile filtrului. De cele mai multe ori, H (s )
poate fi obţinută din funcţiile de transfer ale filtrelor standard: Butterworth, Cebâşev,
eliptic, etc. Caracteristicile acestora sunt prezentate pe scurt în continuare,
presupunând ca filtrul analizat este FTJ.
74
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
1
H ( jΩ ) =
2
2N
(4.7)
æ Ω ö
1+çç ÷÷
è Ωc ø
æ A 2 - 1ö
log10 çç ÷
1 è e 2 ÷ø
N³ × (4.8)
2 æW ö
log10 ç s ÷
çW ÷
è pø
e Wp
k1 = , k= (4.9)
A -12 Ws
Filtrul Cebâşev
a) tipul 1
Are caracteristica de amplitudine cu ripluri egale (echiriplu) în banda de trecere,
şi monoton descrescătoare în banda de oprire.
Caracteristica de amplitudine este definită de relaţia:
1
H ( jΩ ) =
2
(4.10)
æ Ω ö
1+ε C ç
2 2 ÷
çΩ
N ÷
è p ø
æ W ö
unde C N ç ÷ sunt polinoamele Cebâşev, N este ordinul filtrului iar e este riplul în
çW ÷
è p ø
banda de trecere.
75
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
( )
ìïcos N cos -1 (W ) , W £ 1
C N (W )= í (4.11)
( )
ïîcosh N cosh (W ) , W > 1
-1
C N +1 (W )= 2W ×CN (W )- C N -1 (W ) (4.12)
1) C N (W ) < 1, W £ 1
3) C N (1) = 1, "N
1 1 1
³ = (4.13)
A2 æW ö é æ æW ö öù
1+ e C ç s
2 2 ÷ 1 + e 2 êcoshç N × cosh -1 ç s ÷ ÷ú
çW
N ÷ ç çW ÷ ÷ú
è p ø êë è è p ø øû
æ A2 - 1 ö
cosh -1 ç ÷
ç e ÷
N³ è ø (4.14)
æW ö
cosh -1 ç s ÷
çW ÷
è pø
76
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
1
H ( jΩ ) =
2
2
(4.15)
æ æ Ωs ö ö
çC ç ÷÷
Nç ÷÷
ç è Ω p ø
1+ε 2 ç ÷
ç C æç Ωs ö÷ ÷
ç Nè Ω ø÷
è ø
unde C N (×) sunt polinoamele Cebâşev, N este ordinul filtrului iar e este riplul în
banda de trecere.
Filtrul eliptic
Are caracteristica de amplitudine de tip echiriplu atât în banda de trecere cât şi
în banda de oprire:
1
H ( jΩ ) =
2
(4.16)
æ W ö
1+ε R ç
2 2 ÷
çW
N ÷
è p ø
( )
R N (×) fiind funcţii raţionale Cebâşev, pentru care R N W -1 = R N-1 (W ) . Acestea sunt
tabelate şi, în consecinţă, valorile pot fi folosite direct în proiectare, neexistând o
formulă exactă pentru determinarea ordinului filtrului, N .
Observaţie
Pentru obţinerea unor filtre de alt tip decât filtrul trece-jos (trece-sus, trece-
bandă, opreşte-bandă), există mai multe metode, ideea fiind de obicei aceea de a
proiecta mai întâi un filtru trece-jos corespunzător şi de a-l transforma apoi în filtrul
dorit, printr-o transformare de frecvenţă corespunzătoare.
77
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
78
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
4.2 Aplicaţii
( )
ì a n
x [n ] = í sinθ sin(n × θ +θ ) pentru n³0
ï 2
ï0 pentru n<0
î
æ a ö
θ =arccosç 1 ÷
ç2 a ÷
è 2 ø
a12
a2 >>
4
-a1 - j 4a 2 - a12
p1 =
2
a1) Scrieţi secvenţa MATLAB pentru reprezentarea semnalului iniţial, în cazul în care
parametrii au valorile: n = 0..255 (256 eşantioane), a1 = -1 , a 2 = 0.5 .
z1 = 1, z2 = -1
p p
j -j
p1 = r × e 2
, p2 = r × e 2
, r = 0. 9
79
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
0.12093
H (s ) =
( )( )(
s + 0.364s + 0.4945 s + 0.9945s + 0.4945 s 2 + 1.3585s + 0.4945
2 2
)
a1) Aplicaţi metoda invarianţei răspunsului la impuls pentru a determina filtrului digital
echivalent.
Soluţie
Secvenţa MATLAB pentru rezolvarea punctului a1) al problemei este prezentată
în exemplul EX1_L4.m, listat mai jos. Lansaţi în execuţie programul şi interpretaţi
rezultatele.
% Se presupune ca dispunem de un filtru analogic, proiectat cu una din metodele
% de proiectare a filtrelor analogice si dorim sa gasim filtrul digital corespunzator,
% aplicind metoda invariantei impulsului.
% Fie transformata Laplace a raspunsului filtrului analogic:
%
% 0.12093
% H(s) = -----------------------------------------------------------------------
% (s^2 + 0.364s + 0.4945)(s^2 + 0.9945s + 0.4945)(s^2 + 1.3585s + 0.4945)
%
B = 0.12093;
a1 = [1 0.364 0.4945];
a2 = [1 0.9945 0.4945];
a3 = [1 1.3585 0.4945];
A = conv(a1,conv(a2,a3));
figure
plot(Wa, abs(Ha)); title('b - Filtru analogic, r - Filtru IIR cu invarianta impuls');hold on
plot(W,abs(H),'r'), xlabel('rad'), ylabel('|H(e^jomega)|');
figure
subplot(211), zplane(Bz, Az);
subplot(212),[hd,td] = impz(Bz,Az,[],Fs);plot(td,hd),title('Functia pondere discreta');
a2) Reprezentaţi caracteristica de amplitudine a filtrului în decibeli precum şi
caracteristica de fază a acestuia.
80
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
81
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
[Bz,Az] = impinvar(B,A,Fs);
[H, W] = freqz(Bz,Az);%W in radians
figure,subplot(211),plot(Wa,abs(Ha)),title('Filtrul Butterworth
analogic'),xlabel('rad'),ylabel('|H(jWa)|');
title('b - Filtru analogic, r - Filtru IIR cu invarianta impuls');hold on
plot(W,abs(H),'r'), xlabel('Hz'), ylabel('|H(e^jomega)|');
subplot(212),plot(Wa./(2*pi),abs(Ha)),title('Filtrul Butterworth
analogic'),xlabel('Hz'),ylabel('|H(jWa)|');
title('b - Filtru analogic, r - Filtru IIR cu invarianta impuls');hold on
plot(W.*(Fs/(2*pi)),abs(H),'r'), xlabel('Hz'), ylabel('|H(e^jomega)|');
c) Să se proiecteze cu metoda invarianţei răspunsului la impuls un filtru trece-
jos IIR, pornind de la filtrele analogice proiectate cu metodele: Butterworth, Cebâşev
I şi II. Caracteristicile filtrului IIR sunt:
82
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
0.12093
H (s ) =
( )( )(
s + 0.364s + 0.4945 s + 0.9945s + 0.4945 s 2 + 1.3585s + 0.4945
2 2
)
a1) Reluaţi problema anterioară, punctul a1) aplicând metoda transformării biliniare.
Soluţie
Soluţia punctului a1) al problemei este dată în programul EX4_L4.m, listat mai
jos.
83
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
figure,plot(Wa,abs(Ha)),hold on,
plot(W,abs(H),'r'),title('b- Filtru analogic, r -Filtru IIR cu transf. biliniara'
),xlabel('rad'),ylabel('|H(e^jomega)|');
[h,t] = impz(Bz,Az);
figure,stem(t,h);title('Functia pondere');
a2) Modificaţi secvenţa MATLAB pentru a reprezenta diagrama poli-zerouri, asociată
filtrului digital proiectat.
a3) Reprezentaţi funcţia pondere h[n ] a acestui filtru. Care este lungimea secvenţei
h[n ] pentru un filtru IIR? Justificaţi răspunsul.
Wp = 2*pi*100;
Ws = 2*pi*150;
wp = 500/(Fe/2);
ws = 600/(Fe/2);
84
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
85
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
86
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
- atenuare în banda de oprire de cel puţin 40 dB, pentru pulsaţie mai mare de 5 rad/s
87
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
% unitara).
Fe = 200;
W0 = 2*30*pi;
BW = 2*20*pi;
[z,p,k] = buttap(6);
%discretizam
[Bz,Az] = impinvar(B,A,Fe);
[H, W] = freqz(Bz,Az,[],Fe);
88
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
H = zeros(NFFT,m);
[H(:,1),F] = freqz(sos(1,1:3),sos(1,4:6),NFFT,Fe);
for i=2:m,
H(:,i) = H(:,i-1).*freqz(sos(i,1:3),sos(i,4:6),NFFT,Fe);
end
H = 20*log10(abs(H));
figure,subplot(211), plotyy(Finit,Hinit,F, H(:,end)), xlabel('Frecventa (Hz)'),
ylabel('Functia de transfer (dB)'); legend('Filtrul analogic','Filtrul discret');
subplot(212), plot(F,H),xlabel('Frecventa (Hz)'),ylabel('|H| ptr. sect. de ordin 2 (dB)');
j2) Modificaţi programul pentru că acesta să afişeze într-o reprezentare spaţială,
caracteristicile de amplitudine ale secţiunilor de ordin 2.
j3) Scrieţi care sunt transformatele Z ale răspunsului secţiunilor de ordin 2.
j4) Verificaţi numeric că structura în cascadă de secţiuni de ordin 2 este echivalentă
cu filtrul iniţial.
j5) Găsiţi modul în care funcţia MATLAB "zp2sos" ordonează, în cascadă, secţiunile
de ordinul 2.
k) Se consideră un filtru IIR proiectat prin metoda transformării biliniare
pornind de la un filtru analogic Cebâşev. Să se studieze efectul cuantizării
coeficienţilor filtrului, rulând programul MATLAB EX8_L4.m, listat mai jos.
% Se considera un filtru IIR cu un filtru Cebisev I. Sa se studieze efectul cuantizarii
% coeficientilor filtrului.
Fe = 2000;
NFFT = 256;
Wp = 200/1000;
Ws = 300/1000;
N1 = 24;
N2 = 0;
89
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
for i = 1:length(A)
Aq(i) = str2num(num2str(A(i),'%.4f'));
end
%sau
d = fdesign.lowpass('Fp,Fst,Ap,Ast',Wp,Ws,1,60);
designmethods(d)
Hd = design(d,'equiripple');
fvtool(Hd);
k1) Ce s-a modificat în filtrul obţinut, o dată cu introducerea cuantizării coeficienţilor?
Este filtrul rezultat stabil? Explicaţi de ce se consideră că la proiectarea unui filtru IIR
în aritmetica finită (cu cuantizarea coeficienţilor) trebuie luate măsuri suplimentare
faţă de cazul proiectării filtrelor FIR în aritmetica finită.
k2) Alegeţi o altă precizie de reprezentare a coeficienţilor filtrului de la punctul
anterior, astfel încât filtrul rezultat să corespundă cât mai exact filtrului iniţial
(proiectat cu precizie "infinită" a coeficienţilor).
l) Să se filtreze un semnal ECG (electrocardiografic) uman, existent în fişierul
foetal_ecg.dat (eşantionat cu 500 Hz), cu un filtru IIR şi să se analizeze spectrul
semnalului filtrat. Semnalul este afectat de un zgomot alb de bandă limitată. Se va
rula programul Simulink EX9_L3, cu studierea tuturor modulelor care apar.
90
Capitolul 4 - Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (Infinite
Impulse Response - IIR)
91