经典滤波器的设计原理

您所在的位置:网站首页 滤波器检测方法 经典滤波器的设计原理

经典滤波器的设计原理

2024-01-09 16:28| 来源: 网络整理| 查看: 265

前言

想写一篇文章,包含经典滤波器的万象。

1、滤波器基础知识

总的来说,滤波器可分为经典滤波器和现代滤波器两大类。经典滤波器是假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频带。这样,当x(n)通过一个线性系统(滤波器)之后可以将欲去除的成分有效去除。如果信号和噪声的频谱相互重叠,那么经典滤波器将无能为力。

现代滤波器的主要内容是从含有噪声的数据记录中估计出信号的某些特征或信号本身。一旦信号被估计出,那么利用它们的统计特征,如自相关函数、功率谱等,导出一套最佳的估值算法,所得到的估计信号的信噪比会比原信号更高。典型的现代滤波器是维纳滤波器。

对于常用的数字滤波器,一般分为IIR滤波器和FIR滤波器。 IIR滤波器的转移函数为 H ( z ) = ∑ r = 0 M b r z − r 1 + ∑ k = 1 N a k z − k H(z)=\frac{\sum_{r=0}^{M}b_{r}z^{-r}}{1+\sum_{k=1}^{N}a_{k}z^{-k}} H(z)=1+∑k=1N​ak​z−k∑r=0M​br​z−r​ FIR滤波器的转移函数为 H ( z ) = ∑ n = 0 N − 1 h ( n ) z − n H(z)=\sum_{n=0}^{N-1}h(n)z^{-n} H(z)=n=0∑N−1​h(n)z−n 这两者滤波器无论是在性能还是设计方法上都有很大区别。FIR滤波器可以对给定频率特性直接进行设计,而IIR滤波器目前最通用的方法是利用已经很成熟的模拟滤波器的设计方法来进行设计。而模拟滤波器的设计方法有ButterWorth滤波器,Chebyshev滤波器。本文讨论的主要是经典滤波器的设计。

2、FIR滤波器和IIR滤波器的选择思路

这两类的滤波器特点如下所示: 1)FIR单位冲击响应为有限长,而IIR单位冲激响应为无限长。 2)从滤波器结构看,IIR滤波器为递归结构,即系统存在反馈环节,受有限字长效应影响较大,可能产生震荡。而FIR滤波器采用非递归结构,无反馈环节,系统只有零值极点,系统永远稳定,有限字长效应很小,运算误差较小。 3)从成本来看,IIR滤波器的极点可位于单位圆内任意一点,因此可用较低的阶数获得较高的选择性。由于阶数低,所需要的的储存单元较少,比较经济。而在相同指标条件下,FIR滤波器的阶数远高于IIR滤波器。其原因是FIR滤波器只有原点处的极点,智能用高阶数实现高频率选择性。通常实现同样指标,FIR滤波器需要的阶数是IIR滤波器的5-10倍。 4)从性能上看,IIR滤波器的相位特性一般是非线性,而FIR滤波器的相位特性则往往是线性。 5)从设计上看,IIR滤波器可借助模拟滤波器的计算结果,而FIR滤波器没有现成的设计公式。 6)IIR滤波器受模拟滤波器类型的约束,只适合设计具有片段性特性的滤波器,如低通、高通、带通、带阻等。而FIR滤波器除这些外,还可设计具有某些特殊用途的滤波器,如微分器、正交变换器等。 7) 从使用要求看,IIR适用于对相位要求不敏感的情况,如语音、通信等,而FIR可用于对线性相位特性要求高的地方,如图像信号处理等。 综上所述,没有哪一种类型的滤波器在所有情况下都是最好的,必须根据实际情况选择合适的滤波器。有两点比较有用的经验是: 1) 当过度带宽这个指标非常重要且要求苛刻,也就是滤波器要求锐截止时,首选IIR滤波器,因为此时FIR滤波器所需的系数非常多,效率很低。 2)当相位的线性要求非常高时,首选FIR滤波器,因为即便增加相位补偿处理,IIR滤波器在边沿仍有比较明显的非线性。

3、滤波器的设计思路

不论是FIR滤波器还是IIR滤波器的设计都包括以下3个步骤: 1、给出所需要的滤波器的技术指标; 2、设计一个H(z)使其逼近所需要的技术指标; 3、实现所设计的H(z)。

