资源说明:matlab wavelet
bio
%Page 395
%生成3个正弦信号
N = 1024;
t = 1:N;
x1 = sin(3*t);
x2 = sin(0.3*t);
x3 = sin(0.03*t);
%绘制其波形
figure(1);
subplot(3,1,1);
plot(t,x1,'LineWidth',2);
xlabel('时间 t/s');
ylabel('(sig1)幅值 A');
axis([0 1200 -2 2]);
subplot(3,1,2);
plot(t,x2,'LineWidth',2);
xlabel('时间 t/s');
ylabel('(sig2)幅值 A');
axis([0 1200 -2 2]);
subplot(3,1,3);
plot(t,x3,'LineWidth',2);
xlabel('时间 t/s');
ylabel('(sig3)幅值 A');
axis([0 1200 -2 2]);
%叠加信号
x = x1+x2+x3;
figure(2);%分开绘图
plot(t,x,'LineWidth',2);
xlabel('时间 t/s');
ylabel('幅值 A');
%一维小波分解
[c,l]=wavedec(x,5,'db3');%[c,L]
%重构第一到第五层逼近信号
a5 = wrcoef('a',c,l,'db3',5);
a4 = wrcoef('a',c,l,'db3',4);
a3 = wrcoef('a',c,l,'db3',3);
a2 = wrcoef('a',c,l,'db3',2);
a1 = wrcoef('a',c,l,'db3',1);
%显示各层逼近信号
figure(3);
subplot(5,1,1);plot(a5,'LineWidth',2);ylabel('a5');
subplot(5,1,2);plot(a4,'LineWidth',2);ylabel('a4');
subplot(5,1,3);plot(a3,'LineWidth',2);ylabel('a3');
subplot(5,1,4);plot(a2,'LineWidth',2);ylabel('a2');
subplot(5,1,5);plot(a1,'LineWidth',2);ylabel('a1');
xlabel('时间 t/s');
%重构第一至第五层细节信号
d5 = wrcoef('d',c,l,'db3',5);
d4 = wrcoef('d',c,l,'db3',4);
d3 = wrcoef('d',c,l,'db3',3);
d2 = wrcoef('d',c,l,'db3',2);
d1 = wrcoef('d',c,l,'db3',1);
%显示各层细节信号
figure(4);
subplot(5,1,1);plot(d5,'LineWidth',2);ylabel('d5');
subplot(5,1,2);plot(d4,'LineWidth',2);ylabel('d4');
subplot(5,1,3);plot(d3,'LineWidth',2);ylabel('d3');
subplot(5,1,4);plot(d2,'LineWidth',2);ylabel('d2');
subplot(5,1,5);plot(d1,'LineWidth',2);ylabel('d1');
xlabel('时间 t/s');
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。