声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2304|回复: 7

[工具箱] [求助]MATLAB7.0的小波工具箱怎么做小波分解的实验?

[复制链接]
发表于 2006-4-18 02:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
MATLAB7.0的小波工具箱怎么做小波分解的实验?不是小拨包分解
谢谢能人帮助~~
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-4-18 02:23 | 显示全部楼层
% 画出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('x1=sin(3*t) 时间 t/s');
axis([0 1200 -1.5 1.5]);
subplot(3,1,2);plot(t,x2,'linewidth',2);
xlabel('x2=sin(0.3*t) 时间 t/s');
axis([0 1200 -1.5 1.5]);
subplot(3,1,3);plot(t,x3,'linewidth',2);
xlabel('x3=sin(0.03*t) 时间 t/s');
axis([0 1200 -1.5 1.5]);

% 3个函数叠加在一起
x=x1+x2+x3;
figure(2);
plot(t,x,'linewidth',2);
xlabel(' 3个函数叠加产生的信号 时间 t/s');ylabel(' 幅值A');

% x信号在5层小波分解
[c,l]=wavedec(x,5,'db3'); %[c,l]=wavedec(x,5,'db3') 返回信号x在5层上的小波分解
% 重构1-5层的逼近信号
a5=wrcoef('a',c,l,'db3',5); %a5=wrcoef('a',c,l,'db3',5) 基于小波分解结构[c,l]在5层计算重构系数向量。'type'='a' 指重构系数是低频
a4=wrcoef('a',c,l,'db3',4); %其中的5,4,3,2,1为N,必须严格正整数,而且N<=length(L)-2,'type'='a'时候,N可以为0
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);xlabel('a5=wrcoef("a",c,l,"db3",5);');ylabel(' a5');
subplot(5,1,2);plot(a4,'linewidth',2);xlabel('a4=wrcoef("a",c,l,"db3",4);');ylabel(' a4');
subplot(5,1,3);plot(a3,'linewidth',2);xlabel('a3=wrcoef("a",c,l,"db3",3);');ylabel(' a3');
subplot(5,1,4);plot(a2,'linewidth',2);xlabel('a2=wrcoef("a",c,l,"db3",2);');ylabel(' a2');
subplot(5,1,5);plot(a1,'linewidth',2);xlabel('a1=wrcoef("a",c,l,"db3",1);');ylabel(' a1');
xlabel('时间 t/s');

%重构1-4层的细节信号
d5=wrcoef('d',c,l,'db3',5); %'type'='d' 指重构系数是高频
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(t,d5,'linewidth',2);xlabel('d5=wrcoef("d",c,l,"db3",5);');ylabel(' d5');
subplot(5,1,2);plot(t,d4,'linewidth',2);xlabel('d4=wrcoef("d",c,l,"db3",5);');ylabel(' d4');
subplot(5,1,3);plot(t,d3,'linewidth',2);xlabel('d3=wrcoef("d",c,l,"db3",5);');ylabel(' d3');
subplot(5,1,4);plot(t,d2,'linewidth',2);xlabel('d2=wrcoef("d",c,l,"db3",5);');ylabel(' d2');
subplot(5,1,5);plot(t,d1,'linewidth',2);xlabel('d1=wrcoef("d",c,l,"db3",5);');ylabel(' d1');
xlabel('时间 t/s');

% x1=sin(3*t)与d1作比较
bj1=x1-d1;
figure(5);
subplot(3,1,1);plot(t,d1,'linewidth',2);xlabel('d1=wrcoef("d",c,l,"db3",5); 时间 t/s');
axis([0 1200 -2 2]);
subplot(3,1,2);plot(t,x1,'linewidth',2);xlabel('x1=sin(3*t) 时间 t/s');
axis([0 1200 -2 2]);
subplot(3,1,3);plot(t,bj1,'linewidth',2);
axis([0 1200 -.2 .2]);
% bj1的输出结果表明,x1=d1

