ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:237.25KB ,
资源ID:4347659      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4347659.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的数字滤波器设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的数字滤波器设计.docx

1、基于MATLAB的数字滤波器设计唐 山 学 院 数字信号处理 课 程 设 计 题 目 基于MATLAB的数字滤波器设计 系 (部) 信息工程系 班 级 10通信本2 姓 名 学 号 指导教师 2013 年 1 月 7 日至 1 月 11 日 共 1 周 数字信号处理 课程设计任务书一、设计题目、内容及要求设计题目:基于MATLAB的数字滤波器设计设计内容:所设计的数字滤波器应完成以下功能:(1)设计低通、带通、高通数字滤波器;(2)可以对合成信号(含低频、中频、高频分量)、语音信号进行滤波;(3)通过GUI界面进行控制。设计要求:1、根据题目要求进行数字滤波器总体设计。 2. 完成数字滤波器具

2、体设计。(1)输入信号的选定。(2)确定设计方法、设计指标。3. 滤波器程序的设计。(1)完整源程序。(2)运行结果图。4书写设计说明书。二、设计原始资料范寿康主编,DSP技术与DSP芯片,电子工业出版社。三、要求的设计成果(课程设计说明书、设计实物、图纸等) 设计结果能正确仿真演示设计说明书一份(包括总体设计、算法原理图及说明、系统GUI演示、源程序清单等)四、进程安排 周一:资料收集周二:利用MATLAB完成GUI界面绘制周三:程序调试 周四:书写课程设计说明书周五:答辩五、主要参考资料1、楼顺天,李博菡.基于MATLAB的系统分析与设计信号处理.西安电子科技大学出版社,19982、奥本海

3、姆.离散时间信号处理.科学出版社,20003、宗孔德,胡广书.数字信号处理.清华大学出版社,1997 指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日1 绪论与模拟滤波器相对应,在离散系统中广泛应用数字滤波器。它的作用是利用离散时间系统的特性对输入信号波形或频率进行加工处理。或者说,把输入信号变成一定的输出信号,从而达到改变信号频谱的目的。数字滤波器一般可以用两种方法来实现:一种方法是用数字硬件装配成一台专门的设

4、备,这种设备称为数字信号处理机;另一种方法就是直接利用通用计算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现。模拟滤波器在测试系统或专用仪器仪表中是一种常用的变换装置。例如:带通滤波器用作频谱分析仪中的选频装置;低通滤波器用作数字信号分析系统中的抗频混滤波;高通滤波器被用于声发射检测仪中剔除低频干扰噪声;带阻滤波器用作电涡流测振仪中的陷波器,等等。MATLAB是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory(矩形实验室)的缩写。在MATLAB环境下,用户可以集成地进行程序设计,数值计算,图形

5、绘制,输入输出,文件管理等各项操作。除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。目前,Mathworks公司推出了18种工具箱。用户可以根据自己的工作任务,开发自己的工具箱。2数字滤波器的设计2.1 数字滤波器的基本概念滤波器从功能上分类可以分为经典滤波器和现代滤波器,经典滤波器主要用于在频率域的滤波选取,现代滤波器是通过复杂的统计学理论,用于在大量的同频率信号中选取需要的信号数据,数字滤波器从实现方法上可以分为无限冲击响应滤波器和有限冲击响应滤波器。它们是用单位采样响应h(n)的特性来区分的,IIR滤波器的h(n)是无限长

6、序列,而FIR滤波器的h(n)是有限长序列。2.2 利用双线性变换法设计IIR数字滤波器变换原理:双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法。为了克服脉冲响应不变法的多值映射这一缺点,首先把整个s平面压缩变换到某一中介的s1平面的一横带里,然后再通过标准变换关系将此横带变换到整个z平面上去,这样就使s平面与z平面是一一对应关系,消除了多值变换性,同时也就消除了频谱混叠现象。IIR滤波器的设计原理IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel

7、函数、椭圆滤波器函数等。IIR数字滤波器的设计步骤:1.按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;2.根据模拟滤波器技术指标设计为响应的模拟低通滤波器;3.很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;4.如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。本课程设计设计思想:首先利用MATLAB分别产生低频中频高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频

