プロが教えるわが家の防犯対策術!

FFT結果は実部と虚部に分かれています。
ってよくあるのですが、2次元FFTの結果も実部と虚部に分かれているのですか?
でも、調べてみると2次元FFTの結果は、実部だけとあります。
FFTは、実部と虚部の絶対の2乗、2次元FFTは、実部だけ?矛盾しているような?
もし、2次元FFTの結果が実部だけでしたら、虚部はどのようにすればいいのですか?
実部と虚部とは、なんですか?正弦波をFFTすると実部と虚部をどのように分かれるのですか?
ご指導の方、よろしくお願いします。

A 回答 (4件)

一次元FFTでも二次元FFTでもはたまた多次元FFTでも、複素フーリエ変換もあれば、実数フーリエ変換もあります。


実数フーリエ変換は工夫すると大幅に複素FFTよりも演算量を減らせるので二次元では必要なければ実数FFTにしますが、複素FFTがないという訳ではありません。

使用するのが実数だけである場合は、実数FFTが高速なのでそれを使います。

複素FFTでは、複素数の絶対値が強度を表します。(厳密な定義はここでは省略します。)
複素数の位相(実部と虚部の複素平面上の位相)は、その信号の位相遅れを意味します。
それが物理的にどんな意味があるのかというのは、適用する分野によって異なります。
(フーリエ変換は純粋に数学的な議論であるため)

この回答への補足

ご返信ありがとうございました。

>複素数の位相(実部と虚部の複素平面上の位相)は、その信号の位相遅れを意味します。

とあるのですが、よくわかりません。sin波を、cos波を位相遅れを考慮して考えると実部を取り出したりできるってことでしょうか?
cos波、sin波が実部、虚部になるとありますが、もうひとつ実部と虚部の考え方がわかりません。
ご指導の程、よろしくお願い致します。

補足日時:2003/01/20 07:25
    • good
    • 0

FFTは単にDFTを高速に計算する技術なので質問はFFT→DFTと書くべきです


係数を別にすればDFTの定義は

1次元:
X[n]=
Σ(0≦k<N)・x[k]・exp(-j・2・π・k・n/N)
(n=0,1,2,3,・・・,N)

2次元:
X[m,n]=
Σ(0≦k,l<N)・x[k,l]・exp(-j・2・π・(k・m+l・n)/N)
(m,n=0,1,2,3,・・・,N)

となりDFTは一般には複素数になります
1次元においてx[N-n]=x[n]であればX[m,n]は実数になり
2次元においてx[N-m,N-n]=N[m,n]であればX[m,n]は実数になります

簡単ですから補足で証明してください
時間があればもっとゆるい条件を示してください

この回答への補足

すいません。考えたんですけど、よくわかりませんでした。
勉強不足です。。。。。
式は覚えているのですが、使い方がいまいちよくわかっていません。

ヒントのほうよろしくお願いします。

お聞きしたことがあるのですが、
フーリエ変換で連続関数と複素数展開するものと2つの定義式があるのですが、
2つの違いは何ですか?

ご指導の程、よろしくお願いします。

補足日時:2003/01/22 06:28
    • good
    • 0

複素数で波を表すと、いま簡単に一つの各周波数ωの波として、



f(t) = A * exp[i*ω*t]

と表されます(iは虚数)。これは、

f(t) = A * [ cos(ωt) + i * sin(ωt) ]

と同じことです。
これの絶対値をとると振幅が求まります。

|f(t)| = sqrt[ f(t) * f'(t) ]
ここで、f'(t) はf(t)の複素共役とします。
= sqrt [ |A|^2 * exp{iωt} * exp{-iωt} ]
= sqrt [ |A|^2 * 1 ]
= |A|

さて、上記の式f(t)には「位相」の項({ωt + φ} のφのようなもの)がありませんね?
では位相はどうなっているのかというと、複素数Aの中に入っています。
簡単に、t = 0 で 1となる波であれば、
f(t) = exp[iωt]
です。(A=1とした)
Re[ f(t) ] ととると cos(ωt) ですから解りますね。

ここで、t=0で0となる波であればどうでしょうか。(大きさは1とします)
f(t) = -i exp[iωt]
とすると(A= -i)、
Re[ f(t) ] = sin(ωt)
でsinになりますね。つまり先ほどと比べると位相が90度異なった波を表しています。
途中の位相も複素振幅Aで表すことが出来ます。

このように複素振幅Aを求めると、その波の位相がわかるのです。
フーリエ変換とは、各ωについての複素振幅A(ω)を求める作業です。

では。
    • good
    • 0

フーリエ変換で連続関数と複素数展開するものと2つの定義式があるのですが、


2つの違いは何ですか?:

質問の意味がわかりません

(1)フーリエ変換において連続時間信号と離散時間信号について2つの式があるのですが・・・

なのか

(2)連続時間信号のフーリエ変換において複素数値関数になるものと実数値関数になるものがあるのですが・・・

なのか

(1)
フーリエ変換の定義式は係数の違いを除いて1つです
x(t)のフーリエ変換をX(f)とすると
X(f)=∫(-∞<t<∞)dt・x(t)・exp(-j・2・π・f・t)
です
x(t)をサンプリングされた周期関数とするとDFTがδ関数の係数として出てきます
ただしx(t)をサンプリングした関数はδ関数によって表現します

(2)
x(t)が実数のときx(-t)=x(t)であれば
X(f)
=∫(-∞<t<∞)dt・x(t)・exp(-j・2・π・f・t)
=2・∫(0<t<∞)dt・x(t)・cos(2・π・f・t)
であるからX(f)は実数値関数になります
ただし簡単のためにδ(t)の項が存在しないとした

jは工学の慣習に従って虚数単位です
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!