# Infinite impulse response

In teoria dei segnali, un sistema dinamico infinite impulse response (in italiano risposta all'impulso infinita e spesso abbreviato in IIR) è un sistema dinamico causale la cui risposta impulsiva non è nulla al tendere all'infinito del tempo. I sistemi la cui risposta si annulla ad un tempo finito sono invece detti finite impulse response (FIR).
Sebbene la definizione si adatti a sistemi tempo-continui, solitamente si ha a che fare con sistemi numerici, spesso i filtri digitali. In tempo-continuo le risposte impulsive dei filtri raramente hanno lunghezza finita in quanto nella maggior parte sono matematicamente descritte da esponenziali decrescenti, che tendono a zero a tempo infinito.

## Definizione

I filtri digitali sono spesso descritti attraverso un'equazione alle differenze, che definisce il comportamento dell'uscita $\ y[n]$ in funzione del segnale $\ x[n]$ in ingresso e in funzione del segnale di uscita stesso $\ y[n]$ :
    ${\begin{aligned}y[n]&={\frac {1}{a_{0}}}(b_{0}x[n]+b_{1}x[n-1]+\cdots +b_{P}x[n-P]\\&-a_{1}y[n-1]-a_{2}y[n-2]-\cdots -a_{Q}y[n-Q])\end{aligned}}$
dove $\ P$ è l'ordine del filtro, $\ b_{i}$ sono i coefficienti del filtro, $\ Q$ è l'ordine della retroazione del filtro, $\ a_{i}$ i coefficienti della retroazione. In una forma più concisa si ha:
    $\ y[n]={\frac {1}{a_{0}}}\left(\sum _{i=0}^{P}b_{i}x[n-i]-\sum _{j=1}^{Q}a_{j}y[n-j]\right)$
che può essere scritta:
    $\ \sum _{j=0}^{Q}a_{j}y[n-j]=\sum _{i=0}^{P}b_{i}x[n-i]$
La funzione di trasferimento del filtro è ottenuta dalla trasformata zeta di entrambi i membri della precedente relazione, dove grazie alla proprietà di traslazione temporale si ha:
    $\ \sum _{j=0}^{Q}a_{j}z^{-j}Y(z)=\sum _{i=0}^{P}b_{i}z^{-i}X(z)$
Si definisce la funzione di trasferimento nel seguente modo:
    $H(z)={\frac {Y(z)}{X(z)}}={\frac {\sum _{i=0}^{P}b_{i}z^{-i}}{\sum _{j=0}^{Q}a_{j}z^{-j}}}$
In diversi filtri IIR il coefficiente $\ a_{0}$ è 1, e la funzione di trasferimento assume la forma:
    $H(z)={\frac {\sum _{i=0}^{P}b_{i}z^{-i}}{1+\sum _{j=1}^{Q}a_{j}z^{-j}}}$
Poiché la funzione di trasferimento è la trasformata zeta della risposta all'impulso del sistema, è anche possibile svolgere il rapporto tra polinomi prima di antitrasformare. Si ottengono così i campioni della risposta impulsiva, in numero infinito se i polinomi non sono tra loro divisibili. Da qui segue il nome "Infinite Impulse Response" assegnato ai filtri ricorsivi: essi hanno una risposta all'impulso che, qualora descritta in termini di campioni piuttosto che con un'equazione alle differenze, risulta avere infiniti coefficienti. Tuttavia, non esiste legame tra la lunghezza della risposta all'impulso e la ricorsione, potendo esistere filtri FIR a struttura ricorsiva.

## Filtro a media mobile

Il filtro a media mobile ad $M$ punti è descritto dall'espressione non ricorsiva:
    $y(n)={\frac {1}{M}}\sum _{k=0}^{M-1}x(n-k)$
avendo indicato con $x(n)$ l'ingresso del filtro, e con $y(n)$ l'uscita. La risposta all'impulso può essere ricavata applicando all'ingresso del filtro l'impulso unitario:
    $h(n)={\frac {1}{M}}\sum _{k=0}^{M-1}\delta (n-k)$
La funzione $h(n)$ è dunque una successione di $M$ impulsi pesati ciascuno $1/M$, e la risposta impulsiva ha lunghezza finita: pertanto si può dire che il filtro media mobile è un filtro FIR. Tuttavia, è possibile ricavare un'espressione ricorsiva per la media mobile:
    $y(n)={\frac {1}{M}}\sum _{k=0}^{M-1}x(n-k)={\frac {1}{M}}(\sum _{k=0}^{M-1}x(n-k)+x(n-M)-x(n-M))={\frac {1}{M}}(\sum _{k=0}^{M}x(n-k)-x(n-M))=$
    $={\frac {1}{M}}(\sum _{k=1}^{M}x(n-k)+x(n)-x(n-M))={\frac {1}{M}}(\sum _{k=0}^{M-1}x(n-(k+1))+x(n)-x(n-M))={\frac {1}{M}}\sum _{k=0}^{M-1}x((n-1)-k)+{\frac {1}{M}}(x(n)-x(n-M))=$
    $=y(n-1)+{\frac {1}{M}}(x(n)-x(n-M))$
Il filtro così implementato presenta una parte ricorsiva, ma la sua risposta all'impulso resta a lunghezza finita. La trasformata zeta dell'equazione alle differenze appena ricavata è, servendosi dei coefficienti dell'equazione stessa:
    $H(z)={\frac {1}{M}}{\frac {1-z^{-M}}{1-z^{-1}}}$
Si tratta di una funzione razionale fratta nella variabile $z$, ma la divisione tra il polinomio numeratore ed il denominatore produce resto zero:
    $H(z)={\frac {1}{M}}(1+z^{-1}+z^{-2}+...+z^{-(M-1)})={\frac {1}{M}}\sum _{k=0}^{M-1}z^{-k}$
che rappresenta la trasformata del filtro a media mobile nella sua implementazione FIR. Generalmente si associa al termine "IIR" un filtro dotato di parte ricorsiva (cioè denominatore della funzione di trasferimento non unitario), a prescindere dal fatto che tale filtro sia dotato in effetti di una risposta all'impulso di durata infinita.