《MATLAB课程设计》报告DOC_第1页
《MATLAB课程设计》报告DOC_第2页
《MATLAB课程设计》报告DOC_第3页
《MATLAB课程设计》报告DOC_第4页
《MATLAB课程设计》报告DOC_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

《MATLAB课程设计》报告DOC《MATLAB课程设计》报告DOC/《MATLAB课程设计》报告DOC《MATLAB课程设计》报告设计题目:鉴于MATLAB的语音信号收集与办理学生姓名:学生学号:专业班级:光信息科学与技术辩论时间:2013年12月指导教师:冯明库广东技术师范学院电子与信息学院一、设计目的及意义1.MATLAB

软件功能简介MATLAB的名称源自

MatrixLaboratory,1984

年由美国

Mathworks

企业推向市场。它是一种科学计算软件,特意以矩阵的形式办理数据。MATLAB将高性能的数值计算和可视化集成在一同,并供给了大批的内置函数,进而被宽泛的应用于科学计算、控制系统和信息办理等领域的剖析、仿真和设计工作。MATLAB软件包含五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字一致办理功能(Notebook)和建模拟真可视化功能(Simulink)。此中,符号运算功能的实现是经过恳求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特色,一是功能强盛;二是界面友好、语言自然;三是开放性强。当前,Mathworks企业已推出30多个应用工具箱。MATLAB在线性代数、矩阵剖析、数值及优化、数值统计和随机信号剖析、电路与系统、系统动力学、次那好和图像办理、控制理论剖析和系统设计、过程控制、建模和仿真、通讯系统以及财政金融等众多领域的理论研究和工程设计中获得了宽泛应用。MATLAB在信号与系统中的应用主要包含符号运算和数值计算仿真剖析。因为信号与系统课程的很多内容都是鉴于公式演算,而MATLAB借助符号数学工具箱供给的符号运算功能,能基本知足信号与系统课程的需求。比如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真剖析,主要包含函数波形绘制、函数运算、冲击响应与阶跃响应仿真剖析、信号的时域剖析、信号的频谱剖析、系统的S域剖析和零极点图绘制等内容。数值计算仿真剖析能够帮助学生更深入地理解理论知识,并为未来使用MATLAB进行信号办理领域的各样剖析和实质应用打下基础。此题目的意义本次课程设计的课题为《鉴于MATLAB的语音信号收集与办理》,学会运用MATLAB的信号办理功能,收集语音信号,并对语音信号进行滤涉及变换办理,察看其时域和频域特征,加深对信号办理理论的理解,并为此后娴熟使用MATLAB进行系统的剖析仿真和设计确立基础。此次实习课程主假如为了进一步熟习对matlab软件的使用,以及学会利用matlab对声音信号这类实质问题进行办理,将理论应用于实质,加深对它的理解。二、设计任务及指标利用MATLAB对语音信号进行剖析和办理,收集语音信号后,利用MATLAB软件平台进行频谱剖析;并对所收集的语音信号加入扰乱噪声,对加入噪声的信号进行频谱剖析,设计适合的滤波器滤除噪声,恢还原信号。语音信号的“短时谱”关于非安稳信号,它是非周期的,频谱随时间连续变化,所以由傅里叶变换获得的频谱没法获知其在各个时刻的频谱特征。假如利用加窗的方法从语音流中拿出此中一个短断,再进行傅里叶变换,就能够获得该语音的短时谱。。三、设计过程(1).语音信号的收集及剖析鉴于声卡进行数字信号的收集。将话筒插入计算机的语音输入插口上,启动录音机。按下录音按钮,对话筒说话,说完后停止录音。要保存文件时,利用了计算机上的A/D变换器,把模拟的声音信号变为了失散的量化了的数字信号,放音时,它又经过D/A变换器,把保存的数字数据恢复为本来的模拟的声音信号。在Matlab软件平台下能够利用函数wavread对语音信号进行采样,获得了声音数据变量x1,同时把x1的采样频次fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图figure1为原始语音信号的时域图形。从图中能够看出在时域环境下,信号体现出6不规则的信号峰值。经过freqz函数绘制原始语音信号的频次响应图figure2。而后对语音信号进行频谱剖析,在Matlab中能够利用函数fft对信号行迅速傅里叶变换,获得信号的频谱图figure3,从图中能够看出对各个频点上的随机信号在频域进行抽样,抽样频次为22050Hz。(2).给原始信号加上一个高频噪声在Matlab中人为设计一个固定频次5500Hz的噪声扰乱信号。噪声信号往常为随机序列,在本设计顶用正弦序列取代,扰乱信号建立命令函数为d=[Au*sin(2*pi*5500*t)]',给出的扰乱信号为一个正弦信号,针对上边的语音信号,收集了此中一段。再对噪音信号进行频谱变换获得其频谱图,从图中能够看出扰乱信号,在4000Hz和6000Hz频点处有一顶峰,此中5500Hz正是本设计所要利用的。(3).设计一个滤波器,滤除高频噪声由模拟滤波器变换为数字滤波器时,采纳的是双线性变换法,它保存的是从模拟到数字域的系统函数表示。在滤波器的选用时,因为设计方法的重视点不一样,作出比较是困难的。假如FIR滤波器状况下,最优的设计将是椭圆滤波器。用双线性变换法设计低通滤波器。的本设计是用双线性变换法设计BW带阻型滤波器。在MATLAB中,能够利用函数butterworth,设计FIR滤波器,利用MATLAB中的函数freqz画出各滤波器的频次响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中FIR滤波器利用函数fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中能够看出,5500Hz看到的顶峰消逝了,语音信号与开始的同样,滤波器成功的滤除了扰乱信号。利用MATLAB对语音信号进行剖析和办理,收集语音信号后,利用MATLAB软件平台进行频谱剖析;并对所收集的语音信号加入扰乱噪声,对加入噪声的信号进行频谱剖析,设计适合的滤波器滤除噪声,恢还原信号。四、结论及剖析.用MATLAB对原始语音信号进行剖析,画出它的时域波形和频谱程序:fs=22050;

