山东建筑大学语音信号处理实验四实验报告Word文件下载.docx

上传人:b****6 文档编号:19039394 上传时间:2023-01-03 格式:DOCX 页数:19 大小:234.12KB
下载 相关 举报
山东建筑大学语音信号处理实验四实验报告Word文件下载.docx_第1页
第1页 / 共19页
山东建筑大学语音信号处理实验四实验报告Word文件下载.docx_第2页
第2页 / 共19页
山东建筑大学语音信号处理实验四实验报告Word文件下载.docx_第3页
第3页 / 共19页
山东建筑大学语音信号处理实验四实验报告Word文件下载.docx_第4页
第4页 / 共19页
山东建筑大学语音信号处理实验四实验报告Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

山东建筑大学语音信号处理实验四实验报告Word文件下载.docx

《山东建筑大学语音信号处理实验四实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《山东建筑大学语音信号处理实验四实验报告Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

山东建筑大学语音信号处理实验四实验报告Word文件下载.docx

对功率谱有

(4-4)

原始语音的估值为

(4-5)

只要在频域用(4-5)式得到纯净语音的谱估计,就可以根据(4-6)式得到增强后的语音。

(4-6)

根据前面分析,我们可以给出谱相减算法的整个算法流程,如图4-1所示:

图4-1谱减法的算法流程

三、实验程序及结果分析

1、不同强度的噪声与纯净信号叠加后的带噪信号及它们的频谱比较

%在噪声环境下语音信号的增强

%语音信号为读入的声音文件

%噪声为正态随机噪声

clear;

input=wavread('

H:

\sound\b1.wav'

);

count=length(input);

noise1=0.1*randn(1,count);

signal=input;

fori=1:

count

voice1(i)=signal(i)+noise1(i);

end

noise2=0.01*randn(1,count);

voice2(i)=signal(i)+noise2(i);

noise3=randn(1,count);

voice3(i)=signal(i)+noise3(i);

n=1:

count;

figure%对比纯净语音信号,噪音信号和带噪语音信号

subplot(3,1,1);

plot(n,signal);

title('

纯净信号'

subplot(3,1,2);

plot(n,noise1);

噪音信号'

subplot(3,1,3);

plot(n,voice1);

带噪信号'

figure%对比纯净语音信号频谱,噪音信号和带噪信号频谱

Fss=fft(signal);

plot(n,abs(Fss));

纯净信号频谱'

Fss1=fft(noise1);

plot(n,abs(Fss1));

噪音信号频谱'

Fv1=fft(voice1);

subplot(3,1,3)

plot(n,abs(Fv1));

带噪信号的频谱'

plot(n,noise2);

plot(n,voice2);

Fss2=fft(noise2);

plot(n,abs(Fss2));

Fv2=fft(voice2);

plot(n,abs(Fv2));

plot(n,noise3);

plot(n,voice3);

Fss3=fft(noise3);

plot(n,abs(Fss3));

Fv3=fft(voice3);

plot(n,abs(Fv3));

实验结果:

(1)noise1=0.1*randn(1,count);

(2)noise2=0.01*randn(1,count);

(3)noise3=randn(1,count);

分析以上三种情况可知,不同强度的噪声叠加到纯净信号上时,对纯净信号的干扰是不同的。

噪声加强,会使原始信号被噪声淹没;

噪声减弱,对原始信号的影响较小。

2、用减谱法给语音信号降噪

noise=0.1*randn(1,count);

signal=input'

;

voice(i)=signal(i)+noise(i);

end

Fv=fft(voice);

anglev=angle(Fv);

Fn=fft(noise);

power1=(abs(Fv)).^2;

power2=(abs(Fn)).^2;

power3=power1-power2;

power4=sqrt(power3);

Fs=power4.*exp(j*anglev);

sound=ifft(Fs);

%纯净语音信号频谱

figure%对比纯净语音信号和输出信号

plot(n,noise);

噪声信号'

plot(n,sound);

输出信号'

figure%对比纯净语音信号频谱和输出语音信号频谱

subplot(3,1,1)

subplot(3,1,2)

plot(n,abs(Fn));

噪声信号频谱'

plot(n,abs(Fs));

输出信号频谱'

max_v=max(voice);

%对带噪信号抽样值点进行归一化处理

re_voice=voice/max_v;

%对输出信号抽样点值进行归一化处理

max_s=max(sound);

re_sound=sound/max_s;

%读出带噪语音信号,存为'

1001.wav'

wavwrite(re_voice,5500,16,'

1001'

%读出处理后语音信号,存为'

1002.wav'

wavwrite(re_sound,5500,16,'

1002'

噪声为0.1*randn(1,coun)

纯净信号为输入信号

分析上面的实验结果可知,用减谱法対带噪信号进行降噪处理后,信号质量明显提升,噪声的干扰减小,从而得到了较纯净的语音信号。

3、用改进的减谱法给语音信号降噪

当噪声为0.1*randn(1,coun),纯净信号为输入信号时,程序如下:

a=3;

b=0.01;

if(power1(i)>

=a*power2(i))

power3(i)=power1(i)-a*power2(i);

else

power3(i)=b*power2(i);

end

subplot(2,1,1)

subplot(2,1,2)

(1)a=3,b=0.01时:

(2)a=9,b=0.01时:

(3)a=0.5,b=0.01时:

(4)a=3,b=0.001时:

(5)a=3,b=0.05

(6)a=3,b=0.1时:

分析以上取不同的a、b值得到的实验结果可知,用改进的减谱法対带噪信号进行语音增强处理后,语音信号质量进一步提高,信号更加地纯净。

参数a、b的选择对结果影响很大,因为本实验所用的是辅音,所以选择a=3,b=0.01左右较合适。

a和b太大或太小,都不能取得较好的降噪和抑制纯音噪声的效果。

4、实验总结

通过本次实验,我掌握了减谱法语音增强的原理,并能够自己设计减谱法语音增强程序。

减谱法能够有效地降低包含在语音中的加性噪声,但是由于减谱法针对的是宽带噪声较为传统和有效的方法,它是在假定加性噪声与短时平稳的语音信号相互独立的条件下,从带噪语音的功率谱中减去噪声功率谱,从而得到较为纯净的语音频谱,所以存在一定的局限性。

但是改进之后的减谱法语音增强的质量进一步提升,可以通过改变参数的值来获取较好的结果。

原理虽然简单,但是自己真正理解并一步步编写程序的过程并不容易,我还有很多不足,知识储备还不够,以后我会继续学习这方面的知识,真正深刻理解所学内容。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1