8、谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。3 课程设计的具体实现3.1对语音信号进行滤波的滤波器设计3.1.1 IIR数字滤波器的流程图图3.1 IIR数字滤波器流程图 3.1.2 IIR低通滤波器设计根据数字滤波器的设计原理,首先将数字域的指标转化为模拟域的指标设计模拟低通滤波器,然后应用双线性变换法将模拟滤波器转化为数字滤波器将指标转换成归一化模拟低通滤波器的指标,通过归一化的模拟低通滤波器阶数N和3dB截止频率的计算,将模拟域频率变换成模拟低滤波器H(s),并用双线性变换法将H(s)转换成数字低通滤波器H(z),由此得到低通数字滤波器。IIR低通滤波器的设

9、计程序为:wb=fb*2*pi/fs; wc=fc*2*pi/fs; Wb=2*fs*tan(wb/2);Wc=2*fs*tan(wc/2);n,wn=buttord(Wb,Wc,Ap,As,s);b,a=butter(n,wn,s); bd,ad=bilinear(b,a,fs); h,w=freqz(bd,ad,1024); figure(1);subplot(1,1,1);plot(w*fs/(2*pi),20*log10(abs(h); title(IIR低通滤波器幅频特性);图3.2 IIR低通滤波器的幅频特性读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信

10、号傅里叶变换进行频谱分析,与滤波前进行比较。并在滤波前后用sound函数播放语音信号,观察滤波前后的变化。 图3.3滤波前后信号的波形和频谱比较分析滤波前后信号的变化,波形图变窄,频谱变化表明:信号的低频率段被保留,高频率段被滤除。分析滤波前后的声音变化,滤波后声音明显变低而沉闷,这说明滤波器设计基本符合指标要求3.1.3 IIR高通滤波器设计与低通滤波器的设计原理相似,首先将数字域的指标转化为模拟域的指标设计模拟低通滤波器,然后应用双性变换发将模拟滤波器转化为数字滤波器。将指标转换成归一化模拟低通滤波器的指标,通过归一化的模拟低通滤波器阶数N和3dB截止频率的计算,将模拟域频率变换成模拟低滤

11、波器H(s),并用双线性变换法将H(s)转换成数字低通滤波器H(z),由此得到低通数字滤波器。IIR高通滤波器的设计程序为: wb = fb*2*pi/fs; wc = fc*2*pi/fs;Wb = 2*fs*tan(wb/2); Wc = 2*fs*tan(wc/2);n,wn=buttord(Wb,Wc,ap,as,s); b,a=butter(n,wn,high,s); bd,ad=bilinear(b,a,fs); h,w=freqz(bd,ad,1024);figure(3);subplot(1,1,1);plot(w,abs(h); grid;title(IIR高通滤波器幅频特性

12、)图3.4 IIR高通滤波器的幅频特性读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。并在滤波前后用sound函数播放语音信号,观察滤波前后的变化。图3.5滤波前后信号的波形和频谱比较分析滤波前后信号的变化,波形图变窄,频谱变化表明:信号的高频率段被保留,低频率段被滤除。分析滤波前后的声音变化,滤波后声音明显变高而尖锐,这说明滤波器设计基本符合指标要求。3.1.4 IIR带通滤波器设计IIR带通滤波器的设计程序为:wb =fb1 fb2*2*pi/fs; wc =fc1 fc2*2*pi/fs; Wb =2*fs*tan(w

13、b/2); Wc =2*fs*tan(wc/2); n,wn=buttord(Wb,Wc,ap,as,s); b,a=butter(n,wn,s); bd,ad=bilinear(b,a,fs); h,w=freqz(bd,ad);figure(5);plot(w*fs/(2*pi),20*log10(abs(h);grid; title(IIR带通滤波器幅频特性); 图3.6 IIR带通滤波器的幅频特性读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。并在滤波前后用sound函数播放语音信号,观察滤波前后的变化。 图3.7

14、滤波前后信号的波形和频谱比较分析滤波前后信号的变化,波形图变窄。频谱变化表明:信号的低频率段和高频率段被滤除,中间频率段被保留;分析滤波前后的声音变化,滤波后声音一定程度上变的尖锐,与高通滤波器滤波后的声音相比较低。这说明滤波器设计基本符合指标。3.2 对合成信号进行滤波的滤波器设计3.2.1设计目的和要求产生一个连续信号,包含低频、中频、高频分量,对其进行采样,进行频谱分析,分别设计三种高通、低通、带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。3.2.2合成信号的程序设计f1=20;f2=200;f3=500; t=(1:100)/2000;x1=sin(2*pi*t*f1); x2=

15、sin(2*pi*t*f2);x3=sin(2*pi*t*f3); x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3); axes(handles.axes1);plot(x);title(合成信号);图3.8 合成信号波形3.2.3 合成信号的频谱程序设计f1=20;f2=200;f3=500;t=(1:100)/2000;x1=sin(2*pi*t*f1); x2=sin(2*pi*t*f2);x3=sin(2*pi*t*f3);x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);n=1:100;t=n/2

16、000X=fft(x,512);w=(0:255)/256*1000;x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);axes(handles.axes1);plot(w,abs(X(1:256); xlabel(Hz);ylabel(频率响应幅度);title(合成信号频谱);图3.9 合成信号频谱3.2.4低通滤波器设计Ft=8000; Fp=1000; Fs=1200; As=100 ; Ap=1; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft;fp=2*Fp*tan(wp/2); ); fs=2*Fs*tan(ws/2);n11

17、,wn11=buttord(wp,ws,1,50,s); b11,a11=butter(n11,wn11,s); num11,den11=bilinear(b11,a11,0.5); h,w=freqz(num11,den11); z11=filter(num11,den11,x);m11=fft(z11); axes(handles.axes2);plot(abs(x),g); title(滤波前信号频谱);axes(handles.axes3);plot(abs(m11),r);title(滤波后信号频谱);axes(handles.axes4);plot(x); title(滤波前信号波

18、形);axes(handles.axes5);plot(z11);title(滤波后信号波形);读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。如图3.10所示:图3.10低通滤波前后信号的波形和频谱比较分析滤波前后信号的变化,波形图变窄,频谱变化表明:信号的低频率段被保留,高频率段被滤除。这说明滤波器设计基本符合指标要求。3.2.5IIR带通滤波器设计Ft=8000;Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;As=100;Ap=1;wp1=tan(pi*Fp1/Ft); wp2=tan(pi*

19、Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,1,50,s); b12,a12=butter(n12,wn12,s); num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2),bw);num12,den12=bilinear(num2,den2,0.5);h,w=freqz(num12,den12); z12=filter(num12,den12,x);m12=fft(z12)

20、; axes(handles.axes2);plot(abs(x),g);title(滤波前信号频谱);axes(handles.axes3);plot(abs(m12),r);title(滤波后信号频谱);axes(handles.axes4);plot(x); title(滤波前信号波形);axes(handles.axes5);plot(z12);title(滤波后信号波形);读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。如图3.11所示 图3.11带通滤波前后信号的波形和频谱比较分析滤波前后信号的变化,波形图变窄。

21、频谱变化表明:信号的低频率段和高频率段被滤除,中间频率段被保留。这说明滤波器设计基本符合指标。3.2.6IIR高通滤波器滤波 Ft=8000;Fp=4000;Fs=3500;wp1=tan(pi*Fp/Ft); ws1=tan(pi*Fs/Ft);wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s); b13,a13=cheby1(n13,1,wn13,s); num,den=lp2hp(b13,a13,wn13); num13,den13=bilinear(num,den,0.5); h,w=freqz(num13,den13); z13=fi

