Documente Academic
Documente Profesional
Documente Cultură
Noţiuni generale
1.1. Introducere
Utilitatea temei
Actualitatea temei
Odată cu dezvoltarea industriei telecomunicaţiilor şi a electronicii de putere apare nevoia
folosirii sistemelor de procesare a semnalelor. Datorită faptului că filtrele digitale pot fi
implementate pe DSP si microprocesoare(CPU) acestea sunt ideale pentru a fi folosite în
1
componenţa telefoanelor mobile precum şi a echipamentelor audio-video,de
navigaţie,echipamente IT şi altele, folosite tot mai frecvent în prezent.
O altă problemă fundamentală din punctul de vedere al filtrării este legată de eliminarea
poluării armonice. În mai puţin de 10 ani problema calităţii energiei electrice a depăşit domeniul
de interes al specialiştilor fiind privită în prezent ca o problemă de interes major.
Prin creşterea numărului sarcinilor bazate pe electronică de putere, creşte nivelul
distorsiunii armonice în sistemul de alimentare.
Problemele care ar putea fi determinate de nivelul excesiv al armonicilor de tensiune în
reţeaua electrică sunt cunoscute de mult timp şi au fost stabilite proceduri şi standarde pentru a
limita aceste distorsiuni. În general, există trei tipuri de dispozitive folosite pentru eliminarea
armonicilor, fiecare cu avantajele şi dezavantajele sale. Acestea sunt:
– filtrele pasive
– soluţii utilizând transformatoare − de izolare, zig-zag, grupare fazorială
– filtrele active.
Poluarea armonică este produsă în mare parte de echipamentele care folosesc electrionică
de putere, care generează armonici impare, acestea ducând la încărcarea conductorului neutru cu
armonici de rang multiplu de trei. Utilizarea filtrelor pasive pentru a combate acest fenomen este
posibilă, însă este dificil de proiectat un circuit pasiv eficient, de filtrare pentru armonica de rang
trei. Un filtru pasiv va răspunde numai la armonicile pentru care a fost proiectat, astfel vor fi
necesare noi circuite de filtrare individuale pentru alte frecvenţe armonice nedorite care apar.
În unele cazuri, atunci când spectrul armonic se modifică, este necesară reamplasarea sau
suplimentarea filtrului pasiv. Transformatoarele în zig-zag sau transformatoarele în triunghi de
izolare sunt eficiente contra armonicilor cu rang multiplu de trei, dar nu au efect asupra altor
armonici. În aceste cazuri, utilizarea filtrelor active reprezintă o soluţie foarte bună.
Evoluţia filtrelor
Primele tipuri de filtre utilizate au fost filtrele pasive liniare analogice, care sunt
construite utilizând doar elemente pasive de circuit, rezistenţe, bobine şi condensatoare. Filtrele
pasive sunt construite fie prin utilizarea unei rezistenţe şi a unui condensator (RC), fie folosind o
2
rezistenţă şi o bobină (RL). În trecut construcţia acestor filtre era destul de simplă utilizându-se
în general filtre RC, RL cu un singur pol, cele mai complexe fiind filtrele LC cu mai mulţi poli.
În cazul acestor filtre elementele cu ajutorul cărora se face selecţia frecvenţelor sunt
bobinele care au rolul de a bloca frecvenţele înalte şi de a lăsa să treacă pe cele joase în timp ce
condensatoarele realizează opusul.
Rezistenţele nu au rol de selectare a frecvenţelor dar sunt adăugate în circuitul de filtrare pentru
introducerea unei constante de timp şi implicit pentru determinarea frecvenţelor la care răspunde
filtrul.
3
Clasificarea filtrelor utilizate în mod uzual
Există mai multe topologi de filtre frecvent utilizate in tehnica preluvrării semnalelor cum ar fi:
4
obţinut este procesat de către un CPU sau DSP, pentru ca apoi să fie reconvertit în
analog de către un convertor digital-analog(DAC), care realizează asupra semnalului
operaţile de decuantizare şi decodare.
Bibliografie selectivă
1. Arthur B. Williams & Fred J. Taylor, „Electronic Filter Design Handbook”, McGraw-
Hill, 1995
2. Allan R. Hanbley, „Electrical engineering principles and applications”, Editura Prentice
Hall, 2004
5
3. John T. Taylor, Qiuting Huang, „CRC Handbook of Electrical Filters”, Editura CRC
Press, 1997
4. Lucian Mheţ-Popa, „Tehnici de prelucrare a semnalelor(notiţe curs)”, Universitatea
Politehnică din Timişoara, 2009
6
Cap. 2. Semnale şi Sisteme de prelucrare a semnalelor
2.1. Introducere
Consideraţii generale
Semnalele sunt parametrii electrici variabili în timp sau spaţiu ca de exemplu sunetul,
imaginea, tensiunea electrică, câmpul magnetic, temperaturi, forţe sau viteze. Un semnal, poate fi
definit, şi ca o entitate purtătoare de informaţii cu privire la prezenţa sau evoluţia unui sistem
fizic.
Semnalele pot fi analogice sau digitale şi pot fi generate de surse de cele mai diverse
tipuri cum ar fi surse biologice, chimice, acustice, mecanice şi electrice.
Un sistem de procesare a semnalelor (procesor de semnal) este un dispozitiv sau un grup
de dispozitive bine determinat care primeşte la intrare un semnal analogic f(t) sau digital f(nT),
numit excitaţie, şi produce la ieşire un semnal de acelaşi tip, g(t) sau g(nT), numit răspuns cum
descrie Figura 2.1. Semnalul de ieşire depinde de semnalul de intrare şi de structura sistemului.
Majoritatea sistemelor pot fi modelate matematic în vederea estimării răspunsului
sistemului:
7
egal cu suma răspunsurilor individuale corespunzătoare fiecărei excitaţii în parte, dacă aceasta ar
fi fost aplicată separat.
În funcţie de tipul semnalelor cu care lucrează, sistemele de prelucrare a semnalelor se
împart în: sisteme analogice (continue) şi sisteme digitale (numerice).
Clasificare
8
Semnalele sinusoidale sunt singurele din natură care se propagă prin sisteme liniare fără a fi
deformate.
Dacă la intrarea unui sistem liniar se aplică o sinusoidă, la ieşire va apare tot o sinusoidă de
amplitudine şi fază diferite în funcţie de transformările efectuate de sistem asupra semnalului.
Filtre analogice(liniare)
Aceste filtre sunt de două tipuri: filtre analogice pasive şi filtre analogice active. Filtrele
pasive nu depind de o sursă externă de alimentare şi au în componenţă rezistenţe, bobine şi
condensatoare. Bobinele blochează semnalele de frecvenţă înaltă şi le lasă să treacă doar pe cele
de joasă frecvenţă, în timp ce condensatoarele se comportă invers. Filtrele active au în
componenţă pe lângă elementele pasive de circuit întâlnite la filtrele pasive şi amplificatoare
operaţionale. Aceste filtre sunt utilizate pentru a elimina frecvenţele (armonicile) nedorite din
semnalul de la intrare, sau pentru a selecta o anumita frecvenţă.
Filtrele analogice pasive sunt sisteme liniare, cu o comportare selectivă, pentru semnale
de frecvenţe diferite aplicate la intrarea filtrului. Valorile rezistenţelor, capacităţilor şi a
inductanţelor sunt determinate de tipul filtrului şi de frecvenţa de acordare a acestuia în timp ce
rezistenţele nu au nici o influenţă asupra frecvenţei dar determină constanta de timp a circuitului.
Numărul de elemente determină ordinul filtrului. Un filtru pasiv conţine un singur
element (celula) reactiv(ă): RC, RL, LC sau RLC, aceste filtre pot fi de tip L, T sau π. De
exemplu filtrele de tip L contin 2 elemente(celule), unul în serie şi unul în paralel.
9
1
U i I R I X c I R
jC
(2.1)
U I X I 1
0 c
jC
jC
I U i 1 j RC
(2.2)
U U 1
0 i
1 j RC
U0 1
Au Au ( ) (2.3)
U i j RC
Modulul caracteristicii de frecventă arată de câte ori este mai mare amplitudinea semnalului
de la ieşire a filtrului decât amplitudinea semnalului de la intrare prin intermediul relaţiei 2.3.
Filtrul trece jos permite trecerea sinusoidelor de frecvenţă joasă şi nu permite trecerea celor de
frecvenţă înaltă(semnalele pentru care amplificarea este mai mare trec, iar semnalele pentru care
amplificarea este mai mică nu trec).
1
Au (2.4)
2
10
1 1
Au (T ) (2.5)
1 T 2 ( RC ) 2 2
1 1
T ; fT (2.6)
RC 2 RC
Im Au
arctg ( ) arctg ( RC ) (2.7)
Re Au
1
Au dB
20 log Au 20 log (2.8)
1 (2 f RC ) 2
11
Figura 2.6. Caracteristica Bode a filtrului
Filtre active
Sunt implementate utilizând atât elemente pasive cât şi active(amplificatoare
operaţionale, elemente semiconductoare) de circuit şi necesită la ieşire o sursă de putere.
Amplificatoarele operaţionale diferenţiale sunt foarte frecvent utilizate în componenţa acestor
filtre pentru realizarea unei filtrări a semnalelor mai precisă şi pentru realizarea fenomenului de
rezonanţă fără utilizarea bobinelor. Un dezavantaj al folosirii acestora este constituit de limitarea
frecvenţei superioare datorită lăţimii de bandă redusă a amplificatoarelor.
Acestea sunt filtre electronice având în componenţă una sau mai multe componente active de
circuit.
Avantajele acestor filtre sunt următoarele:
– Bobinele pot fi înlocuite cu amplificatoare operaţionale pentru obţinerea unui
factor de calitate mai bun;
– Răspunsul filtrului şi frecvenţa de acordare pot fi reglate foarte uşor prin
modificarea unei rezistenţe variabile;
– Amplificatorul poate fi folosit şi ca un buffer.
12
Figura 2.7. Clasificarea filtrelor active
Cele mai utilizate dintre aceste filtre analogice sunt filtrele de tip: Butterworth,
Chebyshev şi Bessel. Structura generală a filtrelor , permite realizarea unui filtru de tip trece-jos
sau trece-sus, prin înlocuirea componentelor G1-G4 din schema din Figura 2.7 cu rezistoare sau
condensatoare. Filtrul trece sus este utilizat pentru a filtra armonicile superioare iar filtrul trece
jos pentru filtrarea armonicilor inferioare.
13
Pentru un filtru de tip FIR, dacă mărimea de la intrare devine zero, la un moment dat, şi
valoarea mărimii de la ieşire va fi tot zero, după timpul de intârziere, de aceea acest tip de filtru
este numit filtru cu răspuns infinit la aplicarea mărimii de tip impuls.
Pentru un filtru de tip IIR, dacă intrarea e setată la zero, valoarea mărimii de ieşire va
scădea exponenţial spre zero, dar nu va deveni zero niciodată, continuând să se extindă spre
infinit, de aceea filtrul se numeşte cu răspuns infinit.
În cazul proiectării unui filtru fie el numeric sau analogic, cu răspuns finit sau infinit la
aplicarea unui impuls, se utilizează algoritmi de optimizare, caracteristici care dau naştere unor
topologii aparte de filtre, ce vor fi prezentate în continuare:
2 2 G0 2
G ( ) H ( j ) 2n
1
c
(2.9)
14
Sunt proiectate pentru a minimiza eroarea dintre caracteristica ideala a filtrului şi cea
actuală pentru un anumit domeniu, dar având oscilaţii(riplu) în banda de trecere. Aceste filtre
pot fi analogice sau digitale în funcţie de cerinţele de proiectare.
Amplitudinea riplului poate fi calculată cu relaţia:
1 (2.10)
riplu 20 log10
unde pentru amplitudinea riplului de 3dB. 1 2
Filtre Bessel
Sunt filtre analogice proiectate pentru a întârzia banda de trecere păstrând în acelaşi timp
forma de undă a semnalului de la intrare. Un astfel de filtru are funcţia de transfer din relaţia
2.11.
n
H (s) (2.11)
n ( s / 0 )
15
Figura 2.10. Intârzierea benzii de trecere şi factorul de amplificare
y (t ) ( x h) (t ) x( ) h(t ) d (2.12)
a
X ( j ) x (t ) e jt dt (2.13)
Transformata Laplace: transformata Fourier generalizată care transformă un semnal sau
un sistem într-un număr complex, operaţie descrisă de relaţia 2.14 .
X ( js ) x(t ) e st dt (2.14)
16
Filtre Adaptive
Ce este filtrul adaptiv? Este un filtru capabil să-şi modifice parametrii interni, în scopul
optimizării performanţelor sale.
În ultima vreme noţiunea de “adaptiv” este din ce în ce mai răspândită în lumea modernă
a comunicaţiilor. Sistemele adaptive se caracterizează prin faptul că capabilitatea de a se
autoadapta în vederea eliminării (minimizării) unor efecte nedorite cum sunt zgomotele,
interferenţele sau ecourile, de aceea sunt cele mai utilizate în domeniul procesărilor de semnal
digital.
Din punctul de vedere al teoriei sistemelor, modul de operare al unui sistem adaptiv se
prezintă în figura 2.1. Se distinge prezenţa unui semnal de eroare rezultat din compararea
răspunsului sistemului cu cel dorit, care va fi utilizat împreună cu semnalul de intrare pentru a
modifica valorile unor parametri specifici. Sistemul poate fi analogic sau discret, liniar sau
neliniar, iar semnalele de intrare, respective de ieţire dorite, sunt considerate ca fiind relizări
individuale ale unor procese aleatoare.
Cuvântul care ilustrează cel mai bine din punct de vedere intuitiv noţiunea de semnal
aleator este zgomotul. Mai mult, în mintea celor mai mulţi dintre noi acest cuvânt este asociat cu
senzaţia de disconfort, care trebuie înlaturată sau macar atenuată. De multe ori zgomotul se
suprapune peste ceea ce denumim de regulă “informaţie utilă” si, uneori, efortul de a le separa
poate fi extrem de anevoios (analiza semnalelor recepţionate de la sondele spaţiale este poate
exemplul cel mai la îndemână).
17
În Fig. 2.1 se prezintă schema bloc a unui proces de prelucrare a unor semnale aleatoare,
a cărui element central îl reprezintă un filtru discret având coeficienţii w0, w1, w2, … care
primeşte la intrare o serie de timp u[0], u[1], u[1], ….
Ieşirea filtrului, notata y[n], furnizează o valoare estimată a unui anumit semnal dorit
d[n]. Diferenţa dintre aceste semnale constituie eroarea de estimare e[n]. În condiţiile în care
atât semnalul de intrare cât şi cel dorit reprezintă realizări individuale ale unor procese aleatoare
eroarea devine ea însăşi un proces aleator cu caracteristici statistice proprii.
Introducere
Sistemele digitale au rolul de a prelucra semnale discrete în timp discret. Spre deosebire
de sistemele analogice, în sistemele digitale semnalele nu mai au semnificaţie fizică, ele fiind
codificate numeric, astfel că singurele metode de procesare a semnalelor sunt diversele metode
matematice, bazate pe operaţii elementare(adunări, multiplicări, etc), ecuaţii diferenţiale,
transformate de diferite tipuri(Fourier, Laplace, Wavelet, Z), metode estimative şi statistice.
Aceste operaţii pot fi efectuate fie hardware, prin diverse circuite logice, fie software,
prin programe de calculator. Operaţiile de bază, efectuate de sistemele digitale, sunt operaţii de
multiplicare(atenuare, amplificare), însumarea semnalelor, operaţia de întârziere(cu un nr. k de
eşantioane).
Semnalul de intrare al unui sistem digital este o secvenţă(un şir) de numere rezultate din
conversia analog-numerică a semnalului analogic, iar semnalul de la ieşire va fi tot o secvenţă de
numere. Sistemul care va prelucra secvenţa de numere X[n] va fi un algoritm de calcul (secvenţa
de numere de la ieşirea sistemului se obţine în urma unor calcule).
Un semnal sinusoidal discret se obţine din semnalul analogic sinusoidal, de frecvenţa f şi
amplitudine A, fie prin eşantionare într-un sistem de achiziţie de date, fie pe cale matematică
conform relaţiei următoare:
Corelaţia
Permite recunoaşterea sau identificarea semnalelor emise(radar, ECG). Pentru un
semnal(secvenţă) de intrare x[n] şi o secvenţă dată(şablon) h[n] de lungime constantă M,
corelaţia se defineşte ca fiind:
M 1
y[ n ] h[k ] x[n( M 1) k ]
k 0
(2.16)
1
FFT-Fast Fourier Transform(Transformata Fourier rapidă)
19
Convoluţia
Este unul dintre cei mai importanţi algoritmi utilizaţi în procesarea numerică a
semnalelor. La convoluţia dintre coeficienţii unui sistem liniar şi semnalul de intrare (x[n]),
eşantionul curent de ieşire se obţine ca sumă ponderată a ultimelor N eşantioane ale semnalului
de intrare(pentru calculul eşantionului de ieşire sunt necesare N înmulţiri şi N-1 adunari).
Convoluţia semnalelor poate fi determinată:
– Direct: utilizând formula de definire;
– Indirect: utilizând Transformata Fourier(se calculează Transformata Fourier, se
face produsul semnalelor şi apoi se calculează transformata Fourier inversă).
y[ n ] h[ k ] x[ n k ] h[ n ] x[ n ] (2.17)
20
Oferă informaţii despre spectrul de frecvenţă al unui sistem(spectrul unui semnal discret)
fiind utilizată pentru eşantionarea datelor vectoriale(mulţimea semnalelor armonice în care
semnalul discret poate fi descompus).
Transformă N eşantioane ale unui semnal din domeniul timp în N valori complexe din domeniul
frecvenţă fapt arătat de relaţia 2.18.
N 1
TFD{u[ nTe] } UTFD[ n0 ] u[kTe] e jn0 kTe ; n 0,1, 2,.. (2.18)
k 0
considerând că tensiunea u[n ] provine din tensiunea u(t), eşantionată cu frecvenţa fe=1/Te,
t n Te ; dt Te ; k 0 (2.19)
N 1
F ( j ) u(t ) e
jt
dt u[nT ] e jk nT Te
e
0 (2.20)
k 0
F ( j ) Te UTFD[ n] (2.21)
21
Transformata Fourier discretă rapidă este un algoritm de calcul foarte eficient pentru
analiza unui semnal în raport cu frecvenţa. Reduce numărul de calcule matematice de la N 2
operaţii la N/2 * log2(N) operaţii.
Dacă aplicăm TFD unei secvenţe de N date, semnalul căruia îi va corespunde spectrul rezultat se
obţine multiplicând prin periodicitate această secvenţă(dacă secvenţa nu conţine un număr întreg
de perioade spectrul rezultat nu este corect).
22
acestuia(de exemplu: pentru crearea unui filtru trece bandă). Un alt tip de filtru digital este filtrul
Kalman, în cazul acestuia descrierea matematică a filtrului este realizată printr-un MM-ISI.
În cazul filtrelor digitale relaţia dintre mărimea de intrare şi cea de ieşire este descrisă de
operaţia de convoluţie(relaţia 2.22), în care x(n) este mărimea de intrare, y(n) este mărimea de
ieşire iar h(m) este răspunsul filtrului la aplicarea semnalului de tip impuls. Funcţia de transfer a
unui filtru digital, liniar invariant în timp, este de forma:
y ( n) h ( m) x ( n m ) (2.22)
m
B ( z ) b0 b1 z 1 ... bn z n (2.23)
H ( z)
A( z ) a0 a1 z 1 ... am z m
23
Bibliografie selectivă
1. Arthur B. Williams & Fred J. Taylor, „Electronic Filter Design Handbook”, McGraw-
Hill, 1995
2. John T. Taylor, Qiuting Huang, „CRC Handbook of Electrical Filters”, Editura CRC
Press, 1997
3. Lucian Mheţ-Popa , „Tehnici de prelucrare a semnalelor(notiţe curs)”, Universitatea
Politehnică din Timişoara, 2009
4. R. W. Hamming, „Digital Filters third edition”, Editura Prentice Hall, 1998
24
Cap 3. Proiectarea şi implementarea filtrelor digitale
3.1. Introducere
Un filtru digital este un sistem linear invariant în timp folosit pentru procesarea unei
secvenţe discrete de la intrare într-o secvenţă discretă la ieşirea filtrului. Raportul intrare/ieşire
este definit de relaţia 3.1 numită operaţie de convoluţie:
Y(n)= (3.1)
unde x(n) reprezintă marimea de intrare, y(n) reprezintă marimea de ieşire şi h(m) este răspunsul
filtrului la aplicarea semnalului de tip impuls. Filtrul este adesea descris în funcţie de
caracteristicile frecvenţei date de funcţia de transfer H(ejω). Răspunsul filtrului şi funcţia de
transfer sunt transformate Fouriere descrise de relaţiile următoare:
H(ejω)= -π≤ω≤π
(3.2)
H(z)= (3.4)
25
O proprietate importantă a transformatei z este aceea ca H(z) corespunde lui h(n-1)
Funcţia de transfer a unui filtru digital liniar invariant în timp, este de forma:
B ( z ) b0 b1 z 1 ... bn z n
H (z) (3.5)
A( z ) a0 a1 z 1 ... am z m
În această sectiune atenţia este concentrată asupra filtrelor cu frecvenţă selectivă. Aceste
filtre sunt destinate pentru a trece anumite frecvenţe ale componentei de intrare într-o anumită
bandă de spectru în timp ce restul frecvenţelor sunt blocate. Filtrele tipice din această categorie
sunt următoarele:low-pass, high-pass, bandpass şi band-reject. Există alte filtre speciale cu un
design avansat care nu vor fi abordate aici.
Filtrul trece jos(low-pass) este utilizat pentru a bloca trecerea semnalelor de frecvenţe
înalte în timp ce filtrul trece sus(high-pass) permite trecerea acestor semnale. Filtrul trece
bandă(bandpass) permite trecerea frecvenţelor doar într-un anumit domeniu în timp ce filtrul
opreşte banda(band-reject) permite trecerea frecvenţelor peste sau sub un anumit domeniu.
Un parametru important în proiectarea filtrelor este răspunsul în frecvenţă, în funţie de
acesta putând fi decise ordinul şi fezabilitatea filtrului.
Răspunsul filtrului la aplicarea unui semnal de tip impuls trebuie să se încadreze între
anumite limite sau cerinţe de proiectare. Există o corespondenţă directă între frecvenţa pentru
care a fost proiectat filtrul şi răspunsul la impuls(Transformata Fourier). Aceasta inseamnă că
oricare cerinţă referitoare la răspunsul în frecvenţă este valabilă şi pentru răspunsul de tip impuls.
Un filtru digital trebuie să fie cauzal, stabil şi limitat. Pentru a fi implementat orice filtru
ca funcţie de timp trebuie să fie cauzal: răspunsul filtrului depinde doar de mărimea de intrare
actuală şi anterioara. Un filtru stabil este acela care pentru orice limitare a semnalului de intrare
produce o anumita limitare în răspunsul acestuia. În unele cazuri cerinţele de proiectare impun ca
răspunsul filtrului să se încadreze între anumite limite.
Proiectarea unui filtru digital se realizează conform schemei bloc din Figura 3.1 unde
sunt prezentate etapele proiectării unui filtru, structurile care pot fi alese, parametri aferenţi
fiecărei structuri în parte precum şi metodele de implementare folosind funcţii şi intrfeţe
MATLAB dedicate şi/sau biblioteci Simulink.
26
O atenţie specială este acordată filtrelor cauzale cele pentru care răspunsul este zero
pentru n negativ şi astfel poate fi realizat în timp real. Filtrele digitale sunt înpărţite în continuare
în două categorii în funcţie de răspunsul filtrului dacă acesta conţine un numar finit sau infinit de
numere nenule.
27
Figura 3.1. Schemă bloc a proiectării unui filtru digital
28
3.2. Filtre cu Răspuns Finit la Impuls
Un filtru digital sau numeric este un sistem discret care scalează şi/sau defazează în mod
selectiv componentele spectrale ale semnalului discret de intrare, oferind la ieşire un semnal
discret optim pentru scopul dorit. Scopul filtrării este de a îmbunătăţi calitatea semnalului(de a
reduce sau înlătura zgomotul), de a extrage informaţii sau de a separa două sau mai multe
semnale combinate. Filtrarea numerică este preferată celei analogice datorită unuia sau mai
multor avantaje, dintre care enumerăm:
1. Filtrele numerice pot avea caracteristici imposibil de realizat cu filtrele analogice, (de
exemplu, fază perfect liniară, în cazul filtrelor FIR);
2. Spre deosebire de filtrele analogice, performanţele celor digitale nu variază cu variabilele
mediului, de exemplu, temperatura. Aceasta elimină necesitatea calibrării periodice;
3. Diferite semnale de intrare pot fi filtrate de un singur filtru digital, fără modificarea structurii
hard, prin multiplexare.
4. Atât datele filtrate cât şi cele nefiltrate pot fi stocate pentru o prelucrare ulterioară;
5. Folosind avantajele tehnologiei VLSI, aceste filtre pot fi realizate la dimensiuni mici, putere
mică, preţ scăzut.
29
fp1, fp2 - frecvenţele de margine din banda de trecere;
fs1, fs2 - frecvenţele de margine din banda de oprire.
Deviaţiile din B.T. şi B.O. pot fi exprimate direct în unităţi de măsură corespunzătoare
semnalului(V, A, etc) sau în dB, când sunt definite ca şi în relaţiile 3.6 şi 3.7 .
=-20log10(1-δp)=10log10(1+ ) (3.6)
(3.7)
As=-10log10 s
y[n]= (3.8)
30
(3.9)
H(z)=
(3.10)
sau H(ω)=
unde:
- h[k] sunt coeficienţii răspunsului la impuls al filtrului;
- H(z) funcţia de transfer a filtrului;
- M-1 ordinul filtrului;
- ω pulsaţia normalizată cu frecvenţa de eşantionare Fs=2/2π (T-perioada
de esantionare).
Filtrele FIR sunt specifice domeniului discret şi nu pot fi obţinute prin transformarea
filtrelor analogice.
Răspunsul în frecvenţă, H(ω), poate fi exprimat sub forma:
Dacă h[n](vezi relaţia 3.3) este o funcţie reală, atunci ⎢H(ω) ⎢este o funcţie pară, iar Θ(ω)
impară.
Unul din cele mai simple filtre FIR este cel cu fază liniară. Numai filtrele FIR pot fi
proiectate pentru a avea fază liniară. Se demonstrează că un filtru FIR are fază liniară, dacă şi
numai dacă răspunsului la impuls, h[n], satisface condiţia din relaţia 3.12.
h[n]= ±h[M −1−n], n =0,M −1 (3.12)
Relaţia este cunoscută şi sub numele de condiţia de liniaritate a lui Gibbs.
Filtrele pentru care este îndeplinită condiţia de simetrie(h[n]=h[M−1−n]) sunt utilizate, în
general, pentru filtrare propriu-zisă, pe când cele pentru care este îndeplinită condiţia de
asimetrie(h[n]= −h[M −1−n]) sunt utilizate în aplicaţii cu defazare(integrator, diferenţiator,
transformator Hilbert).
31
Metoda ferestrelor
Etapele de proiectare în cazul metodei ferestrelor sunt următoarele:
(3.13)
hd[n]= dω
Pentru filtrele selective de frecvenţă expresia pentru hd [n] este dată în tabelul 3.1.
În general, răspunsul la impuls hd [n] este de durată infinită şi, pentru a se obţine un filtru
FIR, acesta trebuie trunchiat. Pentru un filtru FIR de lungime M trunchierea se face la n = M – 1,
ceea ce este echivalent cu multiplicarea lui hd [n] cu o „funcţie fereastră” de lungime M, notată
w[n], având transformata Fourier W(ω ).
Se selectează funcţia fereastră prin a cărei folosire se satisfac specificaţiile filtrului, apoi
se determină numărul de coeficienţi ai filtrului folosind relaţiile aproximative specificate în
tabelul 3.2 (relaţiile dintre lăţimea benzii de tranziţie şi lungimea filtrului).
Se obţin valorile lui M[n] pentru funcţia fereastră aleasă şi valorile coeficienţilor
32
(3.14)
h[n] = hd [n] ω M [n]
Efectele trunchierii în timp se manifestă în domeniul frecvenţă prin apariţia unor ripluri
în banda de trecere şi în banda de oprire, precum şi o bandă de tranziţie de lăţime nenulă. În
tabelul 3.2 sunt prezentaţi diverşi parametri ai ferestrelor utilizate în proiectare.
(3.16)
,k=0, -1 pentru M par
α=0, pentru filtre de tipul I sau α=1/2, pentru filtre de tipul II.
33
Se determină coeficienţii răspunsului la impuls h[n] al filtrului FIR pornind de la aceste
specificaţii în frecvenţă, egal decalate. Este de dorit să se optimizeze cerinţele în frecvenţă în
banda de tranziţie a filtrului. Răspunsul în frecvenţă al unui filtru FIR este dat de relaţia 3.17.
H( (3.17)
(3.18)
H(k+ )=H( )
(3.19)
H(k+
Din această relaţie, prin inversare, se obţine răspunsul la impuls h[n], în funcţie de H(k +α)
rezultând suma din relaţia 3.20.
(3.20)
h[n]= unde n=0,M-1
(3.21)
(3.22)
unde
34
Figura 3.2. Raspunsul de faza zero al filtrului dorit si al celui real
Dacă h[n] este real, se observă ca eşantioanele în frecvenţă H(k +α) satisfac proprietatea
de simetrie din relaţia 3.23.
H(k +α)= H (M − k −α ) (3.23)
Această condiţie împreună cu cea pentru h[n] face ca numărul de puncte în care se
precizează H(ω ) să se reducă la (M +1)/2 dacă M este impar şi la M/2 dacă M este par.
Există patru situaţii posibile:
1. h[n] simetric, α=0
2. h[n] simetric,α=1/2
3. h[n] antisimetric, α=0
4. h[n] antisimetric, α=1/2.
Pentru fiecare situaţie se stabileşte relaţia pentru răspunsul la impuls h[n].
Avantajul metodei eşantionării în frecvenţă constă în structura de eşantionare eficientă
atunci când multe din eşantioanele răspunsului de modul în frecvenţă sunt zero. În scopul
minimizării erorii se pot utiliza 1-3 eşantioane suplimentare situate în banda de tranziţie.
Metoda optimală
Criteriul standard pentru proiectarea optimă a filtrelor FIR constă în minimizarea valorii
maxime a funcţiei de eroare:
E( Wd( ) (3.24)
35
peste intreaga gama a termenilor din intervalul – . Funcţia Wd( ) este o funcţie de
ponderare utilizată pentru a evidenţia anumite frecvenţe din banda de frecvenţă. Raportul dintre
abaterea in oricare doua benzi este invers proportional cu raportul dintre ponderile respectivului
termen.
O consecinţă a acestui criteriu de optimizare este aceea că deşi deviaţia maximă a acelei
caracteristici este minimizată acea valoare este totusi atinsă de câteva ori pentru fiecare bandă. În
consecinţă deviaţiile trece banda şi opreste banda (pass-band si stop-band) oşcilează în jurul
valorilor dorite cu frecvenţe egale în fiecare banda. Aceste minimizări se numesc aproximari
Chebyshev.
În contrast, abaterile maxime apar în apropierea marginilor benzii pentru filtrele
concepute prin metoda ferestrelor de timp. Aceste filtre supranumite si “Equiripple FIR Filters”
sunt de obicei proiectate folosind algoritmul Parks-McClellan care are la bază algoritmul Remez
pentru a determina frecvenţele extreme la care are loc deviaţia maximă în funcţia de eroare.
Algoritmul este executat prin folosirea valorilor de la capătul benzii ca marimi de intrare pentru
fiecare bandă, ponderilor şi lungimii FIR.
Deşi ne-am concentrat atentia pe proiectarea filtrelor de frecvenţă selectiva mai există şi
alte tipuri de filtre FIR. Prin folosirea algoritmului Parks-McClellan se pot proiecta filtre liniare
pentru diferenţierea semnalelor de bandă largă şi pentru aproximarea transformatei Hilbert
pentru asemenea semnale. O modificare simplă adusă acestui algoritm permite ca un raspuns de
magnitudine arbitrară să fie aproximat ca un filtru linear.
fir1 implementează metoda clasică a proiectării filtrelor FIR cu fază liniară prin metoda
ferestrelor. Se pot proiecta filtre FTJ, FTS, FTB şi FOB.
b=fir1(n,wn) returnează un vector b ce conţine n+1 coeficienţi ai unui filtru FIR, de tipul FTJ de
ordin n, aproximat prin metoda ferestrei Hamming, cu frecvenţa de tăiere wn. Coeficienţii sunt
36
ordonaţi în ordine descrescătoare a puterilor lui z unde wn este un număr între 0 şi 1, cu 1
corespunzând la Fs/2 . Când wn este un vector cu două elemente wn=[w1 w2], fir1 returnează un
filtru FTB cu banda de trecere cuprinsă între w1 şi w2 .
b=fir1(n,wn,’type’) are aceeaşi semnificaţie ca cea anterioară. În plus specifică tipul filtrului,
unde:
- ‘high’ este pentru un filtru FTS cu frecvenţa de tăiere wn;
- ‘stop’ este pentru un filtru FOB, dacă wn=[w1 w2].
fir1 utilizează întotdeauna un ordin n par pentru filtrele FTS şi FOB, datorită faptului că pentru
ordin impar răspunsul în frecvenţă la frecvenţa Nyquist ( Fs/2 ) este 0.
b=fir1(n,wn,window) utilizează fereastra specificată în vectorul coloană al ferestrei
corespunzătoare.Vectorul coloană trebuie să fie de lungime n+1. Dacă nu este specificată nici o
fereastră, atunci implicit fir1 utilizează fereastra Hamming.
b=fir1(n, wn,’type’,window) acceptă drept parametri atât ‘type’ cât şi ‘window’ .
fir2 reprezintă o combinţie dintre metoda ferestrelor şi cea de eşantionare în frecvenţă, fereastra
aleasă implicit fiind fereastra Hamming.
b=fir2(n,f,m) returnează un vector linie b conţinând n+1 coeficienţi ai unui filtru FIR de ordinul
n. Caracteristica amplitudine-frecvenţă a filtrului este cea dată de vectorii f şi m:
- f este un vector ce conţine eşantioane ale răspunsului în frecvenţă din domeniul 0 la 1, unde 1
corespunde la Fs/2. Primul punct a lui f trebuie să fie 0 şi ultimul 1. Punctele trebuie să fie în
ordine crescătoare;
- m este un vector ce conţine amplitudinile dorite la frecvenţele specificate în f;
- f şi m trebuie să aibă aceeaşi lungime.
Coeficienţii din b sunt ordonaţi în ordine descrescătoare a puterilor lui z.
b=fir2(n,f,m,window) utilizează fereastra specificată în vectorul coloană al ferestrei
corespunzătoare. Vectorul coloană trebuie să fie de lungime n+1. Dacă nu este specificată nici o
fereastră, atunci implicit fir2 utilizează fereastra Hamming.
b=fir2(n,f,m,npt,window) sau b=fir2(n,f,m,npt) specifică numărul de puncte, npt, ale gridului
în care fir2 interpolează răspunsul în frecvenţă, cu sau fără specificaţia de fereastră.
Funcţia filter filtrează secvenţele cu un filtru FIR sau un filtru IIR.
37
y=filter(b,a,x) filtrează datele din vectorul x cu filtrul descris prin coeficienţii din vectorii b şi a
şi obţine datele filtrate în vectorul y pe când filter poate avea date de intrare atât reale cât şi
complexe.
fircls1 are la bază proiectarea filtrelor FIR cu fază liniară tip FTJ şi FTS, având la bază metoda
celor mai mici pătrate.
b=fircls1(n,wo,dp,ds) generează un filtru Trece Jos, FIR cu fază liniară, de lungime n+1, cu
frecvenţa de tăiere normalizată wo în domeniul 0,1 (1 corespunzând la Fs/2 ), cu dp deviaţia
maximă faţă de 1 din banda de trecere şi cu ds deviaţia maximă faţă de 0 din banda de oprire.
b=fircls1(n,wo,dp,ds,’high’) generează un filtru trece sus (ordinul n trebuie să fie par).
b=fircls1(n,wo,dp,ds,’design flag’) permite să se monitorizeze proiectarea filtrului, unde design
filter poate fi:
- ‘trace’ pentru o afişare a unui tabel utilizat în proiectare;
- ‘plots’ pentru trasarea grafică amplitudinii, întârzierii de grup a zerourilor şi polilor;
- ‘both’ pentru afişarea atât tip text cât şi grafică.
Functia firls are la bază proiectarea filtrelor FIR cu fază liniară prin metoda celor mai mici
pătrate.
b=firls(n,f,a) returnează un vector b conţinând n+1 coeficienţi ai unui filtru FIR de ordinul n, a
cărui caracteristică de amplitudine aproximează pe cea dată de vectorii f şi a după cum urmează:
- f este un vector de frecvenţe de la 0 pînă la 1, unde 1 corespunde la Fs/2.Punctele trebuie să fie
în ordine crescătoare;
- a este un vector ce conţine amplitudinile dorite la frecvenţele specificate în f. Amplitudinea
dorită corespunzătoare frecvenţelor cuprinse între perechile de puncte (f(k),f(k+1)), cu k impar
este un segment de dreaptă ce leagă punctele (f(k),a(k)) şi (f(k+1),a(k+1)). Amplitudinea dorită
corespunzătoare frecvenţelor cuprinse între perechile de puncte (f(k),f(k+1)), cu k par este
nespecificată. Spaţiile între astfel de puncte sunt regiuni ce nu interesează;
- f şi a trebuie să aibă aceeaşi lungime. Lungimea trebuie să fie un număr par.
b=firls(n,f,a,’ftype’) specifică tipul filtrului în ’ftype’ după cum urmează:
38
- ‘hilbert’ pentru filtre FIR cu fază liniară şi simetrie impară. Această clasă include
transformatorul Hilbert, ce are amplitudinea egală cu 1 în întreaga bandă;
- ‘differentiator’ pentru filtru cu fază liniară şi simetrie impară, utilizând o tehnică specială de
ponderare după cum urmează: pentru o bandă cu amplitudine nenulă, eroarea medie pătratică
este ponderată cu un factor egal cu (1/f) 2, ceea ce face ca eroarea la frecvenţe mici să fie mult
mai mică decât la frecvenţe ridicate. Pentru filtrele FIR de tip diferenţiator, pentru care
amplitudinea este proporţională cu frecvenţa, aceste filtre minimizează eroarea medie pătratică
relativă (integrala pătratului raportului erorii şi al amplitudinii dorite).
Parametrul remezord estimează ordinul unui filtru FIR prin metoda optimală, utilizând
algoritmul Parks-McClellan.
[n,fo,ao,w]=remezord(f,a,dev,fs); determină ordinul, capetele normalizate ale benzilor,
amplitudinile corespunzătoare şi ponderile care satisfac specificaţiile de intrare cuprinse în f, a şi
dev ce vor fi utilizate cu comanda remez după cum urmează:
- f este un vector ce reprezintă capetele benzilor (între 0 şi F2/2);
- a este un vector ce specifică amplitudinile dorite în benzile specificate de f.
Lungimea lui f este de două ori lungimea lui a minus 2.
- dev este un vector de aceeaşi lungime ca a şi specifică deviaţia maximă permisă a riplului între
răspunsul real în frecvenţă şi cel dorit, pentru fiecare bandă;
- fs este frecvenţa de eşantionare.
Functia remez proiectează un filtru FIR cu fază liniară utilizând metoda Parks-McClellan,
ce are la bază algoritmul Remez. Filtrul proiectat este optimal în sensul că eroarea minimizată.
Uneori filtrele proiectate în acest mod se numesc filtre de tip echiriplu.
b=remez(n,fo,ao) returnează un vector linie b ce conţine cei n+1 coeficienţi ai unui filtru FIR de
ordin n a cărui caracteristică amplitudine-frecvenţă este conţinută în vectorii f şi a:
- fo este un vector de perechi ale eşantioanelor în frecvenţă din domeniul 0 la 1, unde 1
corespunde la Fs/2. Punctele trebuie să fie în ordine crescătoare;
- ao este un vector ce conţine amplitudinile dorite la frecvenţele specificate în f.
Amplitudinea dorită corespunzătoare frecvenţelor cuprinse între perechile de puncte
(f(k),f(k+1)), cu k impar este un segment de dreaptă ce leagă punctele (f(k,a(k)) şi
(f(k+1),a(k+1)). Amplitudinea dorită corespunzătoare frecvenţelor cuprinse între perechile de
39
puncte (f(k),f(k+1)), cu k par este nespecificată. Spaţiile între astfel de puncte sunt regiuni ce nu
interesează.
- fo şi ao trebuie să aibă aceeaşi lungime. Lungimea trebuie să fie un număr par.
b=remez(n,fo,ao,w) utilizează vectorul w pentru a pondera forma în fiecare bandă. Lungimea lui
w este jumătate din cea a lui fo şi ao.
Se utilizează b=remez(n,fo,ao,wo) cu ordinul n, vectorul frecvenţă fo , răspunsul în
amplitudine ao şi ponderile rezultate prin rularea comenzii:
[n,fo,ao,w]=remezord (f,a,dev,fs).
b=remez(n,fo,ao,’type’) specifică tipul filtrului:
- ‘hilbert’ pentru filtru cu fază liniară şi simetrie impară. Această clasă include transformatorul
Hilbert, ce are amplitudinea egală cu 1 în întreaga bandă;
- ‘differentiator’ pentru filtru cu fază liniară şi simetrie impară, utilizând o tehnică
specială de ponderare. Pentru o bandă cu amplitudine nenulă, eroarea este ponderată cu un factor
egal cu 1/f ceea ce face ca eroarea la frecvenţe mici să fie mult mai mică decât la frecvenţe
ridicate.
Pentru filtrele FIR de tip diferenţiator, pentru care amplitudinea este proporţională cu
frecvenţa, aceste filtre minimizează eroarea maximă relativă (maximul raportului dintre eroare şi
amplitudinea corespunzătoare).
40
[h,omega]=freqz(b,1,512);
mag=20*log10(abs(h));
plot(omega/pi,mag); axis([0 1 -80 5]);grid
xlabel('\omega/\pi');ylabel('Cistig, dB');
title('Proiectarea unui filtru TJ, FIR, cu fereastra Kaiser');
În Figura 3.3 este descris răspunsul filtrului trece jos modelat de programul B1. Acest
filtru este implementat cu ajutorul functţiei ferestră de timp Kaiser a cărei parametrii sunt
prezentaţi în tabelul 2 din subcapitolul 3.2.2. Acest filtru poate fi folosit în aplicaţii de filtrare a
semnalelor audio şi în aplicaţii de înlăturare a zgomotului de joasă frecvenţă provenit de la surse
aleatoare de zgomot.
Figura 3.3. Răspunsul filtru FIR de tip low-pass folosind fereastra de timp Kaiser
Aplicaţia 2. Să se proiecteze un filtru FIR, având ordinul 100, prin metoda eşantionării în
frecvenţă cu ajutorul comenzii fir2. Caracteristica amplitudine-frecvenţă a filtrului este cea dată
de vectorii fpts şi mval.
%Program B2
%Proiectarea unui filtru FIR prin metoda esantionarii in frecventa
41
clf;
fpts=[0 0.28 0.3 0.5 0.52 1];
mval=[0.3 0.3 1.0 1.0 0.7 0.7];
b=fir2(100,fpts,mval);
[h,omega]=freqz(b,1,512);
plot(omega/pi,abs(h)); grid;
axis([0 1 0 1.2]);
xlabel('\omega/\pi');ylabel('Amplitudine');
title('Proiectarea filtrului FIR prin metoda esantionarii in frec');
Aplicaţia 3. Să se proiecteze un filtru TB, FIR, prin metoda ferestrelor, utilizând fereastra
Hamming, având ordinul 64, cu banda de trecere 0.3<w<0.6. Să se reprezinte răspunsul filtrului
în frecvenţă al filtrului şi răspunsul la impuls în 100 de puncte.
%Program B3
%priectarea unui filtru TB, FIR, prin metoda ferestrelor
clf;
b=fir1(64,[0.3 0.6]);
42
figure(1);
freqz(b,1);
imp=[1 zeros(1,99)];
h=filter(b,1,imp);
figure(2);
stem(h);
title('Raspunsul la impuls');xlabel('n');ylabel('Amplitudine');
Se obţine următorul răspuns în frecvenţă:
43
Fig 3.6. Raspuns la impuls
Aplicaţia 4. Să se determine ordinul unui filtru Trece Jos FIR cu fază liniară utilizând comanda
remezord, iar apoi să se proiecteze prin metoda optimală, utilizând metoda Parks-McClellan şi să
se reprezinte modulul răspunsului în frecvenţă al acestui filtru. Se ştie că frecvenţa de
eşantionare este 8000 Hz, banda de trecere este până la 1500 Hz iar cea de oprire începe la 2000
Hz. Deviaţia maximă în banda de trecere este 0.01 iar în banda de oprire 0.001.
% Program B4
% Estimarea ordinului folosind remezord
f=[1500 2000];
a=[1 0];
dev=[0.01 0.001];
fs=8000;
[n,fo,ao,w] = remezord(f,a,dev,fs);
fprintf('Ordinul filtrului este: %d \n',n);
% Proiectarea unui filtru FIR echiriplu cu functia remez
clf;
format long
b = remez(n,fo,ao,w);
%disp('Coeficientii filtrului FIR'); disp(b)
[H,w] = freqz(b,1,256);
mag = 20*log10(abs(H));
44
plot(w/pi,mag);axis([0 1 -80 5]); grid
xlabel('\omega/\pi'); ylabel('Cistig, dB');
title('Filtru FIR echiriplu cu faza liniara')
3.3.1. Introducere
Filtrele cu răspuns infinit la impuls (RII sau IIR infinite impulse response în engleză) se
dovedesc în anumite aplicaţii mai avantajoase decât filtrele FIR datorită faptului că pot realiza
caracteristici de selectivitate excelente cu un ordin mult mai mic al funcţiei de transfer.
Spre deosebire de filtrele FIR, filtrele RII nu pot avea caracteristica de fază liniară.
Imposibilitatea realizării unei faze liniare are implicaţii în ceea ce priveşte proiectarea filtrelor
RII, în sensul că aceasta presupune fie aproximarea simultană atât a specificaţiilor pentru
caracteristica de amplitudine cât şi a celor referitoare la fază, fie corecţia ulterioară a
distorsiunilor de fază în ipoteza că proiectarea s-a bazat numai pe aproximarea caracteristicii de
amplitudine. Există un singur tip de filtru RII la care una din cele două caracteristici este
constantă (filtrului trece tot - FTT).
Filtrul RII este descris în domeniul timp prin ecuaţia cu diferenţe finite din relaţia 3.25.
y[n]= (3.25)
(3.26)
H(z)=
45
Proiectarea unui filtru digital RII constă în determinarea coeficienţilor ai şi bi din expresia
anterioara astfel încât răspunsul la impuls al acestuia, h[n], sau răspunsul în frecvenţă, H(ejω ) , să
aproximeze într-un anumit mod specificaţiile în timp discret sau în frecvenţe impuse la
proiectare. Domeniul în care este rezolvată problema aproximării(timp sau frecvenţă) este
determinat de aplicaţia specifică. Metodele de proiectare a filtrelor RII pot fi clasificate în două
categorii:
1. Metode indirecte bazate pe proiectarea în prealabil a unui filtru analogic şi apoi transformarea
acestuia într-un filtru digital;
2. Metode directe urmărind realizarea filtrelor digitale fără referire la un model analogic. Aceste
metode se bazează pe utilizarea criteriilor de aproximare în domeniile timp sau frecvenţă.
3.3.2. Proiectarea indirectă a filtrelor de tip IIR
Procedura cea mai frecvent utilizată de proiectare a unui filtru digital RII constă în
transformarea unui filtru analogic într-unul digital, echivalent ca performanţe. Această abordare
prezintă două avantaje:
a) exploatează cunoştinţele şi metodele de proiectare a filtrelor analogice;
b) există transformări care conservă proprietăţile de selectivitate ale modelului
analogic.
Pornind de la specificaţiile referitoare la performanţele filtrului digital, proiectarea
acestuia necesită parcurgerea următoarelor etape:
După obţinerea funcţiei de transfer Ha(s) a prototipului analogic trebuie găsită funcţia de
transfer H(z) a filtrului digital, operaţie denumită frecvent discretizarea filtrului analogic.
Aceasta necesită în domeniul timp trecerea de la variabila continuă t la cea discretă n, ceea ce
46
implică pentru caracterizarea în frecvenţă o transformare de la planul s la planul Z. Orice astfel
de transformare trebuie să satisfacă două cerinţe fundamentale:
I. Să transforme un filtru analogic stabil într-unul digital de asemenea stabil;
II. Să conserve caracteristicile de selectivitate (de modul şi eventual fază) ale filtrului analogic.
Îndeplinirea primei cerinţe necesită transformarea semiplanului stâng al planului s în
interiorul cercului de rază unitate din planul Z, în timp ce îndeplinirea celei de-a doua cerinţe
pretinde conversia liniară a axei {jΩ} a planului s în conturul cercului de rază unitate ( z = e jω ) al
planului Z.
Procedurile utilizate pentru discretizarea funcţiei de transfer Ha(s) satisfac cele două
cerinţe într-un mod mai mult sau mai puţin satisfăcător. Sunt cunoscute în literatura de
specialitate 4 asemenea proceduri şi anume:
1. Metoda transformării ecuaţiei diferenţiale ce leagă semnalele de intrare şi ieşire ale
prototipului analogic în ecuaţia cu diferenţe finite necesară pentru caracterizarea în domeniul
timp a filtrului digital;
2. Metoda invarianţei răspunsului la impuls;
3. Metoda transformării biliniare;
4. Metoda transformării în z adaptate.
În continuare vor fi prezentate procedurile 2 şi 3 care satisfac integral cerinţa I şi foarte
bine(în anumite condiţii) cerinţa II. În schimb rezultatele obţinute cu metodele 1 şi 4 sunt
nesatisfăcătoare în ceea ce priveşte conservarea proprietăţilor de selectivitate pe un domeniu larg
de frecvenţă.
H(z)= =T (3.31)
(3.33)
ω=ΩT<=>Ω=
(3.34)
Ha(jω)=0 la
48
transformarea filtrului digital trece jos într-unul trece sus sau opreşte bandă, folosind
transformări de frecvenţă adecvate.
În realitate funcţiile de transfer ale filtrelor analogice nu satisfac decât cu aproximaţie
condiţia 3.34, ele existând pe toată axa frecvenţelor, fapt care conduce la efecte de aliere
spectrală. Uneori se utilizează un filtru analogic trece jos cu pantă abruptă a caracteristicii de
atenuare(denumit filtru de gardă), conectat în cascadă cu filtrul analogic prototip pentru a realiza
condiţia de răspuns în frecvenţă de bandă limitată al filtrului rezultant.
(3.35)
s= =>
(3.36)
H(z)=Ha(s) cu s =
Există totuşi un neajuns al acestei metode constând în transformarea neliniară a axei {jΩ}
jω
a planului s în cercul de rază unitate z = e al planului Z. Pentru a evalua natura şi mărimea
neliniarităţii se consideră s = jΩ în relaţia 3.35, fapt ce implică z = 1, adică z = e jω rezultând:
49
(3.37)
(3.38)
Ha(s)= pt. N
Răspunsul în frecvenţă (la frecvenţe fizice) este funcţia de sistem evaluată pe axa
imaginară a planului s. Proiectarea unui filtru analogic constă în determinarea coeficienţilor ci ,di
2
, care conduc la optimizarea pătratului modulului funcţiei de transfer , în conformitate
2
realizată (funcţia aproximantă). Se lucrează cu (şi nu cu ) pentru că este o
2
funcţie raţională. După determinarea lui se exprimă:
(3.39)
Ha(s) Ha(-s)= =
50
şi apoi se separă Ha(s) astfel:
- polii lui Ha (s) sunt zerourile lui G(−s2 ) localizate în semiplanul stâng (determinare unică
bazată pe stabilitatea filtrului);
- zerourile lui Ha (s) se obţin din zerourile lui E(−s2 ) prin distribuirea acestora din urmă în mod
egal între C(s) şi C(−s), fără a separa perechile de zerouri complex conjugate, aceasta spre a
obţine Ha (s) cu coeficienţi reali.
Determinarea lui C(s) nu este unică. Spre deosebire de poli, zerourile pot fi localizate şi
pe axa jΩ dar numai cu ordin de multiplicitate par în Ha (s)Ha (−s) .
Se vor prezenta în continuare pe scurt funcţiile de transfer şi caracteristicile filtrele
analogice de tip Butterworth, Cebyshev I, Cebyshev II şi eliptice (Cauer), ce vor fi folosite apoi
în proiectarea indirectă a filtrelor digitale.
- Filtre analogice de tip Butterworth
Răspunsul în frecvenţă al unui filtru analogic trece jos de tip Butterworth de ordinul N şi
frecvenţă de tăiere Ωt este dat de expresia:
(3.40)
2
=
2
Creşterea lui N conduce însă la îngustarea zonei de tranziţie. Caracteristica realizează
o aproximare de tip maxim plat şi la Ω → ∞ , pentru aceasta frecvenţă toate derivatele fiind nule.
- Filtre analogice de tip Cebyshev I
Filtrele Cebyshev de tipul I sunt filtre polinomiale(de tipul numai cu poli), având o
caracteristică de modul cu ripluri egale în banda de trecere şi monoton descrescătoare în banda
de oprire. Dintre toate filtrele polinomiale de ordinul N, filtrele Cebyshev de tipul I au zona de
tranziţie cea mai îngustă.
Pentru un filtru analogic trece jos de tip Cebyshev I de ordinul N şi cu frecvenţa limită
superioară a benzii de trecere Ωe , pătratul modulului funcţiei de transfer este dat de relaţia:
(3.41)
2
=
51
în care CN (x) este polinomul Cebyshev de ordinul N :
(3.42)
anulează pentru Ω → . Panta de cădere a caracteristicii este cu atât mai mare cu cât ordinul
filtrului este mai mare, iar pentru două filtre de acelaşi ordin panta este mai abruptă pentru cel cu
ripluri mai mari în banda de trecere. Performanţele filtrului sunt complet precizate de parametrul
ε ce fixează mărimea riplului în banda de trecere şi de ordinul N ce determină abruptitudinea
caracteristicii de modul (sau atenuare).
- Filtre analogice de tip Cebyshev II
Filtrele Cebyshev de tipul II realizează o aproximare în sens Cebyshev a modulului
funcţiei de transfer în zona de oprire, modulul descrescând monoton în zona de trecere. Se mai
numesc şi filtre invers Cebyshev deoarece, spre deosebire de filtrele Cebyshev de tipul I,
inversează modul de aproximare a caracteristicii de modul(cu ripluri egale, respectiv maxim plat)
în cele două benzi.
Pentru un filtru analogic trece jos de tip Cebyshev II de ordinul N şi cu frecvenţa limită
inferioară a benzii de oprire Ωb , pătratul modulului funcţiei de transfer este dat de relaţia:
(3.43)
2
=1- =
52
Pentru un filtru analogic trece jos de tip eliptic, de ordinul N, pătratul modulului funcţiei de
transfer este dat de relaţia:
(3.44)
2
=
unde funcţia raţională Cebyshev FN(Ω), introdusă pentru prima dată de Cauer în teoria circuitelor
liniare, se exprimă astfel:
(3.45)
După cum se vede din această relaţie, funcţia FN (Ω) are polii în număr egal cu zerourile
şi plasaţi simetric faţă de acestea în raport cu frecvenţa Ω 0 , definită ca medie geometrică a
Filtrele eliptice sunt considerate optimale, în sensul că, pentru un acelaşi ordin N şi
aceleaşi frecvenţe limite Ωe şi Ωb , realizează cele mai mici ripluri în benzile de trecere şi de
oprire comparativ cu toate celelalte tipuri de filtre.
53
Figura 3.9. Răspunsul în frecvenţă exemplificare pentru FTJ
Se consideră că:
- zona de trecere efectivă variază între valoarea maximă 1 şi valoarea minimă 1− Δt;
- zona de blocare variază între 0 şi Δb ;
- Ωe ,Ωb ,Ωt reprezintă în ordine frecvenţa de trecere efectivă, frecvenţa de oprire efectivă şi
frecvenţa de tăiere teoretică, exprimate în radiani/secundă.
Uzual la proiectare aceste performanţe sunt date în dB, sub forma atenuării maxime în
bandă de trecere efectivă, aM şi a atenuării minime în zona de oprire efectivă, am descrise de
relaţia 3.46.
aM=-20lg(1-Δt)
(3.46)
am=-20lg(Δb)
Funcţiile MATLAB buttord, cheb1ord, cheb2ord şi ellipord permit determinarea
ordinului minim şi a frecvenţei de tăiere pentru tipurile de filtre analogice prezentate anterior (în
ordine: Butterworth, Cebyshev I, Cebyshev II şi eliptice), pornind de la specificaţiile de gabarit
ale filtrului.
Sintaxa generală:
[n,Wn]=nume_functie(Wp,Ws,Rp,Rs,’s’)
- nume_functie poate fi oricare dintre funcţiile buttord, cheb1ord, cheb2ord şi ellipord;
- Rp reprezintă dimensiunea riplului (exprimată în dB) din banda de trecere (atenuarea maximă
din banda de trecere) iar Rs reprezintă dimensiunea riplului (exprimată în dB) din banda de
oprire (atenuarea minimă din banda de oprire);
54
- Wp şi Ws sunt frecvenţele limită ale benzilor de trecere şi de oprire; ele vor fi exprimate în
radiani/secundă şi vor fi mai mari ca 1. În cazul filtrelor trece bandă şi opreşte bandă W p şi Ws
vor fi vectori cu două elemente;
-parametrul ’s’ indică faptul că este vorba de un filtru analogic şi se vor returna:
1) ordinul minim al unui filtru analogic de tipul corespunzător dat de nume_functie, ce satisface
condiţiile de gabarit impuse prin Wp, Ws, Rp, Rs;
2) frecvenţa de tăiere Wn (frecvenţa la 3 dB) a aceluiaşi filtru; în cazul filtrelor trece bandă şi
opreşte bandă Wn va fi un vector cu două elemente deoarece aceste filtre prezintă două zone de
tăiere.
Ordinul filtrului analogic n şi frecvenţa sa de tăiere Wn, ce constituie argumentele de
ieşire ale funcţiilor prezentate anterior, vor servi ca parametrii de intrare pentru o nouă categorie
de funcţii MATLAB – butter, cheby1, cheby2 şi ellip – care au drept rezultat chiar coeficienţii
funcţiei de transfer a filtrului analogic respectiv.
În MATLAB, funcţia de transfer a unui filtru analogic cu răspuns infinit la impuls de ordinul n
este privită sub forma:
(3.47)
H(s)= =
55
- Wn este un vector cu două elemente, Wn=[w1,w2] cu w1<w2 . Se va proiecta un filtru
analogic opreşte bandă de ordinul 2n, cu banda de oprire cuprinsă între w1 şi w2.
cheby1 - Filtre analogice de tip Cebyshev I
Sintaxe:
[b,a] = cheby1(n,Rp,Wn,’s’)
[b,a] = cheby1(n,Rp,Wn,’high’,’s’)
[b,a] = cheby1(n,Rp,Wn,’stop’,’s’)
- rămân valabile aceleaşi considerente pentru parametrii de intrare şi de ieşire ca în sintaxele de
la funcţia butter. În plus apare parametrul de intrare Rp care reprezintă dimensiunea riplului
(exprimată în dB) din banda de trecere (atenuarea maximă din banda de trecere).
cheby2 - Filtre analogice de tip Cebyshev II
Sintaxe:
[b,a] = cheby2(n,Rs,Wn,’s’)
[b,a] = cheby2(n,Rs,Wn,’high’,’s’)
[b,a] = cheby2(n,Rs,Wn,’stop’,’s’)
- rămân valabile aceleaşi considerente pentru parametrii de intrare şi de ieşire ca în sintaxele de
la funcţia butter. În plus apare parametrul de intrare Rs care reprezintă dimensiunea riplului
(exprimată în dB) din banda de oprire(atenuarea minimă din banda de oprire).
ellip - Filtre analogice de tip eliptic (filtre Cauer)
Sintaxe:
[b,a] = ellip(n,Rp,Rs,Wn,’s’)
[b,a] = ellip(n,Rp,Rs,Wn,’high’,’s’)
[b,a] = ellip(n,Rp,Rs,Wn,’stop’,’s’)
- rămân valabile aceleaşi considerente pentru parametrii de intrare şi de ieşire ca în sintaxele de
la funcţia butter. În plus apar parametrii de intrare Rp şi Rs cu semnificaţiile de la funcţiile
cheby1 şi cheby2.
Odată cu aflarea coeficienţilor funcţiei de transfer a filtrului analogic putem considera
încheiate etapele 1 şi 2 din cadrul proiectării indirecte a filtrelor digitale RII. Cea de a treia etapă
constă în transformarea funcţiei de transfer a filtrului analogic în funcţia de transfer echivalentă
56
ca performanţe a filtrului digital. Această ultimă etapă se efectuează conform metodei de
proiectare indirectă aleasă(poate fi oricare din cele 4 proceduri menţionate).
În cadrul secţiunilor anterioare au fost discutate pe larg două din cele 4 metode: metoda
invarianţei răspunsului la impuls şi metoda transformării biliniare. Corespunzător acestor două
metode, în MATLAB există funcţiile impinvar şi bilinear ce vor fi prezentate în paragraful
următor.
(3.48)
H(s)=
(3.49)
57
- Fs reprezintă frecvenţa de eşantionare exprimată în Hz. Dacă nu este precizată se alege în mod
implicit Fs = 1Hz.
- ordinul numărătorului nu poate fi mai mare decât ordinul numitorului pentru funcţia de
transfer a filtrului analogic ( m ≤ n );
- vor rezulta vectorii linie bd şi ad ce vor conţine valorile coeficienţilor numărătorului şi
respectiv numitorului funcţiei de transfer a filtrului digital:
bd=[bd(1),bd(2),…bd(m +1)], ad=[ad(1),ad(2),…ad(n +1)]
Funcţia MATLAB impinvar face transformarea din domeniul analogic în domeniul
discret considerând h[n] = ha (nT ) ceea ce diferă de relaţia teoretică. Este deci necesară o
înmulţire cu T = 1/Fs a vectorului bd obţinut.
58
- vor rezulta vectorii coloană zd şi pd ce conţin valorile zerourilor şi polilor funcţiei de transfer a
filtrului digital şi valoarea kd ce reprezintă câştigul (zd= [zd (1), zd(2),…zd(m)], pd = [pd(1),
pd(2),… pd(n)].
Aplicaţia 1. Să se proiecteze prin metoda invarianţei răspunsului la impuls un filtru digital trece
jos de tip Butterworth, ştiind că:
- la frecvenţa Fe =2kHz atenuarea este mai mică de 1 dB, adică aM =1dB;
- la frecvenţa Fb = 3kHz atenuarea este mai mare de 20 dB, adică am = 20dB;
- frecvenţa de eşantionare este Fs = 20kHz.
Se determină în primul rând frecvenţele limită normate ale benzilor de trecere şi oprire:
(3.50)
Ţinând cont de legătură dintre cele două axe de frecvenţă se calculează pentru filtrul analogic:
(3.51)
Fs=20000;
we=2*pi*2/20;
wb=2*pi*3/20;
Oe=we*Fs;
Ob=wb*Fs;
Avem acum toţi parametrii de intrare ai funcţiei buttord utilizată pentru determinarea
ordinului filtrului analogic şi a frecvenţei sale de tăiere.
59
[n,Wt]=buttord(Oe,Ob,1,20,’s’), (n=8;Wt=1.4144e+004)
Ordinul filtrului analogic este n = 8 iar frecvenţa sa de tăiere este egală cu 14144
radiani/secundă (se observă că această valoare aparţine într-adevăr intervalului [Ωe ,Ωb ]).
Valorile n şi Wt obţinute reprezintă parametrii de intrare pentru funcţia butter ce va avea ca
rezultat coeficienţii funcţiei de transfer a filtrului analogic:
[bs,as]=butter(n,Wt,’s’)
Caracteristicile amplitudine-frecvenţă şi fază-frecvenţă ale filtrului analogic se pot
vizualiza folosind funcţia freqs(Figura 3.10).
figure(1), freqs(bs,as)
60
Figura 3.11. Caracteristicile amplitudine-frecventa si fază-frecventa
Funcţia pondere a filtrului se poate vizualiza folosind comanda impz(Figura 3.12):
figure(3),impz(bd,ad),grid
61
Figura 3.14. Valorile polilor functiei de transfer
(3.52)
(3.53)
Fs=20000;
we=2*pi*2/20;
wb=2*pi*3/20;
Oe=2*Fs*tan(we/2);
Ob=2*Fs*tan(wb/2);
Se vor urma aceiaşi paşi ca şi în cazul metodei invarianţei răspunsului la impuls,
prezentată în problema precedentă:
[n,Wt]=buttord(Oe,Ob,1,20,’s’)
[bs,as]=butter(n,Wt,’s’)
62
[bd,ad]=bilinear(bs,as,Fs)
Se va observa că ordinul filtrului va fi n = 7, deci mai mic cu o unitate decât la metoda
invarianţei răspunsului la impuls.
Bibliografie selectivă
63
1. Allan R. Hanbley, „Electrical engineering principles and applications”, Editura Prentice
Hall, 2004
2. John T. Taylor,Qiuting Huang, „CRC Handbook of Electrical Filters”, Editura CRC
Press, 1997
3. Lucian Mheţ-Popa, „Tehnici de prelucrare a semnalelor(notiţe curs)”, Universitatea
Politehnică din Timişoara, 2009
4. Muhamad H. Rashid, „Power electrinics handbook”, Editura Academic Press, 2001
5. Richard C. Dorf, „The electrical engineering handbook second edition”, Editura CRC
Press, 2000
6. Richard C. Dorf, „The electrical engineering handbook third edition, Circuits, Signals,
Speech and Image proccesing”, Editura CRC Press, 2006
7. R. W. Hamming, „Digital Filters third edition”, Editura Prentice Hall, 1998
64
Cap. 4. Modelarea filtrelor cu ajutorul Simulink
– Digital Filter Design accesează interfaţa grafică FDAtool realizând filtre optimizate
pentru simulări şi generarea codului sursă C, care folosesc blocurile din biblioteca Signal
procesing Blockset ;
– Filter Realization Wizard accesează aceaşi interfaţă grafică dar implementarea în cazul
acesta se poate realiza în două feluri, fie prin intermediul blocurilor logice din biblioteca
de bază a Simulink, fie prin blocurile din biblioteca Signal procesing Blockset.
– Ambele blocuri suportă o multitudine de structuri de filtre, dar Filter Realization Wizard
poate construi mai multe structuri de filtre deoarece foloseşte blocurile din biblioteca de
bază.
65
Figura 4.1. Modelarea şi raspunsul unui FTJ cu ajutorul Filter Design Block
În concluzie blocul Digital Filter Design se foloseşte în special în cazul în care se doreşte
exportarea codului optimizat în C iar Filter Realization Wizard se foloseşte în special pentru
vizualizarea structurilor filtrelor proiectate şi simularea comportării acestora pe DSP.
În continuare vom modela un filtru FTS folosind Digital Filter Design Block. Modelarea
unui filtru prin intermediul Digital Filter Design implică indicarea următorilor parametrii:
66
egale cu 50% din frecvenţa Nyquist şi opreşte frecvenţele mai mici sau egale cu 20% din
frecvenţa lui Nyquist fapt descris de parametrii wpass şi wstop.
Figura 4.2. Modelarea şi raspunsul unui FTS cu ajutorul Filter Design Block
67
Figura 4.3. Modelul Simulik folosit la înlăturarea zgomotului dintr-un semnal
Filtrul trece sus se foloseşte pentru înlăturarea frecvenţelor joase din semnalul provenit de
la sursa aleatoare, în continuare semnalul este suprapus peste acela provenit de la blocul Sine
Wave iar apoi este filtrat de filtrul trece jos.
68
4.2. Modelarea filtrelor de reţea
Diferite configuraţii de circuite RLC serie sau paralel pot fi folosite ca filtre de reţea
pentru eliminarea poluării armonice, generate de elemente neliniare cum ar fi convertoarele
statice, pentru reducerea numărului total al distorsiunilor armonice sau pentru înbunătăţirea şi
compensarea factorului de putere.Prin utilizarea filtrelor pasive compuse din rezistoare, bobine şi
condensatoare, armonicile pot fi reduse la un nivel acceptabil.
Valorile elementelor R, L, C sunt determinate de tipul filtrului, puterea reactivă la
tensiune nominală, factorul de calitate şi de frecvenţa de acordare a filtrului.
De asemenea , filtrele pentru reducerea/eliminarea armonicilor pot fi proiectate pentru a avea
caracter capacitiv la frecvenţa fundamentalei, astfel încât să poată fi utilizate şi pentru
producerea puterii reactive necesară convertoarelor statice sau maşinilor electrice.
– Filtrul trece bandă utilizat pentru filtrarea armonicilor de ordin inferior.Acest tip
de filtru poate fi acordat pentru o singură frecvenţă sau pentru maxim două.
– Filtrul trece sus este utilizat pentru a filtra armonicile de ordin superior şi pentru a
acoperi un domeniu larg al frecvenţei. De exemplu filtrul de tip C este utilizat
pentru a furniza putere reactivă şi pentru a evita fenomenul de rezonanţă.
(4.1)
69
Factorul Q se referă la valoarea reacţiei inductive sau capacitive corespunzătoare
frecvenţei de acordare şi determină lăţimea de bandă (relaţia 4.2) a marginii frecvenţei de
acordare (fn), unde n reprezentând ordinul armonicii, iar f1 este frecvenţa fundamentalei.
(4.2)
(4.3)
(4.4)
70
În cazul acestui filtru inductanţa L este înlocuită cu un circuit serie LC acordat pentru
frecvenţa fundamentalei.La această frecvenţă rezistenţa este şuntată de circuitul rezonant fapt
care duce la pierderi zero.
În continuare se prezintă câteva exemple de implementare a filtrelor de reţea, atât prin
utilizarea componentelor din biblioteca SimPowerSystems cât şi prin utilizarea blocurilor din
biblioteca Simulink standard.
Ştiind că filtrul este conectat la o reţea de medie tensiune de 315 kV şi f=60 Hz şi consumatorul
inductiv (QL=49 MVar) absoarbe puterea activă P=340 Kw, în cazul filtrului single-tuned P=50
W şi în cazul double-tuned, P=0 pentru filtrul de tip C, să se reprezinte grafic curentul prin
circuit şi răspunsul în frecvenţă în cele trei situaţii:
Impedanţa circuitului pentru filtrul RLC utilizând operatorul Laplace este descrisă de relaţia 4.5.
(4.5)
71
Figura 4.5 descrie modelarea circuitului electric cu implementarea unui filtru de reţea,
RLC serie folosit pentru filtrarea armonicii de ordinul 5. Din Figura 4.6 rezultă răspunsul în
frecvenţă a filtrului utilizând interfaţa grafică powergui şi blocul Impedance measurement din
biblioteca SimPowerSistems.
72
Figura 4.6. Răspunsul în frecvenţă a filtrului RLC utilizând powergui
Figura 4.7 descrie modelarea circuitului electric cu implementarea unui filtru de reţea,
având două frecvenţe de acordare (double-tuned), constituit dintr-un circuit serie LC şi unul
paralel RLC, proiectat pentru filtrarea armonicilor de ordinul 11 şi 13. În Figura 4.8 este
prezentat răspunsul în frecvenţă a filtrului pentru o scalare logaritmică şi un factor de calitate
Q=16.
73
Figura 4.7. Implementarea filtrului de reţea LC serie şi RLC paralel
Figura 4.8. Răspunsul în frecvenţă a filtrului LC serie şi RLC paralel utilizând powergui
Figura 4.9 reprezintă implementarea filtrului de reţea trece sus de tip C, pentru filtrarea
armonicii de ordinul 3, cu reprezentarea grafică a răspunsului în frecvenţă, prezentat în Figura
4.10, pentru un factor de calitate Q=1.75.
74
Figura 4.9. Implementarea filtrului de reţea trece sus de tip C
Figura 4.10. Răspunsul în frecvenţă a filtrului trece sus de tip C utilizând powergui
Bibliografie selectivă
75
1. Lucian Mihet-Popa, „Modelare şi simulare în MATLAB & Simulink cu aplicaţii în
inginerie electrică”, Editura Politehnică Timişoara, 2007.
2. Samuel D. Stearns, „Digital Signal Processing with Examples in MATLAB”, Editura
CRC Press, 2002
3. Steven T. Karris, „Signals and Systems with MATLAB Computing and Simulink
Modeling third edition”, Orchard Publications, 2006
76
Cap. 5. Interfeţe MATLAB pentru implementarea filtrelor
Introducere
Interfaţa interactiva filterbuilder oferă o fereastră grafică librăriei fdesign din MATLAB,
fiind creată pentru reducerea timpului de proiectare. Această interfaţă foloseşte o abordare bazată
pe specificaţii pentru a determina cel mai bun algoritm în funcţie de răspunsul cerut al filtrului.
Modul de proiectare constă în alegerea constrângerilor şi specificaţiilor filtrului dorit,
astfel încât alegerea celui mai bun algoritm de proiectare să fie realizată în mod automat de către
program în funcţie de performanţele dorite.
Sintaxe
filterbuilder
filterbuilder('response')
filterbuilder(h)
În cazul tastării în prompterul din MATLAB a comenzii filterbuilder(‘response’) se
deschide o fereastră în care se găsesc mai multe tipuri de răspuns din care se alege cel dorit:
77
Prin tastarea comenzii filterbuilder(h) este deschisă fereastra interfeţei adecvată
parametrului h. De exemplu în loc de h tastăm lowpass se deschide o fereastră cu ajutorul căreia
se va proiecta un filtru trece jos(exemplu în Figura 5.2). Deşi parametrii de intrare variază în
funcţie de tipul filtrului dorit structura interfeţei este în mare aceeasi.
78
Figura 5.3. Fereastra folosită pentru alegerea răspunsului
Implementare
După alegerea unui tip de răspuns se accesează fereastra pentru proiectarea filtrului,
fereastră care conţine urmatoarele opţiuni:
– Main
– Data Types
– Code Generation
79
Figura 5.4. Fereastra folosită pentru alegerea parametrilor
Fereastra din Figura 5.4 conţine toţi parametrii necesari proiectării tipului de filtru ales,
aceşti parametrii depinzând de topologia filtrului dar oricare ar fi răspunsul ales secţiunile Main,
Data Types şi Code Generation apar în cazul fiecarei topologii de filtre în parte.
– Răspunsul la impuls
– Ordinul filtrului
– Tipul filtrului
– Specificaţiile filtrului
80
Se poate regla răspunsul filtrului şi în funcţie de frecvenţă şi magnitudine parametrii care se pot
alege din secţiunea Maine a ferestrei de proiectare a filtrului.
Alegerea algoritmului
Algoritmul filtrului depinde de răspunsul şi parametrii aleşi pentru acesta. De exemplu
pentru un filtru bandpass cu răspunsul în impuls IIR şi cu ordinul filtrului Minimum metodele de
proiectare disponibile sunt Butterworth,Chebyshev I şi II şi Elliptic în timp ce dacă ordinul
filtrului este setat pe Specify metoda sau metodele disponibile pentru IIR diferă de cele
specificate anterior(exemplu în Figura 5.5).
81
Această fereastră conţine de asemenea opţiuni pentru modificarea algoritmului ales în
prealabil cum ar fi în cazul filtrului descris anterior IIR cu metoda Butterworth se poate selecta
opţiunea Match Exactly.
Pentru a analiza răspunsul filtrului se poate selecta opţiunea View Filter Response. Drept
urmare se deschide fereastra Filter Visualization Tool (fvtool) care afişează magnitudinea
răspunsului filtrului în cauza.
FVTool este o interfaţă grafică interactivă care serveşte vizualizării răspunsurilor filtrelor,
în funcţie de specificaţiile acestoara. O sintaxa uzuală pentru apelarea interfeţei este fvtool(B,A)
care afişează răspunsul în magnitudine a filtrului în funcţie de numărătorul şi numitorul constituit
de valorile vectorilor B şi A.
Aceasta interfaţă poate efectua analiza unui singur filtru sau a unei succesiuni de filtre
fvtool(B,A,B1,A1,...). Interfaţă conţine opţiuni privind editarea graficului rezultat, precum şi
posibilitatea de a face zoom pe oricare dintre axe.
82
Ultima sectiune din cadrul interfeţei de proiectare a filtrului este Code Generation prin
intermediul căreia poate fi exportat cod VHDL, Verilog, M-Code precum şi modele Simulink
care pot fi utilizate în Simulink.
Pentru generarea de M-Code se face click pe opţiunea Save File iar apoi acest filtru este salvat ca
un program de tip M-File care poate fi apoi editat dupa placul utilizatorului.
Pentru generarea unui model Simulink se face click pe butonul Generate Model, iar apoi acest
filtru va fi exportat ca un model care poate fi folosit apoi în Simulink poate fi editat sau
implementat în structuri complexe, care folosesc mai multe modele Simulink.
83
5.2. Interfata SPTool
Introducere
Prin tastarea comenzii sptool în prompterul Matlab se deschide SPTool o interfaţă grafică
care conţine la rândul ei mai multe interfeţe grafice interactive cum ar fi: Signal Browser, Filter
Designer, FVTool şi Spectrum Viewer. Această interfaţă ofera acces la mai multe opţiuni ce ţin
de semnal, filtrare şi analiza spectrală(Figura 5.8).
84
Sintaxe
Cu ajutorul prompterului din Matlab se pot face operaţii folosind SPTool fără ca
utilizatorul să fie nevoit să acceseze interfaţa grafică. Aceste operatii constă în importarea şi
exportarea structurilor de date prelucrate cu ajutorul funcţiei sptool.
Comenzi folosite pentru exportarea structurilor de date:
s = sptool('Signals') returnează o structură care include toate semnalele.
f = sptool('Filters') returnează o structură care include toate filtrele.
s = sptool('Spectra') returnează o structură care include toate formele spectrale.
[s,ind] = sptool(...) returnează un vector index care indică elementele lui s care sunt selectate în
SPTool.
s = sptool(...,0) returnează doar elementul care este selectat în momentul tastării comenzii.
Comenzi folosite pentru importarea structurilor de date:
struc = sptool('create',PARAMLIST) creaza o componentă care prin intermediul struct
memorează elementele acesteia în workspace.
sptool('load',struc) încarcă structura creată în sptool unde poate fi folosită pentru crearea de
filtre,prelucrarea de semnale,vizualizarea spectrului acestor semnale.
struc = sptool('load',PARAMLIST) încarcă structura definita de PARAMLIST în SPTool , iar
dacă un parametru aditional este definit atunci această structură poate fi salvată şi în workspace
de asemenea.
Folosirea interfeţelor
Opţiunea Signal Browser permite măsurarea,vizualizarea şi analiza în domeniul timp a
unuia sau mai multor semnale.Pentru activarea Signal Browser se apasă butonul View aflat sub
casuţa care conţine lista de semnale în fereastra SPTool.
Cu ajutorul Filter Designer se poate realiza proiectarea şi editarea filtrelor FIR şi IIR de
diferite lungimi şi tipuri având configuraţii de baza(lowpass, highpass, bandpass, bandstop, and
multiband).Pentru activarea Filter Designer se folosesc butoanele New sau Edit aflate sub căsuţa
Filters din SPTool.
85
a)
b)
Filter Visualization Tool (fvtool) ajută utilizatorul să identifice caracteristicile unui filtru,
creat cu Filter Designer sau importat din alta sursă, cum ar fi:răspunsul la impuls (impulse
response),răspunsul în fază (phase response), răspunsul în magnitudine (magnitude
response),intârzierea de grup a filtrului (group delay), întarzierea de faza (phase delay) şi
86
răspunsul la semnalul treaptă (step response).Pentru activarea FVTool se face click pe butonul
View aflat sub căsuţa Filters.
Spectrum Viewer este folosit pentru realizarea unor analize în domeniul frecvenţă
folosind o mare varietate de metode pentru estimarea densitaţii spectrale printre care: metoda
Burg,metoda FFT,metoda multitaper, metoda MUSIC eigenvector,metoda Welch şi metoda
recursivă Yule-Walker.
Spectrum Viewer se utilizează în felul următor:
– Se face click pe butonul Create aflat sub căsuţa Spectra pentru a calcula densitatea
spectrală pentru un semnal selectat din căsuţa Signals în fereastra SPTool.Pentru
vizualizarea spectrului se face click pe butonul Apply;
– Se face click pe butonul View pentru a analiza spectrul rezultat;
– Se poate folosi butonul Update aflat sub căsuţa Spectra în meniul SPTool pentru a
modifica puterea semnalului a cărui densitate spectrală este analizată.
87
Interfaţa Spectrum Viewer are urmatoarele cracteristici:
88
Aplicaţia 1. Să se implementeze unui filtru trece jos (FTJ), cu răspuns finit la impuls, folosind
fereastra de timp Kaiser.
Se aleg cele mai importante specificaţiile ale filtrului în cauză:
Metoda de implementare a filtrului reiese din Figura 5.11 iar răspunsul filtrului este
prezentat în figura următoare:
89
Figura 5.12. Răspunsul filtrului FTJ
%
% M-File generated by MATLAB(R) 7.6 and the Signal Processing Toolbox 6.9.
%
% Generated on: 30-Jun-2009 19:05:58
%
Fpass = 0.45; % Passband Frequency
Fstop = 0.55; % Stopband Frequency
Apass = 1; % Passband Ripple (dB)
Astop = 60; % Stopband Attenuation (dB)
Hd = design(h, 'kaiserwin');
Aplicaţia 2. Să se implementeze unui filtru opreşte bandă (FOB), cu răspuns infinit la aplicarea
semnalului de tip impuls.
90
Metoda de implementare a filtrului reiese din Figura 5.13 iar răspunsul filtrului este
prezentat în Figura 5.14.
%
% M-File generated by MATLAB(R) 7.6 and the Signal Processing Toolbox 6.9.
%
% Generated on: 30-Jun-2009 19:12:13
%
N = 4; % Order
Fstop1 = 0.35; % First Stopband Frequency
Fpass1 = 0.45; % First Passband Frequency
Fpass2 = 0.55; % Second Passband Frequency
Fstop2 = 0.65; % Second Stopband Frequency
91
h = fdesign.bandpass('n,fst1,fp1,fp2,fst2', N, Fstop1, Fpass1, Fpass2, ...
Fstop2);
Hd = design(h, 'iirlpnorm');
Filtrul proiectat la Aplicaţia 1 având caracteristicile din Figura 5.12 poate fi folosit în în
programe software dedicate redării şi editării de fişiare audio. Acesta este folosit în general la
funcţia de egalizator pentru canalele aferente frecvenţelor joase (în general între 70 Hz şi 1KHz).
Bibliografie selectivă
92
1. Lucian Mihet-Popa, „Modelare şi simulare în MATLAB & Simulink cu aplicaţii în
inginerie electrică”, Editura Politehnică Timişoara, 2007.
2. Lucian Mheţ-Popa, „Tehnici de prelucrare a semnalelor(notiţe laborator)”,
Universitatea Politehnică Timişoara, 2009
3. Samuel D. Stearns, „Digital Signal Processing with Examples in MATLAB”, Editura
CRC Press, 2002
93
Cap. 6. Concluzii şi contribuţii personale
Concluzii
Filtrele digitale constituie o soluţie optimă în cazul procesării semnalelor discrete având
ca obiectiv înbunătăţirea calităţii semnalului de la ieţirea filtrului. Caracteristicile filtrelor
digitale sunt următoarele:
94
Interfeţele grafice MATLAB dedicate proiectării filtrelor digitale servesc la uşurarea
muncii de proiectare. Filtrele proiectate cu ajutorul acestor interfeţe pot fi simulate în timp real,
pot fi modificate specificaţiile acestora, sau poate fi urmărit răspunsul apărut la ieşirea filtrelor
respective. Interfeţele grafice interactive sunt folosite în special pentru posibilitatea generarării
de cod în diverse formate având la bază filtrul proiectat, în special în format C, C++ pentru
implementarea pe DSP.
Blocurile aferente interfeţelor Simulink dedicate filtrelor digitale servesc la
implementarea filtrelor prin intermediul modelelor Simulink, modificarea specificaţiilor sau
modificarea structurii filtrelor, precum şi la vizualizarea răspunsului filtrelor în cauză. Analiza şi
implementarea filtrelor în Simulink se face în timp real astfel demersul de proiectare este
simplificat. Ca şi în cazul interfeţelor din MATLAB, Simulink beneficiază de posibilitatea
generării de cod în diverse formate având la bază filtrul proiectat.
Mediul Simulink prezintă o soluţie optimă şi în cazul filtrelor analogice. Filtrele de reţea
proiectate cu ajutorul Simulink reprezintă o alternativă bună pentru înlăturarea poluării armonice.
Contribuţii personale
– Studiul filtrelor filtrelor digitale cu exemple MATLAB pentru filtrele cu răspuns finit la
impuls(Cap. 3.2) şi pentru cele cu răspuns infinit la impuls(Cap. 3.3);
– Modelarea şi implementarea filtrelor digitale cu exemple în Simulink folosind
componentele bibliotecii Singnal Procesing Blockset(Cap. 4.1);
– Descrierea interfeţelor interactive MATLAB, care servesc proiectării filtrelor cu exemple
pentru filtre digitale de frecvenţă selectivă FIR şi IIR (Cap. 5);
– Modelarea şi implementarea unui filtru analogic de reţea utilizat pentru înlăturarea
efectelor create de armonicile impare de ordinul 3, 5, 11, 13(Cap. 4.2).
Bibliografie
95
2. Arthur B. Williams & Fred J. Taylor, „Electronic Filter Design Handbook”, McGraw-
Hill, 1995
3. John T. Taylor, Qiuting Huang, „CRC Handbook of Electrical Filters”, Editura CRC
Press, 1997
4. Lucian Mihet-Popa, „Modelare şi simulare în MATLAB & Simulink cu aplicaţii în
inginerie electrică”, Editura Politehnică Timişoara, 2007.
5. Lucian Mheţ-Popa, „Tehnici de prelucrare a semnalelor(notiţe curs)”, Universitatea
Politehnică din Timişoara, 2009
6. Lucian Mheţ-Popa, „Tehnici de prelucrare a semnalelor(notiţe laborator)”, Universitatea
Politehnică Timişoara, 2009
7. Muhamad H. Rashid, „Power electrinics handbook”, Editura Academic Press, 2001
8. Richard C. Dorf, „The electrical engineering handbook second edition”, Editura CRC
Press, 2000
9. Richard C. Dorf, „The electrical engineering handbook third edition, Circuits, Signals,
Speech and Image proccesing”, Editura CRC Press, 2006
10. R. W. Hamming, „Digital Filters third edition”, Editura Prentice Hall, 1998
11. Samuel D. Stearns, „Digital Signal Processing with Examples in MATLAB”, Editura
CRC Press, 2002
12. Steven T. Karris, „Signals and Systems with MATLAB Computing and Simulink
Modeling third edition”, Orchard Publications, 2006
96