トップページ > フーリエ変換入門(FFT入門) > フーリエ変換(x)
【遊び方】
上画面(青):マウスで波形を描くことができます。入力専用です。
下画面(赤):フーリエ変換した結果のスペクトルが表示されます。出力専用です。
sin(t)ボタン:sin(x)のグラフを表示します。テスト用です。
sin(20t)ボタン:sin(20x)のグラフを表示します。テスト用です。
消去ボタン:グラフを消去します。
FFTボタン:フーリエ変換(FFT)実行します。
作り方・ソースコードはFlash入門にあります。
“sin(t)”ボタンを押すと,上画面にsin(t)の波形が出ます。 その状態で“FFT”ボタンを押すと,FFT演算が実行され, 下画面にスペクトルが表示されます。sin(t)はω=1の周波数しか含んでいないので,少々見づらいですが, 画面の左端のω=1の位置に一本だけスペクトルがでます。
次に,“sin(20t)”ボタンを押してsin(20t)のグラフを出します。 この状態で“FFT”ボタンを押してFFT実行すると, 今度はω=20の位置にスペクトルが立ちます。中心線を挟んで右側のスペクトルも,左右対称の位置に立っていることが確認できます。
時間領域の画面には,自分で適当に波形を書き込むことができます。
何か書き込んだ状態でFFTボタンを押すと,上画面で水色の線が出ます。 水色の線は,実際に読み込まれたデータそのものを示しています。
何も書かなかった部分は自動的にゼロを書き込んだとみなされます。 また,マウスをドラッグした際に逐次座標を読み込んでいるため,マウスを速く動かしすぎるとサンプリング漏れが発生します (このあたりはPCのスペックに依存します)。
x座標が同じ場所に複数回書き込んだ場合,上書きされます。次のように丸を描いてみます。
最後に取得したy座標がデータが残るので,下図のような感じになります。
マウスで描くのが1度だけだと,結構取りこぼしが多くなってしまいます。 何度か重ね書きをすれば,データが飛ぶことは少なくなります。
重ね書きすれば,ある程度長い距離でもデータをおさえることができます。
次のような矩形波を,マウスをゆっくり動かして書きます。
フーリエ変換を実行すると,いわゆるsinc関数の絶対値を取ったようなスペクトルがでます。
なんとか頑張って,マウスで点を打つようにドラッグします(横方向ではなく,上下方向に動かすと楽です)。
フーリエ変換すると,すべての周波数帯を含むスペクトルが表示されます。
頑張って細かい波形を描いてみます。
フーリエ変換実行しても,思ったほど高周波スペクトルが立ちません。 1ドット単位の細かい波形を描くのは,マウスでは難しいです。
素早くマウスを動かして2本の線を描くと,
高周波っぽいサンプリングをさせることができます。 サンプリング漏れと,データの上書きを利用します。
sin(t)ボタンを押してsinのデータを出します。 その上で,さらにマウスで波形を書き込むことで,sin(t)ベースの波形を入力することができます。 例えば,下図のようにすると,sin(t)を中心に細かく振動するような関数を表現することができます。
フーりエ変換を実行すると,ω=1のスペクトルと,高周波のスペクトルがでます (あまり意味は無い)。