22、lter(num13,den13,x);sound(z13);m13=fft(z13); axes(handles.axes2);plot(abs(x),g); title(滤波前信号频谱);axes(handles.axes3);plot(abs(m13),r);title(滤波后信号频谱);axes(handles.axes4);plot(x); title(滤波前信号波形);axes(handles.axes5);plot(z13);title(滤波后信号波形);读入信号对信号傅里叶变换进行频谱分析,利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。如图3.

23、12所示:图3.12高通滤波前后信号的波形和频谱比较分析滤波前后信号的变化,波形图变窄,频谱变化表明:信号的高频率段被保留,低频率段被滤除。这说明滤波器设计基本符合指标要求。4软件简介4.1系统界面设计工具GUI概述图形用户界面(graphical user interfaces),GUI则是由窗口、光标、按键、菜单、文字说明等对象(objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。在MATLAB中GUI是一中包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。GUIDE主

24、要是一个界面设计工具集,MAYLAB将所有GUI支持度控件都集成在这个环境中,并提供界面外观、属性和行为响应方式的设置方法。GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。FIG文件:包括GUI图形窗口及其所有后裔的完全描述,包括所有对象属性的属性值。M文件包括GUI设计、控件函数以及定义为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。 GUI创建包括界面设计和控件编程两部分,主要步骤如下。第一步:通过设置GUIDE应用程序的选项来运行GUIDE;第二步:使用界面设计编辑器进行面设计;第三步:编写控件行为响应控制(即回调函数)代码。4.2界面设计及使用说明

25、首先我们新建一个GUI文件:File/New/GUI 如下图所示:图4.1 GUI创建界面选择Blank GUI(Default)。其次,进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;图4.2 GUI开发环境布置好各控件以后,就可以来为这些控件编写程序来实现对语音或合成信号进行滤波的功能了。最后,单击相应的按钮,便跳出对应的界面,进行操作。图4.3 系统运行界面5 结论语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课题在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。从课

26、题的中心来看,课题“基于MATLAB的有噪声语音信号处理”是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音及加噪处理。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。这一过程的实现,用到了处理数字信号的强有力工具MATLAB。通过MATLAB里几个命令函数的调用,很轻易的在实际语音与数字信号的理论之间搭了一座桥。课题的特色在于它将语音信号看作一个向量,于是就把语音数字化了。那么,就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器

27、来对语音进行滤波处理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同,前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱,在整个频域范围内分是布均匀。其实,这正是干扰所造成的。通过滤波前后的对比,低通滤波后效果最好,高通滤波后的效果最差。由此可见,语音信号主要分布在低频段,而噪声主要分布在高频段。最后,还利用了MATLAB的另一强大功能GUI界面设计。设计出了一个简易的用户应用界面,可以让人实现界面操作,更加方便的进行语音的频谱分析与加噪滤波处理。6 致谢通过这次课设,我认识到了MATLAB功能非常的强大,使得

28、我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。我也熟悉了MATLAB的工作环境,可以很熟练的对MATLAB进行常规的操作,快速进行程序编辑和仿真。本文次课设通过一个设计实例,利用MATLAB实现 IIR数字滤波器设计与滤波的三种方法,从仿真结果可以看出它们均可以达到技术指标要求,而且方法简单、快捷,大大减轻了工作量。滤波器的设计工作完成后,可以借助于MATLAB的export操作导出所设计滤波器的系统函数H(z)。由于MATLAB具有强大的接口功能,仿真后的结果可以很方便的移植到 DSP、CPLD。在实际应用中,只需按要求修改滤波器参数,并对程序作较

29、少的改动,即可实现不同截止频率的FIR滤波器,实用性较强。完成任务后才发现这次训练的内容并不算难。首先要做的工作就是如何把设计条件写入到MATLAB中,其次就是对条件进行分析,主要是得出一些参数。以上的内容全都要通过程序的编写来完成,不过主要的操作是对函数的调用,这就要我们熟悉MATLAB的一些函数的基本功能以及它们的基本语句。这次课程设计的主要目的是基于MATLAB的语音信号分析及滤波。通过设计IIR和FIR的各种滤波器,并对声音信号进行滤波处理,加深对DSP数字信号处理的理解和对MATLAB的进一步学习,将理论转化成实践,并在实践中检验理论。在设计完滤波器后,要求设计一个图形用户界面GUI

30、,通过此界面来实现各个滤波器的功能,初步认识人机交互界面的开发,为以后的学习和设计打下基础。当然,经过了课程设计,我也发现了自己的很多不足。但是通过自己的动手动脑,既增加了知识,又给了我专业知识以及专业技能上的提升,我也会更加努力,认真学习,争取在以后的课程中做得更好!语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课题在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。最后,我要在这里对给我这次课程设计提供帮助的老师还有同学们说声诚挚的:谢谢。因为你们的帮助才使得我的这次课程设计得意圆满完成,并从中学到了很多知识,不仅巩固了已有知识,而且强化了一些关于数学MATLAB软件应用方面的知识,非常感谢你们的帮助。参考文献1高西全,丁玉美数字信号处理北京:西安电子科技大学出版社,20082刘泉,阙大顺数字信号处理原理与实现北京:电子工业出版

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1