%

语音信号采样频次为

22050x1=wavread('C:\Documents

and

桌面

声音文件.wav');%读取语音信号的数据,赋给变量x1,sound(x1,22050);%播放语音信号y1=fft(x1,1024);%对信号做1024点FFT变换f=fs*(0:511)/1024;%将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ffigure(1)%创立图形窗1plot(x1)%做原始语音信号的时域图形title('原始语音信号');xlabel('timen');

%x

轴的名字是“

timen

”ylabel('fuzhin');

%y

轴的名字是“

fuzhin

”figure(2)freqz(x1)

%

绘制原始语音信号的频次响应图title('频次响应图')figure(3)subplot(2,1,1);plot(abs(y1(1:512)))

%

%

创立两行一列画图区间的第1个画图区间做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512)));%abs是绝对值,plot是直角坐标下线性刻度曲线title('原始语音信号频谱')xlabel('Hz');ylabel('幅值');时域波形和频谱:图1原始语音信号图2语音信号频次响应图图3原始语音信号FFT与信号频谱给原始的语音信号加上一个高频余弦噪声,频次为5500hz。对加噪后的语音进行剖析,并画出其信号时域和频谱图。程序:fs=22050;x1=wavread('C:\Documentsand桌面声音文件.wav');%读取语音信号的数据,赋给变量x1f=fs*(0:511)/1024;%将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ft=0:1/fs:(length(x1)-1)/fs;%将0到x1的长度减1后的值除以fs的值,且步长为1/fs的值,的序列的值,给予tAu=;%噪声幅值d=[Au*sin(2*pi*5500*t)]';%所加的噪声是正弦信号x2=x1+d;%将正弦信号噪声加在语音信号上sound(x2,22050);%播放语音信号y1=fft(x1,1024);%对信号y1做1024点FFT变换y2=fft(x2,1024);%对信号y2做1024点FFT变换figure(1);%创立图形窗1plot(t,x2);%做加噪后的信号时域图形(绘出t对x2的线性图)title('加噪后的信号');xlabel('timen');%x轴的名字是“timen”ylabel('fuzhin');%y轴的名字是“fuzhin”figure(2)%创立图形窗2subplot(2,1,1);%创立两行一列画图区间的第1个画图区间plot(f,abs(y1(1:512)));%做原始语音信号的频谱图title('原始语音信号频谱');xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(y2(1:512)));

