Sunteți pe pagina 1din 19

Capitolul I

Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

Proiectarea filtrelor digitale


Filtre cu răspuns infinit la impuls (RII)

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.

IV.1. Introducere teoretică


Am precizat în capitolul anterior că filtrele cu răspuns infinit la impulsul unitate (RII)
pot fi caracterizate cu ajutorul unei ecuaţii cu diferenţe finite de forma:
N M
yn    a k xn  k    bi yn  i  (4.1)
k 0 i 1

S-au notat: xn  - secvenţa de intrare, y n  - secvenţa de ieşire, a k  şi bk  -


coeficienţii filtrului. Funcţia de transfer corespunzătoare relaţiei (4.1) este:
N -1

a k z k
H z   k =0
M
(4.2)
1 bi z i

i 1

IV.1.1. Proiectarea filtrelor RII


În cazul filtrelor RII, algoritmul de proiectare este acelaşi ca şi pentru filtrele RFI
(tabelul 3.1). Caracteristica de gabarit pentru filtrele RII presupune specificarea următorilor
parametri:
2 riplul în banda de trecere
p deviaţia în banda de trecere
s deviaţia în banda de oprire
fp1 şi fp2 frecvenţele de tăiere ce delimitează banda de trecere
fs1 şi fs2 frecvenţele de tăiere ce marchează banda de oprire
fe frecvenţa de eşantionare
Pentru cazul unui filtru RII de tip trece bandă, caracteristica de gabarit este prezentată în
figura 4.1. De asemenea, se pot folosi mărimile exprimate în decibeli:

 
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ă)

Metodele de calcul ale coeficienţilor filtrelor RII sunt:


 Metoda de sinteză cu poli şi zerouri
 Metoda invarianţei la impuls

58
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

 Metoda transformării biliniare

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

0 fs1 fp1 fp2 fs2 frecvenţa

Banda de trecere

Figura 4.1. Schema de toleranţă pentru un filtru RII, de tip trece bandă

IV.1.1.1 Metoda de sinteză cu poli şi zerouri


Un zero plasat în planul z, determină anularea răspunsului în frecvenţă al filtrului, în
acel punct. Un pol determină un maxim în punctul respectiv. Polii apropiaţi de cercul unitate
vor conduce la apariţia unor maxime mari, iar zerourile apropiate de cercul unitate determină
minime ale răspunsului în frecvenţă (vezi şi capitolul 2). Deci, prin plasarea corespunzătoare a
polilior şi a zerourilor în planul z, se pot obţine filtre simple de tip trece-jos, trece-sus, etc.

IV.1.1.2 Metoda invarianţei la impuls


În tabelul 4.1 este dat algoritmul de proiectare al filtrelor RII prin metoda invarianţei la
impuls.

Tabelul 4.1 Proiectarea filtrelor RII prin metoda invarianţei la impuls


1) Determinarea funcţiei de transfer H(s) normalizată, pentru filtrul analogic, ce satisface
cerinţele de proiectare.
2) Dacă este necesar, dezvoltarea H(s) în fracţii simple, pentru a obţine apoi funcţia pondere
h(t) prin transformare Laplace inversă, iar apoi h(nT).
3) Determinarea transformatei z a fiecărei fracţii simple obţinute la punctul 2).
4) Stabilirea funcţiei de transfer H(z) prin combinarea transformatelor z parţiale (ale fracţiilor
simple) de la punctul 3).

Observaţii
Răspunsul la impuls, hnT  al filtrului digital este identic cu ht  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)

IV.1.1.3 Metoda transformării z biliniare (TZB)


În tabelul 4.2 este dat algoritmul de proiectare al filtrelor RII prin metoda transformării
Z biliniare (TZB).

Tabelul 4.2 Proiectarea filtrelor RII prin metoda transformării z biliniare


1) Determinarea funcţiei de transfer normalizate H s  pe baza specificaţiilor filtrului digital.
2) Determinarea frecvenţei de tăiere a filtrului digital şi calculul pulsaţiei corespunzătoare  p
3) Obţinerea pulsaţiei de tăiere echivalente, a filtrului analogic,  p , folosind relaţia:
  pT  T
 p  k tan , k  1 sau k  (4.5)
 2  2
4) Scalarea în frecvenţă a H s  prin înlocuirea lui s cu s /  p (pentru denormalizarea filtrului
analogic).
5) Aplicarea transformatei TZB pentru a obţine funcţia de transfer dorită a filtrului digital
H z  , prin înlocuirea lui s cu z  1 / z  1 (4.6)

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.

IV.1.1.3.1 Filtrul Butterworth


 Modulul pătrat al răspunsului în frecvenţă:

H Ω  
2 1
2N
(4.7)
 Ω 
1 
Ω 
 p 

cu N ordinul filtrului,  p pulsaţia de tăiere la 3 dB.

 Atenuarea în banda de oprire:

As  20 log 10  s (4.8)

 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)

IV.1.1.3.2 Filtrul Cebâşev


a) tipul 1 (echiriplu în banda de trecere, monoton în banda de oprire)
 Modulul pătrat al răspunsului în frecvenţă
H Ω  
2 K
(4.10)
 Ω 
1ε 2 C N2  
Ω 
 p
  
unde C N   sunt polinoamele Cebâşev, N este ordinul filtrului iar  este riplul în banda
 
 p
de trecere. Exprimat în dB acesta estedescris de formula:

 
riplu în banda de trecere  10 log 10 1   2  20 log 10 1   p  (4.11)

 Atenuarea în banda de oprire

atenuarea în banda de oprire  20 log 10  s (4.12)


 Ordinul filtrului

δ
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

obţinerea atenuării dorite în banda de oprire.


b) tipul 2 (echiriplu în banda de oprire, monoton în banda de trecere)

IV.1.1.3.3 Filtrul eliptic


 Modulul pătrat al răspunsului în frecvenţă

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)

trece-jos corespunzător şi de a-l transforma apoi în filtrul dorit, printr-o transformare


corespunzătoare.

IV.1.2 Realizarea filtrelor RII


În etapa de realizare a filtrului RII se alege structura pentru implementare. Structurile
des folosite pentru realizarea filtrelor RII sunt:
 Structura în cascadă
 Structura paralelă
 Structura latice

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.

IV.2. Funcţii MATLAB folosite în capitolul IV


Funcţiile MATLAB folosite în acest capitol sunt prezentate în tabelul 4.3.

Tabelul 4.3 Funcţiile MATLAB folosite în capitolul IV


Tipuri de filtre analogice trece-jos
buttap filtru tip Butterworth
cheb1ap filtru tip I Chebyshev (riplu în banda de trecere)
cheb2ap filtru tip II Chebyshev (riplu în banda de oprire)
ellipap filtru tip eliptic

Proiectarea filtrelor RII


butter proiectarea filtrului Butterworth
cheby1 proiectarea filtrului Chebyshev tip I
cheby2 proiectarea filtrului Chebyshev tip II
ellip proiectarea filtrului eliptic
yulewalk proiectarea filtrului Yule-Walker

Transformări Analiza / Implementarea filtrelor


bilinear Transformarea biliniară
impinvar Transformarea invarianţă abs Amplitudine
la impuls

62
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

lp2bp Transformarea analogică angle Fază


trece-jos în trece-bandă
lp2bs Transformarea analogică filter Implementare directă
trece-jos în opreşte-bandă
lp2hp Transformarea analogică freqs Răspuns în frecvenţă prin
trece-jos în trece-sus transformare Laplace
lp2lp Transformarea freqz Răspuns în frecvenţă prin
trece-jos în trece-jos transformare z
ss2zp Conversia din spaţiul grpdelay Întârziere de grup
stărilor în poli-zerouri
tf2ss Funcţia de transfer din unwrap Fază desfăcută
conversie în spaţiul stărilor
zp2ss Conversia poli-zerouri în zp2sos Descompunere în cascadă de
spaţiul stărilor secţiuni de ordin 2

IV.3. Aplicaţii
IV.3.1 Proiectarea filtrelor RII prin metoda polilor şi a zerourilor

a) Se consideră semnalul sinusoidal cu anvelopă exponenţială, definit astfel:

 
 a k
xk    sinθ sin kθ θ  pentru k 0
 2

0 pentru k 0

unde valoarea  se obţine astfel:

 a 
θ arccos  1 
2 a 
 2 

Parametrii a1 şi a 2 satisfac următoarea condiţie:

