小波阈值语音消噪clc;clear;fs=wavread('G:\c12345.wav');y=fs(1000:1200

小波阈值语音消噪
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维数不同不兼容.
宋广华 1年前 已收到1个回答 举报

依客 花朵

共回答了23个问题采纳率:91.3% 举报

因为的确d1~d5的元素个数不同,离散小波变换一层比一层少一半数据量,即元素个数少一半.通常信号处理中,在变换完成后要进行重构,是一种插值处理.变换得到的小波系数毫无用处,有时得到的是稀疏矩阵,甚至不是实数,无法分析和成图.因此,必须利用小波系数进行重构(即小波逆变换,可使用wrcoef函数)才是您所想要得到处理结果.

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.047 s. - webmaster@yulucn.com