33.2 Analiza sistemelor recursive

Așa cum este prezentat în capitolul 19, un filtru recursiv (una sau mai multe ieșiri este-sunt folosite ca feedback la intrare) este descris printr-o ecuație de diferență:

ECHAȚIE 33-2 Ecuația de diferență.
Consultați Capitolul 19 pentru detalii.

unde x[ ] și y[ ] sunt, respectiv, semnalele de intrare și ieșire, iar termenii „a” și „b”sunt coeficienții recursivi. O utilizare evidentă a acestei ecuații este de a descrie modul în care un programator ar implementa filtrul. Un aspect la fel de important este acela că reprezintă o relație matematică între intrare și ieșire, care trebuie să fie satisfăcută continuu. La fel cum sistemele continue sunt controlate de ecuații diferențiale, sistemele discrete recursive funcționează în conformitate cu această ecuație de diferență. Din această relație putem deriva caracteristicile cheie ale sistemului: răspunsul la impuls, răspunsul la treaptă, răspunsul în frecvență, diagrama pol-zero etc.

Începem analiza luând transformata-z (Ec. 33-1) a ambelor părți ale Ec. 33-2. Cu alte cuvinte, vrem să vedem că această relație de control arată ca în domeniul-z. Cu o cantitate corectă de algebră, putem separa relația în: Y[z]/X[z], adică reprezentarea în domeniul-z a semnalului de ieșire împărțită la reprezentarea în domeniul-z a semnalului de intrare. La fel ca în cazul transformatei Laplace, aceasta se numește funcția de transfer a sistemului și o desemnează prin H[z]. Iată ce găsim:

Ecuația 33-3 Funcția de transfer sub formă polinomială.

Coeficienții recursivi sunt direct identificabili în această ecuație.

Acesta este unul dintre cele două moduri prin care funcția de transfer poate fi scrisă. Această formă este importantă deoarece conține direct coeficienții recursivi. De exemplu, să presupunem că știm coeficienții recursivi ai unui filtru digital, cum ar fi furnizați dintr-un tabel de proiectare:

Fără să ne preocupăm de algebra complexă urâtă, putem scrie direct funcția de transfer a sistemului:

Observați cum coeficienții „b” intră în funcția de transfer cu un semn negativ în fața lor. Alternativ, unii autori scriu această ecuație folosind completări, dar schimbă semnul tuturor coeficienților „b”. Iată problema. Dacă vi se oferă un set de coeficienți recursivi (cum ar fi dintr-un program de proiectare filtru sau un tabel), există șanse de 50-50 pentru coeficienții „b” să aibă semnul opus față de ceea ce vă așteptați. Dacă nu vă confruntați cu această discrepanță, filtrul va fi în mare măsură instabil.

Ecuația 33-3 exprimă funcția de transfer folosind puteri negative ale lui z, cum ar fi: z-1 ', z-2, z-3, etc. După ce un set real de coeficienți recursivi este introdus, putem converti funcția de transfer într-o formă mai convențională care folosește puteri pozitive: adică, z, z2, z3, ... Înmulțind atât numărătorul cât și numitorul exemplului nostru cu z4, obținem:

Puterile pozitive sunt adesea mai ușor de utilizat și sunt impuse de unele tehnici din domeniu-z. De ce nu rescrieți Ec. 33-3 folosind puteri pozitive și uitați de puterile negative în întregime? Nu putem! Trucul de înmulțire a numărătorului și numitorului cu cea mai mare putere a lui z (cum ar fi z4 în exemplul nostru) poate fi utilizat numai dacă numărul de coeficienți recursivi este deja cunoscut. Ecuația 33-3 este scrisă pentru un număr arbitrar de coeficienți. Ideea este, ambele puteri pozitive și negative sunt utilizate în mod curent în DSP și aveți nevoie să știți cum se convertește între cele două forme.

Funcția de transfer a unui sistem recursiv este utilă, deoarece poate fi manipulată în moduri în care coeficienții recursivi nu pot. Aceasta include sarcini precum: combinarea etajelor în cascadă și paralel într-un singur sistem, proiectarea filtrelor prin specificarea locațiilor pol și zero, convertirea filtrelor analogice în digitale, etc. Aceste operațiuni sunt efectuate de algebră efectuată în domeniul z, cum ar fi: înmulțire, adunare și factorizarea. După finalizarea acestor operațiuni, funcția de transfer este plasată sub forma ec. 33-3, permițând identificarea noilor coeficienți recursivi.

