フーリエ変換の手計算結果について

このQ&Aのポイント
  • フーリエ変換の手計算結果についてご質問です。計算結果とエクセルでのグラフ描画結果に違いがあるようです。
  • フーリエ変換の手計算による結果は、Cn=1(ω=ω_n)で振幅(縦軸)が1、他のωでは振幅が0となるはずです。しかし、エクセルでのグラフ描画では、Cn=1(ω≒ω_n)で振幅が0.5となっています。お求めの解答を頂けると幸いです。
  • フーリエ変換の手計算結果とエクセルでのグラフ描画結果に違いがあります。手計算の結果はCn=1(ω=ω_n)で振幅が1、他では振幅が0となるはずですが、エクセルではCn=1(ω≒ω_n)で振幅が0.5となっています。解析の過程や計算方法に問題があるのか、そもそもエクセルの結果が不正確なのかを教えてください。
回答を見る
  • ベストアンサー

フーリエ変換の手計算結果

お世話になります。 フーリエ変換の勉強を始めています。 f(t)=cosωt という関数を次式で手計算でフーリエ変換しました。  Cn = 1/T・∫f(t)e^(-jω_nt)dt 積分区間は-T/2~T/2 この場合、結果は  Cn = 1 (ω=ω_n)  振幅(縦軸)=1    0 (ω≠ω_n) となるのが正しいと思うのですが、計算結果をエクセルでグラフで書いたところ、  Cn = 1 (ω≒ω_n)  振幅(縦軸)=0.5     0 (ω≠ω_n) 特異解(ω=ω_n) となりました。 手計算は添付に示します。どこがおかしいのかご教示頂けませんでしょうか? よろしくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

ANo.1へのコメントについてです。 >  Cn = 1 (ω=ω_n)  振幅(縦軸)=1
 >    0 (ω≠ω_n) 
> > となるのが正しいと思う という思い込みが間違っているんです。そうではなく、   C[n] = C[-n] = 0.5 になるのが正しい。総和Σを取る添字の範囲に注意してANo.1をご再読あれ。

その他の回答 (1)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

 計算なさったのはフーリエ変換   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)です。なお、フーリエ変換とフーリエ級数展開との関係をキッチリ考えるには超関数の理論を学ぶ必要があります。  ともあれ、「相互に関連のある似たような用語がいろいろあり、それらを区別しなくちゃいけない」というのが回答です。

my7goh
質問者

補足

遅くなり申し訳ありません。ご回答いただきありがとうございました。 おっしゃるとおり、私がしたのはフーリエ変換ではなく、複素フーリエ級数展開でした。 頂いた回答を読んだのですが、理解しかねるところがあるので、もう少し教えて頂けませんでしょうか? 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}] となりました。ここまでが質問に書いた部分です。 この計算が違うということでしょうか?正しくはどういう式になるのでしょうか?そしてその式の解(複素フーリエ係数)はどうなるのでしょうか?恐れ入りますが、ご教示頂けませんでしょうか?  

