- ベストアンサー
フーリエ変換の手計算結果について
- フーリエ変換の手計算結果についてご質問です。計算結果とエクセルでのグラフ描画結果に違いがあるようです。
- フーリエ変換の手計算による結果は、Cn=1(ω=ω_n)で振幅(縦軸)が1、他のωでは振幅が0となるはずです。しかし、エクセルでのグラフ描画では、Cn=1(ω≒ω_n)で振幅が0.5となっています。お求めの解答を頂けると幸いです。
- フーリエ変換の手計算結果とエクセルでのグラフ描画結果に違いがあります。手計算の結果はCn=1(ω=ω_n)で振幅が1、他では振幅が0となるはずですが、エクセルではCn=1(ω≒ω_n)で振幅が0.5となっています。解析の過程や計算方法に問題があるのか、そもそもエクセルの結果が不正確なのかを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1へのコメントについてです。 > Cn = 1 (ω=ω_n) 振幅(縦軸)=1 > 0 (ω≠ω_n) > > となるのが正しいと思う という思い込みが間違っているんです。そうではなく、 C[n] = C[-n] = 0.5 になるのが正しい。総和Σを取る添字の範囲に注意してANo.1をご再読あれ。
その他の回答 (1)
- stomachman
- ベストアンサー率57% (1014/1775)
計算なさったのはフーリエ変換 F(ω) = ∫{t=-∞~∞} f(t) exp(-jωt) dt ではなく、複素フーリエ級数展開ですね。 実数から複素数への関数f(t)が周期Tを持つ滑らかな関数のとき、fの複素フーリエ級数は f(t) = Σ{n=-∞~∞} C[n] exp(2πj n t/T) C[n] = (1/T)∫{t=-T/2~T/2} f(t) exp(-2πj n t/T) dt ここで ○ fが実数から実数への関数である場合、C[n]とC[-n]は共役複素数である。 ○ 全てのtについてf(t)がf(-t)の共役複素数である場合、C[n]は実数である。 は容易に証明できます。なので、 ○ fが実数から実数への偶関数である場合、C[n]は実数で、C[n] = C[-n] である。 ご質問の場合はこれに該当しますね。従って、 f(t) = Σ{n=-∞~∞} C[n] exp(2πj n t/T) = C[0] + Σ{n=1~∞} (C[n] exp(2πj n t/T)+ C[-n]exp(-2πj n t/T)) = C[0] + Σ{n=1~∞} C[n] (exp(2πj n t/T)+exp(-2πj n t/T)) = C[0] + 2 Σ{n=1~∞} C[n] cos(2πn t/T) だから計算なさった結果には何の不思議も無い。 要するに、総和をn=-∞~∞の範囲で取ることをお忘れであり、C[-n]を足していないんです。 あるいは、もしかすると、実数から実数への周期Tを持つ関数f(t)に関する実フーリエ級数 f(t) = c[0] + Σ{n=1~∞} (c[n] cos(2π n t/T) + s[n] sin(2π n t/T) ) と混同なさったのかも知れない。実フーリエ級数と複素フーリエ級数との関係はご自分で検討できるでしょう。 ちなみに、数値計算の場合には、整数から複素数(実数)への周期関数f(n)の離散フーリエ変換 (DFT)が行われます。複素離散フーリエ変換のアルゴリズムのひとつが高速フーリエ変換(FFT)です。なお、フーリエ変換とフーリエ級数展開との関係をキッチリ考えるには超関数の理論を学ぶ必要があります。 ともあれ、「相互に関連のある似たような用語がいろいろあり、それらを区別しなくちゃいけない」というのが回答です。
補足
遅くなり申し訳ありません。ご回答いただきありがとうございました。 おっしゃるとおり、私がしたのはフーリエ変換ではなく、複素フーリエ級数展開でした。 頂いた回答を読んだのですが、理解しかねるところがあるので、もう少し教えて頂けませんでしょうか? f(t)=cosωtとしたときの複素フーリエ係数Cnを求めたいのですが、式にそのまま当てはめると Cn = 1/T・∫f(t)e^(-jω_nt)dt 積分区間は-T/2~T/2 となり、それを解くと Cn=1/T[1/(ω-ωn)×sin{(ω-ωn)T/2}}+1/(ω+ωn)×sin{(ω+ωn)T/2}] となりました。ここまでが質問に書いた部分です。 この計算が違うということでしょうか?正しくはどういう式になるのでしょうか?そしてその式の解(複素フーリエ係数)はどうなるのでしょうか?恐れ入りますが、ご教示頂けませんでしょうか?