基于Matlab的数字滤波器设计.doc_第1页
基于Matlab的数字滤波器设计.doc_第2页
基于Matlab的数字滤波器设计.doc_第3页
基于Matlab的数字滤波器设计.doc_第4页
基于Matlab的数字滤波器设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

DSP课程设计报告基于Matlab的数字滤波器设计及其对语音信号的应用学 院 电子信息与工程学院专 业 电子信息科学与技术 完成日期 2012年11月24日中文摘要数字滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛的应用。目前,数字信号滤波器的设计图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。MATLAB为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。MATLAB推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理(signalproeessing)、图像处理(imageproeessing)、小波(wavelet)等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。本文着重研究了基于MATLAB下的HR和FIR滤波器的设计实现、数字图像处理中的滤波器的设计。关键词:数字滤波器 MATLAB 语音信号 AbstractDigital filtering in communication, image coding, speech coding, radar, and many other areas has a very wide range of applications. At present, the digital signal filter design image processing, data compression and the application of made remarkable progress and achievement. MATLAB for the research and application of digital filter provides a direct, efficient and convenient tool. It is based on matrix operation, the calculation and visualization, program design were integrated into an interactive work environment. Introduced MATLAB toolbox make all areas of the researchers can intuitive easy to engage in scientific research, engineering application, one of the signal processing (signalproeessing), image processing (imageproeessing), small wave (wavelet) kit for the rapid development of digital filtering research provides a powerful tool. This paper studied the HR based on MATLAB and FIR filter design implementation, digital image processing of the filter design. Keywords: digital filter MATLAB voice signal滤波器设计原理所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机软件来实现;二是设计专用的数字处理硬件。数字滤波器从功能上分类:可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。从滤波器的网络结构或者从单位脉冲响应分类:可分为IIR滤波器(即无限长单位冲激响应滤波器)和FIR滤波器(即有限长单位冲激响应滤波器)。一、IIR滤波器和FIR滤波器设计IIR滤波器和FIR滤波器的设计方法很不相同,IIR滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计思路是:先设计模拟滤波器得到传输函数H。(s),然后将H。(s)按某种方法转换成数字滤波器的系统函数H(Z)。这一类方法是基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式,也有完整的图表供查阅。更可以直接调用MATLAB中的对应的函数进行设计。另一类是直接在频域或者时域中进行设计的,设计时必须用计算机作辅助设计,直接调用MATLAB中的一些程序或者函数可以很方便地设计出所需要的滤波器。FIR滤波器不能采用由模拟滤波器的设计进行转换的方法,经常用的是窗函数法和频率采样法。也可以借助计算机辅助设计软件采用切比雪夫等波纹逼近法进行设计。典型的IIR数字滤波器的设计模拟滤波器的理论和设计方法已发展得相当成熟,且有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些典型的滤波器各有特点。用MATLAB进行典型的数字滤波器的设计,一般步骤如下:(1)按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标;(2)根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数N和固有频率Wn,根据选用的模拟低通滤波器的类型可分别用函数:buttord、eheb1ord、chebZord、ellipord等;(3)运用最小阶数N产生模拟滤波器原型,模拟低通滤波器的创建函数有:buttap、eheb1ap、ehebZap、ellipap、besselap等;(4)运用固有频率Wn把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,可分别用函数lpZlp、lpZhp、lpZbp、lpZbs;(5)运用冲激响应不变法或双线性变换法把模拟滤波器转换成数字滤波器,分别用函数impinvar和bilillear来实现。FIR滤波器设计FIR滤波器的设计方法主要有窗函数设计法和频率抽样设计法其中窗函数设计法是最基本的设计方法。在设计FIR滤波器中,一个最重要的计算就是加窗,采用矩形窗是最直接和简便的方法,但采用矩形窗存在较大的Gibbis效应,且矩形窗的第一旁瓣与主瓣相比仅衰减13dB,因此实际设计中一般采用其他窗函数,比较常用的窗函数有Hanning窗、Hamming窗、Blaekman窗、Kaiesr窗等,采用Hnaning窗能使能量集中在主瓣内,第一旁瓣的衰减为3ldB,但是主瓣的宽度增加了一倍,采用Hamming窗使99.9%以上的能量集中在主瓣,第一旁瓣的衰减达到43dB,主瓣的宽度也是矩形窗的2倍。Blackmna窗进一步抑制旁瓣,使第一旁瓣的衰减达到58dB,但主瓣的宽度是矩形窗的3倍,以上三种窗函数都是以增加主瓣宽度为代价换取一定程度的旁瓣抑制。而Kalser窗可以通过调整参数值来折中选择主瓣宽度和旁瓣衰减,采用Kaies:窗设计FIR滤波器具有很大的灵活性。程序:fs=22050; %语音信号采样频率为22050x1=wavread(Windows Critical Stop.wav); %读取语音信号的数据,赋给变量x1t=0:1/22050:(size(x1)-1)/22050;y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;x2=randn(1,length(x1); %产生一与x长度一致的随机信号sound(x2,22050);figure(1)plot(x2) %做原始语音信号的时域图形title(高斯随机噪声);xlabel(time n);ylabel(fuzhi n);randn(state,0);m=randn(size(x1);x2=0.1*m+x1;sound(x2,22050);%播放加噪声后的语音信号y2=fft(x2,1024);figure(2)plot(t,x2)title(加噪后的语音信号);xlabel(time n);ylabel(fuzhi n);figure(3)subplot(2,1,1);plot(f,abs(y2(1:512);title(原始语音信号频谱);xlabel(Hz);ylabel(fuzhi);subplot(2,1,2);plot(f,abs(y2(1:512);title(加噪后的语音信号频谱);xlabel(Hz);ylabel(fuzhi);程序:窗函数法设计滤波器:fs=22050;x1=wavread(h:课程设计2shuzi.wav);t=0:1/22050:(size(x1)-1)/22050;Au=0.03;d=Au*cos(2*pi*5000*t);x2=x1+d;wp=0.25*pi;ws=0.3*pi;wdelta=ws-wp;N=ceil(6.6*pi/wdelta); %取整wn=(0.2+0.3)*pi/2;b=fir1(N,wn/pi,hamming(N+1); %选择窗函数,并归一化截止频率figure(1)freqz(b,1,512)f2=filter(bz,az,x2)figure(2)subplot(2,1,1)plot(t,x2)title(滤波前的时域波形);subplot(2,1,2)plot(t,f2);title(滤波后的时域波形);sound(f2,22050); %播放滤波后的语音信号F0=fft(f2,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1);plot(f,abs(y2(1:512);title(滤波前的频谱)xlabel(Hz);ylabel(fuzhi);subplot(2,1,2)F2=plot(f,abs(F0(1:512);title(滤波后的频谱)xlabel(Hz);ylabel(fuzhi);小结通过这次课程设计使我进一步了解语音信号的采集、频谱分析以及滤波器设计放方法、在其中产生信号和绘制信号的基本命令和一些基础编程语言。让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用matlab也可以很好的加深我对课程的理解。在即将完成基于Matlab的数字滤波器设计及其对语音信号的应用报告写作时,我要感谢的是徐老师,是她严谨治学的态度感染了我,这场课程设计使我受益颇多,路漫漫其修远兮,吾将上下而求索!参考文献1李雪.基于MATLAB的FIR数字滤波器的研究J.科技信息.2009(21) 2胡琥,万秋玉,周彤.FIR数字滤波器的DSP实现J.哈尔滨理工大学学报. 2004(01) 3曹洁.基于DSP的语音信号滤波技术研究D.兰州理工大学 20114赵瑞堃.基于MATLAB的FIR和IIR数字滤波器的设计D.吉林大学 20125张

温馨提示

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

评论

0/150

提交评论