小波阈值语音消噪clc;clear;fs=wavread('G:\c12345.wav');y=fs(1000:12000);N=length(y);figure(1);subplot(111);plot(y);ylabel('幅值 A');title('原始信号');s=awgn(y,20,'measured');%加入高斯白噪声figure(2);plot(s);ylabel('幅值 A');titl

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 06:59:00

小波阈值语音消噪clc;clear;fs=wavread('G:\c12345.wav');y=fs(1000:12000);N=length(y);figure(1);subplot(111);plot(y);ylabel('幅值 A');title('原始信号');s=awgn(y,20,'measured');%加入高斯白噪声figure(2);plot(s);ylabel('幅值 A');titl
小波阈值语音消噪
clc;
clear;
fs=wavread('G:\c12345.wav');
y=fs(1000:12000);
N=length(y);
figure(1);
subplot(111);
plot(y);
ylabel('幅值 A');
title('原始信号');
s=awgn(y,20,'measured');%加入高斯白噪声
figure(2);
plot(s);
ylabel('幅值 A');
title('加噪信号');
wname='db3';%选db3小波基
lev=5;%5层分解
[c,l]=wavedec(s,lev,wname);
a5=appcoef(c,l,wname,lev);
d5=detcoef(c,l,5);
d4=detcoef(c,l,4);
d3=detcoef(c,l,3);
d2=detcoef(c,l,2);
d1=detcoef(c,l,1);
cD=[d1 d2 d3 d4 d5];%运行到这里出错.提示d1,d2,d3,d4,d5维数不同不兼容.

小波阈值语音消噪clc;clear;fs=wavread('G:\c12345.wav');y=fs(1000:12000);N=length(y);figure(1);subplot(111);plot(y);ylabel('幅值 A');title('原始信号');s=awgn(y,20,'measured');%加入高斯白噪声figure(2);plot(s);ylabel('幅值 A');titl
因为的确d1~d5的元素个数不同,离散小波变换一层比一层少一半数据量,即元素个数少一半.通常信号处理中,在变换完成后要进行重构,是一种插值处理.变换得到的小波系数毫无用处,有时得到的是稀疏矩阵,甚至不是实数,无法分析和成图.因此,必须利用小波系数进行重构(即小波逆变换,可使用wrcoef函数)才是您所想要得到处理结果.