📄 denoisewang.m
字号:
load signalwang
%分别输入时间信号和信号的幅值------------------------------------
N=2001;
fw=d(1:N)';
nw=fw;
fs=200000000000;
t=[0:0.000000000005:(N-1)/fs];
figure(1);
plot(t,nw,'k');title('原始信号');
axis([0 (N-1)/fs -inf inf]);
Ylabel('Magnitude');
%%%%%%%%%%satart DWT
order=5;
wtype='db1'; %haar小波
[c,l]=wavedec(nw,order,wtype);
figure(3);
for di=1:order;
d=wrcoef('d',c,l,wtype,order+1-di);
subplot(order,1,di);
plot(t,d,'k');
if di==1
title('Highfreq Rconstruction');
end;
axis([0 (N-1)/fs -inf inf]); %定义坐标轴的范围
Ylabel(['d',num2str(order+1-di)]);
end;
%%%%%%%%%%threshold
c(1002:2002)=0;
figure(2);
for ai=1:order;
a=wrcoef('a',c,l,wtype,order+1-ai);
subplot(order,1,ai);plot(t,a,'k');
if ai==1
title('Lowfreq Reconstruction');
end ;
axis([0 (N-1)/fs -inf inf]); %定义坐标轴的范围
Ylabel(['a',num2str(order+1-ai)]);
end;
%%%%%%%To find maximum value%%%%%%
for fi=1:2001;
if d(fi)>2*10^7 &( fi==1317 | fi==1120 | fi==318 | fi==119)
flagv(fi)=d(fi); %%flagv数组用于定阶越点处
else
flagv(fi)=0;
end;
end;
figure(4);
plot(t,flag);
for i=1:2001;
denoiser(i)=d(i)+flag(i);
end;
figure(5);
plot(t,denoiser);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -