原创 画小波变换的时频图

2011-6-14 17:43 6272 11 12 分类: 测试测量
 
jzc1983:
一调频信号:x=sin(2*pi*(10*t+1).*t)+sin(2*pi*(30*t+1).*t);
用tfrscalo怎么只得到一个频率的图线,tfrscalo(xd',1:k1,N,0.001,0.50);这个N是根据信号得的么?N不同得到的时频就不同,小弟今天才接触小波,谢谢了

采样频率为1000HZ
-----------------------------------------------
zhlong:
给你一个例子,按图示信息就可以做出来了。
t=1:512;
t=t*1/2000;
f1=600;
f2=100;
f3=200;
a=1000;
x=sin(2*pi*(f1-a*t).*t)+sin(2*pi*(f2+a*t).*t)+sin(2*pi*f3*t);
tfrscalo(hilbert(x'));
回车之后会出现第一副图,即信号的能量谱图。
59843_12476446600dI7.jpg
 
 
如图2按matlab提示输入分析频率范围的最小值和最大值,还有频率点数(Number of frequency samples)(这个数取512就可以了,它默认值为信号长度,如果信号很长的话,那么频率点数也很长,这样时频图的矩阵就非常大,很难显示,会提示“out of memory")。
59843_12476447528Pbl.jpg
 
回车后出现图3,图3菜单各项的功能自己可以试试。其中一个便是改变采样频率,tfrscalo(hilbert(x'));这样的调用默认采样频率为1。
59843_1247644807uU42.jpg
 
点击 changing the sampling frequency 输入采样频率:
59843_1247644810wObx.gif
 
59843_1247644813GkGk.jpg
 
点击close后,输入命令colormap(flipud(gray));  得到白底黑图的图片。
59843_1247644816bKiI.gif
 
--------------------------------------------------------
按照你说的方法,我怎么只求出一个频率信息啊 ,zhlong你再帮我看看,辛苦了,而且我怎么看这个图,这么怪啊  一半白一半蓝的
59843_1247644998ZM8c.jpg
--------------------------------------------------
zhlong:
回复 #6 jzc1983 的帖子
这是分析频率范围设置问题。
蓝色底的那一部分就是你分析的范围。
你可以这样设置,
lowwer frequency bound: 0.001
upper frequency bound:0.5
如上面我贴的第二个图。
--------------------------------------------------
问题已经解决了,但是我想把横坐标改成1000ms到2000ms之间,知道在哪个函数里么?我找了几个函数都没有找到相应的语句,谢谢
--------------------------------------------------------
eight:
引用:
原帖由 jzc1983 于 2007-6-13 11:12 发表
问题已经解决了,但是我想把横坐标改成1000ms到2000ms之间,知道在哪个函数里么?我找了几个函数都没有找到相应的语句,谢谢
help xlim
--------------------------------------------------------
好像这样不行啊,xlim([1000 2000])之后 图形显示了从1000~2000之间的  但是好像只是向右平移了1000个单位,得到的图是空白啊
----------------------------------------------------
zhlong:
回复 #10 jzc1983 的帖子
你的意思是只改变x轴的坐标刻度显示值吗?
-------------------------------------------------
eight:
引用:
原帖由 jzc1983 于 2007-6-13 11:19 发表
好像这样不行啊,xlim([1000 2000])之后 图形显示了从1000~2000之间的  但是好像只是向右平移了1000个单位,得到的图是空白啊
你的目的不是看 1000-2000 之间的图形吗?这个命令就是了,要不我理解错了,要不你表述得不清楚。
--------------------------------------------------
是我表述不太清楚,我想改Xlabel的值,我用图形框EDIT下面的工具条给改了,谢谢了8同志和zhlong同志,你们是好同志,我顺便问一下,小波多尺度分解后得到的分解系数和原信号的长度不同,用什么命令给重构的相同?小波工具箱中得到的系数是和信号长度相同的
---------------------------------------------------
zhlong:\
help wrcoef
------------------------------------------------
这个好像是根据小波系数重构信号的吧,我想知道小波分解得到的小波系数长度不同,但小波工具箱中的小波系数是相同的且等于信号长度,是怎么弄得?或许我理解的有误区
------------------------------------------------
不好意思,我用了方法画小波的时频图,是没有能成功。出了以下问题:
??? Error using ==> tfrview
unsupported matlab version. please send an email.

Error in ==> tfrqview at 183
   tfrview(tfr,sig,t,method,param,p1,p2,p3);

Error in ==> tfrscalo at 183
tfrqview(tfr,hilbert(real(X)),t,'tfrscalo',wave,N,f);
没能出现蓝色的时频图,我用的Matlab的版本是7.3 R2006b.
--------------------------------------------------------
zhlong:
回复 #17 hitsniq 的帖子
没碰到过你的问题,版面里面还有pengzk版友发的有关小波时频图的程序,可以参考。
我的matlab版本还是7.1
--------------------------------------------------
eight:
引用:
原帖由 hitsniq 于 2007-10-28 21:49 发表
不好意思,我用了方法画小波的时频图,是没有能成功。出了以下问题:
??? Error using ==> tfrview
unsupported matlab version. please send an email.

Error in ==> tfrqview at 183
   tfrview(tfr,si ...
估计是作者编写这个函数的时候作了版本限制,自己 edit tfrview,然后搜索 unsupported matlab version. please send an email, 最后修改一下吧

文章评论1条评论)

登录后参与讨论

用户377235 2013-8-27 11:28

提升小波变换后可以画时频图?

用户391779 2008-8-1 15:39

加油
相关推荐阅读
xuyaosong 2012-11-28 14:24
Lesson 4 4:MATLAB - FFT and Zero Padding
http://blinkdagger.com/matlab/matlab-fft-and-zero-padding This is the fourth post in the blinkdag...
xuyaosong 2012-11-28 13:54
C语言中 多个源文件之间函数如何调用
首先要建立一个头文件,以.h保存 这样 #include typedef struct { char name[100][60]; char number[100][8]; int m...
xuyaosong 2012-11-28 13:53
小波变换尺度相关性去噪程序
所实现的相关性去噪函数为function [s1 a d] = SSNF(s, n, h, g, g1),具体的实现步骤为: 1) 调用离散二进小波分解函数对信号进行分解,得到逼近系数a 和细节...
xuyaosong 2012-11-28 13:29
功率谱密度幅值的具体含义??
http://www.chinavib.com/forum/thread-17307-1-48.html 求信号功率谱时候用下面的不同方法,功率谱密度的幅值大小相差很大! 我的问题是,计算具体...
xuyaosong 2012-01-12 18:38
声明函数指针并实现回调
程序员常常需要实现回调。本文将讨论函数指针的基本原则并说明如何使用函数指针实现回调。注意这里针对的是普通的函数,不包括完全依赖于不同语法和语义规则的类成员函数(类成员指针将在另文中讨论)。 ...
xuyaosong 2012-01-12 18:36
如何不用访问地址的方式来编写并口程序 ★★★★★
兄弟我在精华发现了一些关于并口打印的文章,但是都是用inb outb操作的,不知道各路高人能否给小弟一个用open write ioctl read close控制的判断状态并读写的例子,尤...
我要评论
1
11
关闭 站长推荐上一条 /2 下一条