La fel ca în cazul domeniului-s, o caracteristică importantă a domeniului-z este aceea că funcția de transfer poate fi exprimată ca poli și zerouri. Aceasta oferă a doua formă generală a domeniului-z:

Ecuația 33-4 Funcția de transfer în formă pol-zero.

Fiecare dintre poli (p1, p2, p3, ...) și zerouri (z1, z2, z3, ...) este un număr complex. Pentru a trece de la Ec. 33-4 la 33-3, înmulțiți expresiile și colectați termeni similari. Deși acest lucru poate implica o cantitate imensă de algebră, în principiu este simplu și poate fi ușor scris într-o rutină de computer. Mutarea de la Ec. 33-3 la 33-4 este mai dificilă, deoarece necesită factorizarea polinoamelor. Așa cum s-a discutat în capitolul 32, ecuația cuadratică poate fi utilizată pentru factorizare dacă funcția de transfer este de ordinul doi sau mai mic (adică nu există puteri ale lui z mai mari decât 2). Metodele algebice nu pot fi utilizate în general pentru a factoriza sisteme mai mari decât ordinul secund și trebuie folosite metode numerice. Din fericire, acest lucru este foarte rar necesar; proiectarea filtrului digital începe cu locațiile pol-zero (Ec. 33-4) și se termină cu coeficienții recursivi (Ec. 33-3), nu invers.

Ca și în cazul tuturor numerelor complexe, locațiile pol și zero pot fi reprezentate fie sub formă polară fie dreptunghiulară. Notația polară are avantajul de a fi mai consecventă cu organizarea naturală a planului-z. În comparație, forma dreptunghiulară este în general preferată pentru lucrările matematice; adică, de obicei, este mai ușor să manipulezi σ + jω, în comparație cu re.

Ca un exemplu de utilizare a acestor ecuații, vom proiecta un filtru notch prin următorii pași: (1) specificați plasarea pol-zero în planul-z, (2) scrieți funcția de transfer sub forma ec. 33-4, (3) rearanjați funcția de transfer sub forma ec. 33-3 și (4) identificați coeficienții recursivi necesari pentru implementarea filtrului. Fig. 33-3 arată exemplul pe care îl vom folosi: un filtru notch format din doi poli și două zerouri localizați la

Fig. 33-3 Filtru notch proiectat în domeniul-z.

Proiectarea începe prin localizarea a doi poli și a două zerouri în planul-z, așa cum se arată în (a).
Impulsul rezultat și răspunsului în frecvență sunt prezentate în (b) și (c).
Ascuțimea crestăturii (notch) este controlată de distanța polilor de la zero.

Pentru a înțelege de ce acesta este un filtru notch, comparați acest grafic pol-zero cu Fig. 32-6, un filtru notch în planul-s. Singura diferență este că ne deplasăm de-a lungul cercului unitate pentru a găsi răspunsul în frecvență din planul-z, spre deosebire de a ne deplasa de-a lungul axei verticale pentru a găsi răspunsul în frecvență din planul-s. Din forma polară a polilor și zerourilor, se poate observa că crestătura va avea loc la o frecvență naturală de π/4, corespunzând la 0,125 din rata de eșantionare.

Deoarece sunt cunoscute locațiile pol și zero, funcția de transfer poate fi scrisă în forma ec. 33-4 prin simpla introducere a valorilor:

Pentru a găsi coeficienții de recurență care implementează acest filtru, funcția de transfer trebuie să fie rearanjată în forma ec. 33-3. Pentru a începe, extindeți expresia înmulțind termenii:

În continuare, colectăm termenii asemenea și reducem. Atâta timp cât jumătatea superioară a planului-z este o imagine în oglindă a jumătății inferioare (ceea ce este întotdeauna cazul dacă avem de-a face cu un răspuns la impuls real), toți termenii care conțin un „j” se vor anula din expresia:

