KURENAI NO SYSTEM
http://kurenainosystem.jp/

デジタル信号処理技術

フーリエ変換



(参考図書)
フーリエの冒険 (HIPPO FAMIKLY CLUB)
トランスナショナル・カレッジ・オブ・レックス

#管理人にとってプロジェクトの始まりは、20年ほど前になりますがこの本との出会いでした。
 波から始まり、フーリエ級数/展開、三角関数、微分積分、ベクトル、複素数、マクローリン展開、そしてフーリエ変換までを分かりやすく解説しています。 これから始められる方におすすめの一冊です。


周波数とは,「1秒間に繰り返している波の回数」のことを言います

上の図だと,1秒間に2回繰り返しているのでこの波形の周波数は2Hz,となります.
周期は「同じ波が繰り返すまでの時間」
周期関数は「一定時間ごとに繰り返すような関数」
周期関数は全ての時間tに対し次式の関係を持つ関数
f(t) = f(t + T)
上式を満足する最小のTが周期
周波数と周期は逆数の関係があります.

f = 1 / T
f:周波数  T:周期


周期関数を F(t) とします。ここで t は時間、T0 は周期を表すと、T0 の整数倍の周期をもつ sinとcosの重ね合せにより表すことができます。
具体的に式で表すとこうです.

ここで、ω0 は基本となる角速度であり、基本となる周期 T0 に対応する基本周波数をf0 とすると、 ω0 = 2πf0 = 2π/T0 の関係が成立します。


分解する信号として周期的な関数 f(t)を考えよう.周期的でない場合への拡張はそれからだ。周期をT0とする.周期的なので,具体的に計算する必要があるときは –T0/2から T0/2までの範囲だけ考えることにしよう。他の区間も同じものを繰り返してるだけである。
これが sin と cosの足し合わせで構成されているとする。


Back to Top


フーリエ級数

分解する信号として周期的な関数 f(t)を考えよう.周期的でない場合への拡張はそれからだ.周期をT0とする.周期的なので,具体的に計算する必要があるときは –T0/2から T0/2までの範囲だけ考えることにしよう.他の区間も同じものを繰り返してるだけである。
これが sinとcosの足し合わせで構成されているとする.

まず最初のa0は定数だ.元の信号のうち振動しない成分なので,直流成分と呼ぶ.
記号を定義しておこう.
この k=1の場合の角周波数を基本角周波数と呼んで と表す.
T0の方は基本周期と呼んだりする.
周期 [s] と周波数 [Hz] は互いに逆数の関係.
角周波数 [rad/s] は,周波数を 倍したもの基本角周波数を使って書く

まず a0から考える.この場合やることは両辺を -T0/2からT0/2 まで単純に積分する。

細かいことに目をつぶって,右辺の積分と総和を入れ替え可能だとするとこうなる.

やってることは単純だ.積分を,級数の各項の中でするようにしただけ.その各項のうち, a0以外はきれいさっぱり 0 になって消える.
右辺に出てくる cos や sin はどれも,いま積分している-T0/2からT0/2の範囲にちょうど整数個の周期がすっぽりおさまっている。だからこの範囲で積分すると全部 0 になる.
ということで, a0の項だけ残る。

あとはこれをa0 について解けばいい.

a0が求まった.つまり元の信号を 1 周期分だけ積分して,それを周期の長さで割ればいい。
任意の自然数m,nの組について





はm=nのときに 1,それ以外の場合に 0 になることを表す


これらの式が言っていることは,ある区間の中にちょうど整数個の周期がすっぽり収まるような cos とか sin を 2 種類持ってきて,両方をかけあわせてからその区間で積分しても,ほとんどの場合は 0 になって消える; 消えないのは,全く同じもの同士をかけあわせた場合だけってこと.
sin 同士,cos 同士の場合は同じ周波数のものどうしの場合以外は 0 になって,sin と cos をかけあわせた場合はどんな場合でも 0 になる.確かにそうなっている.
直感的には…こう考えようか.全く同じもの同士をかけあわせた場合は常に正の値になるから,積分して 0 にならないのは納得できるだろう.それ以外の組み合わせでは,かけあわせたときに正の部分と負の部分がちょうど同じ面積になるように生じて,積分したら 0 になる.

2つの関数を「かけてから積分する」という操作は,2つの関数の内積を計算していることになるんだ.異なる三角関数は内積がゼロ,つまり直交していることを意味するから直交性と呼ぶ.

まあそう思うのもしかたないかも知れないが,関数をベクトルとみなす考え方なんだと思ってくれ.
イメージとしては,そうだな,例えば という 2 つの3次元ベクトルがあったら,要素ごとにかけて総和を取って とするだろ.