a12
a2 
4

Polii sistemului, în planul z sunt plasaţi astfel:

a1  a12 4a 2


p1 
2
a1  a12 4a 2
p2 
2

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.

b) Să se proiecteze prin metoda plasării polilor şi zerourilor, un filtru digital de


tip RII. Valorile polilor şi zerourilor sale sunt:

z1  0.1  0.9 j z 2  0.1  0.3 j


p1  0.8  0.2 j p2  0.6  0.3 j p1  0.3  0.6 j

IV.3.2 Proiectarea filtrelor RII prin metoda invarianţei impulsului


a) Se presupune că dispunem de un filtru analogic, proiectat cu una din metodele de proiectare
pentru filtre analogice, filtru care are următoarea transformată Laplace a răspunsului:

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.

Tabelul 4.4 Exemplul EX1_L4.m

% 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)
%
omega=[0:127]*pi/128;
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));

64
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

% Se transforma filtrul analogic in filtru digital aplicind metoda invariantei


% impulsului.
[Bz,Az]=impinvar(B,A);
H=freqz(Bz,Az,128);
figure,plot(omega,abs(H)),title('Filtru IIR cu invarianta
impuls'),xlabel('omega'),ylabel('|H(e^jomega)|');

a2) Reprezentaţi caracteristica de amplitudine a filtrului în decibeli precum şi


caracteristica de fază a acestuia.
b) Să se proiecteze un filtru RII – trece-jos cu metoda invarianţei la impuls, pornind de
la un filtru analogic Butterworth. Caracteristicile de gabarit pentru filtrul digital ce trebuie
proiectat, sunt:
 frecvenţa de tăiere în banda de trecere  p  0.2
 frecvenţa (omega) de tăiere în banda de oprire  s  0.3
 pierderile în banda de trecere nu mai mari de 1 dB.
 atenuarea în banda de oprire de minimum 15 dB.
 fe=1 Hz.
Reprezentaţi caracteristica de amplitudine a filtrului în decibeli precum şi caracteristica
de fază a acestuia.
Soluţie: Secvenţa MATLAB pentru rezolvarea problemei este prezentată în exemplul
EX2_L4.m (tabelul 4.5).

Tabelul 4.5 Exemplul EX2_L4.m

% Sa se proiecteze un filtru IIR - trece jos cu metoda invariantei la


% impuls, pornind de la un filtru analogic Butterworth.
% Caracteristicile de gabarit pentru filtrul digital de proiectat, sint:
% - frecventa (omega) de taiere in banda de trecere wp=0.2*pi.
% - frecventa (omega) de taiere in banda de oprire ws=0.3*pi.
% - Pierderile in banda de trecere nu mai mari de 1 dB.
% - Atenuarea in banda de oprire de minimum 15 dB.
% - Fe=1 Hz.
omega=[0:99]*pi/100;

% Urmeaza determinarea parametrilor filtrului analogic Butterworth


% care sa indeplineasca specificatiile date.
% Cum Fe=1Hz rezulta ca frecventa continua 2*pi*f este echivalenta
% cu frecventa discreta omega.
Wp=3;
Ws=0.6;
Rp=0.2;
Rs=50;

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)

% Se creeaza filtrul analogic Butterworth cu parametrii determinati


% anterior;
[B,A]=butter(N,Wn,'s');

% Se calculeaza si reprezinta raspunsul in frecventa al filtrului analogic. Daca


% se presupune ca nu exista aliere la discretizarea filtrului analogic, atunci
% caracteristica filtrului proiectat va fi echivalenta cu cea a filtrului IIR
% (invarianta impulsului).
Ha=freqs(B,A,100);
H=Ha;
figure,plot(omega,abs(Ha)),title('Filtrul IIR
Butterworth'),xlabel('omega'),ylabel('|H(e^jomega)|');

c) Să se proiecteze cu metoda invarianţei impulsului un filtru trece-jos RII, pornind de la


filtrele analogice proiectate cu metodele: Butterworth, Cebâşev I şi II. Caracteristicile filtrului
RII sunt:
 frecvenţa de tăiere în banda de trecere fp=100 Hz ;
 frecvenţa de tăiere în banda de oprire fs=150 Hz;
 frecvenţa de eşantionare fe=500 Hz.
