基于matlab的数字滤波器设计滤波仿真_第1页
基于matlab的数字滤波器设计滤波仿真_第2页
基于matlab的数字滤波器设计滤波仿真_第3页
基于matlab的数字滤波器设计滤波仿真_第4页
基于matlab的数字滤波器设计滤波仿真_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、基于matlab的数字滤波器设计及滤波仿真基于matlab的数字滤波器设计及滤波仿真11/11基于matlab的数字滤波器设计及滤波仿真山东科技大学电工电子实验授课中心创新性实验结题报告实验项目名称基于matlab的数字滤波器设计及滤波仿真三个正弦信号用三种方法进行滤波分别编程法、法与FDATool法一、实验大纲随着通信行业和电子计算机技术的发展,数字信号办理技术碰到了越来越广泛关注,其理论及算法随着计算机技术和微电子技术的发展获得了飞速地发展,数字滤波器是数字信号办理中最重要的组成部分之一,本文详尽介绍了利用MATLAB信号办理工具箱SignalProcessingToolbox)快速有效的

2、设计由软件组成的老例数字滤波器的设计方法。利用Maltab模拟一个基本输入信号(如三个正弦频率信号的叠加),自行设定滤波器的技术指标,用程序设计法设计各种滤波器(低通,高通,带通),使用Simulink进行滤波仿真最后获得分其他三个正弦频率信号,并与理论上得滤波收效进行比较和谈论。二、实验目的深入理解IIR和FIR数字滤波器的看法、基根源理和方法,学会用FADtool设计数字滤波器,掌握各种数字滤波器的设计方法和特点,熟悉MATLAB语言和MATLAB及其数字信号办理工具箱的使用方法,经过设计和仿真来加深学生对滤波的理解并提高设计能力,学习创新性实验报告的撰写方法。三、实验场所及仪器、设备和资

3、料:实验室:J11-318实验设备:PC机一台,Matlab软件四、实验内容(1)、实验原理:正弦信号:x(n)Asin(wn)巴特沃斯模拟滤波器的设计:N,Wc=buttord(Wp,Ws,ap,as,s)N,wc=buttord(wp,ws,p,s)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0wp1,0ws1。1表示数字频率pi。p,s分别为通带最大衰减和组带最小衰减(dB)。当wswp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。N,wc作为butter函数的调用

4、参数。坛N,c=buttord(p,s,p,s,s)B,A=BUTTER(N,Wn,ftype)用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率c。p,s,c均为实质模拟角频率BS,AS=butter(N,Wc,s)B,A=BUTTER(N,Wn),设计一个阶数为n,频率为Wn的低通滤波器;可以设计高通,带阻滤波器,其中ftype参数的形式可以指定何种滤波器,ftype为high时,设计一个阶数为n,频率为Wn的高通滤波器;ftype为stop时,获得滤波器阶数为2*n,频率范围为Wn=W1,W2的带阻滤波器;双线性变换设计IIR滤波器:BZ,AZ=bilinear(BS,AS,1/T)信号

5、滤波Y=filter(B,A,X)输入X为滤波前序列,Y为滤波结果序列,B/A供应滤波器系数,B为分子,A为分母整个滤波过程是经过下面差分方程实现的:a(1)*y(n)=b(1)*x(n)+b(2)*x(n-1)+.+b(nb+1)*x(n-nb)-a(2)*y(n-1)-.-a(na+1)*y(n-na)Y,Zf=FILTER(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A供应滤波器系数,B为分子,A为分母,并输入Zi指定X的初始状态,Zf为最后状态矢量(2)Simulink的使用方法:模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行办

6、理。在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。搬动:选中模块,按住鼠标左键将其拖曳到所需的地址即可。若要走开线而搬动,可按住shift键,再进行拖曳。复制:选中模块,尔后按住鼠标右键进行拖曳即可复制同样的一个功能模块。删除:选中模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标采用某地域,再按Delete键就可以把该区域中的全部模块和线等全部删除。转向:为了可以序次连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择FlipBlock旋转180度,选择R

7、otateBlock顺时针旋转90度。也许直接按Ctrl+F键执行FlipBlock,按Ctrl+R键执行RotateBlock。改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。模块命名:先用鼠标在需要更正的名称上单击一下,尔后直接更正即可。名称在功能模块上的地址也可以变换180度,可以用Format菜单中的FlipName来实现,也可以直接经过鼠标进行拖曳。HideName可以隐蔽模块名称。颜色设定:Format菜单中的ForegroundColor可以改变模块的远景颜色,BackgroundColor可以改变模块的背景颜色;而模型窗口的颜色可以经过ScreenColor来改变。参

8、数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包括了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。经过对模块的参数设定,就可以获得需要的功能模块。属性设定:选中模块,打开Edit菜单的BlockProperties可以对模块进行属性设定。包括Description属性、Priority优先级属性、Tag属性、Openfunction属性、Attributesformatstring属性。其中Openfunction属性是一个很适用的属性,经过它指定一个函数名,则当该模块被双击此后,Simulink就会调用该函数执行,这种函数在

9、MATLAB中称为回调函数。模块的输入输出信号:模块办理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的会集,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都拥有一种“智能”的鉴别功能,能自动进行般配。某些模块经过对参数的设定,可以使模块输出向量信号。(3)SPTool的使用方法:SPTool图形化信号办理工具的使用SPTool工具供应四个基本的信号办理图形用户界面(GUI)程序,它们分别是(1)信号阅读器:用于阅读可视化的信号图像(2)滤波器设计器:可用于设计和编写FIR和IIR数字滤波器,绝大多数MAT

10、LAB信号办理工具箱供应的命令行函数都可以在这个可视化的滤波器设计器中被调用,用户调用Pole/Zero编写器设计出吻合自己需要的滤波器。3)滤波器阅读器:这个工具主要用于解析滤波器的特点。4)频谱阅读器:用于频谱解析,使用工具箱供应的频谱估计函数去解析某个信号序列的功率谱密度。实验步骤:1、打开SPTool主界面单击startToolboxessignalprocessionalSPTool,也许直接在命令行输入SPTool,启动SPTool工具,出现主界面:主界面有三栏列表,包括信号源列表、滤波器列表和频谱列表。2、用户可以从MATLAB主工作空间中导入信号序列、滤波器或频谱。如从工作空间

