好文档 - 专业文书写作范文服务资料分享网站

基于matlab 数字滤波器的设计 

天下 分享 时间: 加入收藏 我要投稿 点赞

图4-3凯泽窗设计的高通滤波器响应曲线

4.3.3 IIR数字滤波器的设计 4.3.3.1 IIR数字滤波器的设计方法

IIR数字滤波器最大的优点是给定一组指标时,他的阶数要比相同组的FIR滤波器的低得多。基于Matlab的IIR滤波器的设计方法主要有完全设计法、模拟原型设计法和直接设计法等。

a. 模拟原型法

采用经典低通滤波器作为连续域上的设计模型,通过频域变换得到IIR数字滤波器,最后还要进行离散化处理。Matlab提供的低通模拟滤波器原型函数包括:besselap,buttap,cheb1lp,cheb2ap,ellipap;频域变换函数包括:lp2bp,lp2bs,lp2hp,lp2lp;离散化处理函数有bilinear和impinvar。

b. 完全设计法

Matlab信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。

设计Butterworth滤波器用函数butter(),可以设计低通、高通、带通和带阻的数字和模拟滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。

24

设计Chebyshev I型滤波器用函数chebyl()。可以设计低通、高通、带通和带阻的数字和模拟ChebyshevI型滤披器,其通带内为等波纹,阻带内为单调。Chebyshev I型滤波器的下降斜度比II型大,但其代价是通带内波纹较大。

设计Chebyshev II型滤波器用函数cheby2()。可以设计低通、高通、带通和带阻的数字和模拟Chebyshev II型滤波器,其通带内为单调,阻带内等波纹。Chebyshev II型滤波器的下降斜度比I型小,但其阻带内波纹较大。

设计椭圆滤波器用函数ellip(),与cheby1,cheby2类似,可以设计低通、高通、带通和带阻的数字和模拟滤波器。与Butterworth和chebyshev滤波器相比,ellip函数可以得到下降斜度更大的滤波器,得到通带和阻带均为等波纹。一般情况下,椭圆滤波器能以最低的阶实现指定的性能指标。

c. 直接设计法

直接设计方法的思想是基于给定的滤波器参数直接在离散域上寻找合适的数字滤波器,他不限于常规的滤波器类型,如低通、高通、带通和带阻等。这种方法甚至可以设计多带的频率响应,Matlab提供yulewalk函数用于辅助设计。

d. 通用Butterworth设计方法

使用这种方法设计的Butterworth数字滤波器可以有不同数目的零点和极点,Matlab提供的maxflat函数实现了这一功能。这个函数与butter函数很相似,但他可以指定两个阶参数,其中归一化和非归一化各一个。如果这两个参数的值相同,那么他与butter函数的结果就是相同的。

e. 参数建模法

寻找接近于所需要设计的滤波器的通用模型,时域上的建模函数为lpc,prony,Stmcb;频域上的建模函数有invfreqs和invfreqz。 典型IIR数字滤波器的设计

双线性变换法

为了克服冲激响应不变法的频率混叠现象,需要使s平面与z平面建立一一对应的单值映射关系,即求出s=f(z),然后将它带入H(s),就可以求得H(z),即

H(z)=H(s)|s=f(z) (1) 为了克服多值映射这一缺点,我们首先把整个s平面压缩变换到某一中介的s1平面的一条横带里,其次再通过上面讨论过的标准变换关系z=e将此横带变换到整个z平面上去,这样就使s平面与z平面是一一对应的关系,消除了多值变换性,也就消除了频谱混叠现象。

例如试用双线性变换法设计一个ChebyshevⅡ高通滤波器,使其幅频特性逼近一个具有以下技术指标的模拟ChebyshevⅡ高通滤波器:Ws=2*pi*1kHz,Wp=2*pi*1.4kHz,在Ws

25

s1T

处的最小衰减为15dB,在Wp处的最大衰减不超过0.3dB,抽样频率为20kHz。 MATLAB程序为

ws=2*pi*1000; ws1=ws*2*pi; wp=2*pi*1400; wp1=wp*2*pi; rp=0.3; rs=15; fs=20000;

[N,Wn]=cheb2ord(wp1,ws1,rp,rs,’s’); [z,p,k]=cheb2ap(N,rs); [A,B,C,D]=zp2ss(z,p,k);

[At,Bt,Ct,Dt]=lp2hp(A,B,C,D,Wn);

[At1,Bt1,Ct1,Dt1]=bilinear(At,Bt,Ct,Dt,fs); [num,den]=ss2tf(At1,Bt1,Ct1,Dt1); freqz(num,den); [H,W]=freqz(num,den);

plot(W*fs/(2*pi),abs(H));grid; xlabel(‘频率/Hz’); ylabel(‘幅值’);

ChebyshevⅡ高通滤波器的频率响应如图2所示。

图2 ChebyshevⅡ高通滤波器的频率响应

26

可以看到经过离散采样、数字滤波后分离出了83.3hz的频率分量。之所以选取上面的叠加信号

作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步

一致,可以反映实际的情况。本例设计的滤波器已

做带通滤波,信号的各分量基本同

在实际工作中应用,取得了不错的效果。

27

结论

采用MATLAB设计滤波器,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设和实现开辟了广阔的天地,尤其是Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。MATLAB 信号处理工具箱为滤波器设计及分析提供了非常优秀的辅助设计工具, 在设计数字滤波器时, 善于应用MATLAB进行辅助设计, 能够大大提高设计效率。

28

参 考 文 献

[1] 陈德树. 计算机继电保护原理与技术.北京:水利电力出版社,1992. [2] 蒋志凯. 数字滤波与卡尔曼滤波.北京:中国科学技术出版社,1993

[3] 楼顺天、李博菡. 基于MATLAB的系统分析与设计-信号处理.西安:西安电子 [4] 董长虹等. MATLAB信号处理与应用.北京:国防工业出版社,2005

[5] [美] M.H.海因斯 著,张建华等 译.数字信号处理.北京:科学出版社,2002 [6] 张葛祥,李 娜. MATLAB仿真技术与应用.北京:清华大学出版社,20

29

基于matlab 数字滤波器的设计 

图4-3凯泽窗设计的高通滤波器响应曲线4.3.3IIR数字滤波器的设计4.3.3.1IIR数字滤波器的设计方法IIR数字滤波器最大的优点是给定一组指标时,他的阶数要比相同组的FIR滤波器的低得多。基于Matlab的IIR滤波器的设计方法主要有完全设计法、模拟原型设计法和直接设计法等。a.模拟原型法采用经典
推荐度:
点击下载文档文档为doc格式
6n2n99jf309sc9l3qd3v
领取福利

微信扫码领取福利

微信扫码分享