画小波变换的时频图
一调频信号: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
[ 本帖最后由 jzc1983 于 2007-6-12 23:15 编辑 ] 给你一个例子,按图示信息就可以做出来了。
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'));
回车之后会出现第一副图,即信号的能量谱图。
如图2按matlab提示输入分析频率范围的最小值和最大值,还有频率点数(Number of frequency samples)(这个数取512就可以了,它默认值为信号长度,如果信号很长的话,那么频率点数也很长,这样时频图的矩阵就非常大,很难显示,会提示“out of memory")。
回车后出现图3,图3菜单各项的功能自己可以试试。其中一个便是改变采样频率,tfrscalo(hilbert(x'));这样的调用默认采样频率为1。
[ 本帖最后由 zhlong 于 2007-6-12 20:38 编辑 ] 点击 changing the sampling frequency 输入采样频率:
点击close后,输入命令colormap(flipud(gray));得到白底黑图的图片。
[ 本帖最后由 zhlong 于 2007-6-12 20:36 编辑 ] 你是我来这个论坛3个月来,解答问题最好,态度最好的一个人!顶你!
回复 #4 jzc1983 的帖子
^_^,回答问题也是一种快乐。热烈欢迎你也为其他网友提供解答! 按照你说的方法,我怎么只求出一个频率信息啊 ,zhlong你再帮我看看,辛苦了,而且我怎么看这个图,这么怪啊一半白一半蓝的[ 本帖最后由 zhlong 于 2007-6-13 10:00 编辑 ]
回复 #6 jzc1983 的帖子
这是分析频率范围设置问题。蓝色底的那一部分就是你分析的范围。
你可以这样设置,
lowwer frequency bound: 0.001
upper frequency bound:0.5
如上面我贴的第二个图。 问题已经解决了,但是我想把横坐标改成1000ms到2000ms之间,知道在哪个函数里么?我找了几个函数都没有找到相应的语句,谢谢 原帖由 jzc1983 于 2007-6-13 11:12 发表 http://www.chinavib.com/forum/images/common/back.gif
问题已经解决了,但是我想把横坐标改成1000ms到2000ms之间,知道在哪个函数里么?我找了几个函数都没有找到相应的语句,谢谢
help xlim 好像这样不行啊,xlim()之后 图形显示了从1000~2000之间的但是好像只是向右平移了1000个单位,得到的图是空白啊
回复 #10 jzc1983 的帖子
你的意思是只改变x轴的坐标刻度显示值吗? 原帖由 jzc1983 于 2007-6-13 11:19 发表 http://www.chinavib.com/forum/images/common/back.gif好像这样不行啊,xlim()之后 图形显示了从1000~2000之间的但是好像只是向右平移了1000个单位,得到的图是空白啊
你的目的不是看 1000-2000 之间的图形吗?这个命令就是了,要不我理解错了,要不你表述得不清楚。
回复 #12 eight 的帖子
楼主表述不清楚啊!我估计楼主是要改变坐标的显示值,也就是xlabel的问题。 是我表述不太清楚,我想改Xlabel的值,我用图形框EDIT下面的工具条给改了,谢谢了8同志和zhlong同志,你们是好同志,我顺便问一下,小波多尺度分解后得到的分解系数和原信号的长度不同,用什么命令给重构的相同?小波工具箱中得到的系数是和信号长度相同的
[ 本帖最后由 jzc1983 于 2007-6-13 11:29 编辑 ]