第4章数字滤波器设计通信与电子信息当中,在对信号作分析与处理时,常会用到有用信号叠加无用噪声的问题。这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波滤波器的种类很多,实现方法也多种多样,本章利用Matlab来进行数字滤波器的设计。数字滤波器是一离散时间系统,它对输入序列x(n)进行加工处理后,输出序列y(n),并使y(n)的频谱与x(n)的频谱相比发生某种变化。由DSP理论得知,无限长冲激响应(IIR)需要递归模型来实现,有限长冲激啊应(FIR)滤波器可以采用递归的方式也可采用非递归的方式实现。本章把FIR与IIR滤波器分别用Matlab进行分析与设计。数字滤波器的结构参看《数字信号处理》一书。数字滤波器的设计一般经过三个步骤:1.给出所需滤波器的技术指标。2.设计一个H(Z),使其逼近所需要的技术指标。3.实现所设计的H(Z)。4.1IIR数字滤波器设计设计IIR数字滤波器的任务就是寻求一个因果、物理可实现的系统函数H(z),使它的频响H(ele)满足所希望得到的低通频域指标,即通带衰减Ap、阻带衰减Ar通带截频のp、阻带截频のr。而其它形式的滤波器由低通的变化得到。采用间接法设计IIR数字滤波器就是按给定的指标,先设计一个模拟滤波器,进而通过模拟域与数字域的变换,求得物理可实现的数字滤波器。从模拟滤波器变换到数字滤波器常用的有:脉冲响应不变法和双线性变换法。IIR滤波器的设计
第 4 章 数字滤波器设计 通信与电子信息当中,在对信号作分析与处理时,常会用到有用信号叠加无用 噪声的问题。这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的, 在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。根 据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波。 滤波器的种类很多,实现方法也多种多样,本章利用 Matlab 来进行数字滤波器的 设计。 数字滤波器是一离散时间系统,它对输入序列 x(n)进行加工处理后,输出序列 y(n),并使 y(n)的频谱与 x(n)的频谱相比发生某种变化。 由 DSP 理论得知,无限长冲激响应(IIR)需要递归模型来实现,有限长冲激 响应(FIR)滤波器可以采用递归的方式也可采用非递归的方式实现。本章把 FIR 与 IIR 滤波器分别用 Matlab 进行分析与设计。数字滤波器的结构参看《数字信号处 理》一书。 数字滤波器的设计一般经过三个步骤: 1.给出所需滤波器的技术指标。 2.设计一个 H(Z),使其逼近所需要的技术指标。 3.实现所设计的 H(Z)。 4.1 IIR 数字滤波器设计 设计 IIR 数字滤波器的任务就是寻求一个因果、物理可实现的系统函数 H(z), 使它的频响 H(ejω)满足所希望得到的低通频域指标,即通带衰减 Ap、阻带衰减 Ar、 通带截频 ωp、阻带截频 ωr。而其它形式的滤波器由低通的变化得到。 采用间接法设计 IIR 数字滤波器就是按给定的指标,先设计一个模拟滤波器, 进而通过模拟域与数字域的变换,求得物理可实现的数字滤波器。从模拟滤波器变 换到数字滤波器常用的有:脉冲响应不变法和双线性变换法。IIR 滤波器的设计
过程如下数字频域指标→模拟频域指标→设计模拟滤波器H(S)→设计数字滤波器H(z1.模拟滤波器简介模拟滤波器的设计方法已经发展得十分成熟,常用的高性能模拟低通滤波器有巴特沃斯型、切比雪夫型和椭圆型,而高通、带通、带阻滤波器则可以通过对低通进行频率变换来求得。必须指出,这三种滤波器都是非线性的相频特性。具体设计方法参见《数字信号处理》一书。(1)巴特沃斯低通滤波器的特点是:通、阻带均为单调下降。这种单调下降的特性使得系统的误差分布不均匀。在设计中,如果在通带满足指标,阻带指标就过于好了。或者说,在阻带满足指标,通带指标也过于好了。这样不利于以最小的阶数来满足设计指标。(2)切比雪夫模拟低通滤波器分成1型和丨1型:「型是通带等波纹,阻带单调下降;「「型滤波器是通带单调下降,阻带等波纹。切比雪夫的等波纹特性使得可以用较小的阶数设计出符合指标的滤波器。(3)椭圆滤波器特点是通、阻带均为等波纹。椭圆滤波器的误差均匀分布在通、阻带,比较上面几种滤波器,在同样衰耗指标下,椭圆滤波器所要求的阶数最小。在同样阶数情况下,椭圆滤波器的通带到阻带的变化最陡峭、性能最好2.模拟滤波器映射到数字滤波器从模拟滤波器变换到数字滤波器常用的有:冲激响应不变法和双线性变换法。(1)冲激响应不变法冲激响应不变法的基本思路为:设模拟滤波器的单位冲激响应为ha(),数字滤波器的单位脉冲响应h(n),是对ha()的均匀取样,即H(S) 一拉低速变换→h(t) 一抽样→ h(n)=h(nT) _变换→ H(2)
过程如下 数字频域指标 → 模拟频域指标 → 设计模拟滤波器 H(S) → 设计数字滤波器 H(z) 1. 模拟滤波器简介 模拟滤波器的设计方法已经发展得十分成熟,常用的高性能模拟低通滤波器有 巴特沃斯型、切比雪夫型和椭圆型,而高通、带通、带阻滤波器则可以通过对低通 进行频率变换来求得。必须指出,这三种滤波器都是非线性的相频特性。具体设计 方法参见《数字信号处理》一书。 (1)巴特沃斯低通滤波器的特点是:通、阻带均为单调下降。这种单调下降的特 性使得系统的误差分布不均匀。在设计中,如果在通带满足指标,阻带指标就过于 好了。或者说,在阻带满足指标,通带指标也过于好了。这样不利于以最小的阶数 来满足设计指标。 (2)切比雪夫模拟低通滤波器 分成Ι型和ΙΙ型:Ι型是通带等波纹,阻带单调 下降; ΙΙ型滤波器是通带单调下降,阻带等波纹。切比雪夫的等波纹特性使得 可以用较小的阶数设计出符合指标的滤波器。 (3)椭圆滤波器特点是通、阻带均为等波纹。椭圆滤波器的误差均匀分布在通、 阻带,比较上面几种滤波器,在同样衰耗指标下,椭圆滤波器所要求的阶数最小。 在同样阶数情况下,椭圆滤波器的通带到阻带的变化最陡峭、性能最好。 2.模拟滤波器映射到数字滤波器 从模拟滤波器变换到数字滤波器常用的有:冲激响应不变法和双线性变换法。 (1)冲激响应不变法 冲激响应不变法的基本思路为:设模拟滤波器的单位冲激响应为 ha(t),数 字滤波器的单位脉冲响应 h(n),是对 ha(t)的均匀取样,即 H(S) ⎯拉氏逆变换 ⎯⎯⎯→ h(t) ⎯抽样⎯→ h(n)= h(nT) ⎯z变换⎯→ H(z)
冲激响应不变法由于保持了模拟滤波器的冲激响应在取样时刻的取样值,所以具有较好的时间特性。但由于从模拟域(s域)变换到数字域(域)的映射关系不是一一对应的关系,因而频谱混叠难以避免,所以在实际应用中有它的局限性。3.Matlab滤波器设计函数简介使用MATLAB信号处理工具箱中提供的函数可以很容易地实现IIR滤波器设计常用的IIR数字滤波器设计函数有:(1)IIR滤波器阶数(order)选择buttord-巴特沃斯(Butterworth)滤波器阶数选择cheblord-切比雪夫(Chebyshev)「型滤波器阶数选择cheb2ord-切比雪夫(Chebyshev)ⅡI型滤波器阶数选择ellipord-椭圆(Elliptic)滤波器阶数选择buttord用来确定巴特沃斯滤波器的阶数:[N,We]=buttord (Wp,Wr,Ap,Ar,options)Ap,Ar为通带最大衰减和阻带最小衰减,以dB为单位;Wp,Wr为归一化通带截频和阻带截频。Options="low,high,"bandpass,"stop,"s,分别对应低通、高通、带通、带阻、模拟滤波器,默认情况下,为低通或带通。对于带通和带阻滤波器Wp=[Wpl,Wp2]Wp1和Wp2为通带的上、下截频,Wr=[Wr1,Wr2],Wr1和Wr2分别为阻带的上下截频。若为模拟滤波器定阶,令Options=s,则Wp和Wr以(归一或非归一)给出,因此可大于1。输出参数N为滤波器的阶数,Wc为归一化3dB截频。若Ap=3dB,则Wc=Wp其他滤波器的定阶函数类似buttord的格式:切比雪夫I型滤波器[N,We]=cheblord(Wp,Wr,Ap,Ar)切比雪夫II型滤波器[N,We]=cheb2ord(Wp,Wr,Ap,Ar)椭圆滤波器[N,Wc]=ellipord(Wp,Wr,Ap,Ar)(2)完整的滤波器设计函数,根据滤波器阶数和通带截频设计出实际数字滤波器
冲激响应不变法由于保持了模拟滤波器的冲激响应在取样时刻的取样值,所以 具有较好的时间特性。但由于从模拟域(s 域)变换到数字域(z 域)的映射关系 不是一一对应的关系,因而频谱混叠难以避免, 所以在实际应用中有它的局限性。 3. Matlab 滤波器设计函数简介 使用 MATLAB 信号处理工具箱中提供的函数可以很容易地实现 IIR 滤波器设计。 常用的 IIR 数字滤波器设计函数有: (1)IIR 滤波器阶数(order)选择 buttord - 巴特沃斯(Butterworth)滤波器阶数选择 cheb1ord - 切比雪夫(Chebyshev)I 型滤波器阶数选择 cheb2ord - 切比雪夫(Chebyshev)II 型滤波器阶数选择 ellipord - 椭圆(Elliptic)滤波器阶数选择 buttord 用来确定巴特沃斯滤波器的阶数: [N,Wc] = buttord (Wp,Wr,Ap,Ar,options) Ap,Ar 为通带最大衰减和阻带最小衰减,以 dB 为单位; Wp,Wr 为归一化通带截频和阻带截频。 Options=’low’, ’high’, ’bandpass’, ’stop’, ’s’, 分别对应低通、高通、带通、带阻、 模拟滤波器,默认情况下,为低通或带通。对于带通和带阻滤波器 Wp=[Wp1,Wp2], Wp1 和 Wp2 为通带的上、下截频,Wr=[Wr1,Wr2],Wr1 和 Wr2 分别为阻带的上、 下截频。若为模拟滤波器定阶,令 Options= ’s’, 则 Wp 和 Wr 以(归一或非归一) 给出,因此可大于 1。 输出参数 N 为滤波器的阶数,Wc 为归一化 3dB 截频。若 Ap=3dB,则 Wc= Wp。 其他滤波器的定阶函数类似 buttord 的格式: 切比雪夫 I 型滤波器[N,Wc] = cheb1ord(Wp, Wr, Ap, Ar) 切比雪夫 II 型滤波器[N,Wc] = cheb2ord(Wp, Wr, Ap, Ar) 椭圆滤波器[N,Wc] = ellipord(Wp, Wr, Ap, Ar) (2)完整的滤波器设计函数,根据滤波器阶数和通带截频设计出实际数字滤波器
的H()(模拟域到数字域的变换只采用双线性变换法):butter-巴特沃斯(Butterworth)滤波器设计cheby1-切比雪夫(Chebyshev)「型滤波器设计cheby2--切比雪夫(Chebyshev)IⅡI型滤波器设计ellip-椭圆(Elliptic)滤波器设计maxflat-通用的巴特沃斯(Butterworth)低通滤波器设计yulewalk-Yule-Walker滤波器设计(直接数字滤波器设计法)butter的格式如下:[b,a]=butter(N,Wc,options)[z,p,k]=butter(N,Wc,options)[A,B,C,D] = butter(N,Wc,options)N为滤波器的阶数,Wc为频率归一化后的3dB截频:0<Wc<1。Options="low,"high',bandpass,stop’,'s,分别对应低通、高通、带通、带阻、模拟滤波器,默认情况下,为低通或带通。对于带通和带阻滤波器,Wc-[W1,W2]W1和W2分别为通带的上、下截频。输出变量的三种格式对应着滤波器系统函数H(-)的分子分母多项式形式、零极点-增益形式和状态空间形式。若设计模拟滤波器,令Options='s,则Wc以rad/s(归一化或非归一化)给出,因此可大于1。例1.设计一个数字低通滤波器,要求在0~0.2㎡内衰耗不大于3dB,在0.6m~内衰耗不小于60dB。解:若模拟低通原型采用巴特沃斯滤波器:[N,We]=buttord(0.2,0.6,3,60);[b,a]-butter(N,We);freqz(b,a);axis([0,1,-120,0])
的 H(z) (模拟域到数字域的变换只采用双线性变换法): butter - 巴特沃斯(Butterworth)滤波器设计 cheby1 -切比雪夫(Chebyshev)I 型滤波器设计 cheby2 - -切比雪夫(Chebyshev)II 型滤波器设计 ellip - 椭圆(Elliptic)滤波器设计 maxflat - 通用的巴特沃斯(Butterworth)低通滤波器设计 yulewalk - Yule-Walker 滤波器设计(直接数字滤波器设计法) butter 的格式如下: [b,a] = butter(N,Wc,options) [z,p,k] = butter(N,Wc,options) [A,B,C,D] = butter(N,Wc,options) N 为滤波器的阶数,Wc 为频率归一化后的 3dB 截频:0 < Wc < 1。 Options=’low’, ’high’, ’bandpass’, ’stop’, ’s’, 分别对应低通、高通、带通、带阻、模 拟滤波器,默认情况下,为低通或带通。对于带通和带阻滤波器,Wc=[W1,W2], W1 和 W2 分别为通带的上、下截频。 输出变量的三种格式对应着滤波器系统函数 H (z)的分子分母多项式形式、零 极点-增益形式和状态空间形式。若设计模拟滤波器,令 Options= ’s’, 则 Wc 以 rad/ s(归一化或非归一化)给出,因此可大于 1。 例1. 设计一个数字低通滤波器,要求在 0~0.2π内衰耗不大于 3dB,在 0.6π~π 内衰耗不小于 60dB。 解:若模拟低通原型采用巴特沃斯滤波器: [N,Wc]=buttord(0.2,0.6,3,60); [b,a]=butter(N,Wc); freqz(b,a);axis([0,1,-120,0]);
U-208-40aonubew-60-801001200.10.2A0.80.9NormalizedFreguencyfxradsampleL100(saalfap-200-300a-4005000.10.90.20.30.40.60.60.70.8NormalizedFrequency(xtrad/sample)可见,相位为非线性。例2使用脉冲响应不变法设计一个数字带通滤器,其指标为:1)3dB通带中心频率在2。=0.52)上截频Q2=0.55元,下截频Q=0.45元3)在阻带,=0.6元处,最小衰耗A=10dB设取样周期T=5元π×10-6s,要求/Q|>2.衰耗曲线单调增加。解:(1)确定数字频率指标omega0=0.5*pi;%通带中心频率omegacl=0.45*pi;omegac2=0.55*pi;Apmax=3;%通带截频omegar2=0.6*pi,Armin=10;T=5*pi*10^(-6);%取样间隔(2)利用脉冲响应不变法设计数字滤波器1)按给定数字频率求得相应的模拟角频率wc1=omegac1/T; wc2=omegac2/T;w0=omega0/T,omegar1=omega0-(omegar2-omega0);wr1=omegar1/T;wr2=omegar2/T;
可见,相位为非线性。 例 2 使用脉冲响应不变法设计一个数字带通滤器,其指标为: 1) 3dB 通带中心频率在 0 = 0.5π 2) 上截频 c2 = 0.55π,下截频 c1 = 0.45π 3) 在阻带 r = 0.6π处,最小衰耗 A=10dB 设取样周期 T=5π×10-6 s,要求| |> 0 衰耗曲线单调增加。 解:(1)确定数字频率指标 omega0=0.5*pi; %通带中心频率 omegac1=0.45*pi ; omegac2=0.55*pi; Apmax=3; %通带截频 omegar2=0.6*pi; Armin=10; T=5*pi*10^(-6); %取样间隔 (2)利用脉冲响应不变法设计数字滤波器 1) 按给定数字频率求得相应的模拟角频率 wc1=omegac1/T; wc2=omegac2/T; w0=omega0/T; omegar1=omega0-(omegar2-omega0); wr1=omegar1/T; wr2=omegar2/T;