基于Simulink的数字滤波器的仿真_第1页
基于Simulink的数字滤波器的仿真_第2页
基于Simulink的数字滤波器的仿真_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上基于Simulink的数字滤波器的仿真摘要:介绍数字滤波器的定义、分类及实现方法。讨论IIR滤波器、FIR滤波器的设计方法以及如何运用MATLAB中的DSP Blockset工具箱设计数字滤波器。关键词:IIR滤波器;FIR滤波器;DSP1 引言数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对抽样数据进行数学运算处理来达到频域滤波的目的。数字滤波器从实现的网络结构或者从单位脉冲响应分类,可以分成无限脉冲响应(IIR)和有限脉冲响应(

2、FIR)滤波器。MATLAB中的DSP Blockset工具箱提供完整丰富的模块范例函数库,以进行数字信号系统(DSP System)的设计、模拟与快速原型化(rapid prototyping)。可适用于建立古典(classical)、多速率(multirate)、适应性(adaptive)的滤波器。MATLAB的DSP Blockset工具箱的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。工具箱提供了丰富而简便的设计,实现FIR和IIR的方法,是原来繁琐的程序设计简化成函数的调用。2.典型IIR数字滤波器的设计双线性变换法为了克服冲激响应不变法的频率混叠现象,需要使s平面与z平面建

3、立一一对应的单值映射关系,即求出s=f(z),然后将它带入H(s),就可以求得H(z),即 H(z)=H(s)|s=f(z) (1) 为了克服多值映射这一缺点,我们首先把整个s平面压缩变换到某一中介的s1平面的一条横带里,其次再通过上面讨论过的标准变换关系z=es1T将此横带变换到整个z平面上去,这样就使s平面与z平面是一一对应的关系,消除了多值变换性,也就消除了频谱混叠现象。例如试用双线性变换法设计一个Chebyshev高通滤波器,使其幅频特性逼近一个具有以下技术指标的模拟Chebyshev高通滤波器:Ws=2*pi*1kHz,Wp=2*pi*1.4kHz,在Ws处的最小衰减为15dB,在W

4、p处的最大衰减不超过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,

5、W=freqz(num,den);plot(W*fs/(2*pi),abs(H);grid;xlabel(频率/Hz);ylabel(幅值);Chebyshev高通滤波器的频率响应如图1所示。图1 Chebyshev高通滤波器的频率响应3FIR数字滤波器的设计窗函数设计法设理想带阻滤波器频率响应为 (2)利用Kaiser窗函数,设计长度为55的阻带滤波器,使阻带衰减为60dB。参数可由式(3)确定 =0.1102(-8.7) (3)其中=60。MATLAB程序如下:n=55-1;w=0.4,0.6;beta=0.1102*(60-8.7);kaiw=Kaiser(n+1,beta);b=fir

6、1(n,w,stop,kaiw);h,w=freqz(b,1,512,2);plot(w,20*log10(abs(h);grid;xlabel(频率(归一化));ylabel(幅度dB);带阻滤波器幅频特性实现如图2所示。图2 带阻滤波器幅频特性4. 数字滤波器的仿真及实现DSP Blockset提供了200多个高级DSP和数学函数,包括变换、矩阵运算、FIR、IIR、自适应和多速率滤波、谱分析和实时数据I/O-所有这些都是高效的基于帧的实现。DSP Blockset对于开发语音、音频和基带通信算法、基于传感器的信号处理应用都是非常理想的。利用这个具有强大功能软件MATLAB中专为数字信号处

7、理(DSP)而设计的工具箱DSP Blockset 对数字滤波器进行仿真。本文通过调用Simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号x(t)=5sin(100)+2sin(200)+sin(300),通过Simulink环境下的Digital Filter Design (数字滤波器设计)模块中的DSP Blockset工具箱设计一个低通滤波器,滤出频率等于或低于100Hz的信号。数字滤波器仿真图如图3所示。图3 数字滤波器的仿真图图4 数字滤波器的参数设定图5 滤波前的波形图6 滤波后的波形这个例子运用到了DSP Blockset这个工具箱。这个工具箱提供了几乎所有的滤波器模型,只需参改上面的参数即可以得到需要的数字滤波器。4.结束语用MATLAB的DSP Blockset工具箱对数字滤波器滤波进行了仿真。为了简单起见,采用的是最简单的低通滤波器形式,如果需要得到其它数字滤波器可通过修改滤波器设计的参数获得。这项非常有用的工具将使用者从繁琐的底层编程中解放出来,把有限的时间更多的花在解决问题中,无疑会提高工作效率。参考文献:程佩清 数字信号处理教程(第二版),清华大学出版社Miroslav D.Lutovac 信号处理滤波

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论