Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

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

スペクトログラムの詳細については、Signal Processing Toolbox を使用したスペクトログラムの計算を参照してください。信号のその他の時間-周波数表現の概要については、時間-周波数ギャラリーを参照してください。

スペクトログラムの表示

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

fs = 10e3;
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, xlabel Time (s), ylabel Frequency (kHz) 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, xlabel Frequency (kHz), ylabel Power Spectrum (dB) contains an object of type image.

参考

アプリ

関数

関連するトピック