我试图弄清楚 MATLAB 如何对其频谱图函数(以及相关函数,如 Specgram 或 Octave 中的 stft)进行短时傅里叶变换。让我感到好奇的是,您显然可以独立指定窗口的长度和 FFT 长度(输出频率的数量),而我原以为这两者应该相等(因为 FFT 信号的长度是与原始信号的长度相同)。为了说明我的意思,这里是函数调用:
[S,F,T]=频谱图(信号,winSize,overlapSize,fftSize,rate);
winSize 是要(单独)进行 FFT 的子间隔的长度,而 fftSize 是输出中给出的频率分量的数量。当这些不相等时,Matlab 是否会进行插值以产生所需数量的频率区间?
最终我想知道的原因是我可以确定适当的单位和频率缩放。
干杯