フォト

最近のトラックバック

« 日帰りドライブ 長瀞・皆野方面へお買い物 | トップページ | エクセルでフーリエ解析入門 その2 »

エクセルでフーリエ解析入門

フーリエ変換(FFT)は波形と周波数成分の変換ですが、なかなか難しいものです。そこで、フーリエ変換を体験するためにエクセルを使って簡単な実験をしてみました。

エクセルでのフーリエ解析(フーリエ変換を行なった解析)の操作はこちら(エクセルでFFT乗算を体験してみよう)を参照してください。

■基本中の基本
試しに、32ステップで1周期になる正弦波(Sin波)を作ってみます。
A列に0~31を入力。
B1セルにSin関数、"=SIN(A1*2*PI()/32)"を入力して、B2からB32までコピーします。
(数式は見やすさ優先にしていますので、悪しからず)
できた表とグラフは次のようになります。

Sample1

ちなみにB列は小数点以下4桁の数値にしています。
では、これをフーリエ変換してみましょう。次のように、入力範囲を$B$1:$B$32、出力先を隣の列$C$1:$C$32にします。

Sample2

結果は次の通りです。

Sample3

C列がフーリエ変換の結果。結果は複素数(この例ではたまたま虚数部のみ)なので、絶対値関数"=IMABS()"をD列に求めます。この理由はあとで別記事で説明します。
そしてD列を棒グラフにすると、横軸1の部分と31の部分にグラフが立っています。

この横軸1の部分に立っているグラフが元の波形の周波数成分です。つまり周波数1ということです。
横軸31の部分のグラフは無視します。フーリエ変換の結果は前半分(0~15の16ヶ)が周波数成分で後ろ半分(16から31の16ヶ)は無視します。

本当に周波数成分であることを確かめるために、32ステップで3周期の正弦波で同じようにしてみましょう。
B列のSin関数は、"=SIN(A1*2*PI()/(32/3))"というふうに、分母の32を3で割れば3周期になります。結果を示します。

Sample4

上の正弦波グラフは3周期。そして下の棒グラフはちゃんと横軸3のところに立っています。

もうひとつ、周期1と周期4の合成波形を試してみましょう。
B列は"=SIN(A1*2*PI()/32)+SIN(A1*2*PI()/(32/4))"になります。

Sample5

波形はいびつな形に見えますが、棒グラフは横軸1と4のところに立っています。
これが、波形を周波数成分に変換するフーリエ変換の基本です。

« 日帰りドライブ 長瀞・皆野方面へお買い物 | トップページ | エクセルでフーリエ解析入門 その2 »

c#」カテゴリの記事

エクセル」カテゴリの記事

パソコン・インターネット」カテゴリの記事

趣味」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/533730/46606097

この記事へのトラックバック一覧です: エクセルでフーリエ解析入門:

« 日帰りドライブ 長瀞・皆野方面へお買い物 | トップページ | エクセルでフーリエ解析入門 その2 »

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
無料ブログはココログ