查看: 27865|回复: 13|关注: 0

[已解决] 再问Matlab关于spectrogram问题,急!

[复制链接]

新手

7 麦片

财富积分


050


27

主题

87

帖子

0

最佳答案
我的MATLAB版本是7,里面用HELP察看了下spectrogram的用法。还是有很多不明白,请高人指点。 新版本里比以前做了改动,比如标准程序其中有个是
spectrogram(X,256,250,256,1E3,'yaxis');
X代表输入信号,1E3代表FS,那么,2个256和250 又代表什么?哪个是用的窗函数?哪个是NOVERLAP?如果给出的信号本来就是整周期,那么这里的
256 能改成整周期信号的取样点数么?比如10000?那么NOVERLAP又该怎么取?还有个关于colorbar的命令,如何使用,它所标注的图像里的颜色和其对应的数值都分别代表什么意思? 求教了!!!

论坛优秀回答者

17

主题

5028

帖子

1112

最佳答案
  • 关注者: 587
发表于 2010-1-24 18:41:12 | 显示全部楼层 |此回复为最佳答案
原帖由 gotlanbo 于 2010-1-23 22:37 发表
再问关于spectrogram问题,急!
我的MATLAB版本是7,里面用HELP察看了下spectrogram的用法。还是有很多不明白,请高人指点。 新版本里比以前做了改动,比如标准程序其中有个是
spectrogram(X,256,250,256,1E3,'yaxis');
X代表输入信号,1E3代表FS,那么,2个256和250 又代表什么?哪个是用的窗函数?哪个是NOVERLAP?如果给出的信号本来就是整周期,那么这里的
256 能改成整周期信号的取样点数么?比如10000?那么NOVERLAP又该怎么取?还有个关于colorbar的命令,如何使用,它所标注的图像里的颜色和其对应的数值都分别代表什么意思? 求教了!!!

用doc spectrogram,可看到调用spectrogram的格式有
S = spectrogram(x)
S = spectrogram(x,window)
S = spectrogram(x,window,noverlap)
S = spectrogram(x,window,noverlap,nfft)
S = spectrogram(x,window,noverlap,nfft,fs)
S = spectrogram(x,window,noverlap,F)
S = spectrogram(x,window,noverlap,F,fs)
[S,F,T] = spectrogram(...)
[S,F,T,P] = spectrogram(...)
而LZ的spectrogram(X,256,250,256,1E3,'yaxis');对应为X是信号,window=256,noverlap=250,nfft=256,fs=1E3,而'yaxis'将在Y轴上显示频率及X轴上显示时间(Using 'yaxis' displays frequency on the y-axis and time on the x-axis)。

新手

7 麦片

财富积分


050


27

主题

87

帖子

0

最佳答案
 楼主| 发表于 2010-1-24 20:56:52 | 显示全部楼层
感谢 SONGZY大哥指点,还有几个问题想问 。
第一关于 上颜色的命令 COLORBAR ,我试过好几次,很多例程里都有用,可是发现总是有正值,还有负值,我的图最大是0 ,然后全是负值,很不明白,想问问如何能让COLORBAR 使用后能让负值消失,最好是从零开始 ,全正值依次升上去。还有这个上色的各种颜色和数值代表什么意思?
第2,256是窗,是必须要取2的N次幂才行么?比如我取10000也行吗?NOVERLAP 是只要小于FFT的取值长度就行么?因为我之前有用个例子试过,取值没有按照2的N次取,导致得出的图里,作为横轴的时间只有取样时间的一半 ,怎么改都没办法。谢谢了!!
第3,这个图的原理是短时傅立叶变化出时频简单变换的图形,目的是看频率和时间,如果要看相位的时频图呢?应该怎么用?谢谢了!!
这里给出个例子程序
clear all;
%----------------------------------
fs = 100000;
to = .1;
t = (0:1/fs:to)';
L = length(t);
N = length(t)-1;
df = fs/N;
%----------------------------------
DC = 5.250;
f1 = 50;
f2 = 150;
f3 = 300;
y1 = DC+5*sin(2*pi*f1*t+(30/180*pi))+5*sin(2*pi*f2*t+(45/180*pi))+5*sin(2*pi*f3*t+(60/180*pi));
%----------------------------------
figure(1);
plot(t,y1)
xlabel('t \rightarrow')
ylabel('a(t)\rightarrow')
grid
figure(2)
spectrogram(y1-mean(y1),rectwin(L),N/2,L,fs,'yaxis');colorbar%2000是上面的这个正选信号的周期2000个点,L是做FFT的总长度,这里画出来的图就是只有一半的时间轴,不知道为什么。。。。而且标注的颜色也不知道什么意思。

