10.5. Analiza modelului unui filtru

După proiectarea filtrului dvs. IIR sau FIR, puteți analiza modelul în mai multe moduri. De exemplu, puteți vedea efectul pe care filtrul îl are asupra amplitudinii și fazei semnalelor de intrare la frecvențe diferite, observând răspunsurile de magnitudine și de fază. Mai multe tipuri de metode de analiză sunt disponibile în Digital Filter Design Toolkit. Acestea sunt explicate mai jos. Mai întâi veți privi răspunsul filtrului la tipuri speciale de semnale de intrare.

Răspunsul la impuls

Ieșirea filtrului atunci când intrarea este un impuls este cunoscută ca răspunsul la impuls al filtrului. Un impuls în lumea digitală are o amplitudine de 1 la indexul 0 și o amplitudine de 0 pentru toți ceilalți indici. Un impuls și răspunsul la impuls sunt prezentate în figurile de mai jos.

Răspunsul la impuls are un înțeles foarte special în cazul filtrelor FIR. Răspunsul la impuls al unui filtru FIR dă coeficienții acelui filtru. Astfel, răspunsul la impuls este o metodă utilă pentru determinarea coeficienților unui filtru FIR. În plus, numărul de termeni nenuli din răspunsul la impuls dă numărul de coeficienți din filtru. (Pentru un filtru IIR, relația este mult mai complicată, iar discuția de mai sus nu se aplică.)

O altă utilizare a răspunsului la impuls este aceea că, pentru ambele filtre FIR și IIR, ieșirea filtrului este dată de convoluția semnalului de intrare și răspunsul la impuls al filtrului.

Răspunsul la treaptă

Ieșirea filtrului atunci când intrarea este o treaptă unitate este cunoscută ca răspunsul la treaptă al filtrului. O treaptă unitate în lumea digitală are o amplitudine de 0 pentru toți indicii negativi și o amplitudine de 1 la indice zero și pentru toți indicii pozitivi. O treaptă unitate și răspunsul la treaptă sunt prezentate în figurile de mai jos.

Răspunsul la treaptă este important dacă utilizați filtrul într-un sistem de control. Puteți vedea apoi cum parametrii sistemului de control (cum ar fi timpul de creștere, depășirea, etc.) sunt afectați de filtru. Răspunsul la treaptă vă arată, de asemenea, cât timp îi va lua filtrului pentru a răspunde la o schimbare bruscă a intrării.

Răspunsul în frecvență (răspunsul în magnitudine și răspunsul în fază)

Răspunsul în frecvență este util, deoarece arată efectul pe care filtrul îl are asupra amplitudinii și fazei semnalelor de intrare la frecvențe diferite. Deoarece filtrul poate afecta atât magnitudinea, cât și faza semnalului de intrare, răspunsul în frecvență constă din două părți - răspunsul în magnitudine și răspunsul în fază. Un exemplu al acestor răspunsuri este prezentat mai jos. Unitățile axei-x sunt normalizate în termenii frecvenței de eșantionare.

Nu numai că răspunsul în frecvență vă luminează în legătură cu efectul pe care filtrul îl are asupra semnalelor cu frecvențe specifice, ci vă permite să determinați ce se întâmplă cu semnalele arbitrare în timp ce trec prin filtru. Deoarece majoritatea semnalelor pot fi exprimate ca o sumă de exponențiale (sinusuri și cosinusuri), puteți rupe semnalul în componentele sale individuale și puteți determina efectul filtrului asupra acelor componente.

Domeniul Z: Funcția de transfer H(z) și reprezentare Poli-Zerouri

Funcția de transfer, H(z), a unui filtru digital poate fi exprimată ca un raport de polinoame,

H(z) = N(z)/ D(z)

unde N(z) este un polinom numărător, iar D(z) este polinomul numitor. (Pentru un filtru FIR, D(z) = 1.) H(z) este cunoscută și ca transformata-z a filtrului.

Valorile lui z la care N(z) este egal cu zero sunt cunoscute ca zerouri ale filtrului, deoarece pentru aceste valori, H(z) este de asemenea egal cu zero. Valorile lui z la care D(z) este egal cu zero sunt cunoscute ca poli ai filtrului, deoarece la aceste valori, H(z) este egal cu infinit. Un grafic al polilor și al zerourilor filtrului este cunoscut sub numele de pole-zero plot. Deoarece z este un număr complex, graficul poli-zerouri este arătat în termeni de parte reală a lui z pe axa-x și parte imaginară a lui z pe axa-y.

Graficul poli-zerouri este util pentru determinarea stabilității filtrului. Atâta timp cât toți polii filtrului au o magnitudine mai mică decât unu, filtrul este stabil. Dacă vreunul dintre polii filtrului are o magnitudine mai mare decât unul, filtrul va fi instabil. Aceasta înseamnă că ieșirea filtrului va continua să crească la nesfârșit, chiar dacă intrarea nu mai este aplicată. Valorile lui z, pentru care magnitudinea sa este egală cu unu, se trasează pe graficul poli-zerouri ca un cerc având centrul la origine și având o rază egală cu unu. Astfel, atâta timp cât polii filtrului se află în interiorul cercului, filtrul va fi stabil. Dacă chiar unul dintre poli stă în afara cercului, filtrul va fi instabil.

Digital Filter Design Toolkit vă oferă atât funcția de transfer a filtrului, cât și reprezentarea corespunzătoare poli-zerouri. Figurile de mai jos prezintă graficele poli-zerouri pentru un filtru stabil și un filtru instabil. Fiecare o descrie un zero și fiecare x reprezintă un pol.