前面已经讲过,IIR滤波器设计最通用的方法是借助于模拟滤波器的设计方法。设计步骤如下: 1)按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的设计指标,注意,是模拟低通滤波器,低通。 2) 根据转换后的指标设计模拟低通滤波器G(s) 3)按一定的规则将G(s)转换为H(z); 若设计的数字滤波器本身就是低通的,则前面三步即可。如果所设计的数字滤波器是高通、带通、带阻滤波器,则还有步骤4. 4)将高通、带通、带阻数字滤波器的技术指标先转换为低通模拟滤波器的技术指标,然后再重复2-4步骤。

4、由低通滤波器转换到高通、带通、带阻

用 H L ( z ) H_{L}(z) HL​(z) 表示低通滤波器的传递函数,通道边沿频率为 w l p w_{lp} wlp​,阻带边沿频率为 w l s w_{ls} wls​,则高通滤波器的传递函数 H H ( z ) H_{H}(z) HH​(z)可写为 H H ( z ) = 1 − H L ( z ) H_{H}(z)=1-H_{L}(z) HH​(z)=1−HL​(z) ,这样,所得到的高通滤波器的通带边沿频率及阻带边沿频率为 w h p = w l s w_{hp}=w_{ls} whp​=wls​, w h s = w l p w_{hs}=w_{lp} whs​=wlp​。 其实思路非常好理解,相当于把原始信号减去进行完低通滤波后的信号,不就得到了高通滤波的信号了。 有了这个思路之后,用两个低通滤波器就可以得到带通滤波器,和带阻滤波器了,思路一模一样。

5、IIR滤波器的设计 5.1 IIR滤波器的主要特征

IIR的单位冲激响应的 h ( n ) h(n) h(n)用数学公式表示如下: h ( n ) ≠ 0 , 0 ≤ n < ∞ h(n) \ne0,0\le n\Omega_{p} Ω>Ωp​,即 λ p > 1 \lambda_{p}>1 λp​>1时, ∣ G ( j λ ) ∣ 2 |G(j\lambda)|^{2} ∣G(jλ)∣2也是单调减小。但是,这个时候由于 λ > 1 \lambda >1 λ>1,因此,N越大,衰减速度越大。 如下图所示。 在这里插入图片描述

(3)确定G(s)

与归一化频率 λ = Ω / Ω p \lambda=\Omega/\Omega_{p} λ=Ω/Ωp​相对应,归一化复数变量为p, p = j λ = j Ω / Ω p = s / Ω p p=j\lambda=j\Omega/\Omega_{p}=s/\Omega_{p} p=jλ=jΩ/Ωp​=s/Ωp​,代入得到 G ( p ) G ( − p ) = 1 1 + ( p / j ) 2 N = 1 1 + ( − 1 ) N p 2 N G(p)G(-p)=\frac{1}{1+(p/j)^{2N}}=\frac{1}{1+(-1)^{N}p^{2N}} G(p)G(−p)=1+(p/j)2N1​=1+(−1)Np2N1​ 要确定G(s),我们需要确定G(s)的极点所在。令 1 + ( − 1 ) N p 2 N = 0 1+(-1)^{N}p^{2N}=0 1+(−1)Np2N=0 解得, p k = e x p ( j 2 k + N − 1 2 N π ) , k = 1 , 2 , . . . 2 N p_{k}=exp(j\frac{2k+N-1}{2N}\pi),k=1,2,...2N pk​=exp(j2N2k+N−1​π),k=1,2,...2N

5.2.3 例题

试设计一个模拟低通butterworth滤波器,要求截止频率 f p = 5000 H z f_{p}=5000Hz fp​=5000Hz,通带最大衰减为 α p = 3 d B \alpha_{p}=3dB αp​=3dB,阻带起始频率为 f s = 10000 H z f_{s}=10000Hz fs​=10000Hz,阻带最小衰减 α s = 30 d B \alpha_{s}=30dB αs​=30dB。 解答: 首先,我们将频率归一化, Ω p = 2 π 5000 H z , λ p = 1 , λ s = 2 \Omega_{p}=2\pi 5000Hz,\lambda_{p}=1,\lambda_{s}=2 Ωp​=2π5000Hz,λp​=1,λs​=2。

5.3 模拟滤波器到数字滤波器

将模拟滤波器映射到数字滤波器的方法有2种,分别是冲激不变法和双线性变换法。

5.3.1冲激不变法

