数字滤波器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字滤波器设计
通信与电子信息当中,在对信号作分析与处理时,常会用到有用信号叠加无用噪声的问题。这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的,在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波。滤波器的种类很多,实现方法也多种多样,本章利用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),jω使它的频响H(e)满足所希望得到的低通频域指标,即通带衰减A、阻带衰减A、 pr通带截频ω、阻带截频ω。而其它形式的滤波器由低通的变化得到。pr
采用间接法设计IIR数字滤波器就是按给定的指标,先设计一个模拟滤波器,进而通过模拟域与数字域的变换,求得物理可实现的数字滤波器。从模拟滤波器变换到数字滤波器常用的有:脉冲响应不变法和双线性变换法。IIR滤波器的设计过程如下
,,,数字频域指标模拟频域指标设计模拟滤波器H(S) 设计数字滤波器H(z) 1. 模拟滤波器简介
模拟滤波器的设计方法已经发展得十分成熟,常用的高性能模拟低通滤波器有巴特沃斯型、切比雪夫型和椭圆型,而高通、带通、带阻滤波器则可以通过对低通进行频率变换来求得。必须指出,这三种滤波器都是非线性的相频特性。具体设计方法参见《数字信号处理》一书。
(1)巴特沃斯低通滤波器的特点是:通、阻带均为单调下降。这种单调下降的特性使得系统的误差分布不均匀。在设计中,如果在通带满足指标,阻带指标就过于好了。或者说,在阻带满足指标,通带指标也过于好了。这样不利于以最小的阶数来满足设计指标。
(2)切比雪夫模拟低通滤波器分成Ι型和ΙΙ型:Ι型是通带等波纹,阻带单调下降; ΙΙ型滤波器是通带单调下降,阻带等波纹。切比雪夫的等波纹特性使得可以用较小的阶数设计出符合指标的滤波器。
(3)椭圆滤波器特点是通、阻带均为等波纹。椭圆滤波器的误差均匀分布在通、阻带,比较上面几种滤波器,在同样衰耗指标下,椭圆滤波器所要求的阶数最小。在同样阶数情况下,椭圆滤波器的通带到阻带的变化最陡峭、性能最好。2(模拟滤波器映射到数字滤波器
从模拟滤波器变换到数字滤波器常用的有:冲激响应不变法和双线性变换法。(1)冲激响应不变法
冲激响应不变法的基本思路为:设模拟滤波器的单位冲激响应为h(t),数 a字滤波器的单位脉冲响应h(n),是对h(t)的均匀取样,即 a
拉氏逆变换抽样z变换,,,,,,,,,,,,, H(S)h(t) h(n)= h(nT) H(z)
冲激响应不变法由于保持了模拟滤波器的冲激响应在取样时刻的取样值,所以具有较好的时间特性。但由于从模拟域(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(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。