📄 example2_3_1.m
字号:
load leleccum; %装载信号
s=leleccum(1:3920);
ls=length(s);
[cA1,cD1]=dwt(s,'db1'); %采用db1基本小波来分解信号
A1=upcoef('a','cA1','db1',1,ls); %第三步中产生的系数cA1和cD1构造第一层的低频和高频(A1和D1)系数
D1=upcoef('d','cD1','db1',1,ls);
figure(1);
subplot(1,2,1);plot(A1);title('Approximation A1') %显示第一层的分解结果
subplot(1,2,2);plot(D1);title('Detail D1')
A0=idwt(cA1,cD1,'db1',ls); %由小波逆变换恢复信号
[C,L]=wavedec(s,3,'db1'); %多尺度一维分解
cA3=appcoef(C,L,'db1',3); %从上面的C中提取第三层的低频系数
cD3=detcoef(C,L,3); %从上面的C中提取第1、2、3层的高频系数
cD2=detcoef(C,L,2);
cD1=detcoef(C,L,1);
A3=wrcoef('a',C,L,'db1',3); %重构第三层的低频信号
D1=wrcoef('d',C,L,'db1',1); %重构第1、2、3层的高频信号
D2=wrcoef('d',C,L,'db1',2);
D3=wrcoef('d',C,L,'db1',3);
figure(2);
subplot(2,2,1);plot(A3);title('Approximation A3') %显示多尺度一维分解结果
subplot(2,2,2);plot(D1);title('Detail D1')
subplot(2,2,3);plot(D2);title('Detail D2')
subplot(2,2,4);plot(D3);title('Detail D3')
A0=waverec(C,L,'db1'); %比较第三层近似信号与原始信号
err = max(abs(s-A0)) %重构最大误差
figure(3);
subplot(2,1,1);plot(s);title('original');axis off %比较第三层近似信号与原始信号
subplot(2,1,2);plot(A3);title('Level 3 Approximation');axis off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -