谱减法语音增强

上传人:fe****16 文档编号:131240015 上传时间:2020-05-05 格式:DOC 页数:8 大小:58.50KB
返回 下载 相关 举报
谱减法语音增强_第1页
第1页 / 共8页
谱减法语音增强_第2页
第2页 / 共8页
谱减法语音增强_第3页
第3页 / 共8页
谱减法语音增强_第4页
第4页 / 共8页
谱减法语音增强_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《谱减法语音增强》由会员分享,可在线阅读,更多相关《谱减法语音增强(8页珍藏版)》请在金锄头文库上搜索。

1、谱减法语音增强课程设计报告专 业: 通信工程 班 级: 姓 名: 指导教师: 2012年 5 月 25 日目 录一、实验目的2二、实验原理2三、谱减法2四、实验程序代码3五、实验效果图6六、参考文献6一、实验目的1学会MATLAB的使用,掌握MATLAB的程序设计方法;3掌握语音处理的基本概念、基本理论和基本方法;4掌握基于MATLAB编程实现普检法语音增强;5学会用MATLAB对信号进行分析和处理。二、实验原理 谱减法是利用噪声的统计平稳性以及加性噪声与语音不相关的特点而提出的一种语音增强方法。这种方法没有使用参考噪声源,但它假设噪声是统计平稳的,即有语音期间噪声幅度谱的期望值与无语音间隙噪

2、声的幅度谱的期望值相等。用无语音的间隙测量计算得到的噪声频谱的估计值取代有语音的期间噪声的频谱,与含噪声语音频谱相减的估计值。当上述差值得到负的幅度值时,将其置零。由于人耳对语音的感知主要是通过语音信号中各频谱分量幅度获得的,对各分量的相位不敏感。因此,此类语音增强方法将估计的对象放在短时谱幅度上。三、谱减法使用谱减法是假设: 噪声叠加; 声与语音不相关;对纯净语音无先验知识; 对统计噪声有先验知识。带噪语音模型为:y(n)=x(n)+v(n)式中,y(n)是带噪语音,s(n)是纯净语音,v(n)是噪声。对式子两边进行傅立叶变换,得Y(k)=X(k)+N(k)由于对噪声的统计参数的未知,所以在

3、实际应用中,通常使用非语音段噪声谱的均值来作为对噪声谱N(k)的估计, 则对纯净语音幅度谱的估量表示为把带噪语音的相位y(ej)当作是纯净语音的相位,那么纯净语音频谱的估量为:四、实验程序代码 % speechenhancement.mclear all;%-读入语音文件-speech,fs,nbits=wavread(speech_clean1.wav); %读入数据%-参数定义-winsize=256; %窗长n=0.04; %噪声水平size=length(speech); %语音长度numofwin=floor(size/winsize); %帧数ham=hamming(winsize

4、); %产生哈明窗hamwin=zeros(1,size); %定义哈明窗的长度enhanced=zeros(1,size); %定义增强语音的长度x=speech+ n*randn(1,size); %产生带噪信号noisy=n*randn(1,winsize); %噪声估计N = fft(noisy); %对噪声傅里叶变换nmag= abs(N); %噪声功率谱%-分帧-for q=1:2*numofwin-1frame=x(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2); %对带噪语音帧间重叠一半取值hamwin(1+(q-1)*winsize/2:

5、winsize+(q-1)*winsize/2)=.hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+ham; %加窗y=fft(frame.*ham); %对带噪语音傅里叶变换mag = abs(y); %带噪语音功率谱phase = angle(y); %带噪语音相位%-幅度谱减-for i=1:winsizeif mag(i)-nmag(i)0clean(i)= mag(i)-nmag(i);elseclean(i)=0;endend%-%在频域中重新合成语音-spectral= clean.*exp(j*phase);%-反傅里叶变换并

6、重叠相加-enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=.enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(spectral);end%-除去Hamming窗引起的增益-for i=1:sizeif hamwin(i)=0enhanced(i)=0;elseenhanced(i)=enhanced(i)/hamwin(i);endend%-计算增强前后信噪比-SNR1 = 10*log10(var(speech)/var(noisy); %加噪语音信噪比SNR2

7、= 10*log10(var(speech)/var(enhanced-speech); %增强语音信噪比wavwrite(x,fs,nbits,noisy.wav); %输出带噪信号wavwrite(enhanced,fs,nbits,enhanced.wav); %输出增强语音%-画波形-figure(1);subplot(3,1,1);plot(speech);title(原始语音波形);xlabel(样点数);ylabel(幅度); axis(0 2.5*104 -0.3 0.3);subplot(3,1,2);plot(x);title(加噪语音波形);xlabel(样点数);ylabel(幅度);axis(0 2.5*104 -0.3 0.3);subplot(3,1,3);plot(enhanced);title(增强语音波形);xlabel(样点数);ylabel(幅度);axis(0 2.5*104 -0.3 0.3); 五、实验效果图六、参考文献1张雄伟,陈亮,杨吉斌,现代语音处理及应用M.北京.机械工程出版社.20032 雷建军,杨震.基于短时谱估计的语音增强研究.计算机工程应用,20083 邱玮炜,安宁.基于MATLAB的谱减法语音去噪算法.科技信息.2008

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号