%t=0:0.001:0.04;
%s1=sin(100*pi*t);
%s2=sin(600*pi*t);
%s3=sin(100*pi*t);
%s=[s1 s2 s3];
%figure(1)
%plot(s);
clear all;
close all;
clc;
%电压骤降信号的函数形式
x=0:0.0001:0.2;
d1=zeros(size(x));
d2=zeros(size(x));
d3=zeros(size(x));
N=length(x);
for i=1:N;
if 0<=x(i)&x(i)<0.08
d1(i)=cos(2*pi*50*x(i));
elseif 0.08<=x(i) &x(i)<0.16
d2(i)=0.3*cos(2*pi*50*x(i));
else 0.16<=x(i) & x(i)<0.2
d3(i)=cos(2*pi*50*x(i));
end
end
d=d1+d2+d3;
y=awgn(d,25,'measured');
% %t=0:0.01:1;
% %f=5;
% %x=square(2*pi*f*t);
% %addnoise=sqrt(0.5)*randn(size(x))
% %y=d+sqrt(60)*randn(size(x));
% figure(1)
subplot(211);plot(x,d);title('原始信号');axis([0 0.2 -2 2]);
subplot(212);plot(x,y);title('加噪后的信号');axis([0 0.2 -2 2]);
[c,l]=wavedec(y,3,'cdb10');
%a3 = appcoef(c,l,'db1',3);
%d3 = detcoef(c,l,3);
%d2 = detcoef(c,l,2);
%d1 = detcoef(c,l,1);
ca3=wrcoef('a',c,l,'cdb10',3);
cd1=wrcoef('d',c,l,'cdb10',1);
cd2=wrcoef('d',c,l,'cdb10',2);
cd3=wrcoef('d',c,l,'cdb10',3);
[c,l]=wavedec(y,3,'db10');
%a3 = appcoef(c,l,'db1',3);
%d3 = detcoef(c,l,3);
%d2 = detcoef(c,l,2);
%d1 = detcoef(c,l,1);
caa3=wrcoef('a',c,l,'db10',3);
cdd1=wrcoef('d',c,l,'db10',1);
cdd2=wrcoef('d',c,l,'db10',2);
cdd3=wrcoef('d',c,l,'db10',3);
figure(2)
subplot(321);plot(x,cdd1);ylabel('d1');
% axis([0 2000 -50 50]);title('db10变换后得到的系数');
subplot(322);plot(x,cd1); ylabel('d1');
% axis([0 2000 -50 50]);title('cdb10变换后得到的系数');
subplot(323);plot(x,cdd2); ylabel('d2');
% axis([0 2000 -50 50]);%title('db10变换后得到的第二层上的高频系数');
subplot(324);plot(x,cd2);ylabel('d2');
% axis([0 2000 -50 50]);%title('cdb10变换后得到的第二层上的高频系数');
subplot(325);plot(x,cdd3);ylabel('d3');
% axis([0 2000 -50 50]);%title('db10变换后得到的第三层上的高频系数');
subplot(326);plot(x,cd3);ylabel('d3');
% axis([0 2000 -50 50]);%title('cdb10变换后得到的第三层上的高频系数');
%subplot(427);plot(caa3);ylabel('a1');axis([0 2000 -500 500])%title('db10变换后得到的第一层上的低频系数');
%subplot(428);plot(ca3);ylabel('a1');axis([0 2000 -500 500])%title('cdb10变换后得到的第一层上的低频系数');
% figure(4)
% plot(ca3,'r')
% hold on
% plot(caa3,'b')