16.06.2013 Views

Elaborazione Numerica dei Segnali

Elaborazione Numerica dei Segnali

Elaborazione Numerica dei Segnali

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

190 Filtri Digitali a Risposta Finita all’Impulso (FIR) e Infinita (IIR)<br />

fine<br />

.<br />

La precisione a 2n bit viene mantenuta durante l’esecuzione della Subroutine, che<br />

agisce sui registri ACC e P di 2n bit, e solo alla fine il risultato viene troncato per<br />

essere memorizzato in n bit. L’errore di troncamento è allora limitato al bit meno<br />

significativo del numero memorizzato: il rapporto segnale-rumore di troncamento si<br />

mantiene quindi intorno agli n dB.<br />

Analizziamo ora più in dettaglio l’effetto prodotto su un filtro digitale dall’errore di<br />

quantizzazione <strong>dei</strong> coefficienti. Abbiamo visto che un filtro è caratterizzato dai poli e dagli<br />

zeri della sua funzione di trasferimento H(z −1 ): la modifica <strong>dei</strong> coefficienti che specificano<br />

il filtro, causata dall’errore di quantizzazione, provoca a sua volta un cambiamento nella<br />

posizione <strong>dei</strong> poli e degli zeri, che sono responsabili del comportamento del filtro.<br />

La situazione è particolarmente delicata per i filtri IIR: i poli di un filtro IIR, correttamente<br />

progettato, possono eventualmente spostarsi al di fuori del cerchio unitario, a causa<br />

dell’errore di quantizzazione <strong>dei</strong> coefficienti, rendendo il filtro instabile.<br />

Studiamo ora in maniera quantitativa questo fenomeno, valutando la sensitività <strong>dei</strong> poli<br />

rispetto al cambiamento <strong>dei</strong> coefficienti. A questo riguardo, sia D(z −1 ) il denominatore<br />

della funzione di trasferimento razionale H(z −1 ) di un filtro IIR: esprimendo D(z −1 ) in<br />

forma di polinomio e in forma fattorizzata, si ha:<br />

D(z −1 M<br />

) = 1 − akz −k M<br />

= (1 − zkz −1 ),<br />

k=1<br />

dove a1, . . . , aM individuano i coefficienti del polinomio e z1, . . . , zM ne sono gli zeri,<br />

individuando di conseguenza i poli di H(z −1 ).<br />

Supponiamo ora che la quantizzazione <strong>dei</strong> coefficienti a1, . . . , aM porti ad un nuovo<br />

filtro, caratterizzato da nuovi coefficienti â1, . . . , âM tali che:<br />

âk = ak + ∆ak<br />

k=1<br />

(1 ≤ k ≤ M),<br />

dove ∆ak è l’errore di quantizzazione. Il nuovo polinomio avrà nuovi zeri ˆz1, . . . , ˆzM , che<br />

risulteranno i poli della funzione di trasferimento del nuovo filtro.<br />

Posto ∆zk = ˆzk − zk, ∆zk può essere interpretato come errore di localizzazione del<br />

polo zk; si può facilmente derivare la relazione:<br />

∆zk ≈<br />

M<br />

j=1<br />

z M−j<br />

k ∆aj<br />

, (1 ≤ k ≤ M).<br />

(zk − zj)<br />

j=k<br />

Questa formula esprime la sensitività <strong>dei</strong> poli rispetto agli errori di quantizzazione<br />

∆a1, . . . , ∆aM.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!