その関数値がずらーっと並んだものを要素とする無限次元のベクトルだと思えば,総和が積分になって「かけて積分」するのが内積の計算方法になりそうな気がしないか?

例えばa3が欲しいなら, a3は の項なんだから, をかけてから積分すればいい.

さっきと同じように右辺の積分と総和を入れ替えると,右辺はa3の項以外がすべて消えて

あとはa3について解けばいい

他の係数も全く同じだ.さっきの a0も一緒にまとめると,フーリエ係数は以下の式で与えられる






結局, をフーリエ級数に展開するときは, の項の係数は をかけたものを積分したものになるし, の項の係数は をかけたものを積分したものになる.定数項はそのまま積分したもの
フーリエ級数の中からある 1 個の周波数の成分だけ抜き出すとなわけだが,これを 1 個の sin 関数で表せる.

akとbkを,この式の左辺の に置き換えてやればいいってのが基本的な考え方だ.ただし を満たさないといけないので,そうなるように でくくってやる.

すると, は単位円上の点になるから, と決めてやれば加法定理の左辺に持ち込める.



同じ周波数の cos と sin の和が,1 個の sin で書けた

フーリエ級数展開ってのは,与えられた信号を複数のサイン波に分解することだった.そのとき,各周波数のサイン波は,それぞれ別個の振幅と初期位相を持っている.sin と cos の和として書くのは,その 1 つの表現方法に過ぎない.
ということは,もっと直接的に振幅と初期位相をそれぞれとして,

各周波数成分が振幅と位相を持つ,という意味ではこの方がわかりやすいのは確かかもしれないな.でも,その sin 関数の中に が入ったままの表現だと,数学的にちょっと扱いにくいんだな.だからあまり使われない.

オイラーの公式と呼ばれる式
虚数単位は で表す
は複素平面の単位円上の偏角 の位置に対応する

何らかの複素数に をかけることの意味は、もとの数の複素平面上の位置から,原点まわりに偏角 だけ反時計回りに回転させることになる.
もとの複素数が極座標表示で だったとするだろ.ただし は実数だ.そこに をかけると
になる.偏角が だけ進む


の両方を考えるといい.



辺々を足せば cos が,引けば sin が複素指数関数だけで表せる.




フーリエ級数の式に代入すると

   
と書いている

総和は kが 1 から無限大まで取っているわけだ.総和の中の第 1 項は が k=1から無限大まで足し合わされている.第 2 項は が k=1から無限大まで足し合わされているわけだが,これは を k=-1からマイナス無限大まで足し合わせていると思ってもよいだろう.

a0も, の k=0の項だと考えることができる.結局,全部ひっくるめて
のような形で表してよいだろう.これが複素指数関数型のフーリエ級数だ. がこの場合のフーリエ係数になる.

自体がイメージできているかどうかだな.まず確認だが, が,角周波数 で時間 とともに振動していくのはイメージできるな?
時間軸と実軸の両方に直交するように虚軸を取ればいい.あるいは,複素平面の実軸と虚軸の両方に直交するように時間軸を取ると考えてもいい

振動というより,螺旋を描くという方がいいな. は複素平面の単位円上で偏角 の位置を指していたわけだろ. は, t=0で実軸上の 1 のところからスタートして,時間 tが進むとともにこの単位円上を反時計回りにまわる



フーリエ級数は周期的な時間信号をいろんな周波数成分に分解する。「周期的」でない信号扱うのがフーリエ変換.
フーリエ級数展開の式を整数 kについて総和している
ペクトルの間隔 をどんなに細かくしていっても,総和のままではないので、周波数が連続化されて,総和が積分になるようにする


こんな風に線の長さじゃなくて面積になるように書き換える



線の代わりに横幅 の短冊みたいなのを考える.この短冊の面積が,元の線の長さ,つまり と等しくなるようにする.すると短冊の高さはになる


フーリエ級数の式を,面積の総和だと思って書き換える.

ここで をくくり出して
   
まず とする.基本角周波数の k倍の値を持つ角周波数だ.
   
そして,総和の中の項のうち の部分を と書くことにする. の定数倍だから,周波数スペクトルを表す量になる.
   
つまり, kという整数に応じて という角周波数が決まって,その角周波数のスペクトル成分 が与えられると考えておく
の計算式も書き下しておこう. を計算する式で,と書いてやると,こうなる.

これを に代入して

     
とする


の極限を考えてやる.は実数 に連続化されて, は無限小になって になる.


の方も,同様に の極限を考える.単純に積分の範囲を無限大にする.

これをフーリエ変換

そして先ほどのをフーリエ逆変換と呼ぶ










inserted by FC2 system