景1 发表于 2009-1-22 18:02

matlab fft与specgram

请问matlab中specgram与fft的函数区别是什么啊 specgram不也是求fft吗 那为什么算出来会不一样的啊
b=fft(a,512);
c=specgram(a,512,fs,500);
算出来b和c的结果是不一样的啊

谢谢大家:@(

songzy41 发表于 2009-1-22 20:02

specgram是短时傅里叶变换(STFT),而fft只是做一帧傅里叶变换,所以完全是不同的功能。

景1 发表于 2009-1-22 22:33

那是不是STFT的时间范围更长啊谢谢了:handshake

songzy41 发表于 2009-1-23 11:40

本帖最后由 wdhd 于 2016-9-14 10:16 编辑

原帖由 景1 于 2009-1-22 22:33 发表
那是不是STFT的时间范围更长啊谢谢了:handshake
FFT只计算出1帧频谱,而specgram是计算出多帧频谱,如果信号a较长,当然也计算了更长的时间范围。specgram的调用格式是:
specgram(x,nfft,fs,window,noverlap);
请楼主help specgram 或doc specgram看一下。

景1 发表于 2009-1-23 15:04

:@D 谢了:lol
页: [1]
查看完整版本: matlab fft与specgram