Reprezentaţi caracteristica de amplitudine a filtrului în decibeli precum şi caracteristica
de fază a acestuia.
Soluţie: Soluţia problemei este prezentată în exemplul EX3_L4.m (tabelul 4.6).

Tabelul 4.6 Exemplul EX3_L4.m

% Sa se proiecteze cu metoda invariantei impulsului un filtru trece - jos IIR,


% pornind de la filtrele analogice proiectate cu metodele: Butterworth,
% Cebisev I si II.
% Caracteristicile filtrului IIR sint:
% - frecventa de taiere in banda de trecere fp=100 Hz ;
% - frecventa de taiere in banda de oprire fs=150 Hz;
% - frecventa de esantionare Fe=500 Hz.
Fe=500;
f=[0:99]*Fe/200;
Wp=100/250;

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')

% Se creeaza filtrul analogic Butterworth cu parametrii determinati


% anterior;
[B,A]=butter(N,Wn,'s');
Ha=freqs(B,A,100);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR Butterworth'),xlabel('Frecventa
(Hz)'),ylabel('|H(jf)|');

% Invarianta impulsului pornind de la un filtru analogic Cebisev I


[N,Wn]=cheb1ord(Wp,Ws,3,40,'s');

% Se creeaza filtrul analogic Cebisev I cu parametrii determinati


% anterior;
[B,A]=cheby1(N,Wn,0.5,'s');
Ha=freqs(B,A,100);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR Cebisev I'),xlabel('Frecventa (Hz)'),ylabel('|H(jf)|');

% Invarianta impulsului pornind de la un filtru analogic Cebisev II


[N,Wn]=cheb2ord(Wp,Ws,3,40,'s')

% Se creeaza filtrul analogic Cebisev II cu parametrii determinati


% anterior;
[B,A]=cheby2(N,20,Wn,'s');
Ha=freqs(B,A,100);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR Cebisev II'),xlabel('Frecventa
(Hz)'),ylabel('|H(jf)|');

% Invarianta impulsului pornind de la un filtru analogic eliptic


%[N,Wn]=ellipord(Wp,Ws,3,40,'s')
% Se creeaza filtrul analogic eliptic cu parametrii determinati
% anterior;
[B,A]=ellip(N,0.6,20,Wn,'s');
Ha=freqs(B,A,100);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR eliptic I'),xlabel('Frecventa (Hz)'),ylabel('|H(jf)|');

IV.3.3 Proiectarea filtrelor RII prin metoda transformării biliniare


a1) Reluaţi problema 3.2 punctul a) aplicând metoda transformatei biliniare.

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.

Tabelul 4.7 Exemplul EX4_L4.m

% 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 transformarii biliniare.
% 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)
omega=[0:127]*pi/128;
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));
[Bz,Az] = bilinear(B,A,1);
H=freqz(Bz,Az,128);
[h,t]=impz(Bz,Az);
figure,plot(omega,abs(H)),title('Filtru IIR cu transf. biliniara'
),xlabel('omega'),ylabel('|H(e^jomega)|');

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 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.

Tabelul 4.8 Exemplul EX5_L4.m

% Sa se proiecteze cu metoda transformarii biliniare un filtru trece - jos IIR,


% pornind de la filtrele analogice proiectate cu metodele: Butterworth,
% Cebisev I si II.
% Caracteristicile filtrului IIR sint:
% - frecventa de taiere in banda de trecere fp=100 Hz ;
% - frecventa de taiere in banda de oprire fs=150 Hz;
% - frecventa de esantionare Fe=500 Hz.

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);

% Se creeaza filtrul digital prin transformarea biliniara a filtrului analogic Butterworth


% cu parametrii determinati anterior;
[B,A]=butter(N,Wn);
Ha=freqz(B,A,128);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR Butterworth'),xlabel('Frecventa
(Hz)'),ylabel('|H(jf)|');

% Metoda transformarii biliniare pornind de la un filtru analogic Cebisev I


[N,Wn]=cheb1ord(Wp,Ws,3,50);

% Se creeaza filtrul digital prin transformarea biliniara a filtrului analogic Cebisev I


% cu parametrii determinati anterior;
[B,A]=cheby1(N,Wn,0.5);
Ha=freqz(B,A,128);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR Cebisev I'),xlabel('Frecventa (Hz)'),ylabel('|H(jf)|');

