2019年11月28日

FFTで四苦八苦 1.5Hzの憂鬱

N = 32 とする。無意識に矩形窓関数を使っていることになる。周波数が1,2,..と整数であればFFTの係数はピシャッと出る。窓関数と周波数が整数の関係になっていれば、だけど。
で、整数の関係にない時は係数は広がる。再度、表示する。
まずは1.5Hzである。実数で与えるので虚数成分は0である。
image

FFTの結果は
image

   16を中心に対称である・・・という場合には、1-15, 16-31を見る。0はDC成分で対称に加えない。
ここで、FFTのもともとのフーリエ級数を思い出す。1.5Hzの信号は1,2,3,4,…といった成分の和として表現できる。つまり、
sin(1.5Hz) = 係数1*sin(1Hz ) +  係数2*sin(2Hz ) + 係数3*sin(3Hz )….. といった形式になる・・・・はず。
なのでグラフに出ている高次の係数の値は元の信号を表現するために必要な成分なのであり、決してノイズではない。ここの説明で誤解を招くものがいくつかの本で見受けられた。ただし、ノイズを著者がどう捉えているか、定義は知らない。
ここに現れている成分は1.5Hzを表現するためには全部が必要なのである。ノイズではない。

では、ここで高次の成分を0にしてからIFFTをするとどのような波形になるか。滑らかさが消えると想像はできる。

試しに0 – 11 だけをつかって見た。12-31は0にした。それでIFFTをする。
image
  
   高域での位相情報を消してしまったので虚数成分が出てきたが、とりあえず実数を見る。cos()の波形だ。滑らかさは劣化している。
では、もっといじって、0 - 7まで使ってみる。
image

  あら、なんか滑らかになった気が・・・・ よーし、0 - 4ではどうだ!
image

   うーーむ。正しく動いているんだろか。
0,1,2 ではどうだ

image

うーー 0, 1だと*****   そりゃcos(1Hz)ですね
image

というわけで、FFTとかDFTとかで、アーーソブを終わりますm(_ _)m

posted by toinohni at 14:02| 東京 ☁| Comment(0) | エレクトロニクス雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください