第一范文网 - 专业文章范例文档资料分享平台

谱减法语音增强

来源:用户分享 时间:2020-06-28 本文由仅是祈愿 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《谱减法语音增强》

课程设计报告

专 业: 通信工程 班 级: 姓 名: 指导教师:

2012年 5 月 25 日

目 录

一、实验目的·······································2 二、实验原理·······································2 三、谱减法·········································2 四、实验程序代码···································3

五、实验效果图·····································6

六、参考文献·······································6

- 1 -

一、实验目的

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)

由于对噪声的统计参数的未知,所以在实际应用中,通常使用非语音段噪声谱的均值来作为对噪声谱N(k)的估计,

则对纯净语音幅度谱的估量表示为

把带噪语音的相位的估量为:

当作是纯净语音的相位,那么纯净语音频谱

四、实验程序代码

% speechenhancement.m

clear all;

%-------------------------------读入语音文件

------------------------------------------------------------

[speech,fs,nbits]=wavread('speech_clean1.wav'); %读入数

- 3 -

%-------------------------------参数定义

----------------------------------------------------------------

winsize=256; %窗长 n=0.04; %噪声水平 size=length(speech); %语音长度 numofwin=floor(size/winsize); %帧数 ham=hamming(winsize)'; %产生哈明窗 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-1

frame=x(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2); %对带噪语音帧间重叠一半取值

hamwin(1+(q-1)*winsize/2: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:winsize if mag(i)-nmag(i)>0 clean(i)= mag(i)-nmag(i); else clean(i)=0; end end

%---------------------------%在频域中重新合成语音------------------------------------------------- spectral= clean.*exp(j*phase);

%------------------------反傅里叶变换并重叠相加--------------------------------------------------- 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:size

- 4 -

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育谱减法语音增强 全文阅读和word下载服务。

谱减法语音增强 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1104723.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top