MatlabでFFT (その2)

前回の記事と同じで、Sampling Rateが1[Hz]、周波数が 1/16, 2/16, 4/16, 8/16[Hz]の4通りのコサインの波形をN=16点のFFTをしました。今回は、FFTの結果をreal partとimag partに分けて表示しました。あと、入力波形をサインに変えて同じことを実行してみました。

  • 入力波形がcosの場合にはreal partのみ、sinの場合にはimag partのみになる。それは、複素フーリエ変換の式からも明らか
  • 周波数データは、Nyquist周波数を対象の軸として、real partは偶対称、imag partは奇対称となる。Nyquist周波数のdata pointは、対称の軸の上にあるので、例外扱いとなる
  • 離散時間の場合には、Nyquist周波数をもつようなsinの波形を作ることが出来ない。従って、入力信号が実数の場合には、Nyquist周波数での周波数のdata pointは常にreal partのみとなる。これは、FFTの回転因子Nyquist周波数の場合には+1もしくは-1となることにも起因する。Nyquist周波数の点だけを見ると、cosとsinは同列にはなっていないんですね。これは数学的な記述だけのもの?それとも、もう少し本質的なcosとsinの違いなの?

入力波形がcosの場合

入力波形がsinの場合