Pacific1123 发表于 2009-5-2 21:38

请教小波变换的问题~急!

我对一个语音信号加噪 然后用小波做降噪,用不同的阈值选取方法来去噪,但是程序出现错误,请高手帮忙看看 错误显示如下:
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');

woaizhoulu 发表于 2010-4-7 20:02

把冒号加上试试

tangyuanyuan 发表于 2010-4-7 21:07

程序经过调整,是因为维度问题。具体调整如下
将c1=;更改为c1=;即可使用了。
页: [1]
查看完整版本: 请教小波变换的问题~急!