冲激不变法本质上是一种将模拟滤波器转换成数字滤波器的方法,它的基本思想是对给定的模拟滤波器 H a ( s ) H_{a}(s) Ha​(s)进行LapLace反变换,得到滤波器的冲激响应 h a ( t ) h_{a}(t) ha​(t),然后对 h a ( t ) h_{a}(t) ha​(t)进行采样得到h(n),再对得到的h(n)进行Z变换,得到数字滤波器的传递函数H(z),从而得到滤波器的系数。基本实现框图如图所示: 在这里插入图片描述 假设模拟滤波器只有单阶极点,那么可以用部分分式分解的方法,将 H a ( s ) H_{a}(s) Ha​(s)分解为: H a ( s ) = ∑ i = 1 N R i s − s i H_{a}(s)=\sum_{i=1}^{N}\frac{R_{i}}{s-s_{i}} Ha​(s)=i=1∑N​s−si​Ri​​ R i R_{i} Ri​表示第i个极点的系数。得到反变换后的单位冲激响应 h a ( t ) h_{a}(t) ha​(t)为: h a ( t ) = ∑ i = 1 N R i e s i t u ( t ) h_{a}(t)=\sum_{i=1}^{N}R_{i}e^{s_{i}t}u(t) ha​(t)=i=1∑N​Ri​esi​tu(t) 这步的推导过程用到了 e a t e^{at} eat的LapLace变换为 1 s − a \frac{1}{s-a} s−a1​. 对 h a ( t ) h_{a}(t) ha​(t)进行采样,可得到数字滤波器的单位冲激响应h(n)为 h ( n ) = h a ( n T s ) = ∑ i = 1 N R i e s i n T s u ( n T s ) h(n)=h_{a}(nT_{s})=\sum_{i=1}^{N}R_{i}e^{s_{i}nT_{s}}u(nT_{s}) h(n)=ha​(nTs​)=i=1∑N​Ri​esi​nTs​u(nTs​) 其中 T s T_{s} Ts​为采样周期。对h(n)再进行Z变换,得到最后的数字滤波器的传递函数H(z)为 H ( z ) = ∑ R i 1 − e s i T s H(z)=\sum_{R_{i}}^{1-e^{s_{i}T_{s}}} H(z)=Ri​∑1−esi​Ts​​

6、FIR滤波器的设计

FIR滤波器是指单位冲激响应长度有限的滤波器。主要特征包括冲激响应长度有限、传递函数不包含极点、常用卷积来实现以及可保证严格的线性相位4个主要特征。

6.1FIR滤波器的基本特征

单位冲激响应 h ( n ) h(n) h(n)定义为 h ( n ) ≠ 0 , 0 ≤ n ≤ N − 1 h(n)\ne 0,0\le n \le N-1 h(n)​=0,0≤n≤N−1 长度为N的FIR滤波器零点个数为N-1。N-1也为FIR滤波器的阶数。 h(n)的Z变换为 H ( z ) = ∑ n = 0 N − 1 z − n = h ( 0 ) + h ( 1 ) z − 1 + h ( 2 ) z − 2 + . . . + h ( N − 1 ) z − ( N − 1 ) H(z)=\sum_{n=0}^{N-1}z^{-n}\\=h(0)+h(1)z^{-1}+h(2)z^{-2}+...+h(N-1)z^{-(N-1)} H(z)=n=0∑N−1​z−n=h(0)+h(1)z−1+h(2)z−2+...+h(N−1)z−(N−1) 我们可以知道,对FIR滤波器来说,单位冲激响应h(n),n=0,1,2,…N-1也即是滤波器的系数。因此,将输入及输出的差分方程可描述为: y ( n ) = h ( 0 ) x ( n ) + h ( 1 ) x ( n − 1 ) + . . . + h ( N − 1 ) x ( n − ( N − 1 ) ) y ( n ) = ∑ m = 0 N − 1 h ( m ) x ( n − m ) = h ( n ) ∗ x ( n ) y(n)=h(0)x(n)+h(1)x(n-1)+...+h(N-1)x(n-(N-1))\\y(n)=\sum_{m=0}^{N-1}h(m)x(n-m)=h(n)*x(n) y(n)=h(0)x(n)+h(1)x(n−1)+...+h(N−1)x(n−(N−1))y(n)=m=0∑N−1​h(m)x(n−m)=h(n)∗x(n) 我们可以看出,FIR滤波器当前时刻的输出仅与当前及之前时刻的输入有关。

6.2 FIR滤波器系数的计算方法

最常用的方法为窗函数法、频率采样法以及最优化方法。其中以最优化方法应用最为广泛。

参考资料

1、《数字信号处理 理论、算法与实现》 胡广书 著 2、《学以致用:深入浅出数字信号处理》 江志宏著



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3