请教小波变换的问题~急!
我对一个语音信号加噪 然后用小波做降噪,用不同的阈值选取方法来去噪,但是程序出现错误,请高手帮忙看看 错误显示如下:On line 40==> c1=;
程序如下
=wavread('matlab.wav');
t=0:1/fs:(size(y)-1)/fs; %将所加噪声信号的点数调整到与原始信号相同
x2=y+rand(size(y));
sound(x2,fs)
%显示波形
subplot(231);
plot(t,y);
xlabel('样本序号 n');
ylabel('(原始信号)幅值 A');
subplot(232);
plot(x2);
xlabel('样本序号 n');
ylabel('(含噪信号)幅值 A');
%用db1小波对原始信号进行3层分解并提取系数
=wavedec(x2,3,'db1');
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=;
s1=waverec(c1,l,'db1');
subplot(233);
plot(s1);
title('强制消噪后的信号');
xlabel('样本序号 n');
ylabel('幅值 A'); 把冒号加上试试 程序经过调整,是因为维度问题。具体调整如下
将c1=;更改为c1=;即可使用了。
页:
[1]