20.2 Proiectarea filtrului

Trebuie să selectați patru parametri pentru a proiecta un filtru Chebyshev: (1) un răspuns high-pass sau low-pass, (2) frecvența cutoff, (3) ripplul procentual în banda de trecere și (4) numărul de poli. Doar ce este un pol? Iată două răspunsuri. Dacă nu vă place unul, poate celălalt vă va ajuta:

Răspunsul 1 - Transformata Laplace și transformata-z sunt metode matematice de a rupe un răspuns la impuls în sinusoide și exponențiale scăzătoare. Aceasta se face prin exprimarea caracteristicilor sistemului ca un polinom complex împărțit prin alt polinom complex. Rădăcinile numărătorului se numesc zerouri, în timp ce rădăcinile numitorului se numesc poli. Deoarece polii și zerourile pot fi numere complexe, este comun să spunem că au o "locație" în planul complex. Sistemele elaborate au mai mulți poli și zerouri decât cele simple. Filtrele recursive sunt proiectate prin selectarea mai întâi a locației polilor și zerourilor, apoi găsirea coeficienților de recurență adecvați (sau a componentelor similare). De exemplu, filtrele Butterworth au poli care se află pe un cerc în planul complex, în timp ce într-un filtru Chebyshev se află pe o elipsă. Acesta este subiectul capitolelor 32 și 33.

Răspunsul 2- Polii sunt recipiente umplute cu pudră magică. Cu cât mai mulți poli dintr-un filtru, cu atât mai bine funcționează filtrul.

Figura 20-2 Răspunsurile în frecvență Chebyshev.
Figurile (a) și (b) prezintă răspunsurile în frecvență ale filtrelor Chebyshev low-pass cu 0,5% ripplu, în timp ce (c) și (d) arată răspunsurile filtrului high-pass corespunzător.

Lăsând gluma deoparte, ideea este că puteți folosi aceste filtre foarte eficient fără a cunoaște matematica dificilă din spatele lor. Proiectarea de filtre este o specialitate. În practică, mai mulți ingineri, oameni de știință și programatori gândesc în termenii răspunsului 2 decât răspunsul 1.

Figura 20-2 prezintă răspunsul în frecvență al mai multor filtre Chebyshev cu ripplu de 0,5%. Pentru metoda folosită aici, numărul de poli trebuie să fie par. Frecvența cutoff a fiecărui filtru este măsurată unde amplitudinea trece de 0,707 (-3dB). Filtrele cu o frecvență cutoff aproape de 0 sau 0,5 au o roll-off mai abruptă decât filtrele din centrul gamei de frecvență. De exemplu, un filtru doi poli la fC = 0,05 are aproximativ aceeași roll-off ca un filtru cu patru poli la fC = 0,25. Acest lucru este fericit; mai puțini poli pot fi utilizați în apropierea lui 0 și 0,5 din cauza zgomotului de rotunjire. Mai multe despre asta mai târziu.

Există două modalități de a găsi coeficienții de recurență fără a utiliza transformata-z. În primul rând, calea lașilor: utilizați un tabel. Tabelele 20-1 și 20-2 furnizează coeficienții de recurență pentru filtrele high-pass și low-pass, cu ripplu de 0,5% în banda de trecere. Dacă aveți nevoie doar de un proiect rapid și necinstit, copiați coeficienții corespunzători în programul dvs. și ați terminat.

Există două probleme cu utilizarea tabelelor pentru proiectarea filtrelor digitale. În primul rând, tabelele au o gamă limitată de parametri. De exemplu, Tabelul 20-1 furnizează numai 12 frecvențe cutoff diferite, un maxim de 6 poli pe filtru și nici o alegere pentru ripplu de passband. Fără abilitatea de a selecta parametrii dintr-o gamă continuă de valori, proiectul filtrului nu poate fi optimizat. În al doilea rând, coeficienții trebuie transferați manual din tabel în program. Acest lucru este foarte consumator de timp și vă va descuraja să încercați valori alternative.

În loc să utilizați valori tabelare, luați în considerare includerea unei subrutine în programul dvs. care calculează coeficienții. Un astfel de program este prezentat în Tabelul 20-4. Vestea bună este că programul este relativ simplu în structură. După introducerea celor patru parametri ai filtrului, programul scoate coeficienții "a" și "b" în matricele A[ ] și B[ ]. Vestea proastă este că programul apelează subrutina în Tabelul 20-5. La prima vedere, această subrutină este foarte neplăcută. Nu disperați; nu este la fel de rău cum pare! Există o simplă ramificație în linia 1120. Totul în subrutină este un calcul simplu de numere. Șase variabile intră în rutină, cinci variabile părăsesc rutina, și în interiorul ei sunt utilizate cincisprezece variabile temporare (plus indici). Tabelul 20-5 furnizează două seturi de date de testare pentru depanarea acestei subrutine. Capitolul 31 discută în detaliu funcționarea acestui program.

Secțiunea următoare: Overshoot-ul răspunsului la treaptă