関連するQ&A

  • フーリエ変換した結果がおかしなことになってしまいました。

    f(t)をフーリエ変換した結果、F(ω) = 0 になることはあるのでしょうか? というのは、f(t)=exp(-at^2) × {cos(bt)}^3 × log(1+t^2) × δ(t) (δ(t)はデルタ関数) をフーリエ変換する問題がありまして、f(t)δ(t)をフーリエ変換するとf(0)になる という性質を用いて計算したところ、F(ω) = 0 となりました。 F(ω) = 0 ということは全周波数成分の強さが0ということですよね? 問題の関数を見る限りそんな気はしないのですが・・・。 どなたかアドバイスよろしくお願いいたします。

  • フーリエ係数

    画像のような波形信号のフーリエ係数を求めるときは [0-π]の範囲ではf(t)=4sin(t)で、[π-2π]の範囲ではf(t)=0として計算すればよいのでしょうか? そうすると計算式は積分範囲は[0-π]で a0=(1/π)*∫4sin(t)dt, an=(1/π)*∫4sin(t)*cos(nt)dt, bn=(1/π)*∫4sin(t)*sin(nt)dt, となるのでしょうか? また、周期2πで、[-π,π]において、f(t)=π-|t|、で表わされる関数f(t)のフーリエ係数は a0=π, an=(2/n)*(cos(nπ)-sin(nπ)), bn=0, になったのですが(計算があってるかはわかりません) フーリエ級数を求めるには、この後どうすればいいのでしょうか? よろしくお願いします。

  • フーリエ変換

    【1】次のような関数をフーリエ変換するにはどうしたらよいのでしょうか? f(t) = 1 ( nT-d <= t <= nT+d )     0 ( (n-1)T+d < t < nT-d )     n = 0, ±1, ±2, ±3, ... ..., 0, 1, 0, 1, ... を繰り返す周期関数のようですが,周期関数のフーリエ変換はどのようにするのでしょうか.また,範囲を表すのに文字が三つも使われていて,うまくイメージできないのですが,グラフに描くとどのようになりますか? 【2】二つの関数 f(t), g(t) の積 f(t)g(t) をフーリエ変換するにはどうしたらよいのでしょうか? 詳しい手順を教えてください.また,具体例を示していただけるとうれしいです. 「たたみこみ」が関係しているようですが,いまひとつよくわかりません. F[f(x)g(x)](ω) = (1/(2π))F*G(ω) の右辺の意味がわかりません. 【3】エネルギースペクトルを求めるにはどうしたらよいのでしょうか? 「パーセバルの等式」を使うのでしょうが,使い方がわかりません. 詳しい手順を教えてください.また,具体例を示していただけるとうれしいです.

  • フーリエ変換について

    フーリエ変換について 次の信号(三角波)をフーリエ変換したいのですが、 f(t)=-t+2,0≦t≦2      t+2,-2≦t<0 解答では、 F(ω)=2∫(0⇢2)(-t+2)cosωtdtを計算することとなっていました。 フーリエ変換の定義式では F(ω)=2∫(0⇢2)(-t+2)e^(-jωt)dtとなっているため、何故上記の式となったのかが分かりません。 途中式を書いていただけると幸いです。

  • フーリエ変換についてF(ω)

    フーリエ変換についてF(ω) 次の信号のフーリエ変換と振幅スペクトルを求めたいのですが、算出式、解答を教えていただけますでしょうか。 f(t)={(e^(-at))+(e^(-2at),t≧0      {0,t<0 上の信号のフーリエ変換F(ω)と振幅スペクトルをお願いいたします。

  • フーリエ変換について

    1、信号f(t)のフーリエ変換のF(ω)のωは角振動数を表してるのになぜ負の値をとることができるのでしょうか?角振動数が負になるとはどういうことなのでしょうか? 2、信号f(t)にcos(ω1t)をかけてフーリエ変換することのメリットとは何でしょうか?

  • 離散フーリエ変換

    フーリエ変換を計算機で扱う場合について聞きたいです。 ある関数(例えばsin(x))を離散フーリエ変換しようとして、まずxを0.1ずつ増やしながらsin(x)をサンプリングします。これを虚部を0として複素数にします。 この後、複素数のフーリエ変換を行い結果が得られます。 と、ここまでは正しいと思うのですが、 その後が分かりません。 文献などに載っているフーリエ変換後のグラフは、横軸が周波数νで、縦軸がf(ν)です。 このグラフと合うようにするには 横軸・縦軸には何をとればいいのでしょうか? 横軸が周波数って言うのは、この場合は1/0.1のことでしょうか? 教えて頂きたいです。お願いします。

  • |t| フーリエ級数展開

    1/π∫(-π→0)(-t)*sin(nt)dtを計算したところ、1/n*cos(nπ) 1/π∫(0→π)(t)*sin(nt)dtを計算したところ、 -1/n*cos(nπ)になり、f(t)にまとめることができません。 計算結果は、1/π∫(-π→0)(-t)*cos(nt)dtと1/π∫(0→π)(t)*cos(nt)dtのように、一致すると思うのですが、 1/π∫(-π→0)(-t)*sin(nt)dtと、1/π∫(0→π)(t)*sin(nt)dtの計算過程を教えてください。 どなたかお願いします。

  • フーリエ係数の計算

    「Excelで学ぶ理論と技術 フーリエ変換入門」の記載事項に関する質問です。 δΔt(t)=Σδ(t-kΔt) (k=-∞ ~ ∞) と定義したとき この関数をフーリエ級数展開は,偶関数のため bn=0 an=(2/T)∫g(t)cos(2πnt/T)dt (積分範囲 0~T) サンプリング周波数 fs=1/Δtとすると an=(2/Δt)∫δΔt(t)cos(2πn・fs・t)dt 以下の積分範囲は(-Δt/2~Δt/2)   =(2/Δt)∫[Σδ(t-kΔt) (k=-∞ ~ ∞)]cos(2πn・fs・t)dt   =(2/Δt)∫δ(t)cos(2πn・fs・t)dt   =(2/Δt) 質問はここからです。 1 anの積分範囲が 0~T が -Δt/2~Δt/2 に変わってしまっているのはなぜでしょう。 2 ∫δ(t)cos(2πn・fs・t)dt=1になる理由(どうやって積分しているのかという計算の過程)が分かりません。  御回答をいただける方はいらっしゃるでしょうか。

  • 全波整流のフーリエ級数展開

    振幅Vの全波整流をフーリエ級数展開したら下のようになりました。これでいいのでしょうか? f(t)=Vsint (0<=t<=π) f(t)=-Vsint (π<=t<=2π) An=1/π∫ [0<=t<=2π]f(t)(cosnt)dt =V/π∫ [0<=t<=π](sint)(cosnt)dt + V/π∫ [π<=t<=2π](-sint)(cosnt)dt =V/π[{1-cos(n+1)π}/(n+1)+{1-cos(n-1)π}/(n-1)] Bn=0 よって、f(t)=2V/π{(1/3+1/1)cos2t + (1/5+1/3)cos4t + (1/7+1/5)cos6t・・・} f(t)=2V/πΣ[n=1,∞]4n/(2n+1)(2n-1)cos2nt もしどこか間違っていたら指摘してください。 回答よろしくお願いします。