原理
考虑设计一个低通FIR滤波器,通带截止频率是 ω p \omega_p ωp,阻带截止频率是 ω s \omega_s ωs。即满足:
1 − δ 1 ≤ H r ( ω ) ≤ 1 + δ 1 , ∣ ω ∣ ≤ ω p 1-\delta_1\le H_r(\omega)\le1+\delta_1, |\omega|\le\omega_p 1−δ1≤Hr(ω)≤1+δ1,∣ω∣≤ωp
− δ 2 ≤ H r ( ω ) ≤ δ 2 , ω s < ∣ ω ∣ < π -\delta_2\le H_r(\omega)\le\delta_2, \omega_s<|\omega|<\pi −δ2≤Hr(ω)≤δ2,ωs<∣ω∣<π
接下来, H r ( ω ) H_r(\omega) Hr(ω)经过变换可写成如下形式:
H r ( ω ) = Q ( ω ) P ( ω ) H_r(\omega)=Q(\omega)P(\omega) Hr(ω)=Q(ω)P(ω)
其中:
Q ( ω ) = { 1 h(n)对称,h(n)长度是奇数 c o s ω 2 h(n)对称,h(n)长度是偶数 s i n ω h(n)反对称,h(n)长度是奇数 s i n ω 2 h(n)反对称,h(n)长度是偶数 Q(\omega)= \begin{cases} 1& \text{h(n)对称,h(n)长度是奇数}\\ cos{\omega \over 2}& \text{h(n)对称,h(n)长度是偶数}\\ sin\omega& \text{h(n)反对称,h(n)长度是奇数}\\ sin{\omega \over 2}& \text{h(n)反对称,h(n)长度是偶数} \end{cases} Q(ω)=⎩⎪⎪⎪⎨⎪⎪⎪⎧1cos2ωsinωsin2ωh(n)对称,h(n)长度是奇数h(n)对称,h(n)长度是偶数h(n)反对称,h(n)长度是奇数h(n)反对称,h(n)长度是偶数
h(n)是FIR滤波器的单位脉冲响应。
P ( ω ) = ∑ k = 0 L α ( k ) c o s ω k P(\omega)= \sum_{k=0}^{L}\alpha(k)cos\omega k P(ω)=k=0∑Lα(k)cosωk
L与FIR滤波器h(n)的长度和对称性有关。具体可见《数字信号处理》John G.Proakis
接下来:
定义:理想低通滤波器为 H d r ( ω ) H_{dr}(\omega) Hdr(ω),在通带范围内幅度=1,阻带内幅度=0。
那么我们可以写出理想低通滤波器与我们设计的FIR滤波器的误差 E ( ω ) E(\omega) E(ω):
E ( ω ) = W ( ω ) [ H d r ( ω ) − H r ( ω ) ] = W ( ω ) [ H d r ( ω ) − Q ( ω ) P ( ω ) ] = W ( ω ) Q ( ω ) [ H d r ( ω ) Q ( ω ) − P ( ω ) ] \begin{aligned} E(\omega) & = W(\omega)\lbrack H_{dr}(\omega)-H_r(\omega)\rbrack \\ & =W(\omega)\lbrack H_{dr}(\omega)-Q(\omega)P(\omega)\rbrack \\ & = W(\omega)Q(\omega)\lbrack {H_{dr}(\omega) \over Q(\omega)}-P(\omega)\rbrack \\ \end{aligned} E(ω)=W(ω)[Hdr(ω)−Hr(ω)]=W(ω)[Hdr(ω)−Q(ω)P(ω)]=W(ω)Q(ω)[Q(ω)Hdr(ω)−P(ω)]
改下如下:
E ( ω ) = W ^ ( ω ) [ H ^ d r ( ω ) − P ( ω ) ] E(\omega)=\hat{W}(\omega)\lbrack \hat{H}_{dr}(\omega)-P(\omega)\rbrack E(ω)=W^(ω)[H^dr(ω)−P(ω)]
其中, W ^ ( ω ) \hat{W}(\omega) W^(ω)和 H ^ d r ( ω ) \hat{H}_{dr}(\omega) H^dr(ω)称为 W ( ω ) W(\omega) W(ω)和 H d r ( ω ) H_{dr}(\omega) Hdr(ω)的修正, W ( ω ) W(\omega) W(ω)是加权因子。
将 P ( ω ) = ∑ k = 0 L α ( k ) c o s ω k P(\omega)= \sum_{k=0}^{L}\alpha(k)cos\omega k P(ω)=∑k=0Lα(k)cosωk带入上式:
E ( ω ) = W ^ ( ω ) [ H ^ d r ( ω ) − ∑ k = 0 L α ( k ) c o s ω k ] E(\omega)=\hat{W}(\omega)\lbrack \hat{H}_{dr}(\omega)- \sum_{k=0}^{L}\alpha(k)cos\omega k\rbrack E(ω)=