タグ

2012年1月13日のブックマーク (2件)

  • 高速フーリエ変換 Excel VBA用FFTプログラム - 研究と教育と追憶と展望

    ちまたには高速フーリエ変換(FFT)のプログラムが出回っているが、これをExcel VBA(いわゆるマクロ)で使えるようにしたところ、机上作業の効率が飛躍的にアップした。下記にプログラム等をノートしておく。ちまたに出回っているFFTのプログラムは利用者の知らないうちに窓関数がかけられていたり、周波数を自動的に計算したりするので、あまり教育的ではない。一番シンプルなFFTのプログラムで、生の処理を体験すべきである。 ちなみに、フーリエ変換とは、理工系の大学で習う数学的処理の方法の一つで端的に言えば、横軸が時間となっているグラフをフーリエ変換すると、横軸が周波数のグラフとなるもの。 例えば左図は横軸が時間で、周波数の異なるサインカーブを3つ足し合わせたグラフである。0.001秒毎に(サンプリング周波数1 kHz)、1024個のデータを取得したもの。横軸が時間だと、この波の周波数を読み取るのに一

    高速フーリエ変換 Excel VBA用FFTプログラム - 研究と教育と追憶と展望
  • エクセルを用いたフーリエ変換(FFT)

    音波、電磁波、地震波などの波は大きさ(振幅)、周波数、位相が異なる三角関数波(sin,cos)の組み合わせで表すことができる。フーリエ変換は波の分析ツールとしてよく使用され、オーディオ機器は音波を分析し、周波数(低音、中音、高音等)ごとの波の大きさをディスプレイしている。 周波数(ヘルツ:Hz)とは、波が1秒間に振動する回数のことで、音波の場合、高音になるほど周波数が大きくなる。 フーリエ変換は時間(t)の関数である波形 f(t) を周波数(k)の分布関数F(k)に変換し、その逆がフーリエ逆変換である。 フーリエ逆変換 f(t) = ∫F(k) ei2πkt dk     ・・・・・ (1) フーリエ変換  F(k) = ∫f(t) ei2πkt dt      ・・・・・ (2) i : 虚数 i2 = -1となる。 F(k)は一般的に複素数で、 F(k) = x + iy