%x%y%%

轴的名字是“timen”轴的名字是“fuzhi”创立两行一列画图区间的第2个画图区间做加噪后的语音信号的频谱图(abs是绝对值,plot是直角坐标下线性刻度曲线)title('加噪后的信号频谱');xlabel('Hz');ylabel('fuzhi');

%x%y

轴的名字是“轴的名字是“

timenfuzhi

””时域波形和频谱:图4加噪后的信号时域图图5原始信号与加噪后信号频谱对照与原始信号对照,差别:先原始信号没加噪音从前0到2000有幅值,在4000到6000之间没有幅值,可是在加了噪音以后4000到6000之间出现最大幅值12,高出正常值。如图5原始信号与加噪后信号频谱对照图所示。设计适合的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:程序:%用双线性变换法设计巴特沃思低通滤波器wp=*pi;%通带截止频次ws=*pi;%阻带截止频次Rp=1;%通带最大衰减(db)Rs=15;%阻带最大衰减(db)Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2);%将模拟指标变换成数字指标ws1=2/Ts*tan(ws/2);%将模拟指标变换成数字指标[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数(估量获得Butterworth低通滤波器的最小阶数N和3dB截止频次Wc)[Z,P,K]=buttap(N);%创立Butterworth低通滤波器原型[Bap,Aap]=zp2tf(Z,P,K);%将零极点增益变换为广泛分子,分母[b,a]=lp2lp(Bap,Aap,Wn);%将广泛的分子和分母变换为以Wn为截止频次[bz,az]=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的变换(模拟变换为数字)[H,W]=freqz(bz,az);%求频次响应figure(9)plot(W*Fs/(2*pi),abs(H))%绘制Butterworth低通滤波器频次响应曲线grid%增添图格xlabel('频次/Hz')ylabel('频次响应幅度')title('Butterworth')f1=filter(bz,az,z);%利用上边已做好的滤波器(已bz和az为特色的滤波器)对x2信号进行滤波,赋值给f1figure(10)subplot(2,1,1)%创立两行一列画图区间的第1画图区间plot(t,z)%做加噪后的信号时域图形title('滤波前的时域波形');subplot(2,1,2)%创立两行一列画图区间的第2画图区间plot(t,f1);title('滤波后的时域波形');sound(f1,22050);%播放语音信号p=length(f1);F0=fft(f1,p);f=0:fs/p:fs*(s-1)/p;figure(11)y2=fft(z,1024);%对信号y2做1024点FFT变换subplot(2,1,1);%创立两行一列画图区间的第1画图区间plot(f,abs(y4));title('滤波前的频谱')xlabel('Hz');%x轴的名字是“Hz”ylabel('fuzhi');%y轴的名字是“fuzhi”subplot(2,1,2)F1=plot(f,abs(F0));title('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');时域波形和频谱:图6低通滤波器频次响应曲线图7滤波前后时域波形图图8滤波前后频谱图与原噪音信号对照,差别:经过对照剖析可知,滤波后的输出波形和原始语音加噪声信号的图形发生了一些变化,在3000-6000Hz之间的信号消逝,出现0-1000和7000-8000之间的信号。滤波后的输出波形显然在对应时间幅度比原语音加噪声信号的要小,并且滤波的成效也与滤波器的选择相关,能够看出滤波器的性能差别以及参数的调理会对滤波器产生必定的影响,并且经过回放能够发现滤波前后的声音有变化.低通滤波后,已很靠近本来的声音,人耳几乎鉴别不出。从频谱图中我们还能够看出声音的能量信号主要集中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。五、设计领会正所谓“纸上得来终觉浅,觉知此事要躬行。”学习任何知识,仅从理论上去求知,而不去实践、探究是不够的。所以在学期末到临之际,我们迎来了MATLAB课程设计。经过为期一周半的MATLAB课程设计,我对MATLAB这个仿真软件有了更进一步的认识和认识。在这一周半时间里,我经过自己探究,查阅资料,并且在老师的指导下达成了:语音信号的收集及剖析;给原始信号加上一个高频噪声;设计一个滤波器,滤除高频噪声;并最后将课程设计报告总结完成。在整个设计过程中我懂得了很多东西,也培育了独立思虑和设计的能力,建立了对知识应用的信心,相信会对此后的学习工作和生活有特别大的帮助,并且提升了自己的着手实践操作能力,使自己充分领会到了在设计过程中的成功愉悦。固然这个设计做的不怎么好,可是在设计过程中所学到的东西是此次课程设计的最大收获和财产,使我终生得益。在没有做课程设计从前,感觉课程设计不过对知识的纯真总结,可是经过此次课程设计发现自己的见解有点太片面,课程设计不单是对前面所学知识的一种查验,也是对自己能力的一种提升,经过此次课程设计使自己理解了本来的那点知识是特别短缺的,要学习的东西还好多,经过此次课程设计,理解学习是一个长久累积的过程,在此后的工作和生活中都应当不停的学习,努力提升自己的知识和综合素质。希望此后像这样的课程设计在多一点。参照文件:姚东.MATLAB及在电子信息课程中的应用[M].第二版.北京:北京电子工业第一版社,2000张智星.MATLAB程序设计与应用.北京:清华大学第一版社,2002陈怀琛.MATLAB及其在理工课程中的应用指南.西安:西安电子科技大学第一版社,肖伟、刘忠.MATLAB程序设计与应用[M].北京:清华大学第一版社2005程序清单:fs=22050;%语音信号采样频次为22050x1=wavread('C:\Documentsand桌面声音文件.wav');%读取语音信号的数据,赋给变量x1,sound(x1,22050);%播放语音信号y1=fft(x1,1024);%对信号做1024点FFT变换f=fs*(0:511)/1024;%将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ffigure(1)%创立图形窗1plot(x1)%做原始语音信号的时域图形title('原始语音信号');xlabel('timen');

%x

轴的名字是“

timen

”ylabel('fuzhin');

%y

轴的名字是“

fuzhin

”figure(2)freqz(x1)%绘制原始语音信号的频次响应图title('频次响应图')figure(3)subplot(2,1,1);

%

创立两行一列画图区间的第

1个画图区间plot(abs(y1(1:512)))

%

做原始语音信号的

FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512)));%abs是绝对值,plot是直角坐标下线性刻度曲线title('原始语音信号频谱')xlabel('Hz');ylabel('幅值');fs=22050;x1=wavread('C:\Documentsand桌面声音文件.wav');%读取语音信号的数据,赋给变量x1f=fs*(0:511)/1024;%将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ft=0:1/fs:(length(x1)-1)/fs;%将0到x1的长度减1后的值除以fs的值,且步长为1/fs的值,的序列的值,给予tAu=;%噪声幅值d=[Au*sin(2*pi*5500*t)]';%所加的噪声是正弦信号x2=x1+d;%将正弦信号噪声加在语音信号上sound(x2,22050);%播放语音信号y1=fft(x1,1024);%对信号y1做1024点FFT变换y2=fft(x2,1024);%对信号y2做1024点FFT变换figure(1);%创立图形窗1plot(t,x2);%做加噪后的信号时域图形(绘出t对x2的线性图)title('加噪后的信号');xlabel('timen');%x轴的名字是“timen”ylabel('fuzhin');%y轴的名字是“fuzhin”figure(2)%创立图形窗2subplot(2,1,1);%创立两行一列画图区间的第1个画图区间plot(f,abs(y1(1:512)));%做原始语音信号的频谱图title('原始语音信号频谱');xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(y2(1:512)));

%x%y%%

轴的名字是“timen”轴的名字是“fuzhi”创立两行一列画图区间的第2个画图区间做加噪后的语音信号的频谱图(abs是绝对值,plot是直角坐标下线性刻度曲线)title('加噪后的信号频谱');xlabel('Hz');ylabel('fuzhi');

%x%y

轴的名字是“轴的名字是“

timenfuzhi

””%用双线性变换法设计巴特沃思低通滤波器wp=*pi;%通带截止频次ws=*pi;%阻带截止频次Rp=1;%通带最大衰减(db)Rs=15;%阻带最大衰减(db)Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2);%将模拟指标变换成数字指标ws1=2/Ts*tan(ws/2);%将模拟指标变换成数字指标[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波

温馨提示

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

评论

0/150

提交评论