版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Speech Enhancement一、语音增强方法的理论分析21. 引言22. 语音增强算法22.1谱减法22.2 Wiener 滤波法3二、谱减法51. 算法实现52. 改善算法,减少音乐噪声9三、Wiener滤波法111. 算法实现112. 迭代Wiener滤波的算法实现14五、参考文献17一、语音增强方法的理论分析1 .引言语音增强的目标是从含有噪声的语音信号中提取尽可能纯净的原始语音。然 而,由于干扰通常都是随机的,从带噪语音中提取完全纯净的语音几乎不可能。 在这种情况下,语音增强的目的主要有两个:一是改进语音质量,消除背景噪音, 使听者乐于接受,不感觉疲劳,这是一种主观度量:二是提
2、高语音可懂度,这是 一种客观度量。这两个目的往往不能兼得,所以实际应用中总是视具体情况而有 所侧重的。带噪语音的噪声类型可以分为加性噪声和非加性噪声。加性噪声有宽带的, 窄带的,平稳的,非平稳的,白噪声,有色噪声,等:非加性噪声如乘性噪声, 卷积噪声等。一般,语音增强处理的噪声指环境中的噪声,而这些噪声主要是高 斯白噪声,这种噪声一般符合如下的假设:(1) 噪声是加性的。(2) 噪声是局部平稳的。局部平稳是指一段加噪语音中的噪声,具有和语音 段开始前那段噪声相同的统计特性,且在整个语音段中保持不变。也就是说,可 以根据语音开始前那段噪声来估计语音中所叠加的噪声统计特性。(3) 噪声与语音统计独
3、立或不相关。2 .语音增强算法根据语音和噪声的特点,出现了很多种语音增强算法。比较常用的有噪声对消法、 谱相减法、维纳滤波法、卡尔曼滤波法、FIR自适应滤波法等。此外,随着科学 技术的发展乂出现了一些新的增强技术,如基丁神经网络的语音增强、基于HMM 的语音增强、基于听觉感知的语音增强、基于多分辨率分析的语音增强、基于语 音产生模型的线性滤波法、基于小波变换的语音增强方法、梳状滤波法、相关 法、基于语音模型的语音增强方法等。此处主要介绍谱减法和wiener '滤波法。2.1谱减法使用谱减法是假设: 噪声叠加; 声与语音不相关; 对纯净语音无先验知识:对统计噪声有先验知识。带噪语音模型为
4、:y(n)=x(n)+v(n)式中,y(n)是带噪语音,s(n)是纯净语音,v(n)是噪声。对式子两边进行傅立叶变 换,得Y(k)=X(k)+N(k)由于对噪声的统计参数的未知,所以在实际应用中,通常使用非语音段噪声谱的 均值来作为对噪声谱N(k)的估计, 1m=£伽啊|兰网坷)| =亍£ Im(坷)|则对纯净语音幅度谱的估量表示为衣的_ Ji】快)| - M幻I如I择)1一丽以> °0otherwise把带噪语音的相位Gy(e>)当作是纯净语音的相位,那么纯净语音频谱的估量为X(eJIB)=|;c,-> x(n) = IFTJB)2.2 wie
5、ner滤波法一个线性系统,如果它的单位样本响应为h(n),当输入一个随机信号x(n), 且x(n) = s(n) + u(n)其中s(n)表示信号,Mn)表示噪声,则输出y(n)为y(n) = £h(m)x(n_m)m我们希望x(n)通过线性系统h(n)后得到的y(n)尽景接近于s(n),因此称y(n)为s(n) 的估计值,用§(n)表示,即y(n) = S(n)维纳滤波器的输入一输出关系为:川)=§(%x(n) = s(n) + Mn) I如上图所示。这个线性系统h(n)称为对于s(n)的一种估计器。如果我们以s与谷分别表示信号的真值与估计值,而用e(n)表示它
6、们之间的 误差,即e(n) = s(n) s(n)显然,e(n)可能是正的,也可能是负的,并且它是一个随机变量。因此,用 它的均方值来表达误差是合理的,所谓均方误差最小即它的平方的统计平均值最 小:Ee2(n)=E(s-s)2最小已知希望输出为:-3 -N-ly(n) = s(n) = V h(m)x(n-m)nx=O误差为:N-le(n) = s(n) 一 s(n) = s(n) 一 > h(m)x(n-m)xn-0均方误差为:N-lEe2(n) = E (S(n)-h(m)x(n-m)2m=O上式对h(m) m=O,l,N1求导得到:NT2E (s(n)-(m)x(n-m)x(n-
7、j) =0 j =O,1,2 N-1nO进一步得:N-lEs(n)x(n- j) = £瞄(m)Ex(n-m)x(n-j)j =0,1, - N-lm=0从而有:N-l说(j)= £lt(n】)K(jT】)j =0,1,2,.,N-l m=0于是就得到N个线性方程;j=0说(0) = h(O)IMO)+ hQ)(l) + + h(N -1)(N -1)j=l玖=1】(0)(1) + h JU。) + +h(N-l)Rto(N -2)j = N-1 Rte(N-l) = h(O) RSk(N-1) + hQR (N - 2) + . . + h(N -1)(0)写成矩阵形式为
8、: %。)(1)电3-1)h(0) 5)-5电(0)5-2)Ml)5.冬(NT). .'(N-2).%0) _.h(N-l).R(N-l)其中:H=h(O) h(l) h(N-l)r是滤波器的系数* =丁(0),玫(1),.玫3-1),是互相关序列改(。)心).5T)5(0).0N 2)'(N-1)5一2)是自相关矩阵 (0)由上可见,设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位脉冲响应或传递函数的表达式,其实质就是解维纳一霍夫(Wiener-Hopf)方程。 另外,设计维纳滤波器要求己知信号与噪声的相关函数。二、谱减法1 .算法实现%Spectral Subtra
9、ction Algorithm winsize=256; %窗长 n=0.05; %噪声电平speech, fs, nbits =wavread (T speech_clean. wav1) ; % 读入数据 size=length (speech);numofv?in=floor (size/winsize) ; % 帧数 %加窗 ham=hamming(winsize)T; %Generates Hamming Window hamwin=zeros(lr size); %Vector for window gain enhanced=zeros(lr size) ; %Vector fo
10、r enhanced speGch *产生带噪声信号 x=speechf + n*randn(lr size); "Contaminates signal with white noise %噪声估计 noise=n*randn(lr winsize) ; %Sampie of noise N = fft (noise);nmag= abs(N); %Estimated noise magnitude spectrum for q=l:2*numofwin-lf rame=x (1+ (q-1) *winsize/2: vzinsize+ (q-1) *winsize/2) ; %5
11、0 percent overlap hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=hamwin(1+(q-1)fins ize/2:winsizef (q-1)*winsize/2)+ham; %Window gain%对带噪声语音进行DFT y=fft(frame.*ham); mag = abs (y) ; %Magnitude Specrt rum phase = angle(y); %Phase Spectrum $幅度谱减 for i=l:v/insizeif mag (i) -nmag (i) >05clean (i) =
12、 mag (i) -nmag (i);elseclean (i)=0;endend,在频域中重新合成语音spectral= clean.*exp(j*phase);%IDFT并重叠想加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割除去汉宁窗引起的增益for i=l:sizeifhamwin(i)=0enhanced(i)=0;elseenhanced(i)=enhanced(i)/ha
13、mwin(i);endendSNR1 = 10*logl0 (var (speech1) / var (noise) ) ; %加噪诂音信噪比SNR2 = 10*logl0 (var (speechT) / var (enhanced-speech1) ; *增强i吾音信噪t匕wavwrite (xf fsf nbitsr T noise. wavf) ; %输出带噪信号wavwrite (enhanced, fs, nbits, f enhanced. wavf) ; %输出增强信 t=l:size;figure (1) , subplot (3, 1, 1) ;piot (t/fsr sp
14、eech1) ; %原始1 吾音波形xlabel(1time(s)1);title(1 Original Voice (n=T tnumZstr(n)r 1;figure (2) , specgram (speech1) ; *原始订;语 谱title ( Original Voice (n=T r numZstr (n), f) f ;figure(1),subplot (3,1,2); plot(t/fs,x);xlabel(1time(s)f);title (fNoise Added (SNR=f,numZstr (SNR1), 1dB) 1);figure (3) , specgram
15、 (x) ; *加噪语音语谱title(1Noise Added (SNR=1,numZstr(SNR1)r 1dB)1);figure(1) , subplot(3flr 3);plot(t/fsr enhanced);xlabel(1 time(s)f);title (improved Voice (SNR=f r numZst r (SNR2) r f dB) f );figure (4) 9 specgram (enhanced) ; 抵虽i":i告i*title(1Improved Voice (SNR=,numZstr (SNR2)r 1dB) 1);-# -File E
16、dit View Insert Tools Desktop Window Help MMMM|7曰日的mi、的!更房”1口1口国i回Original Voice (n=0 05)20004000600080001000012000Time9 87E 5 40.O0.O.OO.Aou-nbalLl.3 2 10 _ o o oQ Figure 3File Edit View Insert Tools Desktop Window Helpdb aIBINoise Added (SNR=10 9187dB)9876543210 oooooooooWuenb/UL§ iaMI I I -1
17、 .20004000600080001000012000TimeFile Edit View Insert Tools Desktop Window Help MMMMMMMHBfMHMB|7 6 5 4 . . . . o o o oAouanbalu.s 口匡11 回Improved Voice (SNR=14 86dB)20004000600080001000012000Time-11 -2.改善算法、减少音乐噪声白噪声的短时功率谱上既有波峰,乂有波谷。在一帧里,它们的频率分布是 随机的;在帧与帧之间,它们的频率和幅度也是随机变化的。当我们从带噪语音 的频谱中减去我们估计的噪声谱,所有的
18、带噪语音频谱峰值都会变小,而谷值由 于小于估计的噪声值被置零。因此,进行谱减法之后,在频谱上只留下波峰。在 这些留下的波峰中,频带较宽的部分被视为时变宽带噪声,频带较窄的部分则被 当成时变音调,也就是所谓的音乐噪声。我们改善的算法为:let D(w) = P$(w)-oPn(w) p(w), if D(w) >BPn(w) = 18Fn(w), otherwise|with a > 19 and 0 < B « 1其中,P's(w)是所求的语音幅度谱,是带噪语音幅度谱,玲(W)是估计的噪 声幅度谱。当a>l,改善的算法通过消除那些宽波峰,去除所有的宽频
19、带噪声。 然后,提高频谱下限FR(w),使得波峰与波峰间的波谷不会那么深。两者结合, 使噪声波峰间的频谱偏移不再那么大,从而减少了音乐噪声。程序如下:% 幅度诺减 for i=l:vzinsized(i)=mag(i)-2.5*nmag(i);f (i)=0.01*nmag(i);if d(i)>f (i)clean (i)=d (i);elseclean (i)=f (i);endend-IO-File Edit View Insert Tools Desktop Window HelpImproved Voice (SNR=12 419dB)200040006000800010000
20、12000Time6 5 4 o o o Aouonbsu.3 2 10 o o o三、wiener滤波法1 .算法实现function y =mut (x, y,m, L) %计算| 相关知阵的函数tep=0;for i=l:L-abs(m)tep=tep+x(i)*y(i+abs(m);endy=l/(L-abs(m)tep;%产生原始信号s (n)和带噪信号x (n)clear;a=0.95;L=input (,输入信号样本个数L: n*)N=input (* 输入wiener泄波 2,忻;、数N: n1)temp=rand(lr L);templ=rand(lr L);v=12(0.5
21、) .* (temp-0.5) f让噪声信 vv (n)变成均 4 JO,$-0.5, 0.5间均匀分布的随机信号w=(l-a/s2)*12)/ (0.5) . * (templ-0.5);s=zeros(1, L);s(l, l)=w(l, 1);for i=2:Ls (1, i) =a*s (lr i-1) +w(lr i);endx=s+v;*显示原始信号S (n)和带噪信号x (n) elf;figure(1);i=L-100:L;%只显示后1。个样值plot(i,s(L-100:L), f rT r i/x (L-100:L), T b:T);title (,原始信号s(n)和带噪信
22、号x(n),);legend(1s(n)f f f x(n)1);xlabel(1nf);ylabei(1x(n) & s(n)1);$求乂 (n)的白相关矩阵,以及x (n)与s (n)的互相关矩阵Rxx=zeros(N,N);for i=l:Nfor j=l:NRxx(i# j)=mut (x,x,i-jr L);endendfor i=l:Nrxs (1, i) =mut (x, s, i-lr L);endrxs=rxs1;h=inv(Rxx)*rxs;%绘出Wiener滤波器的N个系数h (n)figure (2);i=l:N;plot(i,h, f r: o1);title
23、 ( fWieneril|波器的系数h (n) 1;legend (fh(n)');"求带噪信号x (n)经Wiener滤波器的输出序列SR (n) SR=zeros(lf L);h=h'for i=l: Lfor m=0:N-lif i>mSR (1, i) =SR (1, i) +h (1, m+1) *x (i-m);endendend七比较SR (n)和原始信号s (n)figure (3);i=L-100:L;plot(irSR(L-100:L)t 1r: ', i, s(L-100:L)r f bf);title (riener滤波的信 SR
24、 (n)和原始信"(n),);legend (f SR (n) 1 r fs(n) T);L=500, N=10-15 -132.迭代wiener滤波的算法实现function y =mut (x,y,m, L) *计算H相关矩阵的函数 tep=0;for i=l:L-abs (m)tep=tep+x (i) *y (i+abs (m);endy=l/(L-abs(m)*tep;%产生原始信号S (n)和带噪信号x (n) clear;a=0.S5;L=i nput (*输入信号样本个数L: n *)N=input (,命入wiener泄波2;阶数N: nf)temp=rand(1,
25、L);templ=rand(1, L);v=12A(0.5).(temp-0.5);w=(l-a/s2)*12)/s (0.5) . * (templ-0.5);s=zeros(1,L);s(l, l)=w(l, 1);for i=2:Ls (lr i) =a*s (lr i-1) +w(lr i);endx=s+v;'显示原始信号S (n)和带噪信号x (n)elf;figure(1);i=L-100:L;%只显示后10。个样值plot (i,s(L-100:L), 1 rf rir x(L-100:L)f Tb: T);title (,原始信号s(n)和带噪信号x(n) »
26、; );legend(1s(n)f f T x (n)f);xlabel(1nf);ylabei(1x(n) & s (n)1);%计算迭代wiener滤波器的N个系数reh (n)for i=l:Nreh(ir 1)=0.238* (0.724) (i-1);end*绘出迭代Wiener滤波器的N个系数reh (n)figure (2);i=l:N;plot(i,reh,'b-+');title (,迭代贸iener滤波器的系数reh (n) * );legend('reh (n)');SI (1, l)=0.238*x(lr 1);for i=2:LSI (lri)=0.724*SI(lri-l)+0.238*x(lri);end%比较SI (n)和原始信号s (n)figure (3);-# -i=L-100:L;plot (i,SI (L-100:L), 1r: ',i,s (L-100:L)r 1bf);title (,经迭代Wiener滤波的信vSI (n)和原始信vs (n) T );legend(SR(n)f r fs (n)1);L=600, N=10File Edit View Insert Too
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《等比数列性质》课件
- 涂料施工招标合同
- 保险条款审核要点与合同审核要点说明
- 公共设施粉刷施工合同模板
- 创业公司副总经理聘用协议
- 饮料生产净化工程合同
- 建筑工地挖掘机司机合同
- 游艇俱乐部水上救生员招聘合同
- 高速公路建设爆破施工合同
- 武术馆改造协议
- XX某管道工程通信线路光缆施工组织设计
- 2019超星尔雅航空与航天答案
- 《First aid》(课堂PPT)
- 《生命教育》教学大纲
- 初中义务教育英语新课标必背词汇表
- 2.3 肉质根的形成生理生理ppt课件
- 逻辑电平测试器的课程设计报告书
- 解析几何课件(吕林根+许子道第四版)
- 智能矿山设备项目融资计划书【模板范文】
- 曼昆《经济学原理》(微观)第五版测试题库 (16)
- 世界地球日介绍PPT模板
评论
0/150
提交评论