📄 shiyan4.asv
字号:
%在噪声环境下语音信号的增强
%语音信号为读入的声音文件
%噪声为正态随机噪声ns = awgn(s,16) ;
[x, Fs,Nbits]=wavread('cat.wav');
subplot(311),plot(x),title('原始信号');
count1=length(x);
save x
y= awgn(x,16) ;
count2=length(y)
subplot(312),plot(y),title('加噪后的信号');
[thr,sorth,keepapp]=ddencmp('den','wv',x);
xd=wdencmp('gbl',x,'sym4',2,thr,sorth,keepapp)
subplot(313),plot(xd),title('消噪后的信号');
%=============================
[c,l]=wavedec(x,3,'db1'); %用db1小波对原始信号进行3层分解
a3=appcoef(c,l,'db1',3); %提取小波分解的低频系数
d3=detcoef(c,l,3); %提取第三层高频系数
d2=detcoef(c,l,2); %提取第二层高频系数
d1=detcoef(c,l,1); %提取第一层高频系数
%=============================
%对信号进行强制性消噪处理并图示结果
dd3=zeros(1,length(d3));
dd2=zeros(1,length(d2));
dd1=zeros(1,length(d1));
c1=[a3 dd3 dd2 dd1];
s1=waverec(c1,l,'db1'); %用db1小波从小波分解系数[c1,l]重建原信号
figure(2),subplot(2,2,2);
plot(s1);grid;
title('强制消噪后的信号');
%=============================
%读出带噪语音信号
wavwrite(x,'e:\c');
%读出处理后语音信号
wavwrite(y,'e:\c1');
%读出带噪语音信号,存为'101.wav'
wavwrite(xd,'e:\c2');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -