Main Content

FFT による時間-周波数解析

Signal Processing Toolbox™ 製品は、シーケンスの時間依存フーリエ変換を返す関数を提供したり、この情報をスペクトログラムとして表示したりします。"時間依存フーリエ変換" は、ウィンドウを時間的に連続的に移動させながら適用して、シーケンスの離散時間フーリエ変換を計算したものを合わせたものです。このフーリエ変換形式は、短時間フーリエ変換 (STFT) とも呼ばれ、音声、ソナー、レーダー処理に多く応用されています。シーケンスの "スペクトログラム" は、時間を横軸に、時間依存フーリエ変換の振幅を表示したものです。

信号のスペクトログラムを表示するには、関数 pspectrum が使用できます。たとえば、10 kHz でサンプリングされた 2 秒間の信号を生成します。信号の瞬時周波数を時間の三角形関数として指定します。スペクトログラムを計算するため、信号を持続時間 0.0256 秒のセグメントに分割し、86% のセグメント間オーバーラップを指定します。"漏れ" は、スライディング ウィンドウの、周囲に強いトーンがある場合の弱いトーンのノイズからの検出能力を測定します。漏れには 0.875 を指定します。

fs = 10000;
t = 0:1/fs:2;
x = vco(sawtooth(2*pi*t,0.75),[0.1 0.4]*fs,fs);

pspectrum(x,fs,'spectrogram', ...
    'TimeResolution',0.0256,'Overlap',86,'Leakage',0.875)

Figure contains an axes object. The axes object with title Fres = 53.1206 Hz, Tres = 25.6 ms contains an object of type image.

信号の "パーシステンス スペクトル" は、与えられた周波数が信号内に存在する時間の割合を示す時間-周波数領域の表示です。パーシステンス スペクトルはパワー周波数空間のヒストグラムです。信号が変化する中で特定の周波数が信号内に存在する時間が長ければ長いほど、その時間の割合は大きくなるため、表示内の色が明るく ("熱く") なります。

信号のパーシステンス スペクトルを計算して表示します。0.01 秒の時間分解能、50% の隣接するセグメント間のオーバーラップ、0.5 の漏れを指定します。

pspectrum(x,fs,'persistence', ...
    'TimeResolution',0.01,'Overlap',50,'Leakage',0.5)

Figure contains an axes object. The axes object with title Fres = 256.6745 Hz, Tres = 10 ms contains an object of type image.

参考

アプリ

関数

関連するトピック