⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shiyan5.asv

📁 MATLAB中常用的程序
💻 ASV
字号:
%在噪声环境下语音信号的增强 

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

%噪声为正态随机噪声ns = awgn(s,16) ;

[x, Fs,Nbits]=wavread('cat.wav');
subplot(311),plot(x),title('原始信号');
count1=length(x);
noise=0.35*randn(count1,1); 
for i=1:count1         
    signal=x;
end 
for i=1:count1   
    y=signal+noise;

end 


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(y,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]重建原信号
subplot(313);
plot(s1);
title('强制消噪后的信号');

%用给定的软阈值进行消噪处理
% softd1=wthresh(d1,'s',1.465);
% softd2=wthresh(d2,'s',1.823);
% softd3=wthresh(d3,'s',2.768);
% c2=[a3 softd3 softd2 softd1];
% s3=waverec(c2,l,'db1');
% subplot(313);
% plot(s3);
% 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 + -