数字信号处理课程设计_第1页
数字信号处理课程设计_第2页
数字信号处理课程设计_第3页
数字信号处理课程设计_第4页
数字信号处理课程设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、语音信号的数字滤波fir数字滤波器的(海明)窗函数法设计1. 课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。并能够对设计结果加以分析。2. 设计步骤2.1. 设计原理: fir滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为: (1)通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。(2)由性能指标确定窗函数w(n)和窗口长度n。(3)求得实际滤波器的单位脉冲响应h(n)。2.2. 语

2、音信号的采集:(1) 打开录音机软件 图1选择录音机(2) 用麦克风录入的声音信号保存成“dongdong.wav”文件图2 用8000hz采样录音语音信号的采样频率fs=8000hz语音信号的时间长度t=1s语音信号的采样长度n=8000次2.3. 语音信号的频谱分析:将上一步骤中保存下来的语音信号文件“dongdong.wav”复制到计算机装有matlab软件的磁盘中相应matlab目录中的“work”文件夹中:(1)双击桌面上matlab软件的快捷图标,打开matlab软件(2)在菜单栏中选择“filenewm-file”,打开m文件编辑器(3)在m文件编辑器中输入如下的指令将语音信号导

3、入matlab工作台:s,fs=wavread(dongdong.wav); %自己的文件名s1=s(10300:10300+fs-1);wavwrite(s1,fs,s1.wav)s2=awgn(s1,30);wavwrite(s2,fs,s2.wav)s1=fft(s1)s2=fft(s2)sound(s1)sound(s2)会得到下图:图3 语音信号的波形及频谱图图4 放大的语音信号的波形及频谱图频率分辨率:=8000/8000hz你在信号频谱分析时所截取的语音信号的长度l=8192读音信号的能量主要频段: 通过对图的分析,确定滤波频率范围的参考,其横坐标的具体值应当是遵循dft定义式求

4、得的: (当k等于0时)从数字角频率上看,对应的正好是,即直流的位置,也就是说,在取滤波频段时,应当将主要能量保留,其余频段部分的信号滤除。因此主要能量保留的频段为:频率分辨率:=8000/8000=1hz模拟频域的参数选定:语音信号频谱图从左向右的第一个波峰为3db截止频率。语音信号频谱图从左向右的第二个波峰为通带截止频率。因此可得出:3db截止频率为 通带截止频率为 阻带截止频率为数字频域的:3db截止频率为通带截止频率为阻带截止频率为所的过渡带宽2.4. 滤波器的设计:(1)确定滤波器的参数:根据上一步骤中设定的自己语音信号的主要能量分布的频段因此确定了所要设计的滤波器的类型为:低通滤波

