code:
s=Ndata.Normal(:,1);
ls=length(s);
%% 多尺度一维分解
% 三尺度分解得到:cA3,cD3,cD2,cD1
[C,L]=wavedec(s,3,'db5'); %wavedec:多尺度一维离散小波变换函数
cA3=appcoef(C,L,'db5',3); %从上面的C中提取第三层的低频系数
A3=wrcoef('a',C,L,'db5',3); %重构第3层的低频信号
[C,L]=wavedec(s,4,'db5'); %wavedec:多尺度一维离散小波变换函数
cA4=appcoef(C,L,'db5',4); %从上面的C中提取第三层的低频系数
A4=wrcoef('a',C,L,'db5',4); %重构第3层的低频信号
[C,L]=wavedec(s,5,'db5'); %wavedec:多尺度一维离散小波变换函数
cA5=appcoef(C,L,'db5',5); %从上面的C中提取第三层的低频系数
A5=wrcoef('a',C,L,'db5',5); %重构第3层的低频信号
[C,L]=wavedec(s,6,'db5'); %wavedec:多尺度一维离散小波变换函数
cA6=appcoef(C,L,'db5',6); %从上面的C中提取第三层的低频系数
A6=wrcoef('a',C,L,'db5',6); %重构第3层的低频信号
figure(1);
subplot(2,2,1);plot(A3);title('Approximation A3') %显示多尺度一维分解结果
subplot(2,2,2);plot(A4);title('Approximation A4')
subplot(2,2,3);plot(A5);title('Approximation A5')
subplot(2,2,4);plot(A6);title('Approximation A6')
A0=waverec(C,L,'db5'); %比较第三层近似信号与原始信号
err = max(abs(s-A0)) %重构最大误差
figure(2);
subplot(4,1,1);plot(s);title('original'); %原始信号
subplot(4,1,2);plot(A3);title('Level 3 Approximation');
subplot(4,1,3);plot(A4);title('Level 4 Approximation');
subplot(4,1,4);plot(A5);title('Level 5 Approximation');
Normal:
Moisture