声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3218|回复: 15

[小波] 求助:如何用小波分析实现这个图形?

[复制链接]
发表于 2006-10-17 17:38 | 显示全部楼层 |阅读模式

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

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

x
各位高手,我现在有一组采集数据,想用小波分析来处理。我看了别人分析出来的图形是这样的(如附图),我不知道用什么命令来实现?我用了一个c=cwt(s,[0 5 10:5:25],'morl','3Dlvl');的命令,结果不对,望请赐教!谢谢!
11.JPG
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-10-18 10:05 | 显示全部楼层
是我说的不够详细吗?没有人能回答我的问题?
发表于 2006-10-18 17:18 | 显示全部楼层
你画出来的是什么样子的呢?
发表于 2006-10-18 17:40 | 显示全部楼层

回答问题

改成
c=cwt(s,[0 5 10:5:25],'morl','3Dplot');
或者
c=cwt(s,[0 5 10:5:25],'morl','3Dabsglb');
画出来的就是三维的图,至于颜色方案,cwt默认的是pink,上图中用的是jet,你加一句
colormap(jet);
就可以了。

cwt

cwt
发表于 2006-10-18 17:42 | 显示全部楼层

上图的代码

c=cwt(x,2:50,'morl','3Dplot');
colormap(jet);
x是我自己定义的一个信号。
发表于 2006-10-18 17:45 | 显示全部楼层

pink颜色方案

c=cwt(x,2:50,'morl','3Dplot');
colormap(pink);


好像jet更好看,和ansys里面的差不多

jet

jet
 楼主| 发表于 2006-10-18 21:42 | 显示全部楼层
我试试看呀,不过在这先谢谢了。有什么疑问,希望再给我指出!谢谢
 楼主| 发表于 2006-10-18 21:47 | 显示全部楼层
哦,对了,我这个是时间-频率分析图,我怎么样才能将我的信号转换为频率到这里面去呢?我现在现有的就只有传感器采集来的数据(加速度)。能不能告诉我?
 楼主| 发表于 2006-10-18 21:54 | 显示全部楼层
我直接将我采集的数据作为x带入到cwt(x,2:50,'morl','3Dplot'),计算后出来的图形是这个(附图1),与正确的图形(附图2)有天壤之别,可能是我的频率还没有转换进去,但不知道如何转入呢?

1

1

2

2
发表于 2006-10-19 08:58 | 显示全部楼层
采样频率除以尺度才是实际的以Hz为单位的频率轴,你的实际信号是低频,出现上面的不相同的原因估计是尺度的范围选择不对,将尺度的下限选大一些(>2),这样频率轴的最高频率就会减小,频率范围集中在你的信号频率范围段(25Hz以内),那样就对了。你再试试
 楼主| 发表于 2006-10-19 09:12 | 显示全部楼层
我的程序如下,得出的图形不对呀!
x=Data(1500*500:1505*500);
c=cwt(x,1:25,'morl','3Dplot');
colormap(pink);
还有就是cwt里面的频率参数为什么不能从0开始呀?
 楼主| 发表于 2006-10-19 09:25 | 显示全部楼层
我照着本论坛上面的一个程序自己编了一下,程序如下:
figure(1);
t=5;fs=500;
Ts=1/fs;N=t/Ts;
x=Data(1500*500:1505*500);
% x=awgn(x,-3,'measured');
subplot(221)
plot(0:Ts:t,real(x));xlabel('time-sec');ylabel('cable acceleration-m/s^2');axis([0,5,-1,1]);
n=0:N-1;
Xk=fft(x);
mXk=abs(Xk(1:N/2));
k=(0:N/2-1*fs/N);
subplot(212),plot(k,mXk);
xlabel('Frequency in Hz units');title('Magnitude of Data');axis([0,100,0,100]);
figure(2);
Nw=500;
L=Nw/2;
Tn=(N-Nw)/L+1;
nfft=25;
TF=zeros(Tn,nfft);
for i=1:Tn
    xw=x((i-1)*10+1:i*10+10);
    temp=fft(xw,nfft);
    temp=fftshift(temp);
    TF(i,:)=temp;
end
fnew=((1:nfft)-nfft/2)*fs/nfft;
tnew=(1:Tn)*L*Ts;
[F,T]=meshgrid(fnew,tnew);
mesh(F,T,abs(TF));
其中的Nw的含义是什么呀?画出的三维时频图的频率是对称的,我如果要单边的如何改动呢?
我画出的图1是原信号的时程和功率谱,其中原信号中的横坐标为时间,幅值只有0.5~1左右,而如果用采样次数直接画出,幅值有4左右,这为什么会不同,有什么区别吗?功率谱也是,我用自己编的程序算出这段时间的功率谱在4Hz左右才有一个高峰值,其他频率处都很小,这里确出现了几个峰值,为什么?
图2是时频三维图,图像与我贴出的样板相差也很远,不知道如何改动这个程序才能达到我想要的样本那样的图形?

1

1

2

2
发表于 2006-10-19 12:04 | 显示全部楼层

先更正一个问题(道歉)

由尺度到频率的转换关系应该是采样频率/尺度*小波中心频率。我上面的帖子写错了,特此更正。向学术精神道歉!!!!!!!!!!!!!!!!!!!11
回复 支持 1 反对 0

使用道具 举报

发表于 2006-10-19 12:35 | 显示全部楼层
cwt里的是尺度参数,不是频率参数,两者成倒数关系。
自己多研究研究。
发表于 2010-6-30 16:15 | 显示全部楼层
领教,多谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 00:34 , Processed in 0.065449 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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