有限脉冲响应

维基百科,自由的百科全书
跳转至: 导航搜索

有限脉冲响应滤波器是数字滤波器的一种,简称FIR数字滤波器finite impulse response filter)。这类滤波器对于脉冲输入信号的响应最终趋向于0,因此是有限的,而得名。它是相对于无限脉冲响应滤波器(IIR)而言。由于无限脉冲响应滤波器中存在反馈回路,因此对于脉冲输入信号的响应是无限延续的。

目录

讨论 [编辑]

有限脉冲响应滤波器是一线性系统,输入信号,x(0), x(1), ..., x(n),经过该系统后的输出信号,y(n)可表示为:

y\left (n\right)=h_0 x\left(n\right)+ h_1 x\left(n-1 \right)+...+h_N x\left(n-N\right)

其中,h_0, h_1, ..., h_N 是滤波器的脉冲响应,通常称为滤波器的系数。N 是滤波器的阶数。上式也可表示为:

y\left (n\right)=\sum_{k=0}^N h_k x(n-k).

如果输入信号为脉冲信号 \delta(n)

\delta(n) = \left\{\begin{matrix} 
1 & \mbox{if } n=0  \\ 
0 & \mbox{if } n \ne 0 \end{matrix}\right.

输出信号则为:

y\left (n\right)=\sum_{k=0}^N h_k \delta(n-k)=h_n.

这也是脉冲响应h_n得名的原因,即,它是滤波器脉冲输入的响应。 有限脉冲响应滤波器的传递函数可由其脉冲响应的z变换获得:

H(z) = Z\{h(n)\} = \sum_{n=-\infty}^{\infty} h(n) z^{-n}=\sum_{n=0}^N h(n) z^{-n}.

因此,有限脉冲响应滤波器的频率响应为:

H(e^{j\omega}) = \sum_{n=0}^{N} h(n) e^{-j\omega n}.

特性 [编辑]

有限脈衝響應濾波器(FIR filter)的優點:

  • 脈衝響應(impulse response)為有限長:造成當輸入數位訊號為有限長的時候,輸出數位訊號也為有限長。
  • 比無限脈衝響應濾波器(IIR filter)較容易最佳化(optimize)。
  • 線性相位(linear phase):造成h(n)\,是偶對稱(even)或奇對稱(odd)且有限長。
  • 一定是穩定的(stable):因為Z轉換(Z transform)後所有的極點(pole)都在單位圓內。

有限脈衝響應濾波器(FIR filter)的缺點:

  • 設計方式較無限脈衝響應濾波器(IIR filter)不容易。

設計方法 [编辑]

  • least MSE(mean square error):最小化平均誤差。
MSE=f_s^{-1}\int_{-f_s/2}^{f_s/2} |H(f)-H_d(f)|^2\,df
其中,f_s\,為取樣頻率(sampling frequency),H(f)\,為設計出的濾波器之頻譜,H_d(f)\,為欲設計的濾波器(desired filter)之頻譜。
    • Example:
欲設計濾波器為高通濾波器,pass band為0.25< F \le 0.5\,且stop band為0 \le F \le 0.25\,
其中,F\,為正規化頻率(Normalized Frequency),定義為F=f/f_s\,f_s\,為取樣頻率。
下圖為least MSE方式所設計出來的濾波器(脈衝響應長度N=41\,):
MSE.png
下圖為least MSE方式所設計出來的濾波器與欲設計的濾波器的誤差(去除transition band的部分):
MSE2.png
  • Minimax(又稱Remez exchange algorithm):最小化最大誤差。
Maximal Error=Max_f|H(f)-H_d(f)|\,
其中,Max_f\, 為對頻率取函數最大值,但在Minimax設計方式中,transition band通常不被考慮。H(f)\,為設計出的濾波器之頻譜,H_d(f)\,為欲設計的濾波器(desired filter)之頻譜。
    • Example:
欲設計濾波器為高通濾波器,pass band為0.25< F \le 0.5\,且stop band為0 \le F \le 0.25\,
其中,F\,為正規化頻率(Normalized Frequency),定義為F=f/f_s\,f_s\,為取樣頻率。
下圖為Minimax方式所設計出來的濾波器(脈衝響應長度N=41\,):
MAX.png
下圖為least MSE方式所設計出來的濾波器與欲設計的濾波器的誤差(去除transition band的部分):
MAX2.png
  • frequency sampling:所設計出的濾波器的頻譜某些頻率取樣點與欲設計濾波器頻譜的相同頻率取樣點的響應一樣。
H(f)\,為設計出的濾波器之頻譜,H_d(f)\,為欲設計的濾波器(desired filter)之頻譜,
H(mf_s/N)=H_d(mf_s/N)\,m=0,1,2,...,N-1\,N\,為濾波器長度。
若以正規化頻率F=f/f_s\,表示:
H(m/N)=H_d(m/N)\,m=0,1,2,...,N-1\,N\,為濾波器長度。
    • Example:
欲設計濾波器為高通濾波器,pass band為0.25< F \le 0.5\,且stop band為0 \le F \le 0.25\,
其中,F\,為正規化頻率(Normalized Frequency),定義為F=f/f_s\,f_s\,為取樣頻率。
下圖為frequency sampling方式所設計出來的濾波器(脈衝響應長度N=33\,):
FSAMPLE4.png
下圖為frequency sampling方式所設計出來的濾波器脈衝響應:
FSAMPLE3.png
  • 其他方式。

参见 [编辑]