声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1480|回复: 6

[其他] 关于短时傅立叶变化的怪图

[复制链接]
发表于 2007-11-13 17:00 | 显示全部楼层 |阅读模式

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

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

x
大家好,我刚开始学matlab,照着书上的例子做了一个短时傅立叶变换,但是图怪怪的,不知为什么和书上不一样:

程序是:
sig=real(amgauss(128).*fmlin(128));
>> figure(1);
>> plot(sig,'LineWidth',2);
>> plot(sig,'LineWidth',2);
>> xlabel('时间');
>> ylabel('幅值');
>> h=1;
>> sig=hilbert(sig);
>> [tfr,t,f]=tfrstft(sig,1:128,128,h);
>> figure(2);
>> contour(t,f(1:length(f)/2),abs(tfr));

运行后只出了时域波形图,第二个图是空的,然后我把contour(t,f(1:length(f)/2),abs(tfr));改成了imagesc(t,f(1:128),abs(tfr(1:128,:)));
终于有图了,但是纵坐标怪怪的,不知为什么啊

untitled.fig

2.81 KB, 下载次数: 14

untitled1.fig

3.56 KB, 下载次数: 6

回复
分享到:

使用道具 举报

 楼主| 发表于 2007-11-13 17:05 | 显示全部楼层

谢谢zhlong版主这么快回复

[ 本帖最后由 rugalor 于 2007-11-13 17:09 编辑 ]
1.jpg
2.jpg
发表于 2007-11-13 17:06 | 显示全部楼层
第四个参数H是窗序列,是一个向量,怎么可以就用1,不要这个参数试试
 楼主| 发表于 2007-11-13 17:19 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-8 14:00 编辑
原帖由 yangzj 于 2007-11-13 17:06 发表
第四个参数H是窗序列,是一个向量,怎么可以就用1,不要这个参数试试

去掉了h还是没有图,加个矩形窗ones(127,1)也没东西,这个contour是个什么函数啊
发表于 2007-11-13 17:19 | 显示全部楼层
同意yangzj版主的意见,楼主先看一下该函数的帮助文件
发表于 2007-11-13 17:21 | 显示全部楼层
tfrstft(sig,1:length(sig),512,hamming(41),1);
试试
发表于 2007-11-14 09:04 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-8 14:00 编辑
原帖由 rugalor 于 2007-11-13 17:19 发表


去掉了h还是没有图,加个矩形窗ones(127,1)也没东西,这个contour是个什么函数啊

在函数tfrstft中应该加上窗h的,加矩形窗ones(127,1)能给出结果的,只是窗太长看不出信号变化的细节。
又contour是画等高线图,在谱图中是画等幅值的图。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-2 11:45 , Processed in 0.075915 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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