Nella teoria dei segnali , in particolare nell'elaborazione numerica dei segnali , un sistema dinamico finite impulse response , in italiano risposta finita all'impulso e spesso abbreviato in FIR , è una tipologia di filtro digitale caratterizzata da una risposta impulsiva di durata finita, cioè che si annulla ad un tempo finito. I sistemi la cui risposta non si annulla ad un tempo finito sono detti infinite impulse response (IIR).
Un filtro FIR a tempo discreto di ordine N con risposta impulsiva
b
[
n
]
{\displaystyle b[n]}
. L'uscita
y
(
t
)
{\displaystyle y(t)}
di un sistema dinamico lineare tempo-invariante (LTI) a tempo continuo soggetto ad un segnale in ingresso
x
(
t
)
{\displaystyle x(t)}
è descritta dalla convoluzione
y
(
t
)
=
x
(
t
)
∗
h
(
t
)
{\displaystyle y(t)=x(t)*h(t)}
, dove
h
(
t
)
{\displaystyle h(t)}
è la risposta del sistema quando l'ingresso
x
(
t
)
{\displaystyle x(t)}
è una funzione a delta di Dirac . L'uscita
y
{\displaystyle y}
è quindi proporzionale alla media dell'ingresso
x
{\displaystyle x}
pesata dalla funzione
h
(
−
τ
)
{\displaystyle h(-\tau )}
, traslata di un tempo
t
{\displaystyle t}
:
y
(
t
)
=
∫
−
∞
∞
x
(
τ
)
h
(
t
−
τ
)
d
τ
{\displaystyle y(t)=\int _{-\infty }^{\infty }x(\tau )h(t-\tau )d\tau }
Un sistema dinamico lineare stazionario discreto trasforma la successione in ingresso
{
x
}
{\displaystyle \{x\))
in un'altra successione
{
y
}
{\displaystyle \{y\))
, data dalla convoluzione discreta con la risposta
h
{\displaystyle h}
alla delta di Kronecker :
y
[
n
]
=
∑
k
=
−
∞
∞
x
[
k
]
⋅
h
[
n
−
k
]
=
∑
k
=
−
∞
∞
x
[
n
−
k
]
⋅
h
[
k
]
{\displaystyle y[n]=\sum _{k=-\infty }^{\infty }x[k]\cdot h[n-k]=\sum _{k=-\infty }^{\infty }x[n-k]\cdot h[k]}
Gli elementi di
{
y
}
{\displaystyle \{y\))
possono dipendere da ogni elemento di
{
x
}
{\displaystyle \{x\))
. Solitamente
y
[
n
]
{\displaystyle y[n]}
dipende maggiormente dagli elementi in prossimità del tempo
n
{\displaystyle n}
.
Per un filtro a tempo discreto l'uscita è una somma pesata dei valori assunti dall'ingresso al tempo corrente ed a tempi precedenti. Tale operazione è descritta dalla seguente equazione:
y
[
n
]
=
h
0
x
[
n
]
+
h
1
x
[
n
−
1
]
+
⋯
+
h
N
x
[
n
−
N
]
=
∑
i
=
0
N
h
i
x
[
n
−
i
]
{\displaystyle y[n]=h_{0}x[n]+h_{1}x[n-1]+\cdots +h_{N}x[n-N]=\sum _{i=0}^{N}h_{i}x[n-i]}
dove
h
i
{\displaystyle h_{i))
sono detti coefficienti del filtro , che determinano la risposta impulsiva , ed
N
{\displaystyle N}
l'ordine del filtro. Per un filtro di ordine
N
{\displaystyle \scriptstyle N}
compaiono
(
N
+
1
)
{\displaystyle \scriptstyle (N\,+\,1)}
termini nel membro alla sinistra.
Diagramma a blocchi di un filtro FIR a media mobile di ordine 2 Poli e zeri di un filtro FIR a media mobile di ordine 2 Un filtro a media mobile è uno dei più semplici filtri FIR, i cui coefficienti
b
0
,
…
,
b
N
{\displaystyle b_{0},\,\dots ,\,b_{N))
soddisfano l'equazione:
b
i
=
1
N
+
1
{\displaystyle b_{i}={\frac {1}{N+1))}
Ad esempio, un filtro di ordine
N
=
2
{\displaystyle N=2}
ha risposta impulsiva :
h
[
n
]
=
1
3
δ
[
n
]
+
1
3
δ
[
n
−
1
]
+
1
3
δ
[
n
−
2
]
{\displaystyle h[n]={\frac {1}{3))\delta [n]+{\frac {1}{3))\delta [n-1]+{\frac {1}{3))\delta [n-2]}
Facendone la trasformata zeta :
H
(
z
)
=
1
3
+
1
3
z
−
1
+
1
3
z
−
2
=
1
3
z
2
+
z
+
1
z
2
{\displaystyle H(z)={\frac {1}{3))+{\frac {1}{3))z^{-1}+{\frac {1}{3))z^{-2}={\frac {1}{3)){\frac {z^{2}+z+1}{z^{2))))
i cui due poli sono nell'origine e i due zeri in:
z
1
=
−
1
2
+
j
3
2
z
2
=
−
1
2
−
j
3
2
{\displaystyle z_{1}\;=\;-{\frac {1}{2))\,+\,j{\frac {\sqrt {3)){2))\qquad z_{2}\;=\;-{\frac {1}{2))\,-\,j{\frac {\sqrt {3)){2))}
La risposta in frequenza (in radianti per campione) è:
H
(
e
j
ω
)
=
1
3
+
1
3
e
−
j
ω
+
1
3
e
−
j
2
ω
{\displaystyle H\left(e^{j\omega }\right)={\frac {1}{3))+{\frac {1}{3))e^{-j\omega }+{\frac {1}{3))e^{-j2\omega ))
(EN ) Phillips, C.l., Parr, J.M., & Riskin, E.A, Signals, systems and Transforms , Prentice Hall, 2007, ISBN 0-13-041207-4 .
(EN ) Hespanha,J.P., Linear System Theory , Princeton university press, 2009, ISBN 0-691-14021-9 .