📄 duibiyuzhi.m
字号:
%使用wnoise函数产生无噪信号和加噪信号并显示
snr=2.5;
init=5055615866;
[sref,s]=wnoise(2,10,snr,init);
sref=sref(1:1000);
s=s(1:1000);
subplot(2,2,1);
plot(s);
title('加噪信号');
%用db8小波对原始信号进行3层分解,并提取系数
wmane='db8';
[c,l]=wavedec(s,3,wmane);
a3=appcoef(c,l,wmane,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,wmane);
subplot(2,2,2);
plot(s1);
title('强制消噪后的信号')
%用默认阈值对信号进行消噪并显示结果。
[thr,sorth,keepapp]=ddencmp('den','wv',s);
s2=wdencmp('gbl',c,l,wmane,3,thr,sorth,keepapp);
subplot(2,2,3);
plot(s2);
title('默认阈值消噪后的信号');
%用给定的阈值进行消噪并显示结果
alpha=2;
[thr2,nkeep]=wdcbm(c,l,alpha)
softd1=wthresh(d1,'s',2.4834);
softd2=wthresh(d1,'s',1.8841);
softd3=wthresh(d1,'s',1.1950);
c3=[a3,softd3,softd2,softd1];
s3=waverec(c3,l,wmane);
subplot(2,2,4);
plot(s3);
title('给定软阈值消噪后的信号');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -