求几个小波去噪的Matlab代码,急!!!

发布网友 发布时间:2022-04-25 16:42

我来回答

2个回答

热心网友 时间:2023-10-19 09:00

s %自己定义
%画出原始信号
subplot(221);
plot(s);
title('原始信号');
ylabel('幅值A');
%用db3小波对信号进行3层分解并提取系数
[c,l]=wavedec(s,3,'db3');
a3=appcoef(c,l,'db3',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,'db3');
subplot(222);
plot(s1);
title('强制消噪信号');
%默认阈值进行消噪
%用ddencmp函数获得信号的默认阈值
[thr,sorh,keepapp]=ddencmp('den','wv',s);
s2=wdencmp('gbl',c,l,'db3',3,thr,sorh,keepapp);
subplot(223);
plot(s2);
title('默认阈值消噪');
xlabel('样本序号n');
ylabel('幅值A');
%用给定的软阈值进行消噪
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,'db3');
subplot(224);
plot(s3);
title('给定软阈值消噪');追问给定的软阈值是怎么来的

追答用的是ddencmp求取对信号进行小波消噪处理的默认阈值、软阈值

热心网友 时间:2023-10-19 09:01

好像可我还将为本次上半场第一

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com