チーム18E3

課題名

サンプル波形をフーリエ変換するシミュレーター

研究者名

Takumi Horinouchi

概要

①選択肢から波形を選択すると,4周期分の波形が表示される.

②Wave⇔Spectrumボタンを押すと,高速フーリエ変換によって得られた周波数スペクトルが表示される.
 ※スペクトル特性について考察しやすいように,奇関数と偶関数の成分ごとに色分けしてある.
 ※スペクトルを表示中にWave⇔Spectrumを押すと,元の波形が再び表示される.

③IFFTボタンを押すと,逆フーリエ変換によって得られた波形を表示する.

④AverageFilterボタンを押すと,4タップの平均化フィルタが適用される. (複数回可能)
 ※横についている選択欄で回数を設定して,その数だけフィルタをかけることができる.
 ※ここで,Wave⇔Spectrumボタンを押すと,平均化した波形のスペクトルを表示できる.

⑤Clearボタンを押すと,それまでの表示内容・データをリセットできる.

⑥Closeボタンを押すと,実行を終了してウィンドウを閉じる.

<参考>

ソースコード

FourierTransformer.java


WaveADConverter.java


FFT.java

実行結果

矩形波


三角波


鋸形波


sin波


cos波


ガウス関数


直流

考察

参考としたチーム17F4の考察で,理想的な周波数スペクトルではなく,余計なスペクトルが混ざっていたとあった.
これは,方形波や三角波のスペクトルを見れば,一目瞭然であろう.
そこで,波形を生成する箇所の見直しを行い,これを修正した.

また,平均化を施す際に平均値に収束せずに1周期ごとにそれぞれ変化していた.
これは,入力する波形を1周期のみ作成し,それを3回描画するということをしていたためである.
そのような入力をとれば,あのように周期的な変化をして当り前であろう.

今回,参考にしたチームが解決できていない問題を解消し,個人的に不便に思った機能を改良した.
これ以上改良を加えるなら,ハイパスフィルタ・ローパスフィルタやバンドパスフィルタ等の機能を追加したり,
入力データをWaveGeneなどで生成した波形と指定できるようになれば,
フーリエ変換を行うアプリケーションとしての利便性が高まるであろう.

  • 最終更新:2018-11-26 17:00:08

このWIKIを編集するにはパスワード入力が必要です

認証パスワード