時間領域データから周波数領域への変換
この例では、FFT ブロックを使用して時間領域データを周波数領域に変換する方法について説明します。
メモ: 例および関連付けられたモデルを開くには、MATLAB® を開いておく必要があります。MATLAB ヘルプ ブラウザーでこのページを開いているときに [スクリプトを開く] ボタンをクリックします。
Sine Wave ブロックを使用して、2 つの正弦波 (1 つは 15 Hz、もう 1 つは 40 Hz) を生成します。Matrix Sum ブロックを使用して正弦波を一つ一つ追加して、複合正弦波を生成します。
FFT ブロックを使用して、この正弦波を周波数領域に変換します。ex_fft_tut
モデルを参照してください。
予想どおり、スコープには 15 Hz と 40 Hz でピークが示されています。2 つの正弦波信号を時間領域から周波数領域に変換しました。
一連の FFT ブロック、Complex to Magnitude-Angle ブロック、MATLAB Function ブロック、および Array Plot ブロックの代わりに、Spectrum Analyzer ブロックを使用できます。Spectrum Analyzer は振幅 FFT を計算して、FFT を内部的にシフトさせます。ex_time_freq_sa
モデルを確認してください。
Power Spectrum Estimation ライブラリのブロックは FFT を内部的に計算します。
参考
関数
ブロック
- Sine Wave | Matrix Sum (Simulink) | FFT | Spectrum Analyzer | Array Plot | Complex to Magnitude-Angle (Simulink)