figure(10) ;
xlim([0,0.2]); %axis tight;
title('椭圆函数图像'); xlabel('Hz'); ylabel('幅度');
运行结果:
总 结
本文对语音信号处理系统的设计作了详细的介绍,采用一系列图像分析和处理技术,实现了语音信号的基本处理的功能,经过测试运行,基本达到预期目的。完成了对语音信号的读取与打开;较好的完成了对语音信号的频谱分析,通过fft变换,得出了语音信号的频谱图;在滤波这一块,基本实现了滤波,完成了各种滤波器的滤波效果比
较,与课题的要求十分相符。
本实验设计采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。论文初步完成了设计任务,由于本人能力有限,还存在许多不足的地方,比如滤波器的设计种类还比较单一,没有做更多的滤波效果比较等。在以后的工作和学习中会更加努力来完善设计任务。
本设计圆满的完成了对语音信号的读取与打开,与课题的要求十分相符;本设计也较好的完成了对语音信号的频谱分析,通过fft变换,得出了语音信号的频谱图;也从一方面基本实现了滤波,得到与原信号相差不是很大的信号。
语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课题在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。
从课题的中心来看,课题是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音的处理。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。
在这里,用到了处理数字信号的强有力工具MATLAB,通过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.
附录:实验所有程序:
fs=16000;
x0=wavread('E:\\xinhao1'); t=(0:length(x0)-1)16000; f=fs*(0:10239)20480; %画语音信号时域图 figure(1)
subplot(1,1,1); plot(t,x0) grid on; axis tight;
title('原始语音信号时域'); xlabel('time(s)'); ylabel('幅度');
%画语音信号频域图 figure(2)
subplot(1,1,1);
plot(f,abs(y1(1:10240))); grid on;
title('原始语音信号频谱'); xlabel('Hz'); ylabel('幅度');
%加噪后语音信号变化
d=[0.15*cos(2*pi*4000*t)]'; %加噪 x1=x0+d;
%加噪后语音信号的时域图 figure(3)
subplot(1,1,1); plot(t,x0) grid on;
ylim([-0.03,0.03]); axis tight;
title('加噪后的信号时域'); xlabel('time(s)'); ylabel('幅度');
%加噪后语音信号的频域图 figure(4)
subplot(1,1,1);
plot(f,abs(y2(1:10240))); grid on;
title('加噪语音信号频谱'); xlabel('Hz'); ylabel('幅度'); %设计带阻滤波器
wlp=2850*pi*2fs;wls=3400*pi*2fs; wup=4900*pi*2fs;wus=4600*pi*2fs; B=(wus-wls);
M=ceil(12*piB)-1;
wp=[(wls+wlp)2pi,(wus+wup)2pi];
[bz,az]=fir1(M,wp,'stop',blackman(M+2)); =fir1(M,wp,'stop',blackman(M+2)); %带阻滤波器窗函数图像 figure(5)
subplot(1,1,1); freqz(); grid on; axis tight;
title('窗函数图像'); xlabel('Hz'); ylabel('幅度'); %画滤波后的图 figure(6)
freqz(bz,az);
grid on; axis tight; y3=filter(bz,az,x1); %滤波后时域图 subplot(2,1,1); plot(y3); grid on;
ylim([-0.03 ,0.03]);
title('滤波后信号时域波形'); xlabel('time(s)'); ylabel('幅度'); %滤波后频谱 subplot(2,1,2);
plot(abs(X(1:10240))); title('滤波后信号频谱'); grid on; ylim([0,20]); xlabel('Hz'); ylabel('幅度');
d1=[0.5*cos(2*pi*200*t)]'; %加噪 x4=x0+d1;
%加噪后语音信号的时域图 figure(7)
subplot(1,1,1); plot(t,x4) grid on; axis tight;
title('加噪后的信号时域'); xlabel('time(s)'); ylabel('幅度');
%加噪后语音信号的频域图 figure(8)
subplot(1,1,1);
plot(f,abs(y4(1:10240))); grid on;
title('加噪语音信号频谱'); xlabel('Hz'); ylabel('幅度');
%加高通滤波 wp1=100*pi*2fs; ws1=60*pi*2fs; Rp1=1; As1=100;
[N1,wso]=ellipord(wp1,ws1,Rp1,As1); [B1,A1]=ellip(N1,Rp1,As1,wso,'high'); figure(9)
freqz(B1,A1); grid on; ylim([0,1]);
y4=filter(B1,A1,x4); %滤波后时域图 subplot(2,1,1); plot(y4); grid on; %axis tight;
ylim([-0.03,0.03]);
title('滤波后信号时域波形'); xlabel('time(s)'); ylabel('幅度'); %滤波后频谱 subplot(2,1,2);
plot(abs(X1(1:10240))); title('滤波后信号频谱'); grid on;
%ylim([0,20]); axis tight; xlabel('Hz'); ylabel('幅度');
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库语音信号处理及MATLAB实现毕业课程设计(4)在线全文阅读。
相关推荐: