基于matlab的声音信号处理.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLAB的有噪声的语音信号处理 一、课程设计题目:? 基于MATLAB的有噪声的语音信号处理。 ? 二、课程设计的目的:? 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 ? 三、课程设计的要求:? (1)熟悉离散信号和系统的时域特性。? (2)掌握序列快速傅里叶变换FFT方法。? (3)学会MATLAB的使用,掌握MATLAB的程序设计方法。? (4)利用MATLAB对语音信号进行频谱分析。? (5)掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。 ? 四、课程设计的内容:? 录制一段语音信号,对语音信号进行频谱分析,利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析,设计FIR数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。 ? 五、课程设计的步骤: (1) 语音信号的采集及分析 通过录音软件录制一段语音“数字信号处理”,命名为“120”,时长大约1到2秒,在 Matlab软件平台下可以利用函数wavread对语音信号进行采样: [y,fs,nbits]=wavread('120'); %语音信号的采集?采样值放在向量y中,采样频率为fs,采样位数为nbits。 (2) 语音信号的频谱分析 画出语音信号的时域波形,然后对语音信号进行频谱分析,在MATLAB中,通过使用fft函数对信号进行快速傅里叶变换,得到信号的频谱特性。? ? 因此采集语音并绘出波形和频谱的模块程序如下: [y,fs,nbits] =wavread('120.wav ') ; n=length(y); %求出声音长度 t=0:1/fs:(n-1)/fs; %时间t 从0到n-1 sound(y,fs) ; %对加载的语音信号进行回放 subplot(2,1,1); plot(y); %做原始语音信号的时域图形 title('原始语音信号时域波形'); grid; %傅里叶变换 y1=fft(y,n); %做原始语音信号的傅里叶变换 %对原始信号频域分析 %y2=fftshift(y1); subplot(2,1,2); plot(abs(y1)); %原始信号的频谱图像 title('原始信号的频谱图像'); grid; 结果如下: 可以看到,语音信号的频率集中在低频部分。 (3)给原始信号加上一个随机噪声 在MATLAB中,通过使用randn函数产生随机噪声信号在,把语音信号与噪声信号进行叠加,并对其进行播放,然后对加入噪声后的语音信号进行频谱分析,在MATLAB中可以利用函数FFT对信号进行快速傅里叶变换。 产生随机噪声:?Noise=0.05*randn(n,2); 其中用0.05倍乘噪声用来适当削减噪声的作用,便于对语音信号进行处理并比较效果。 将原语音信号与noise叠加,调用的形式为: s=y+noise; 其中,y为原语音信号,noise为所构造的随机高斯噪声,s即为两者的叠加后的语音信号。 (4) 噪声频谱分析 产生噪声并绘出波形和频谱的模块程序如下: noise=0.05*randn(n,2); subplot(2,1,1); plot(noise); %噪声信号 title('噪声信号'); grid; %噪声信号傅里叶变换 sound(noise,fs) ; %对噪声信号进行回放 noifft=fft(noise); %对噪声信号频域分析 noifftsh=fftshift(noifft); subplot(2,1,2); plot(abs(noifftsh)); %做噪声信号频谱分析 title('噪声信号频域分析'); axis([0,30000,0,200]); grid; 结果如下: 可以看到,随机噪声均匀的分布在整个频谱范围内。 (5)污染信号频谱分析 对被污染的加噪信号进行时域和频域分析。?? 加噪声并分析信号波形频谱的模块程序及说明如下: n2=length(noise); s=noise+y; %噪声叠加 sound(s,fs); subplot(2,1,1); plot(s);

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档