MATLAB がそのスペクトログラム関数 (および specgram や Octave の stft などの関連関数) の短時間フーリエ変換をどのように行うかを理解しようとしています。私にとって興味深いのは、ウィンドウの長さと FFT の長さ (出力周波数の数) を個別に指定できるように見えることですが、これら 2 つが等しいと予想していたのに (FFT された信号の長さは元の信号の長さと同じです)。私が何を意味するかを説明するために、ここに関数呼び出しがあります:
[S,F,T]=スペクトログラム(シグナル,winSize,overlapSize,fftSize,レート);
winSize は (個別に) FFT されるサブインターバルの長さであり、fftSize は出力で与えられる周波数成分の数です。これらが等しくない場合、Matlab は必要な数の周波数ビンを生成するために補間を行いますか?
最終的に知りたい理由は、周波数の適切な単位とスケーリングを決定できるようにするためです。
乾杯