Strutture dei filtri numerici: celle biquad, virgola fissa e rumore di arrotondamento
Forme dirette e trasposta, sensibilità dei poli ai coefficienti con dimostrazione, cascata di celle del secondo ordine, virgola fissa e traboccamento, rumore di arrotondamento dimostrato, cicli limite, architettura dei DSP.
Una volta calcolati i coefficienti, il filtro va realizzato: in un DSP, in un microcontrollore, in una FPGA. Matematicamente tutte le strutture sono equivalenti, ma con numeri di precisione finita si comportano in modo molto diverso. In questa lezione vediamo le forme dirette e la cella del secondo ordine, la sensibilità dei poli ai coefficienti con la sua dimostrazione, l’aritmetica in virgola fissa, il rumore di arrotondamento con la dimostrazione della formula della sua potenza, e i cicli limite.
Le forme dirette
Un filtro IIR
corrisponde all’equazione alle differenze
![Rendered by QuickLaTeX.com \[ y[n] = \sum_{k=0}^{M} b_k\,x[n-k] - \sum_{k=1}^{N} a_k\,y[n-k] \]](https://www.electronics-engineering.com/wp-content/ql-cache/quicklatex.com-07ef534769bf9ad2904ad47455250011_l3.png)
La forma diretta I la realizza così com’è, con due linee di ritardo, una per gli ingressi e una per le uscite. La forma diretta II scambia l’ordine delle due parti (il sistema è lineare, l’ordine non conta) e condivide un’unica linea di ritardo: usa il numero minimo di memorie,
. La forma trasposta si ottiene invertendo il verso di tutti i rami e scambiando ingresso e uscita: ha la stessa funzione di trasferimento e un comportamento numerico migliore, perché le somme avvengono subito dopo le moltiplicazioni.

Perché si usano celle del secondo ordine
Un IIR di ordine alto realizzato in forma diretta, con un unico polinomio al denominatore, è pericoloso: piccoli errori sui coefficienti spostano molto i poli.
Teorema. Sia
con poli distinti. La sensibilità del polo
al coefficiente
è
![Rendered by QuickLaTeX.com \[ \frac{\partial p_i}{\partial a_k} = -\frac{p_i^{\,N-k}}{\prod_{j\ne i}(p_i - p_j)} \]](https://www.electronics-engineering.com/wp-content/ql-cache/quicklatex.com-2c6bee16fa680227953d4127bb00da4b_l3.png)
Dimostrazione. Si scrive il denominatore come polinomio in
:
, con radici
. Per ogni polo vale
. Derivando rispetto ad
, tenendo conto che
dipende da
:
![]()
perché
. Infine
dà
. ∎
Il denominatore è il prodotto delle distanze tra il polo e tutti gli altri: se i poli sono vicini tra loro, come accade nei filtri selettivi, dove si affollano vicino al cerchio unitario attorno alla banda passante, la sensibilità esplode. Un errore di arrotondamento sui coefficienti può spostare un polo fuori dal cerchio e rendere instabile il filtro. Per questo un IIR si fattorizza in una cascata di celle del secondo ordine (biquad), ciascuna con una sola coppia di poli: le sensibilità restano piccole, ogni cella si controlla da sola, e l’ordine delle celle e la ripartizione del guadagno si scelgono per ridurre il rumore.
La virgola fissa
Nei DSP economici e nell’hardware dedicato i numeri sono in virgola fissa: per esempio nel formato Q15 un intero a 16 bit rappresenta un valore tra
e
. I problemi sono due:
- traboccamento (overflow): una somma che supera 1 ricomincia da
, con un errore enorme. Si previene scalando il segnale all’ingresso di ogni cella, in modo che i nodi interni non superino il fondo scala, e si limita il danno con l’aritmetica a saturazione, che blocca il risultato al massimo invece di farlo ricominciare; - quantizzazione: ogni prodotto ha il doppio dei bit e va arrotondato, introducendo un piccolo errore a ogni passo. I DSP accumulano le somme in registri più lunghi (40 bit o più) e arrotondano una sola volta alla fine.
Il rumore di arrotondamento
L’errore di arrotondamento al passo
si modella come un rumore bianco uniforme tra
e
, con potenza
(lezione sulla quantizzazione di Teoria dei segnali). Ma questo rumore non esce dal filtro così com’è: attraversa la parte di filtro tra il punto in cui nasce e l’uscita.
Teorema. Un rumore bianco di potenza
che entra in un sistema con risposta all’impulso
produce in uscita un rumore di potenza
![Rendered by QuickLaTeX.com \[ \sigma_y^2 = \sigma^2\sum_{n=0}^{\infty}h_e^2[n] \]](https://www.electronics-engineering.com/wp-content/ql-cache/quicklatex.com-df1d52c71eb6072e22b073fae74c908b_l3.png)
Dimostrazione. L’uscita è
. La sua potenza è
. Per il rumore bianco
se
e 0 altrimenti, quindi resta solo la somma dei termini con
. ∎
Esempio. Una cella del primo ordine
, con l’arrotondamento nel nodo sommatore: il rumore vede tutto il filtro,
, e
. Con
, un polo vicino al cerchio, il fattore è circa 50, cioè 17 dB di rumore in più rispetto a un solo arrotondamento: quasi 3 bit persi. È il motivo per cui i filtri molto selettivi a basse frequenze, con poli vicini a
, richiedono più bit.
I cicli limite
Nei filtri IIR in virgola fissa può succedere che, con ingresso nullo, l’uscita non vada a zero ma resti bloccata su un valore costante o su una piccola oscillazione: un ciclo limite. Lo crea l’arrotondamento, che rende il sistema non lineare: per esempio con
, partendo da 4 si ottiene
, e l’uscita resta ferma a 4 per sempre invece di decadere. I cicli limite si evitano arrotondando verso lo zero (troncamento del modulo) o con strutture apposite; nei filtri audio si sentono come toni deboli nel silenzio. I filtri FIR non hanno retroazione, quindi non hanno né cicli limite né problemi di stabilità: è un altro motivo per sceglierli quando la precisione è scarsa.
L’architettura dei DSP
I processori di segnale sono costruiti attorno all’operazione
: un moltiplicatore-accumulatore (MAC) che esegue un prodotto e una somma in un ciclo, memorie separate per dati e coefficienti lette in parallelo, buffer circolari gestiti in hardware per le linee di ritardo e cicli senza costo aggiuntivo. Un FIR da
coefficienti costa così circa
cicli per campione. Oggi gli stessi principi si ritrovano nelle istruzioni SIMD dei processori generici e nei blocchi DSP delle FPGA.





