denoisewang.m

来自「含均匀和非均匀传输线计算」· M 代码 · 共 55 行

M
55
字号
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 + =
减小字号Ctrl + -
显示快捷键?