Matlab中的频谱图示例

时间:2012-03-15 19:19:09

标签: matlab signal-processing fft spectrogram

是否有Matlab代码显示一系列代表波形作为频谱图的数字?

每个样本代表的时间间隔是相同的,理想情况下,这也可以用于轴刻度。

http://www.davegrossman.net/gould/media/spectrum-devocalized.jpg

例如:

spec({1 2 3 2 1 2 3 2}, 0.1 seconds)

spec(my_data.txt, 10 Hz)

等...

2 个答案:

答案 0 :(得分:4)

如果您有信号处理工具箱,则可以使用spectrogram()功能。 e.g:

T = 0:0.001:2;
X = chirp(T,100,1,200,'q');
spectrogram(X,128,120,128,1E3); 

(从该文档页面获取的示例。)

数值参数分别是窗口长度,重叠长度,FFT长度和采样频率。

答案 1 :(得分:0)

如果你看一下tftb工具箱,tfrspwv是一个非常复杂和精确的频谱图代码,在线的tfrspwv.m代码中有一个运行脚本示例,用于在Matlab中制作频谱图。