[ 本帖最后由 gotlanbo 于 2010-1-24 21:24 编辑 ]

新手

7 麦片

财富积分


050


27

主题

87

帖子

0

最佳答案
 楼主| 发表于 2010-1-25 19:52:27 | 显示全部楼层
:o 继续求助

新手

7 麦片

财富积分


050


27

主题

87

帖子

0

最佳答案
 楼主| 发表于 2010-1-26 15:07:17 | 显示全部楼层
接着问。。。。:$ :$

论坛优秀回答者

33

主题

3906

帖子

711

最佳答案
QQ
  • 关注者: 160
发表于 2010-1-26 15:11:36 | 显示全部楼层
原帖由 gotlanbo 于 2010-1-26 15:07 发表
接着问。。。。:$ :$

有等待的时间,不如仔细的看看帮助,然后实际操作一下
对哪点有疑问,就看哪个的帮助
Email: ljelly@sohu.com
About me:https://www.ilovematlab.cn/article-43-1.html

论坛优秀回答者

33

主题

3906

帖子

711

最佳答案
QQ
  • 关注者: 160
发表于 2010-1-26 16:05:52 | 显示全部楼层
原帖由 gotlanbo 于 2010-1-26 16:02 发表
当然是看过了很多才过来问得,请楼上这种无聊的人不要没事放P。

你也太不文明了,对你这种人,我无话可说!
Email: ljelly@sohu.com
About me:https://www.ilovematlab.cn/article-43-1.html

新手

7 麦片

财富积分


050


27

主题

87

帖子

0

最佳答案
 楼主| 发表于 2010-1-26 17:21:09 | 显示全部楼层
文明不文明和你没关系,没人请你说话,要回答问题或者讨论就进来,别没事找事说些废话,你仔细看过我的问题没有,不懂别装行吗。SONGZY大哥和一些其他的朋友都很好,我真的很感谢你们,之前真的给出很多帮助,就算没有帮到我也给出了很多思路,这个网站镇的不错,不过像你这种不帮忙的还无聊的说废话放P的我才没话好说。

入门

358 麦片

财富积分


50500


117

主题

1657

帖子

81

最佳答案
  • 关注者: 28
发表于 2010-6-8 18:36:20 | 显示全部楼层

回复 8# gotlanbo 的帖子

刷下牙再来吧...
这是技术论坛,请你注意下自己的言语,ljelly在论坛上榜过好几次热心会员,帮助无数会员回答过问题,发表过多篇原创贴以及经验分享贴,如果你对论坛有过这种奉献,才有资格指责他你所谓的"冷淡".你有吗?
比骂人别在这逞能...

[ 本帖最后由 makesure5 于 2010-6-8 18:42 编辑 ]
QQ:365918171

退役版主

39 麦片

财富积分



98

主题

882

帖子

5

最佳答案
  • 关注者: 1
发表于 2010-6-17 23:21:47 | 显示全部楼层
原帖由 gotlanbo 于 2010-1-26 17:21 发表
文明不文明和你没关系,没人请你说话,要回答问题或者讨论就进来,别没事找事说些废话,你仔细看过我的问题没有,不懂别装行吗。SONGZY大哥和一些其他的朋友都很好,我真的很感谢你们,之前真的给出很多帮助,就算没有帮到我也给出了 ...

建议版主将gotlanbo 永久封号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

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