基于matlab的语音信号加回声技术的实现.docVIP

基于matlab的语音信号加回声技术的实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于matlab的语音信号加回声技术的实现

《数字信号处理》 课程设计报告 基于MATLAB的语音信号加回声技术的实现 基于MATLAB的语音信号加回声技术的实现 一、设计目的 回波是现代通信中影响通信质量的噪声干扰。本课程设计要求用MATLAB语言编程实现回波信号的产生。在进一步娴熟运用matlab这种以数值计算和数据图示为主的计算机软件的同时,加深对声频信号中噪声的认识。掌握MATLAB程序设计,为以后的毕业设计奠定一定的基础。 设计任务 提取一段音频信号,用MATLAB自带的函数功能读取语音信号,通过延迟叠加产生回波信号信号来模拟回声。 三、设计原理 1,语音信号采集:使用现成的“*.wav”格式的声音信号,matlab会自动进行16khz的采样。 2,声音信号的读取:使用MATLAB中的wavread()函数读取,记录信号,采样率fs。 3,带回波信号的产生:利用MATLAB中的基本矩阵计算产生原始信号的延迟以及只有一个衰减延迟的回波信号附加到原始信号回波信号。 四、设计过程 4.1声音信号x[n]的产生 1、 制作一段wav格式的音频,然后把它存放到对应程序段所在的磁盘中,用MATLAB函数wavread()将其提取出来绘制其时域波形对此音频信号用FFT作谱分析,用plot()函数绘制其图形。 信号采集程序如下: %声音信号的提取 [x,fs]=wavread(luyin.wav); %把语音信号进行加载入Matlab仿真软件平台中 wavplay(x,fs);% 回放语音信号。或者sound(x,fs) figure(1); N=length(x);%求语音信号的长度 subplot(3,1,1); plot(x(1:N)); title(原始信号波形); y=fft(x,N);%傅立叶变换 subplot(3,1,2); plot(abs(y)); title(原始信号幅值); subplot(3,1,3); plot(angle(y)); title(原始信号相位); 2,产生的原是信号的波形,以及其幅度、相位谱如下所示: 4.2声音信号y[n]的产生 1,参数的设置: 因为人耳能分辨出的声音延迟至少是0.1s,因此,最小延迟量不能小于0.1s。在此先先延迟时间为0.2s,即最小延迟量N=0.2*fs=0.2*16000=3200。 在已有声音信号x的基础上产生带回声的声音信号,可以表达为在于娜信号的基础上叠加其延时的分量。假设只有一个回声的情况下,可简化其模型为 y(n)=x(n)+ax(n-N) A为反射系数;N为延迟时间。 这里设N=3200 a=0.4 2,利用矩阵置零产生x的延迟,以及得到y信号: 为了保证图像的完整性,对读取的信号先延长4000个采样点,将原始信号延长3200个采样点,然后再在后面补上800个点,得到如下代码: %回波的产生 [x,fs]=wavread(luyin.wav);%把语音信号进行加载入Matlab仿真软件平台中。 N=length(x);%语音信号的长度。 x1=x(1:N); x2=x(1:N); x1=[x1,zeros(1,4000)];%zeros(1,4000)产生1行3000列全零矩阵加到x1后面。 x2=[zeros(1,3200),0.4*x2,zeros(1,800)];%N+3200+x=N+4000,得x=800 y=x1+x2;%加入回音的信号。 figure(2); subplot(3,1,1); plot(y(1:3200.+N)); title(含回声信号波形); y1=fft(y); subplot(3,1,2); plot(abs(y1)); title(含回声信号幅值); subplot(3,1,3); plot(angle(y1)); title(含回声信号相位); sound(y,fs); 其波形图如下 五、收获与体会 通过此次试验,熟悉了MATLAB软件的应用,学会了软件的基本技能,对其常用函数有了进一步的研究,同时学会了应用数学软件对信号进行分析的方法,加深了对数字信号处理可曾中相关概念的理解,对回声的产生有了更一步的认识。 总体而言,这次试验只是对信号的简单处理,但是在程序设计中遇到很多问题,这些都是在平时学习中所不曾注意到的,面对这些问题我通过查阅资料、网络、与同组同学的探讨,得到很大程度的解决。

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档