Deși acesta este sub forma unui polinom împărțit la altul, acesta nu folosește exponenți negativi ai lui z, așa cum este cerut de Ec. 33-3. Aceasta poate fi modificată prin împărțirea atât a numărătorului, cât și a numitorului la cea mai mare putere a lui z din expresie, în acest caz, z2:

Deoarece funcția de transfer este acum sub forma ec. 33-3, coeficienții recursivi pot fi extrași direct prin inspecție:

Acest exemplu oferă strategia generală pentru obținerea coeficienților de recurență dintr-o diagramă pol-zero. În cazuri specifice, este posibil să obținem ecuații mai simple care să coreleze direct pozițiile pol-zero cu coeficienții de recurență. De exemplu, un sistem care conține doi poli și două zerouri, numit biquad, are următoarele relații:

ECUAȚIA 33-5 Ecuații biquad de proiectare.
Aceste ecuații dau coeficienții de recurs, ao, a1, a2, b1, b2, de la poziția polilor: rp & ωp și zerourile: ro & ωo.

ao = 1
a1 = -2rocos (ωo)
a2 = ro2
b1 = 2rpcos (ωp)
b2 = -rp2

După specificarea funcției de transfer, cum găsim răspunsul în frecvență? Există trei metode: una este matematică și două sunt de calculator (programare). Metoda matematică se bazează pe găsirea valorilor în planul-z care se află pe cercul unitate. Acest lucru se realizează prin evaluarea funcției de transfer, H(z), la r = 1. Mai exact, începem prin scrierea funcție de transfer sub forma fie a ec. 33-3 fie a ec. 33-4. Înlocuim apoi fiecare z cu e-jω (adică r e-jω cu r = 1). Aceasta oferă o ecuație matematică a răspunsului în frecvență, H(ω). Problema este că expresia rezultată este într-o formă foarte incomodă. O cantitate semnificativă de algebră este de obicei necesară pentru a obține ceva de recunoscut, cum ar fi magnitudinea și faza. Deși această metodă oferă o ecuație exactă pentru răspunsul în frecvență, este dificil de automatizat în programele de calculator, cum este necesar în pachetele de proiectare a filtrelor.

A doua metodă pentru găsirea răspunsului în frecvență folosește, de asemenea, abordarea evaluării planului-z pe cercul unitate. Diferența este că calculăm doar eșantioane ale răspunsului în frecvență, nu o soluție matematică pentru întreaga curbă. Un program de calculator folosește bucle prin, poate, 1000 de frecvențe la fel de distanțate între ω = 0 și ω = π. Gândiți-vă la o furnică care se mișcă între 1000 de puncte discrete pe jumătatea superioară a cercului unitate din planul-z. Magnitudinea și faza răspunsului în frecvență se găsesc la fiecare dintre aceste locații prin evaluarea funcției de transfer.

Această metodă funcționează bine și este adesea folosită în pachetele de proiectare a filtrelor. Limitarea sa principală este aceea că nu ține cont de zgomotul de rotunjire care afectează caracteristicile sistemului. Chiar dacă răspunsul în frecvență găsit prin această metodă pare perfect, sistemul implementat poate fi complet instabil!

Astfel apare a treia metodă: găsiți răspunsul în frecvență din coeficienții recursivi, care sunt de fapt utilizați pentru a implementa filtrul. Pentru început, găsim răspunsul la impuls al filtrului trecând un impuls prin sistem. În al doilea pas, luăm DFT a răspunsului la impuls (folosind FFT) pentru a găsi răspunsul în frecvență al sistemului. Singurul element critic de reținut cu această procedură este că trebuie să fie prelevate suficiente eșantioane din răspunsul la impuls, astfel încât eșantioanele aruncate să fie nesemnificative. În timp ce cărțile ar putea fi scrise pe criterii teoretice pentru aceasta, regulile practice sunt mult mai simple. Folosiți cât mai multe eșantioane pe cât considerați că sunt necesare. După aflarea răspunsului în frecvență, mergeți înapoi și repetați procedura folosind de două ori mai multe eșantioane. Dacă cele două răspunsuri în frecvență sunt în mod adecvat similare, puteți fi sigur că trunchierea răspunsului la impuls nu v-a păcălit într-un fel.