5、器矩形窗的阶数 设为166通带截止频率 通带允许最大衰减=3db阻带截止频率 阻带必须达到的最小衰减=52db由此设计滤波器:wn=hamming(n);plot(wn)grid;title(海明窗函数特性曲线);wc=2*fc*pi/8000;alpha=(n-1)/2;n=0:n-1;hd=wc*sin(wc*(n-alpha)./(wc*pi*(n-alpha);subplot(312)plot(hd)grid;title(系统的hd函数特性曲线);hn=hd.*wn;subplot(313)plot(hn)grid;title(系统函数的hn的特性);figure(8)plot(hn)

6、axis(-20,186,-0.3,0.7)滤波器的系统函数,及矩形窗函数如下图:图5 滤波器曲线图(2)数字滤波器的系统函数h(z) 2.5. 叠加噪声产生一个噪声信号,保存成“s2.wav”文件:s,fs=wavread(dongdong.wav); %自己的文件名s1=s(10300:10300+fs-1);s2=awgn(s1,30);wavwrite(s2,fs,s2.wav) %加噪声后的经采样得到的波形及频谱如图:图6混合声经采样得到的波形及频谱3. 设计结果与分析3.1. 滤波器的程序设计如下clearclose all%设参数!*fc=1720 %通带截至频率 n=166 s

7、,fs=wavread(dongdong.wav); %*s1=s(10300:10300+fs-1);wavwrite(s1,fs,s1.wav)s2=awgn(s1,30);wavwrite(s2,fs,s2.wav)s1=fft(s1)s2=fft(s2)sound(s1)sound(s2)figure(1)%*subplot(311); %把一个图形窗口中分三行一列,在第一个分区中画图plot(s1); %绘制被处理的语音信号的时间域波形xlabel(t);ylabel(y(t);title(截取的语音信号波形);subplot(312); %在图形窗口第二个分区中画图plot(abs

8、(s1); %绘制被处理的语音信号的fft幅频特性xlabel(f(hz);ylabel(y(t);grid;title(截取的语音信号的fft幅频特性);subplot(313); %在图形窗口第三个分区中画图plot(abs(s1); %绘制被处理的语音信号的实际幅频特性(正频率段)grid;xlabel(f(hz);ylabel(y(t);axis(0,4000,0,400)title(截取的语音信号的实际幅频特性);%*figure(2)%*subplot(311); %把一个图形窗口中分三行一列,在第一个分区中画图plot(s2); %绘制被处理的语音信号的时间域波形xlabel(t

9、);ylabel(y(t);title(滤波前加噪信号的波形);subplot(312); %在图形窗口第二个分区中画图plot(abs(s2); %绘制被处理的语音信号的fft幅频特性xlabel(f(hz);ylabel(y(t);grid;title(滤波前加噪信号的fft幅频特性);subplot(313); %在图形窗口第三个分区中画图plot(abs(s2); %绘制被处理的语音信号的实际幅频特性(正频率段)xlabel(f(hz);ylabel(y(t);grid;title(滤波前加噪信号的实际幅频特性);%*wn=hamming(n);%*figure(3)%*subplot

10、(311)plot(wn)grid;title(海明窗函数特性曲线);wc=2*fc*pi/8000;alpha=(n-1)/2;n=0:n-1;hd=wc*sin(wc*(n-alpha)./(wc*pi*(n-alpha);subplot(312)plot(hd)grid;title(系统的hd函数特性曲线);hn=hd.*wn;subplot(313)plot(hn)grid;title(系统函数的hn的特性);figure(4)plot(hn)axis(-4,170,-0.3,0.5)%*figure(5)%*freqz(hn);title(系统函数hn的频域特性曲线);%*y=con

11、v(s2,hn);%*figure(6)%*y=fft(y)subplot(311); %把一个图形窗口中分三行一列,在第一个分区中画图plot(y); %绘制被处理的语音信号的时间域波形xlabel(t);ylabel(y(t); grid;title(滤波后信号波形);axis(0,8000,-2,2);subplot(312); %在图形窗口第二个分区中画图plot(abs(y); %绘制被处理的语音信号的fft幅频特性xlabel(f(hz);ylabel(y(t); grid;title(滤波后信号的fft幅频特性);axis(0,8000,0,400)subplot(313); %

12、在图形窗口第三个分区中画图plot(abs(y); %绘制被处理的语音信号的实际幅频特性(正频率段)xlabel(f(hz);ylabel(y(t); grid; title(滤波后信号的实际幅频特性);.axis(0,4000,0,400)sound(y)%*noise=s2-s1wavwrite(noise,fs,noise.wav)%snr1*ss1=sum(s1.2)nn1= sum(s2.2)-sum(s1.2)snr1=10*log10(ss1/nn1)disp(snr1)%snr2*y0=conv(s1,hn);ss2=sum(y0.2)/fsnn2=(sum(y.2)-sum(

13、y0.2)/(fs+n-1)snr2=10*log10(ss2/nn2)disp(snr2)%*figure(7)%*subplot(211); %在图形窗口第三个分区中画图plot(abs(s2); %绘制被处理的语音信号的实际幅频特性(正频率段)xlabel(f(hz);ylabel(y(t);grid; title(加噪信号的实际幅频特性);axis(0,4000,0,400)subplot(212); %在图形窗口第三个分区中画图plot(abs(y); %绘制被处理的语音信号的实际幅频特性(正频率段)xlabel(f(hz);ylabel(y(t);grid; title(滤波后信号

14、的实际幅频特性);axis(0,4000,0,400)%*3.2. 原始语音信号波形图图7 语音信号的波形及频谱图3.3. 加噪声以后的语音信号波形图图8 加噪声后信号的波形及频谱图3.4. 滤波后的语音信号波形图图9 混合声经采样得到的波形及频谱3.5. 滤波器效果分析:(1)滤波器的效果如图图10 滤波器的参数图图11 滤波器的效果图(2)计算滤波前后的信噪比及matlab运行时的各参数截图如下snr1=24.3589db snr2=31.60596db如下图所示: 图12 滤波器及matlab运行时的各参数截图(3)滤波前后的频谱效果如图图13滤波前后的频谱效果对比分析 经上图可看出,滤

15、波后的信号在1800hz后信号均无能量,因此从频谱上看,已达到了想要的滤波效果。而在matlab中,对经过滤波器之后的语音信号进行回放,可以听出滤波之后的信号比原始语音信号更清晰一些,清除了环境噪声,通过以下语句来进行语音信号回放比较:sound(s2); sound(y);所得的结果,证明了用海明窗设计的fir滤波器和语音信号去噪设计是成功的。4. 设计体会在之前数字信号与处理的学习以及完成课后的作业的过程中,已经使用过matlab,对其有了一些基础的了解和认识。通过这次练习是我进一步了解了信号的产生、采样及频谱分析的方法。 以及其中产生信号和绘制信号的基本命令和一些基础编程语言。让我感受到

16、只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用matlab也可以很好的加深我对课程的理解,方便我的思维。这次设计使我了解了matlab的使用方法,学会分析滤波器的优劣和性能,提高了分析和动手实践能力。同时我相信,进一步加强对matlab的学习与研究对我今后的学习将会起到很大的帮助。回顾起此次设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握这门技术,也提高了自己的独立思考的能力。在设计的过程中遇到问题,可以说得上是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无

温馨提示

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

评论

0/150

提交评论