% Metoda transformarii biliniare pornind de la un filtru analogic Cebisev II


[N,Wn]=cheb2ord(Wp,Ws,3,50)

% Se creeaza filtrul digital prin transformarea biliniara a filtrului analogic Cebisev II


% cu parametrii determinati anterior;
[B,A]=cheby2(N,20,Wn);
Ha=freqz(B,A,128);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR Cebisev II'),xlabel('Frecventa
(Hz)'),ylabel('|H(jf)|');

% Metoda transformarii biliniare pornind de la un filtru analogic eliptic


%[N,Wn]=ellipord(Wp,Ws,3,50)
% Se creeaza filtrul digital prin transformarea biliniara a filtrului analogic eliptic
% cu parametrii determinati anterior;
%[B,A]=ellip(N,0.6,20,Wn);
Ha=freqz(B,A,128);
H=Ha;
figure,plot(f,abs(Ha)),title('Filtrul IIR eliptic I'),xlabel('Frecventa (Hz)'),ylabel('|H(jf)|');

69
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

c) Să se proiecteze prin metoda transformării biliniare, un filtru Butterworth, cu


datele de proiectare:
 amplitudinea oscilaţiilor în banda de trecere: 0.5 dB
 atenuarea în banda de oprire: 50 dB
 frecvenţa de tăiere normalizată (în intervalul 0 - 0.5 Hz): 0.1 Hz.
 lăţimea benzii de tranziţie (în intervalul 0 - 0.5 Hz): 0.1 Hz
Să se deseneze amplitudinea şi faza răspunsului în frecvenţă al filtrului rezultat.

d) Repetaţi punctul c) pentru un filtru Butterworth de tip trece-bandă, cu datele de


proiectare:
 banda de trecere: 600 Hz - 900 Hz
 atenuare de maximum 0.2 dB în banda f0  f  800 Hz
 atenuare de minimum 50 dB în banda 0  f  200 Hz

e) Să se proiecteze prin metoda transformării biliniare un filtru Cebâşev, cu datele


de proiectare:
 amplitudinea oscilaţiilor în banda de trecere: 0.5 dB
 atenuarea în banda de oprire: 40 dB
 frecvenţa de tăiere normalizată (în intervalul 0 - 0.5 Hz): 0.1 Hz
 lăţimea benzii de tranziţie (în intervalul 0 - 0.5 Hz): 0.2 Hz
Să se schiţeze pe baza datelor de proiectare schema de tranziţie a filtrului şi să se deseneze
amplitudinea şi faza răspunsului său în frecvenţă.

f) Repetaţi punctul e) pentru un filtru Cebâşev de tip trece-jos, cu specificaţiile de


proiectare:
 riplu maxim în banda de trecere: 1 dB
 pulsaţia de tăiere: mai mică sau egală cu 1,3 rad/s
 atenuare în banda de oprire de cel puţin 40 dB, pentru pulsaţie mai mare de 5 rad/s

g) Repetaţi punctul e) pentru un filtru Cebâşev cu specificaţiile de proiectare:


 riplu: 1 dB în banda 600 Hz  f  900 Hz
 frecvenţa de eşantionare: 3000 Hz
 câştig maxim: - 40 dB pentru 0  f  200 Hz

70
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

h) Să se proiecteze prin metoda transformării biliniare un filtru eliptic, având


datele de proiectare:
 amplitudinea oscilaţiilor în banda de trecere: 0.5 dB
 atenuarea în banda de oprire: 50 dB
 frecvenţa de tăiere normalizată (în intervalul 0 - 0.5 Hz): 0.1 Hz
 lăţimea benzii de tranziţie (în intervalul 0 - 0.5 Hz): 0.1 Hz
Să se schiţeze schema de tranziţie pe baza datelor de proiectare şi să se deseneze
amplitudinea şi faza răspunsului în frecvenţă al filtrului rezultat.
i) Prin metoda transformărilor de frecvenţă (în domeniul continuu), să se proiecteze un filtru
RII trece-bandă pornind de la un filtru prototip normalizat trece-jos, cu următoarele
specificaţii:
 frecvenţa centrală =30 Hz.
 lărgimea benzii de trecere =20 Hz.