11、中导入信号源数据:单击Fileimport,出现设置参数,产生的信号源命名为signal1,点击OK,可看到在主界面的信号列表中增加一个signal1vector项。3、滤波器的设计(1)可以从工作空间中直接导入已设计好的滤波器系数(如大作业中用FDATool设计好的滤波器的系数):(2)也可以直接在SPTool中进行设计产生。如选择频谱列表中的filt1design,单击Edit,或者在频谱列表中单击New,出现:为比较两个信号的频谱,第一创办一个功率谱密度对象spect1,在SPTool主窗口中选择signal1vector,尔后单击频谱列表下面的Create按钮,这时会弹出频谱阅读器窗口

12、。即使用缺省的参数创办了信号signal1的频谱,单击Apply,这是频谱图像就会显示出来。同样可创办另一个OUT2频谱图soect2。尔后在频谱列表中使用shift同时选中两个频谱,单击View即可显示在频谱阅读器中,这样就可以比较滤波前后的频谱变化。2、实验内容(1)设计三个频率混杂的信号y,频率可设为100Hz、1000Hz、10000Hz;(2)设计3个巴特沃斯模拟滤波器,分别为低通、高通、带通;(3)用双线性变换法将设计好的巴特沃斯滤波器变换为数字滤波器;(4)对混杂信号y进行滤波;(5)比较滤波前后信号各重量的变化;(6)调试滤波器参数;(8)Simulink仿真;(9)SPToo

13、l仿真;(10)总结报告。3、实验步骤(1)Matlab程序设计:clc;fs=4000;t=0:1/fs:1;x=sin(2*pi*20*t)+sin(2*pi*100*t)+sin(2*pi*200*t);%低通滤波器设计:wp=2*30/fs;ws=2*60/fs;Rp=1;As=30;subplot(331);plot(t,x);title(原始信号);N,wc=buttord(wp,ws,Rp,As);B,A=butter(N,wc);H,W=freqz(B,A);y=filter(B,A,x);subplot(334);plot(W,abs(H);title(低通滤波器);subp

14、lot(337);plot(t,y)title(30Hz信号);%高通滤波器设计:wp=2*170/fs;ws=2*120/fs;Rp=20;As=50;subplot(332);plot(t,x);title(原始信号);N,wc=buttord(wp,ws,Rp,As);B,A=butter(N,wc,high);H,W=freqz(B,A);y=filter(B,A,x);subplot(335);plot(W,abs(H);title(高通滤波器);subplot(338);plot(t,y);title(200Hz信号);%带通滤波器设计:fp=70130;fs=30170;wp=2

15、*fp/Fs;ws=2*fs/Fs;rp=;rs=50;subplot(333);plot(t,x);title(原始信号);N,wc=ellipord(wp,ws,rp,rs);B,A=ellip(N,rp,rs,wc);H,w=freqz(B,A);y=filter(B,A,x);subplot(336);plot(W,abs(H);title(带通滤波器);subplot(339);plot(t,y);title(100Hz信号);(2)Sinmulink仿真:参数设计:自上而下分别是频率为20Hz、200Hz、100Hz,三个滤波器分别为低通滤波器,高通滤波器和带通滤波器。左边对原信号

16、机进行观察,右边对滤波后的信号进行观察SPTool和FADtool应用:SPTool主界面导入原始信号数据原始信号:设计低通滤波器:设计高通滤波器:设计带通滤波器:五、实验结果与解析1、实验现象、数据记录(1)Matlab程序设计:(2)Sinmulink仿真:上图左边为经过低频滤波器滤波后的低频信号,右边为原低频信号上图左边为经过高频滤波器滤波后的低频信号,右边为原高频信号上图左边为经过带通滤波器滤波后的中频信号,右边为原中频信号(3)SPTool和FADtool应用:低通滤波后的信号:高通滤波后的信号:带通滤波后的信号:指导教师签字:年月日2、对实验现象、数据及观察结果的解析与谈论:经过程序设计的方法,Sinmulink仿真,SPTool和FADtool三种方法均能获得理想的结果;

温馨提示

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

评论

0/150

提交评论