%clear all
s=yaw;%信号;
signal='db5';
N=10;%分解的最大尺度;
ls=length(s);%信号长度;
figure(10)
coefs=cwt(s,1:48,signal,'plot');%不知名的图像
[cA1,cD1]=dwt(s,signal);%一维的分解,以及尺度系数
figure (1)
plot(s)
title('原信号')
figure (2)
subplot(3,1,1)
plot(s);
title('原信号')
subplot(3,1,2)
plot(cA1);
title('一维 低频系数')
subplot(3,1,3)
plot(cD1);
title('一维 高频系数')
figure (3)
s_i=idwt(cA1,cD1,signal);%一维分解的逆变换
plot(s_i-s);%逆变换的误差
title('一维分解逆变换与原信号的误差')
A1=upcoef('a',cA1,signal,1);%一维系数重构
D1=upcoef('d',cD1,signal,1);%高频系数
figure (4)
subplot(2,1,1)
plot(A1)%重构之前的系数与之后的系数只是采样的关系,而且低频信号下的系数与图像的趋势相同
title('一维 重构 低频系数')
subplot(2,1,2)
plot(D1)
title('一维 重构 高频系数')
%s_i2=idwt(A1,D1,signal);%利用重构之后的信号进行逆变换,,此方法不行
[C,L]=wavedec(s,N,signal);%多尺度分解
figure(6)
subplot(2,1,1)
plot(C)
title('多尺度 低频系数')
subplot(2,1,2)
plot(L)
title('多尺度 高频系数')
C_Mul=appcoef(C,L,signal,N);%多尺度分解的系数
D_Mul=detcoef(C,L,signal,N);
figure(7)
subplot(N+2,1,1)
plot(s)
subplot(N+2,1,2)
plot(C_Mul)
%title('多尺度分解提取低频系数')
for i=3:N+2
subplot(N+2,1,i)
plot(D_Mul{1,i-2})
%title('第',int2str(i-1),'维系数')
end
% a代表低频,d代表高频
Cd=zeros(N,ls);
Ca=wrcoef('a',C,L,signal,N);%多尺度分解系数重构
for i=1:N
Cd(i,:)=wrcoef('d',C,L,signal,i);
end
figure(8)
subplot(N+2,1,1)
plot(s)
title('多尺度 重构 系数')
subplot(N+2,1,2)
plot(Ca)
for i=3:N+2
subplot(N+2,1,i)
plot(Cd(i-2,:))
end
figure(9)
s_i2=waverec(C,L,signal);%重构之后的信号
plot(s-s_i2)%重构信号与原来信号的误差
title('重构信号与原来信号的误差')