ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:166.75KB ,
资源ID:4553335      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4553335.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB课程论文汇总.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB课程论文汇总.docx

1、MATLAB课程论文汇总MATLAB课程论文基于MATLAB的语音信号采集与处理 姓名:学号:专业:班级:基于MATLAB的语音信号采集与处理摘要:本次论文的课题为基于MATLAB的语音信号采集与处理,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础, 进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解关键词:MATLAB 语音信号采集与处理 符号运算 数值计算仿真分析一 、引言M

2、ATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB

3、命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正

4、反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。二、原理介绍:1.理论原理利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信号的“ 短时谱”对于非平稳信号, 它是

5、非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。2. 具体流程(1). 语音信号的采集及分析基于声卡进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动录音机。按下录音按钮,对话筒说话,说完后停止录音。要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。在 Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量

6、x1,同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图figure 1为原始语音信号的时域图形。从图中可以看出在时域环境下,信号呈现出6不规则的信号峰值。通过freqz函数绘制原始语音信号的频率响应图figure 2 。然后对语音信号进行频谱分析,在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱图figure 3,从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。(2). 给原始信号加上一个高频噪声在Matlab中人为设计一个固定频率5500Hz的噪声干扰信号。噪声信号通常为随机序列,

7、在本设计中用正弦序列代替,干扰信号构建命令函数为d=Au*sin(2*pi*5500*t),给出的干扰信号为一个正弦信号,针对上面的语音信号 ,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在4000Hz和 6000Hz频点处有一高峰 ,其中 5500Hz 正是本设计所要利用的。(3). 设计一个滤波器,滤除高频噪声由模拟滤波器变换为数字滤波器时,采用的是双线性变换法, 它保留的是从模拟到数字域的系统函数表示。在滤波器的选取时, 由于设计方法的侧重点不同, 作出比较是困难的。如果FIR滤波器情况下,最优的设计将是椭圆滤波器。用双线性变换法设计低通滤波器。的本设计

8、是用双线性变换法设计BW带阻型滤波器。在 MATLAB中 ,可以利用函数 butterworth,设计FIR滤波器,利用 MATLAB 中的函数freqz 画出各滤波器的频率响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中 FIR滤波器利用函数fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中可以看出 ,5500Hz看到的高峰消失了 ,语音信号与开始的一样 ,滤波器成功的滤除了干扰信号。利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加

9、入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。三、算法实现步骤1用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱程序:fs=22050; %语音信号采样频率为22050x1=wavread(C:Documents and SettingsAdministrator桌面声音文件.wav); %读取语音信号的数据,赋给变量x1,sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ffig

10、ure(1) %创建图形窗1plot(x1) %做原始语音信号的时域图形title(原始语音信号);xlabel(time n); %x轴的名字是“time n”ylabel(fuzhi n); %y轴的名字是“fuzhi n”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是绝

11、对值,plot是直角坐标下线性刻度曲线title(原始语音信号频谱)xlabel(Hz);ylabel(幅值);时域波形和频谱: 图1 原始语音信号 图2 语音信号频率响应图 图3 原始语音信号FFT与信号频谱2. 给原始的语音信号加上一个高频余弦噪声,频率为5500hz。对加噪后的语音进行分析,并画出其信号时域和频谱图。程序:fs=22050; x1=wavread(C:Documents and SettingsAdministrator桌面声音文件.wav); %读取语音信号的数据,赋给变量x1f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以102

12、4的值,赋值给ft=0:1/fs:(length(x1)-1)/fs; %将0到x1的长度减1后的值除以fs的值,且步长为1/fs的值,的序列的值,赋予tAu=0.03; %噪声幅值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

13、(加噪后的信号);xlabel(time n); %x轴的名字是“time n”ylabel(fuzhi n); %y轴的名字是“fuzhi n”figure(2) %创建图形窗2subplot(2,1,1); % 创建两行一列绘图区间的第1个绘图区间plot(f,abs(y1(1:512); %做原始语音信号的频谱图title(原始语音信号频谱);xlabel(Hz); %x轴的名字是“time n”ylabel(fuzhi); % y轴的名字是“fuzhi”subplot(2,1,2); %创建两行一列绘图区间的第2个绘图区间plot(f,abs(y2(1:512); %做加噪后的语音信号

14、的频谱图(abs是绝对值,plot是直角坐标下线性刻度曲线)title(加噪后的信号频谱);xlabel(Hz); %x轴的名字是“time n”ylabel(fuzhi); % y轴的名字是“fuzhi”时域波形和频谱: 图4 加噪后的信号时域图图5 原始信号与加噪后信号频谱对比与原始信号对比,区别:先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。如图5原始信号与加噪后信号频谱对比图所示。3. 设计合适的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:程序:%用双线性变换法设计巴特沃思低通

15、滤波器wp=0.25*pi; %通带截止频率ws=0.3*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); %将

16、零极点增益转换为普遍分子,分母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为特征的滤波器)对

17、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绘

18、图区间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之间的信号。滤波后的输

19、出波形明显在对应时间幅度比原语音加噪声信号的要小,而且滤波的效果也与滤波器的选择有关,可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以发现滤波前后的声音有变化.低通滤波后,已很接近原来的声音,人耳几乎辨别不出 。从频谱图中我们还可以看出声音的能量信号主要集中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。四、结论 通过此次MATLAB课程设计与研究,我对MATLAB这个仿真软件有了更进一步的认识和了解,并且对一些典型算法运用更加熟练了,通过语音信号的采集及分析;给原始信号加上一个高频噪声;设计一个滤波器,滤除高频噪声;不过还有一些可以改进的地方,但限于自

20、身的能力暂时不能实现,希望通过以后的学习研究能解决这些问题。以后研究主要是通过MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号,当然这些都必须建立在对MATLAB的熟练掌握上。在整个论文设计过程中我懂得了许多东西,也培养了独立思考和设计的能力,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很优秀,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。参考文献:1. 姚东.MATLAB及在电子信息课程中的应用M.第二版.北京:北京电子工业出版社,20002. 张智星.MATLAB程序设计与应用.北京:清华大学出版社,20023. 陈怀琛.MATLAB及其在理工课程中的应用指南.西安:西安电子科技大学出版社,1999.104. 肖伟、刘忠. MATLAB程序设计与应用M.北京:清华大学出版社 2005

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1