欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > FIR数字滤波器设计——窗函数设计法——滤波器的时域截断

FIR数字滤波器设计——窗函数设计法——滤波器的时域截断

2024/12/29 6:04:46 来源:https://blog.csdn.net/u013600306/article/details/144773182  浏览:    关键词:FIR数字滤波器设计——窗函数设计法——滤波器的时域截断

与IIR数字滤波器的设计类似,设计FIR数字滤波器也需要事先给出理想滤波器频率响应 H ideal ( e j ω ) H_{\text{ideal}}(e^{j\omega}) Hideal(e),用实际的频率响应 H ( e j ω ) H(e^{j\omega}) H(e)去逼近 H ideal ( e j ω ) H_{\text{ideal}}(e^{j\omega}) Hideal(e),在此以低通FIR数字滤波器为例介绍窗函数设计法。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

线性相位的理想低通FIR数字滤波器频率响应为
H ideal ( e j ω ) = { e − j ω τ , 0 ⩽ ∣ ω ∣ ⩽ ω c 0 , ω c < ∣ ω ∣ ⩽ π H_{\text{ideal}}(e^{j\omega}) = \begin{cases} e^{-j\omega\tau}, & 0 \leqslant |\omega| \leqslant \omega_c \\ 0, & \omega_c < |\omega| \leqslant \pi \end{cases} Hideal(e)={eτ,0,0ωωcωc<ωπ

其中, ω c \omega_c ωc为截止频率,幅度函数为
H ideal ( ω ) = { 1 , 0 ⩽ ∣ ω ∣ ⩽ ω c 0 , ω c < ∣ ω ∣ ⩽ π H_{\text{ideal}}(\omega) = \begin{cases} 1, & 0 \leqslant |\omega| \leqslant \omega_c \\ 0, & \omega_c < |\omega| \leqslant \pi \end{cases} Hideal(ω)={1,0,0ωωcωc<ωπ

对应的滤波器单位脉冲响应 h ideal ( n ) h_{\text{ideal}}(n) hideal(n)

h ideal ( n ) = IDTFT [ H ideal ( e j ω ) ] = 1 2 π ∫ − ω c ω c e − j ω τ e j ω n d ω = sin ⁡ [ ω c ( n − τ ) ] π ( n − τ ) h_{\text{ideal}}(n) = \text{IDTFT} \left[ H_{\text{ideal}}(e^{j\omega}) \right] = \frac{1}{2\pi} \int_{-\omega_c}^{\omega_c} e^{-j\omega\tau} e^{j\omega n} d\omega = \frac{\sin[\omega_c(n - \tau)]}{\pi(n - \tau)} hideal(n)=IDTFT[Hideal(e)]=2π1ωcωceτejωndω=π(nτ)sin[ωc(nτ)]

可以看出, h ideal ( n ) h_{\text{ideal}}(n) hideal(n)为偶对称序列,对称中心为 n = τ n = \tau n=τ

h ideal ( n ) h_{\text{ideal}}(n) hideal(n)也是一个无限长的非因果序列,这在计算机或 DSP 中是无法实现的。简便的办法就是对 h ideal ( n ) h_{\text{ideal}}(n) hideal(n)进行截断,也就是用一个有限时长的窗函数 w ( n ) w(n) w(n) h ideal ( n ) h_{\text{ideal}}(n) hideal(n)相乘。设窗函数长度为 N N N,则在时域截断后的滤波器单位脉冲响应 h ( n ) h(n) h(n)

h ( n ) = h ideal ( n ) ⋅ w ( n ) h(n) = h_{\text{ideal}}(n) \cdot w(n) h(n)=hideal(n)w(n)

其中,窗函数长度和形状是两个非常重要的设计参数。

为保证 h ( n ) h(n) h(n)为因果序列,时域截断时取 n = τ n = \tau n=τ为对称中心,并且设 τ = N − 1 2 \tau = \frac{N-1}{2} τ=2N1。这种截断方式就好比用一个 N N N点矩形窗 R N ( n ) R_N(n) RN(n) h ideal ( n ) h_{\text{ideal}}(n) hideal(n)相乘,即

h ( n ) = h ideal ( n ) ⋅ R N ( n ) = { h ideal ( n ) , 0 ⩽ n ⩽ N − 1 0 , 其他  n h(n) = h_{\text{ideal}}(n) \cdot R_N(n) = \begin{cases} h_{\text{ideal}}(n), & 0 \leqslant n \leqslant N-1 \\ 0, & \text{其他 } n \end{cases} h(n)=hideal(n)RN(n)={hideal(n),0,0nN1其他 n

由频域卷积定理可知,时域相乘对应频域卷积,故实际滤波器的频率响应为

H ( e j ω ) = DTFT [ h ideal ( n ) ⋅ w ( n ) ] = 1 2 π [ H ideal ( e j ω ) ∗ W N ( e j ω ) ] H(e^{j\omega}) = \text{DTFT} \left[ h_{\text{ideal}}(n) \cdot w(n) \right] = \frac{1}{2\pi} \left[ H_{\text{ideal}}(e^{j\omega}) * W_N(e^{j\omega}) \right] H(e)=DTFT[hideal(n)w(n)]=2π1[Hideal(e)WN(e)]

N N N点矩形窗 R N ( n ) R_N(n) RN(n)的 DTFT 结果为

W N ( e j ω ) = DTFT [ R N ( n ) ] = e − j N − 1 2 ω sin ⁡ ( ω N / 2 ) sin ⁡ ( ω / 2 ) W_N(e^{j\omega}) = \text{DTFT} \left[ R_N(n) \right] = e^{-j\frac{N-1}{2}\omega} \frac{\sin(\omega N/2)}{\sin(\omega/2)} WN(e)=DTFT[RN(n)]=ej2N1ωsin(ω/2)sin(ωN/2)

N N N点矩形窗也是严格线性相位的 FIR 数字滤波器,其幅度函数为

W N ( ω ) = sin ⁡ ( ω N / 2 ) sin ⁡ ( ω / 2 ) W_N(\omega) = \frac{\sin(\omega N/2)}{\sin(\omega/2)} WN(ω)=sin(ω/2)sin(ωN/2)

由 DTFT 的时移特性可知,相位函数只会对 h ( n ) h(n) h(n)起时移作用,因此 H ( e j ω ) H(e^{j\omega}) H(e)的幅度函数只取决于理想低通的幅度函数 H ideal ( ω ) H_{\text{ideal}}(\omega) Hideal(ω)和矩形窗的幅度函数 W N ( ω ) W_N(\omega) WN(ω),即

H ( ω ) = 1 2 π [ H ideal ( ω ) ∗ W N ( ω ) ] H(\omega) = \frac{1}{2\pi} \left[ H_{\text{ideal}}(\omega) * W_N(\omega) \right] H(ω)=2π1[Hideal(ω)WN(ω)]

理想低通滤波器的通带幅度为 1,阻带幅度为 0,但实际的低通滤波器在通带和阻带都出现起伏振荡的现象,在其过渡带的边缘出现了正、负肩峰,即极大值和极小值。正肩峰出现在窗函数主瓣刚刚全部进入理想低通滤波器 ( ω = − ω c + 2 π N ) \left(\omega = -\omega_c + \frac{2\pi}{N}\right) (ω=ωc+N2π),以及窗函数主瓣即将移出理想低通滤波器 ( ω = ω c − 2 π N ) \left(\omega = \omega_c - \frac{2\pi}{N}\right) (ω=ωcN2π)的时候。负肩峰表示卷积结果的极小值,负肩峰出现在窗函数主瓣即将进入理想低通滤波器 ( ω = − ω c − 2 π N ) \left(\omega = -\omega_c - \frac{2\pi}{N}\right) (ω=ωcN2π),以及窗函数主瓣刚刚全部移出理想低通滤波器 ( ω = ω c + 2 π N ) \left(\omega = \omega_c + \frac{2\pi}{N}\right) (ω=ωc+N2π)的时候。
在这里插入图片描述

只要确保 h ( n ) h(n) h(n)为偶对称或奇对称的,就可以不再“操心”线性相位的需求,“专心”考虑FIR数字滤波器的幅度指标即可。

实际滤波器幅频响应起伏振荡的幅度取决于窗函数旁瓣的相对幅度,而起伏振荡的次数取决于窗函数旁瓣的数量。增加窗函数的长度(不改变窗函数的形状),过渡带的宽度变窄,振荡起伏变密,但是滤波器肩峰的相对值(相对于1或者0)保持8.95%不变,这种现象称作“吉布斯(Gibbs)效应”。

在这里插入图片描述

我们知道信号的时域截断会引起频谱泄漏。窗函数法也是在时域进行截断,出现的“过渡带”“吉布斯效应”等其实都是频谱泄漏在FIR数字滤波器设计中的体现。只不过信号的时域截断引起的频谱泄漏主要是分析信号的频谱,这里的频谱泄露主要是分析系统(滤波器)的频谱。

这里只介绍利用窗函数法设计低通FIR数字滤波器,如果要设计其他类型的FIR数字滤波器,只需要采用对应的理想滤波器频率响应即可,在此不再进一步讨论。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com