《语音信号处理课程设计指导.doc》由会员分享,可在线阅读,更多相关《语音信号处理课程设计指导.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、语音信号处理数字信号处理课程设计报告 学院:电子信息学院 班级:通信131 姓名:* 2016年 月 日1语音信号处理目录一、设计目的2二、设计要求及任务32.1 语音信号的采集32.2 语音信号的频谱分析;3三、课程设计平台3四、设计原理与计算方法44.1卷积运算44.2 采样定理4五、设计内容55.1利用带阻滤波器的进行滤波的具体步骤55.1.1语音信号的录入与提取55.1.2加入噪声信号65.1.3 语音信号和噪声信号相加85.1.4滤波器设计95.1.5对信号进行滤波115.2利用低通滤波器进行滤波12六:总结1415语音信号处理一、设计目的1、学会MATLAB的使用,掌握MATLAB
2、程序设计方法;2、掌握在Windows环境下语言信号采集的方法;3、掌握数字信号处理的基本概念、基本理论和基本方法;4、掌握MATLAB设计IIR数字滤波器的方法;5、学会用MATLAB对信号进行分析和处理;二、设计要求及任务2.1 语音信号的采集本设计利用计算机Windows下的录音机录入一句语音信号,然后在Matlab软件平台下,利用函数waveread对语音信号进行采样,记住采样频率和采样点数。2.2 语音信号的频谱分析; 在Matlab中,可以利用函数FFT对信号进行快速傅里叶变换,得到信号的频谱特性,然后加入一干扰信号,要求画出语音信号干扰前后的时域波形,并对其频谱进行分析。1、 设
3、计数字滤波器,给出性能指标(参考指标);(1)低通滤波器的性能指标:fp=1000Hz,fs=1200Hz,As=100dB,Ap=1dB(2)高通滤波器的性能指标:fs=4800Hz,fp=5000Hz,As=100dB,Ap=1dB(3)带通滤波器的性能指标:fp1=1200Hz,fp2=3000Hz,fs1=1000Hz,fps2=3200Hz,As=100dB,Ap=1dB;采用双线性变换法设计上面一种类型的数字滤波器,要求使用切比雪夫II型滤波器。2、 用滤波器对信号进行滤波画出滤波后信号的时域波形及频谱,并对滤波前后的信号进行对比,分析信号的变化。3、 回放语音信号,分析滤波前后的
4、语音变化。在熟悉数字信号处理课程理论的基础上,通过MATLAB仿真实现语音信号的采集与处理,进一步加深对数字信号处理理论和技术的掌握。三、课程设计平台计算机、MATLAB6.5以上四、设计原理与计算方法4.1卷积运算卷积和乘积运算在频域和时域是一一对应的,两个信号在时域的卷积可以转化为求两者在频域的乘积后再反变换,同理在频域的卷积等时域的乘积。而信号的频域求解有快速傅里叶FFT算法。卷积与傅里叶变换有着密切的关系。利用这一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。由卷积得到的函数f*g 一般要比f 和g 都光滑。特别当g 为具有紧支集
5、的光滑函数,f 为局部可积时,它们的卷积f * g 也是光滑函数。利用这一性质,对于任意的可积函数f,都可以简单地构造出一列逼近于f 的光滑函数列,这种方法称为函数的光滑化或正则化。卷积的概念还可以推广到数列、测度以及广义函数上去。4.2 采样定理采样定理,又称香农采样定理,奈奎斯特采样定理,是信息论,特别是通讯与信号处理学科中的一个重要基本结论。E.T.Whittaker(1915年发表的统计理论),克劳德香农与Harry Nyquist都对它作出了重要贡献。另外,V.A.Kotelnikov也对这个定理做了重要贡献。 采样是将一个信号(即时间或空间上的连续函数)转换成一个数值序列(即时间或
6、空间上的离散函数)。采样定理指出,如果信号是带限的,并且采样频率高于信号带宽的两倍,那么,原来的连续信号可以从采样样本中完全重建出来。带限信号变换的快慢受到它的最高频率分量的限制,也就是说它的离散时刻采样表现信号细节的能力是有限的。采样定理是指,如果信号带宽不到采样频率的一半(即奈奎斯特频率),那么此时这些离散的采样点能够完全表示原信号。高于或处于奈奎斯特频率的频率分量会导致混叠现象。大多数应用都要求避免混叠,混叠问题的严重程度与这些混叠频率分量的相对强度有关。五、设计内容5.1利用带阻滤波器的进行滤波的具体步骤5.1.1语音信号的录入与提取用电脑所带的录音工具录制一段录音,并将声音保存,因为
7、录入的声音不是wav格式,因此用格式工厂软件将其进行转换位wav格式。利用Matlab对语音信号进行FFT分析,并画出源语音信号的时域波形和频域波形。实验代码:x,fs=wavread(c1.wav);%利用wavread函数对语音信号进行提取figure(1)subplot(2,1,1);N=length(x);T=1/fs;t=0:T:(N-1)*T; %时间间隔plot(t,x) %以时间为横轴,x为纵轴画图title(原语音信号时域分析)%图形命名xlabel(t(s)ylabel(x)以上为时域分析,接下来为频域分析f=(0:N-1)*fs/N;X=fft(x);subplot(2,
8、1,2)plot(f,abs(X)axis(0 25000 0 60);title(原语音信号频域分析)xlabel(f(Hz)ylabel(X)语音信号图形: 5.1.2加入噪声信号在此选择余弦函数作为噪声信号,因为正弦和余弦函数的频域为两条竖直的线,便于滤波实验代码:y=0.003*sin(50000*t);y1=y y;%对噪音信号进行转换,便于信号相加(见下图有说明)Y=fft(y);figure(2)subplot(2,1,1)plot(t,y)title(干扰信号时域波形)xlabel(t(s)ylabel(y=0.003*sin(50000*t)Y=fft(y);subplot(
9、2,1,2)plot(f,abs(Y)axis(0 25000 0 60);%取在语音信号范围内的噪声信号title(干扰信号频域波形)xlabel(f(Hz)ylabel(Y)通过图中划线的部分可以看出,通过y1=y y此句可以将x和y这两个变量类型统一,以便噪声与语音信号的相加噪声信号图形:5.1.3 语音信号和噪声信号相加实验代码:x1=wavread(c1.wav);x2=x1+y1;figure(3)subplot(2,1,1)plot(t,x2)title(加入噪声信号时域波形)xlabel(t(s)ylabel(x)X2=fft(x2);subplot(2,1,2)plot(f,
10、abs(X2)axis(0 25000 0 60);title(加入噪声信号频域波形)xlabel(f(Hz)ylabel(Y)两信号相加图形:5.1.4滤波器设计fp1=0.5*104;fp2=4*104;fs1=0.6*104;fs2=3.7*104;Rp=1;As=100;Fs=80000;wp11=2*pi*fp1/Fs;wp22=2*pi*fp2/Fs;ws11=2*pi*fs1/Fs;ws22=2*pi*fs2/Fs; OmegaP11=2*Fs*tan(wp11/2);OmegaP22=2*Fs*tan(wp22/2);OmegaS11=2*Fs*tan(ws11/2);Omeg
11、aS22=2*Fs*tan(ws22/2);OmegaP=OmegaP11,OmegaP22;OmegaS=OmegaS11,OmegaS22;%预畸变化 N,OmegaC=cheb2ord(OmegaP,OmegaS,Rp,As,s);b,a=cheby2(N,As,OmegaS,stop,s);bz,az=bilinear(b,a,Fs);%AD转换H,w=freqz(bz,az);db=20*log10(abs(H);figure(4)plot(w/pi,db)title(带阻滤波器)xlabel(w/pi)ylabel(Db)滤波器图形:5.1.5对信号进行滤波实验代码:H=filte
12、r(bz,az,x2);figure(5)subplot(211)plot(t,H)title(滤波后时域)xlabel(t(s)ylabel(x)subplot(212)H1=fft(H);plot(f,abs(H1);axis(0 25000 0 60); title(滤波后频域)xlabel(f(Hz)ylabel(Y)滤波后图形:对比原图源信号已经被滤出来了5.2利用低通滤波器进行滤波前三步和上面带阻滤波器一样便不再重复叙述,从低通滤波器的设计开始低通滤波器实验代码:fp1=0.25*104;fs1=0.5*104;Rp=1;As=100;Fs=30000;wp11=2*pi*fp1/
13、Fs;ws11=2*pi*fs1/Fs;OmegaP=2*Fs*tan(wp11/2);OmegaS=2*Fs*tan(ws11/2);%频率预畸 N,OmegaC=cheb2ord(OmegaP,OmegaS,Rp,As,s);%为了得到N Cz0,p0,k0=Cheb2ap(N,As); %归一化原型低通滤波器零极点a0=real(poly(p0);b0=k0*real(poly(z0); b,a=lp2lp(b0,a0,OmegaC);%将归一化原型低通转换成低通滤波器 bz,az=bilinear(b,a,Fs);%双线性变换AF到DFH,w=freqz(bz,az);db=20*lo
14、g10(abs(H);figure(4)plot(w/pi,db)title(低通滤波器)xlabel(w/pi)ylabel(Db)此处设计低通滤波器时与上面方法不同,此处先求出了归一化原型低通滤波器,在利用归一化原型低通滤波器转换成低通滤波器低通滤波器图形:滤波后图形:从图中可以看出,利用低通滤波器也还原出了源语音信号,并且比带阻的效果稍好一点六、 总结 这次课程设计虽然遇到了很多问题,很多困难,但是也学到了很多东西。不仅学到了书本上的东西,而且学到了很多课本上没有的东西,很多程序里的东西,特别是程序语法,总是有错误,但是总是不知道错在哪里,在细心的检查下,终于找出了错误和警告,排除困难后
15、,程序编译就通过了,心里终于舒了一口气。还有各种各样问题,通过查网络和请教同学来弄明白,这个过程是痛苦的,有时候有些问题不能马上解决,感到很头痛,真想放弃这个问题,但是坚持下来,并且解决这些问题的时候,真的有种苦尽甘来的感觉。应用MATLAB进行语音信号的处理是与我们所学课程及专业紧密相连的,有着很强的实践性。做这个课程设计的时候,并不是非常的顺利,我也有遇到很多困难。刚开始,我用自己的mp3录制的一个音频文件做语音信号处理,程序始终现实如下错误提示:? Error using = wavreadError using = wavreadData compression format (IMA
16、 ADPCM) is not supported.我在查阅了很多资料,在网上也查阅相关信息,最后发现只有WAV格式的音频信号才能被wavread函数识别,这只是其中的一个小困难,当然后来也出现了许多错误,不过在我们的精心调试下,代码终于运行成功通过这次设计,进一步加深了对数子信号处理的了解,让我对它有了更加浓厚的兴趣。通过这次课设使我懂得,平时的理论知识只有通过自己动手做一个课题,从做这个课题的过程中发现问题,解决问题,这个学习的过程,会比我们平时在课堂上听到的知识更加的生动立体,更能让人记忆深刻。 总的来说,通过这次的课程设计我对语音信号有了全面的认识,对数字信号处理又有了深刻的理解,让我们
17、感受到只有在充分理解课本知识的前提下,才更更好的应用这个工具。同时我相信,matlab会对我以后的学习中起到更大的帮助参考文献1 高西全、丁玉美编著,数字信号处理。西安:西安电子科技大学出版社,2008.2丁玉美、高西全编著,数字信号处理学习指导。西安:西安电子科技大学出版社,2001.3郑君里等编,信号与系统。北京:高等教育出版社,2000.4刘树棠译,数字信号处理使用MATLAB。西安:西安交通大学出版社,2002.5导向科技编著,MATLAB程序设计与实例应用。北京:中国铁道出版社,2001.6罗军辉等编著,MATLAB7.0在数字信号处理中的应用。北京:机械工程出版社,2005.7陈怀琛等编著,MATLAB及在电子信息课中的应用。北京:电子工业出版社,2002.8胡广书编组,数字信号处理理论、算法与实现。北京:清华大学出版社,2002.9梁虹等编,信号与线性系统分析机遇MATLAB的方法与实现。北京:高等教育出版社,2006.10刘卫国主编,MATLAB程序设计与应用(第二版)。北京:高等教育出版社,2006.
限制150内