読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

フーリエ変換への道

フーリエ変換の勉強を進めている。実数形式のフーリエ変換を理解するためにはだいたい以下のような前段階の知識の理解が必要であった。

  1. 正規直交基底と任意のベクトルの内積を取ればそのベクトルの成分を得ることができる。
  2. 関数を無次元ベクトルととらえる。
  3. 関数どうしの内積は関数同士の積の積分である。
  4. sin(nx)関数、cos(mx)関数は正規直交基底である。
  5. 周期関数であればsin(nx),cos(mx)との内積を取ればその成分を得ることができる。

私もだいたい理解できている。ここまでをていねいに解説していると思われるサイトは下記のサイトである。

http://www.maroon.dti.ne.jp/koten-kairo/works/fft/fft_start.html

上記サイトの前フリ部分が理解できないとフーリエ級数・変換についてはさっぱり理解できない。このサイトを見てようやく私は腑に落ちたのであった。

さらに私は「高校数学でわかるフーリエ変換―フーリエ級数からラプラス変換まで (ブルーバックス) 」という書籍も購入して合わせて読んでいる。積分計算を簡単にするには偶関数・奇関数の積分の性質を知る必要があるが、そこをやさしく丁寧に解説してくれている。

フーリエ変換の本質」というブログ記事を見かけたのだけれども、「フーリエ変換を行えば、「信号に含まれる周波数の成分比」を得ることが出来る。」ということがわかるだけで、だからどうやって変換やるの?というところは解説していない。sinとcosを合成すると任意の波形合成ができることを説明するのは簡単なんだけれども、その逆(波形->周波数成分の求め方)を説明することは難しい。というかさっきの前フリの理解が必要なのでこの部分はそもそも「サクっ」となんて説明できないのである。この記事は「フーリエ変換がなんのためにあるの?」ということがわからない人向けに書かれた記事なのでしょうがないのだけれどもね。

フーリエ変換について易しく解説しているサイトとして有名なのが「新 フーリエの冒険」であるがこれも周波数成分を求めるところになると途端に難しくなる。でも可能な限り易しくなるように積分を面積として説明しようとしているところに苦心を感じる。

やる夫で学ぶディジタル信号処理」もこの手のサイトとして有名だが、くだけた文体で読みやすいが内容的にはかなり難しく、先ほどの前フリ以上の知識が必要となってくる。

私は今複素数形式の勉強をしているところである。ここで何故かネイピア数(e)が出てくるのである。演算や式変形する上でsin,cosというのは取扱いが面倒なので、オイラーの公式を使ってeで表現するほうが簡単に演算・表現できるからのようである。で何で複素数なのかというと、オイラーの公式を使うとsin成分を虚数で表すことができ、cosを実数で表せば2成分を一つの式で表すことができるからのようである。この部分は理解が浅すぎて正しいことを言えているかもよくわからない。。 ただeで表現しても演算の途中でsin/cosに戻したりするから、結局三角関数からは逃れられない。というか音声処理を志向する限り三角関数の理解は必須なのだ。

これは蛇足だがオイラーの公式の証明を理解するにはテイラー展開を理解しないといけない。テイラー展開以外の証明方法もあるらしいのだけれdもテイラー展開による証明が一番わかりやすい。テイラー展開はコンピューターでsin/cosを計算するにはというか関数をコンピューターで計算するためには必須であるし、きちんと理解しておきたい。