% x2=sin(.3*t)与a4作比较
bj2=x2-d4;
figure(7);
subplot(3,1,1);plot(t,d4,'linewidth',2);xlabel('d4=wrcoef("d",c,l,"db3",4); 时间 t/s');
axis([0 1200 -2 2]);
subplot(3,1,2);plot(t,x2,'linewidth',2);xlabel('x2=sin(.3*t) 时间 t/s');
axis([0 1200 -2 2]);
subplot(3,1,3);plot(t,bj2,'linewidth',2);
axis([0 1200 -.5 .5]);
% bj2的输出结果表明,x2=d4

% x3=sin(.03*t)与a4作比较
bj3=x3-a4;
figure(6);
subplot(3,1,1);plot(t,a4,'linewidth',2);xlabel('a4=wrcoef("a",c,l,"db3",4); 时间 t/s');
axis([0 1200 -2 2]);
subplot(3,1,2);plot(t,x3,'linewidth',2);xlabel('x3=sin(.03*t) 时间 t/s');
axis([0 1200 -2 2]);
subplot(3,1,3);plot(t,bj3,'linewidth',2);
axis([0 1200 -.5 .5]);
% bj3的输出结果表明,x3=a4

我想用MATLAB7.0的小波工具箱完成这个程序的操作..
{程序原创..各位见笑}
发表于 2006-4-18 16:02 | 显示全部楼层
clc
clear
%%%%%%%%%%输入信号%%%%%%%%%%%%%%%%%%
kc=0.02;
wn=25*2*pi;%自己给定固有频率、阻尼比
wd=wn*sqrt(1-kc^2);
t=0:0.01:20.47;
xt=exp(-kc*wn*t).*cos(wd*t);%信号
figure(1)
plot(t,xt)
xw=fft(xt);
%%%%%%%%%%%确定小波函数%%%%%%%%%%%%%%%%%%
w0=22;
j=5;
a=1/2^j;
% a=1.25;
t=0:0.0001:0.2047;
fait=exp(-(t/a).^2/2).*exp(i*w0*(t/a));%morlet小波函数
figure(2)
plot(t,fait)
faitw=fft(fait)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% wwfaitw=xw'.*faitw';%频域小波系数
% wtfaitt=ifft(wwfaitw);
我想问一下,我得到的这个小波系数(wtfaitt)对嘛?
 楼主| 发表于 2006-4-19 12:17 | 显示全部楼层
小人我是在对小波分析还不了解的情况下开始学习小波分解的,基本上只会自己需要的那么一点,不好意思
发表于 2006-4-21 15:10 | 显示全部楼层

回复:(math_lab)% 画出3个函数图像N=1024;t=1:N;x...

以下是引用math_lab在2006-4-18 2:23:13的发言:

我想用MATLAB7.0的小波工具箱完成这个程序的操作..
{程序原创..各位见笑}[em04][em04]


这是什么意思?你上面用的的几个函数不就是小波工具箱里的函数吗?
不知道你发这个帖子想做什么?
发表于 2006-4-21 15:11 | 显示全部楼层

回复:(zhumooks)clcclear%%%%%%%%%%输入信号%%%%%%...

以下是引用zhumooks在2006-4-18 16:02:32的发言:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% wwfaitw=xw'.*faitw';%频域小波系数
% wtfaitt=ifft(wwfaitw);
我想问一下,我得到的这个小波系数(wtfaitt)对嘛?


你这里都给注释掉了,什么意思?
 楼主| 发表于 2006-4-21 18:59 | 显示全部楼层

回复:(happy)回复:(math_lab)% 画出3个函数图像...

我想用这个实现,验证我用函数做出来的图形。。
1.jpg
发表于 2006-4-22 22:06 | 显示全部楼层

回复:(math_lab)[求助]MATLAB7.0的小波工具箱怎么做...

这个就是交互形式的,内涵和用命令都是一样的,有什么问题吗
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-25 21:31 , Processed in 0.064466 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表