Se presupune că trecerea de la filtrul analogic, rezultat prin transformarea de frecvenţă,
la filtrul digital corespunzător, se face cu metoda invarianţei impulsului cu o frecvenţă de
eşantionare care previne alierea.
Soluţie: Soluţia problemei este dată în programul EX6_L4.m (tabelul 4.9). Rulaţi
programul respectiv.

Tabelul 4.9 Exemplul EX6_L4.m

% Prin metoda transformarilor de frecventa (in domeniul continuu), sa se


% proiecteze un filtru IIR trece-banda pornind de la un filtru prototip
% normalizat trece-jos, cu urmatoarele specificatii:
% Frecventa centrala =30 Hz.
% Largimea benzii de trecere =20 Hz.
% Se presupune ca trecerea de la filtrul analogic, rezultat prin transformarea
% de frecventa, la filtrul digital corespunzator, se face cu metoda invariantei
% impulsului cu o frecventa de esantionare care previne alierea.
% Se construieste filtrul analogic prototip normalizat (cu frecventa de taiere
% unitara).
[z,p,k]=buttap(6);

% Se trece de la reprezentarea poli-zerouri la cea in 's'.


[b,a]=zp2tf(z,p,k);

% Se formeaza o axa a frecventelor (in Hz)


f=[0:100]*100
W=0:100;

% Se construieste filtrul IIR trece-banda din filtrul prototip, aplicind


% transformarea de frecventa in domeniul continuu.
[B,A]=lp2bp(b,a,30,20);

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);

% Se reprezinta modulul filtrului. Datorita invariantei impulsului si absentei


% alierii, filtrul digital are aceeasi caracteristica cu cel analogic.
figure,plot(W,abs(H)),grid,title('Modulul filtrului IIR trece banda'), xlabel('Frecventa
(Hz)');
j) Să se proiecteze un filtru RII – trece-jos cu metoda invarianţei la impuls, pornind de la un
filtru analogic Butterworth. Caracteristicile de gabarit pentru filtrul digital de proiectat, sunt:
 fe=5 kHz.
 frecvenţa de tăiere = 1kHz
 ordinul filtrului Butterworth = 10
j1) Să se descompună filtrul proiectat într-o cascadă de filtre de ordinul 2. Să se
reprezinte caracteristica de amplitudine a filtrului proiectat şi caracteristicile de amplitudine
ale secţiunilor de ordinul doi în care se descompune filtrul iniţial.
Soluţie: Soluţia punctului j1) al problemei este dată în programul EX7_L4.m (tabelul
4.10). Rulaţi programul respectiv.

Tabelul 4.10 Exemplul EX7_L4.m

% Sa se proiecteze un filtru IIR - trece jos cu metoda invariantei la


% impuls, pornind de la un filtru analogic Butterworth.
% Caracteristicile de gabarit pentru filtrul digital de proiectat, sint:
% Fe=5 kHz.
% frecventa de taiere = 1kHz
% ordinul filtrului Butterworth = 10;
% Sa se descompuna filtrul proiectat intr-o cascada de filtre de ordinul 2. Sa se
% reprezinte caracteristica de amplitudine a filtrului proiectat si caracteristicile de
% amplitudine ale sectiunilor de ordinul doi in care se descompune filtrul initial.
n=10;
wn=0.4;
np = 256;
Fe=5000;

% Se determina filtrul digital IIR cu caracteristicile de gabarit impuse.


[B,A]=butter(n,wn);
[Hinit,Finit]=freqz(B,A,np,Fe);
Hinit=20*log10(abs(Hinit));

% Se descompune filtrul proiectat intr-o cascada de sectiuni de ordinul 2:


% se determina mai intii zerourile (z), polii (p) si factorii de cistig (k),
% dupa care prin functia "zp2sos" se determina sectiunile de ordinul 2.
[z,p,k] = butter(n,wn);
sos = zp2sos(z,p,k,'down');

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)');

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 (tabelul 4.11).

Tabelul 4.11 Exemplul EX8_L4.m

% Se considera un filtru IIR proiectat prin metoda transformarii biliniare


