複素数のイメージ

離散フーリエ変換を勉強すると、突然

 

e = cosθ + i sinθ

 

みたいな式が突然出てきて、これが何だかよく分からないまま、とりあえず公式だけを覚えてみたり...

しかも i  は「実際には存在しない虚数」みたいに教わったので、存在しない物は、なかなかイメージもしにくい。

 

で、いろいろ調べてみて、今ではなんとなく

 

e は複素平面における 長さ1傾きθ のベクトル

 

ぐらいの認識でいます。

 

 

複素平面ではX軸に相当する部分が実部(Real part)、Y軸に相当する部分が虚部(Imaginary part)と呼ばれます。

 

回転方向は反時計まわりが正で時計まわりが負となります。

 

よく e-iθ というのも目にしますが、これはむしろ ei(-θ) と 書いてくれた方が分かりやすいと思いますが、e-iθ は、回転方向がマイナス、つまり時計まわりになります。

 

また、e の頭に係数が付く場合がありますが、その係数分だけベクトルの長さが変化します。

例えば 2e の場合だと

 

のようにベクトルの長さが2となります。

係数の値が負の場合は、ベクトルの向きが逆になり、-2e の場合だと

 

のようになります。

ただ、実際には e の頭に係数はθの値に応じて変化する場合が多く、例えば

 

(sinθ) e

 

のθの値を0~360°で変化させるとどうなるか?というと、このよう↓になります。

 

 

実はフーリエ変換をイメージで覚えるうえで、上図のように思えた事が最大のポイントで、とても嬉しかった~!!!

 

上図をよ~く見てみると、ベクトルの先端は円を描き、この円の中心が(0, 0.5)の座標になっています。

これを少し言い方を変えると、円の中心へのベクトルは長さ0.5、傾きが+90の位置にあります。

この事は、すでに少しだけフーリエ変換になってます。

 

と、ここまで説明しといて、例題としては  (sinθ) e -iθ  の方が良かったかな...ちょっと失敗??

ちなみに(sinθ) e -iθ  だと、円の中心は(0, -0.5)の位置に来ます。

 

複素数、複素関数について、もう少し詳しく知りたい方は、下記ファイルが参考になると思います。

 

複素関数を学ぶ人のために

http://collie.low-temp.sci.yamaguchi-u.ac.jp/~ashida/work/comp.pdf

 

フーリエ変換へ戻る

関連記事

複素数の計算

フーリエ変換の種類

フーリエ変換と言っても、フーリエという言葉が付く変換はいくつかあります。

 

簡単に分類すると、こんな感じ↓でしょうか?

 

フーリエ変換
    フーリエ変換(Fourier Transform)
    離散フーリエ変換(DFT:Discrete Fourier Transform)
            高速フーリエ変換(FFT:Fast Fourier Transform)

 

フーリエとは付きませんが近いのに離散コサイン変換(DCT:Discrete Cosine Transform)というのもあります。

 

フーリエ変換を大きく分類すると、頭に何も付かないフーリエ変換と離散という言葉の付く離散フーリエ変換とがあります。

 

この頭に何も付かないフーリエ変換は変換相手がsinやcosなどの数式で、フーリエ変換の公式にも積分の式()が用いられます。

 

対して離散フーリエ変換は音声や電圧、画像などのように測定データが対象で離散フーリエ変換の公式には積算の式(Σ)が用いられます。

 

高速フーリエ変換(FFT)は離散フーリエ変換の一種で、データの個数が2のn乗(2,4,8,16,32・・・)個の時に特別に高速に処理をできるアルゴリズムで、基本的な処理は離散フーリエ変換となります。

 

私がフーリエ変換を行う場合は、画像や電圧などの測定データを相手にする場合がほとんどなので、単に「フーリエ変換」と言っておきながら「離散フーリエ変換」の事を指して言っている場合もあるかもしれません...

 

フーリエ変換へ戻る

 

フーリエ変換とは?

フーリエ変換は何をしているのか???

 

下図の示すように、任意波形を各周波数の成分に分解し、その大きさ(振幅)および位置(位相)を求める計算がフーリエ変換となります。

 

逆に、振幅と位相から元の波形を求める計算が逆フーリエ変換となります。

 

このフーリエ変換を行うと何が良いのか???

用途は様々なのですが、

 

  • 振幅から、どの周波数成分が強いのか?解析を行う。
  • 位相から、位相のズレで距離(形状)を算出する。
  • 特定周波数の振幅を0(ゼロ)にして、逆フーリエ変換を行い、フィルタ処理(ノイズ除去など)を行う。
  • 振幅および位相から元のデータを算出する事で、元のデータを少ない値から算出する。
    (データ圧縮)

 

などなど。

 

ここで、私がなかなかフーリエ変換を理解できなかったポイントですが、

 

「任意波形はサイン波形を足し合わせると求める事ができる!」

 

みたいな説明が良くあります。さらに位相についても触れられていない場合が多いです。

 

しかし、この説明だとsin(0°)は、いつも0(ゼロ)なので、いくら各周波数成分を足し合わせても0°の値は0になってしまいます。

 

そのため、sin波形で考えるのではなく、cos波形で考えた方が良いと思います。

この時、各周波数の成分は下記の式で表されます。

 

ただし、

N:データ個数

t = 0、1、2、・・・・N-1

n = 0、1、2、・・・・N-1

t:tの時の振幅

φt:tの時の位相

t:データ全体に含まれる1周期分の波の個数。この値で周波数を調整します。

 

また、一度は聞いた事があるであろうパワースペクトルの値は振幅そのものを求めていない場合が多い。

(この事にはついては、別の記事で説明したいと思います。)

 

画像処理をやった事がある人では、フーリエ変換は、各周波数をテンプレートとしたテンプレートマッチングを行い、相関値がフーリエ変換のパワースペクトルに相当していると思えば、感覚的には似ています。

(ただし、数学的には異なります。)

 

と、ざっくりなイメージはこんな感じです。

 

もう少し、まじめにフーリエ変換を理解したい場合は内積正規直交規定を理解しておくと、良いかと思います。

 

フーリエ変換へ戻る