filtru stabil filtru instabil

Exercițiul 10-3

Obiectiv: Analiza modelului unui filtru IIR.

Veți încărca specificațiile filtrului pe care le-ați salvat în Exercițiul 10-1 în fișierul bandpass.iir și veți vedea răspunsurile sale la impuls și treaptă și graficul poli-zerouri al funcției sale de transfer.

1. Deschideți aplicația DFD.

2. Alegeți panoul Classical IIR Design.

3. Când se deschide panoul Classical IIR Design, selectați Load Spec ... din DFD Menu.

Când vi se solicită numele fișierului, selectați bandpass.iir.

4. Din meniul DFD, selectați Analysis.

Se deschide fereastra Analysis of Filter Design, după cum se arată mai jos.

În acest panou puteți vizualiza răspunsul în magnitudine al filtrului, răspunsul în fază, răspunsul la impuls, răspunsul la treaptă și graficul de poli-zerouri al filtrului proiectat în primul exercițiu. De asemenea, puteți vedea și imprima graficele întregi ale fiecărui răspuns. Din vizualizările pe întreg ecranul, puteți salva rezultatele analizei în fișierele text.

Dacă selectați DFD Menu » Analysis dintr-un panou de proiectare a filtrului, panoul Analysis of Filter Design folosește acel model de filtru particular pentru a calcula răspunsurile diferite ale filtrului. De asemenea, puteți analiza oricare dintre cele patru modele ale filtrului din selectorul inel Design Analyzed; panoul Analysis of Filter Design utilizează parametrii filtrului din modelul selectat de filtru.

Meniul DFD poate fi folosit pentru a încărca modele de filtru din lucrările anterioare, deschideți panoul DAQ and Filter, mergeți la panoul de model filtru selectat sau reveniți la Filter Design Main Menu.

Controlul Design Analyzed selectează care model de filtru se analizează. Dacă continuați să modificați același model de filtru care este în prezent analizat, DFD va recalcula toate răspunsurile filtrului.

Afișarea Analizei

caseta de zoom

Fiecare dintre cele cinci grafice de filtru are o casetă zoom în colțul din dreapta sus. Făcând clic în această casetă, se afișează o versiune completă a acelui grafic. În versiunile full-screen ale acestor grafice, puteți schimba unitățile de la liniar la decibel (răspuns în magnitudine), de la radiani la grade (răspuns în fază) sau de la secunde la eșantioane (răspunsuri la impuls și treaptă). Din fiecare vizualizare pe ecran complet, puteți salva datele de răspuns în fișierele text.

Răspunsul în magnitudine

5. Răspunsul în magnitudine este magnitudinea răspunsului H(f) al filtrului, deoarece frecvența variază de la zero la jumătate din rata de eșantionare. Priviți la răspunsul în magnitudine al filtrului proiectat. Puteți vedea că este într-adevăr un filtru bandpass.

Răspunsul în fază

6. Răspunsul în fază este faza răspunsului H(f) al filtrului, deoarece frecvența variază de la zero la rata de eșantionare. Figura următoare ilustrează răspunsul în fază al modelului de filtru selectat. Rețineți că faza este afișată în radiani. Puteți obține un afișaj în grade, făcând clic pe caseta de zoom a graficului Phase Response. Va apărea o nouă fereastră, care vă va oferi opțiunea de a alege între unitățile de afișare adecvate.

Răspunsul la impuls

7. Răspunsul la impuls al unui filtru digital este ieșirea filtrului atunci când intrarea este o secvență de eșantion unitate (1, 0, 0, ...). Intrarea, înainte de eșantionul unitate, este, de asemenea, zero. Figura următoare prezintă răspunsul la impuls al modelului selectat de filtru.

Observați că, deși este un filtru IIR, răspunsul la impuls scade spre zero după o perioadă finită de timp.

Răspunsul la treaptă

8. Răspunsul la treaptă al unui filtru digital este ieșirea filtrului atunci când intrarea este o secvență de treaptă unitate (1, 1, 1, ...). Eșantioanele de intrare înainte de secvența treaptă sunt definite ca zero. Figura următoare prezintă răspunsul la treaptă al filtrului proiectat.

Reprezentarea planului-Z

9. Următoarea figură ilustrează reprezentarea planului-z al polilor și zerourilor filtrului.

Fiecare pol este reprezentat de un x roșu. Fiecare zero este reprezentată de un o albastru. Comparați acest lucru cu Magnitude Response al filtrului și observați că zerourile sunt la 0 și π care corespund frecvențelor 0 și Nyquist (fs/2). Locația polilor este aproximativ 1000 Hz, unde există un vârf în răspunsul în magnitudine în jur de 1000 Hz.

H(z) pentru filtre IIR

10. H(z) este transformata-z a filtrului digital proiectat.

Anterior, ați văzut că filtrele IIR sunt implementate ca etaje de ordin 2 în cascadă. Pentru un filtru IIR, H(z) poate fi reprezentată de un produs de fracții de polinoame z de ordin-doi.

Nk(z) = numărător pentru etajul k
Dk(z) = numitor pentru etajul k
Ns = numărul etajelor de ordin-doi

Puteți vedea polinoamele N(z) și D(z) pentru alte etaje prin creșterea indexului afișat în colțul din stânga sus al afișajului H(z).

11. Închideți panoul selectând Close din meniul File. Părăsiți aplicația DFD.

Sfârșitul exercițiului 10-3

10.6 Formatul fișierelor text pentru coeficienții filtrelor