% pornind de la un filtru analogic Cebisev I. Sa se studieze efectul cuantizarii
% coeficientilor filtrului.
% Cuantizarea se face in virgula fixa, fara semn 'unsigned' sau in complement
% fata de 2 'twoscomp'. N1 specifica numarul total de biti cu care se face
% cuantizarea coeficientilor filtrului, iar N2 este numarul de biti care cuantifica
% partea intreaga. Numarul de nivele de cuantizare este 2^N1, domeniul de valori
% fiind [0 , 2^N2) (unsigned) sau [-2^N2, 2^N2) (twoscomp).
Fe=2000;

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;

% Metoda transformarii biliniare pornind de la un filtru analogic Cebisev I


[N,Wn]=cheb1ord(Wp,Ws,4,50);

% Se creeaza filtrul digital prin transformarea biliniara a filtrului analogic Cebisev I


% cu parametrii determinati anterior;
[B,A]=cheby1(N,0.5,Wn);
Ha=freqz(B,A,128);
H=Ha;
[h,t]=impz(B,A,[],Fe);
figure,subplot(221),plot(f,abs(Ha)),title('Filtrul IIR Cebisev1'),xlabel('Frecventa
(Hz)'),ylabel('|H(jf)|');
subplot(222),zplane(B,A);
subplot(223),plot(t,h),title('Functia pondere a filtrului'),xlabel('Timp (s)');

% Se face cuantizarea coeficientilor filtrului


[Bq,OvfB]=d_quant(B,[N1 N2],'rounding','unsigned');
[Aq,OvfA]=d_quant(A,[N1 N2],'rounding','unsigned');
Ovf=OvfB+OvfA;
if(Ovf)
disp('Eroare la depasire');
end
if (all(~Bq) | all(~Aq))
disp('Eroare: filtrul cuantizat are coeficientii A si/sau B nuli');
return;
end

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)');

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 RII în aritmetica finită (cu cuantizarea coeficienţilor) trebuie luate măsuri suplimentare
faţă de cazul proiectării filtrelor FIR în aritmetica finită.

74
Capitolul I
Proiectarea filtrelor digitale. Filtre cu răspuns infinit la impuls (RII)

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) Fie semnalul util existent în fişierul semnal5.mat. Acest semnal reprezintă o înregistrare în
domeniul ultrasunetelor a trecerii sângelui prin aortă. Frecvenţa de eşantionare este de 1kHz.
Acest semnal este perturbat. Se cere eliminarea perturbaţiei utilizând un filtru RII. Să se ruleze
programul Simulink EX9_L4.mdl (figura 4.2), care implementează acest sistem.

Semnal ECG
util

B-FFT B-FFT
Spectrul semnalului Spectrul semnalului
ECG util ECG + zg. alb

semnal4.mat

From File Sum Semnal ECG + zg. alb

B-FFT
Zgomot alb
de banda FIR Filter Spectrul semnalului
limitata filtrat

Semnal fitrat

Figura 4.2. Exemplul EX9_L4.mdl

l1) Care este frecvenţa perturbaţiei (în Hz) ?

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.

IV.4. Exerciţii şi probleme recapitulative

a) Prin metoda transformărilor de frecvenţă (în domeniul continuu), să se


proiecteze un filtru RII trece-bandă pornind de la un filtru prototip normalizat trece-jos, cu
următoarele specificaţii:
 frecvenţa de tăiere care marchează banda de trecere = 600Hz
 frecvenţa de eşantionare = 2kHz.
Se va utiliza un filtru prototip de tip eliptic.

b) Se dă filtrul RII cu funcţia sistem:

0.2871  0.4466 z 1  2.1428  1.1455 z 1


H z    
1  1.2971z 1  0.6949 z  2 1  1.0691z 1  0.3699 z  2
1.8557  0.6303z 1

1  0.9972 z 1  0.2570 z  2

b1) Utilizând secţiuni de ordinul 2, ce tip de implementare a filtrului o sugerează forma


funcţiei sistemului ? Realizaţi acest tip de implementare în mediul Simulink şi filtraţi
semnalul existent în fişierul semnal5.mat.
b2) Determinaţi polii şi zerourile sistemului.
b3) Reprezentaţi sistemul ca o cascadă de secţiuni de ordin doi. Se vor folosi funcţiile
MATLAB corespunzătoare.

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

S-ar putea să vă placă și