Documente Academic
Documente Profesional
Documente Cultură
Obiectivele capitolului
Prezentarea principalelor metode de proiectare ale filtrelor digitale RII şi simularea cu
ajutorul programului MATLAB. Structuri de filtre RII realizate cu mediul de programare
Simulink.
a k z k
H z k =0
M
(4.2)
1 bi z i
i 1
Ap 10 log 10 1 2 20 log10 1 p dB (4.3)
(riplul în banda de bază)
As 20 log10 s dB (4.4)
(atenuarea în banda de bază)
58
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Ultimele două metode fac parte din clasa metodelor de conversie ale filtrelor analogice
în filtre digitale echivalente RII.
|H|
1 p
1
1 2 fe
2
s
Banda de trecere
Figura 4.1. Schema de toleranţă pentru un filtru RII, de tip trece bandă
Observaţii
Răspunsul la impuls, hnT al filtrului digital este identic cu ht al filtrului analogic, la
momentele de timp discrete t nT , n 0,1,.... .
59
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Observaţii
Î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, ş.a..
Caracteristicile acestora sunt prezentate pe scurt în continuare, cu referire în permanenţă la
filtrul FTJ.
H Ω
2 1
2N
(4.7)
Ω
1
Ω
p
Ordinul filtrului
1
log 10 1
N δs (4.9)
Ω
2log 10 s
Ω
p
60
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
riplu în banda de trecere 10 log 10 1 2 20 log 10 1 p (4.11)
δ
cosh 1
N ε (4.13)
Ω
cosh 1 s
p
1
unde s este riplul în banda de oprire, s este valoarea pulsaţiei de la care începe
1
1
2 2
H Ω 2 2
2 K
(4.14)
1ε G N Ω
cu GN() funcţii raţionale Cebâşev. Acestea sunt tabelate şi, în consecinţă, valorile pot fi
folosite direct în proiectare.
Observaţii
Pentru obţinerea unor filtre de alt tip decât 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
61
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Un filtru digital RII poate fi descompus într-o cascadă de secţiuni de ordinul 2, secţiuni
obţinute prin gruparea de perechi poli-zerouri. Această reprezentare are avantaje atunci când
filtrul este implementat în aritmetica finită, deoarece pentru anumite ordonări ale secţiunilor
de ordin 2 şi pentru anumite grupări ale polilor şi zerourilor în cadrul secţiunilor, sistemul
rezultat este mai puţin afectat de zgomotul de cuantizare şi de către erorile de depăşire. Un pol
plasat aproape de cercul unitate conduce la un răspuns în frecvenţă mare în acel punct (aşa
cum a fost precizat în secţiunea 1.1.1). Maximul funcţiei de transfer poate conduce la apariţia
de depăşiri şi la amplificarea zgomotului de cuantizare. Maximul poate fi "anulat" grupând, în
aceiaşi secţiune, polul respectiv cu un zero, aflat de asemenea în vecinătatea cercului unitate
(zeroul aproape de cercul unitate conduce la minime în punctul respectiv, vezi 1.1.1.). Deci ca
o regulă, în secţiunile de ordinul 2, polii cei mai apropiaţi de cercul unitate trebuie grupaţi
împreună cu zerourile cele mai apropiate de cercul unitate.
62
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
IV.3. Aplicaţii
IV.3.1 Proiectarea filtrelor RII prin metoda polilor şi a zerourilor
a k
xk sinθ sin kθ θ pentru k 0
2
0 pentru k 0
a
θ arccos 1
2 a
2
a12
a2
4
63
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
a1) Scrieţi secvenţa MATLAB pentru reprezentarea semnalului iniţial, în cazul în care
parametrii au valorile: k 0..256 de eşantioane, a1 1 , a2 0.5 .
a2) Completaţi secvenţa de la punctul a1) cu instrucţiunile necesare reprezentării grafice
a polilor, în planul z , faţă de cercul unitate.
a3) Completaţi secvenţa de la punctul a2) pentru a calcula şi a desena amplitudinea
răspunsului în frecvenţă al sistemului.
H s
0.12093
s 0.364s 0.4945 s 0.9945s 0.4945 s 2 1.3585s 0.4945
2 2
a1) Aplicaţi metoda invarianţei impulsului pentru determinarea filtrului digital
corespunzător.
Soluţie: Secvenţa MATLAB pentru rezolvarea punctului a1) al problemei este
prezentată în exemplul EX1_L4.m (tabelul 4.4). Lansaţi în execuţie programul şi interpretaţi
rezultatele.
64
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
65
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Wo=0.75;
Bw=0.3;
NUM=0.12093
a1=[1 0.364 0.4945]
a2=[1 0.9945 0.4945]
a3=[1 0.3585 0.4945]
DEN=conv(a1,conv(a2,a3))
[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s')
[n,d]=lp2bp(NUM,DEN,Wo,Bw)
66
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Ws=150/250;
% Invarianta impulsului pornind de la un filtru analogic Butterworth
[N,Wn]=buttord(Wp,Ws,3,40,'s')
67
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Soluţie: Soluţia punctului a1) al problemei este dată în programul EX4_L4.m (tabelul
4.7). Rulaţi programul respectiv.
a3) Reprezentaţi funcţia pondere h(n) a acestui filtru. Care este lungimea
secvenţei h(n) pentru un filtru RII ? Justificaţi răspunsul.
b) Reluaţi problema 3.2 punctul c) aplicând metoda transformatei biliniare.
Soluţie: Soluţia problemei este dată în programul EX5_L4.m (tabelul 4.8). Rulaţi
programul respectiv.
68
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Fe=2000;
f=[0:127]*Fe/256;
Wp=500/1000;
Ws=600/1000;
% Metoda transformarii biliniare pornind de la un filtru analogic Butterworth
[N,Wn]=buttord(Wp,Ws,3,50);
69
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
70
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
71
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
H=freqs(b,a,W)
[Bz,Az]=impinvar(b,a,100)
H=freqs(Bz,Az,W);
72
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
m = size(sos,1);
H = zeros(np,m);
[H(:,1),F] = freqz(sos(1,1:3),sos(1,4:6),np,Fe);
for i=2:m,
H(:,i) = H(:,i-1).*freqz(sos(i,1:3),sos(i,4:6),np,Fe);
end
H = 20*log10(abs(H));
figure,subplot(211), plot(Finit,Hinit),xlabel('Frecventa (Hz)'),ylabel('Functia de transfer
(dB)');
subplot(212), plot(F,H),xlabel('Frecventa (Hz)'),ylabel('|H| ptr. sect. de ordin 2 (dB)');
73
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
f=[0:127]*Fe/256;
Wp=200/1000;
Ws=300/1000;
N1=24;
N2=0;
H=freqz(Bq,Aq,128);
[h,t]=impz(Bq,Aq,[],Fe);
figure,subplot(221),plot(f,abs(H)),title('Filtrul IIR Cebisev1 cuantizat'),xlabel('Frecventa
(Hz)'),ylabel('|H(jf)|');
subplot(222),zplane(Bq,Aq);
subplot(223),plot(t,h),title('Functia pondere a filtrului cuantizat'),xlabel('Timp (s)');
74
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
Semnal ECG
util
B-FFT B-FFT
Spectrul semnalului Spectrul semnalului
ECG util ECG + zg. alb
semnal4.mat
B-FFT
Zgomot alb
de banda FIR Filter Spectrul semnalului
limitata filtrat
Semnal fitrat
75
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)
l2)
Modificaţi tipul perturbaţiei, alegând un alt semnal din blocul "Signal Gen.";
variaţi frecvenţa perturbaţiei. Ce se modifică în spectrul semnalului perturbat? Precizaţi dacă
trebuie modificat filtrul şi în caz afirmativ, reproiectaţi-l.
Bibliografie
[1] Vasile Lăzărescu - Prelucrarea digitală a semnalelor; Amco Press, Bucureşti,
România, 1995;
[2] Robert D. Strum, Donald E. Kirk - First Principles of Discrete Systems and Digital
Signal Processing; Addison - Wesley Publ. Comp., USA, 1988;
[3] Alan V. Oppenheim, Roland W. Schaffer - Discrete Time Signal Processing -
Prentice-Hall International, Inc., 1988;
76