tsugaru’s blog

主に技術的なことをつぶやきます。プログラミング,ポケモンGO,音楽,アニメ等

フーリエ解析の理論と自然現象のフィーリエ解析(1)


備忘録がてら書きましたが、誤りがあるかもしれません。
自分に都合が良いように書いたので飛ばし読みでお願いします。
また、このシリーズの更新を気まぐれで行うことがあります。


このシリーズでは、第一回で関数の三角関数による展開を簡単な事例から導入し、一般的な事例まで数学的な視点で確認する。第二回では実際に利用されることを想定した説明を試みる。デジタル的な分析においては標本化し、量子化するので、さらに応用して考える必要がある。


第一回では

で構成される。


フーリエ解析とは

あらゆる関数をベクトルとみなし、それらが基底ベクトル(関数)の線形結合で表現できないか、という試みの中で、特にその基底が三角関数に関するもの。
プリズムは光のフーリエ変換をしていると言える。

利用例

その基底が三角関数であることから、波の分析に利用される。

例えば、楽器は同じ音程でも音色の違いを生ずるが、それらは構成する倍音などの含み度合いが異なるために起こる現象である。また、目に見える波長や聞こえる音程以外の波長を省くことによる圧縮の技術や、雑音に相当する波長分布を削除することによるノイズキャンセルなど、身近なところで利用されている。

光について言えば、天文学の分野においてスペクトルの解析により、惑星などの構成元素の解明や、大きさ、運動に至るまでの分析が可能となる。
以下は太陽光のスペクトルであるが、フーリエ変換で行っていることは、与えられた波から以下のような分解することをしているだけである。

画像は
太陽光 - Wikipedia


関数のベクトルって?

集合$V$とその要素$\bm{a},\bm{b},\bm{c},...$の間に次の加法と数との乗法の二つが定義されている時、この集合Vをベクトル空間と言い、その要素をベクトルという。

一般的なベクトルの定義

加法

次の法則を満たす($\bm{a},\bm{b}\in V$)

1. $\bm{a}+\bm{b}=\bm{b}+\bm{a}$(交換法則)
2. $(\bm{a}+\bm{b})+c=\bm{a}+(\bm{b}+c)$(結合法則)
3. $V$の要素$0$がただ一つ存在し、$V$の任意の要素$\bm{a}$に対して、$0+\bm{a}=\bm{a}$
4. $V$の任意の要素$\bm{a}$に対して$V$の要素$\bm{a}'$がただ一つ存在して、$\bm{a}+\bm{a}'=0(逆ベクトルの存在)$

数との乗法

任意の数$k$と任意の$V$の要素$\bm{a}$に対して、これらの積と呼ばれる$V$の要素$k\bm{a}$が定まり、以下を満たす。
1. $1\bm{a}=\bm{a}$(単位法則)
2. $k(h\bm{a})=(kh)\bm{a}$(結合法則)
3. $k(\bm{a}+\bm{b})=k\bm{a}+k\bm{b}$(分配法則)
4. $(k+h)\bm{a}=k\bm{a}+h\bm{a}$(分配法則)

特に数が実数$R$にのみ属する時、実線形空間複素数$C$にのみ属する時、複素線形空間と言い、以下では$K$を$C$または$R$の意味で用いる。

  • 高校で習ったベクトルは確かに上をみたしている。
  • n次多項式の集合をVとして考え、加法と数の乗法を以下の様に定義するとn次多項式はベクトルとみなせる。
    • $A=\sum_{i=0}^na_ix^i,B=\sum_{i=0}^nb_ix^i \in V$として、
    • $A+B=\sum_{i=0}^n(a_i+b_i)x^i$
    • $kA=\sum_{i=0}^nka_ix^i$

線型独立

$\bm{a_i}\in V,c_i\in \bm{K}(i=0,1,...,k)$に対し、$\bm{a_1},\bm{a_2},...,\bm{a_k}$の線形結合を
$$c_1\bm{a_1}+c_2\bm{a_2}+...+c_k\bm{a_k}$$
と定義する。

ここで、ベクトル$\bm{a_1},\bm{a_2},...,\bm{a_k}$の関係
$$c_1\bm{a_1}+c_2\bm{a_2}+...+c_k\bm{a_k}=\bm{0}$$
を線形関係と言い、$c_i=0$としたものを自明な線形関係と呼ぶ。

$\bm{a_1},\bm{a_2},...,\bm{a_k}$に自明でない線形関係が存在する時、$\bm{a_1},\bm{a_2},...,\bm{a_k}$は線形従属であると言い、存在しない時、$\bm{a_1},\bm{a_2},...,\bm{a_k}$は線形独立であるという。

基底

線形空間$V$の有限個のベクトル(※注1)$\bm{e_1},\bm{e_2},...,\bm{e_n}$が次の条件を満たす時、$\bm{e_1},\bm{e_2},...,\bm{e_n}$は$V$の基底であるという。

  • $\bm{e_1},\bm{e_2},...,\bm{e_n}$は線型独立である
  • $V$の任意のベクトルは、$\bm{e_1},\bm{e_2},...,\bm{e_n}$の線形結合として表される。

内積

$K$上の線形空間$V$の元$\bm{a},\bm{a_1},\bm{a_2},\bm{b},\bm{b_1},\bm{b_2}$に対し、いかに定める$K$の元(内積)が定まる時、$V$を計量線形空間という。(内積の表記を$(\bm{a},\bm{b})$とする)
1. $(\bm{a},\bm{b_1}+\bm{b_2})=(\bm{a},\bm{b_1})+(\bm{a},\bm{b_2})$,$(\bm{a_1}+\bm{a_2},\bm{b})=(\bm{a_1},\bm{b})+(\bm{a}_2,\bm{b})$
2. $(c\bm{a},\bm{b})=c(\bm{a},\bm{b})$,$(\bm{a},c\bm{b})=c(\bm{a},\bm{b})$
3. $(\bm{a},\bm{b})=\overline{(\bm{b},\bm{a})}$
4. $(\bm{a},\bm{a})$は$0$または、正の実数であり、$(\bm{a},\bm{a})=0$となるのは、$\bm{a}=\bm{0}$に限る。

$(\bm{a},\bm{b})=0$の時、$\bm{a}$と$\bm{b}$は直交するという。
特に$K$が実数の時の(実)計量線形空間のことをユークリッド空間と言い、複素数の時の(複素)計量空間のことをユニタリ空間という。

  • 高校で習った内積は上の定義を満たす。
  • n次以下の実係数多項式空間の二つの多項式f,gについて、$\int_s^t f(x)\overline{g(x)}dx$は内積の定義を満たすので、この空間は計量空間という。
    • 高校で習ったベクトルは成分ごとの積の話だったのが、連続するxごとの和になっただけ。




基底のベクトルがお互いに垂直である時、直交規定と言い、さらに規定ベクトルの大きさが1である時、正規直交規定という。規定であるかによらず、単に$V$のベクトル$\bm{e_1},\bm{e_2},...,\bm{e_n}$が互いに直交する時それらを直交系、長さが1であればそれらを正規直交系という。

たとえば二次元座標上のベクトル空間において$(1,0)$,$(0,1)$は正規直行基底であり、$(2,0)$,$(1,1)$は正規直交規定でも直交規定でもないが、基底である。また、三次元ベクトル空間において、$(1,0,0)$,$(0,1,0)$は正規直交系であるが、正規直交基底ではない。(基底というには要素が足りない)

関数の基底ベクトル

テイラー展開

テイラー展開は、関数を点kを中心としたxの多項式で表そうとする試みであるが、関数系$x^n$はkを中心とする区間で定義された内積において、直交系であることが確認できる。

フーリエ級数展開

ここでは基底(に相当する部分)の確認を示す。以下のように展開される理由は後述。

有限区間の場合

また、0を中心とした有限区間$[-T/2,T/2]$で定義される関数f(t)について、nを自然数として、

$
f(t)=a_0+(a_1{\rm cos}\dfrac{2\pi t}{T}+b_1{\rm sin}\dfrac{2\pi t}{T})+(a_2{\rm cos}\dfrac{4\pi t}{T}+b_2{\rm sin}\dfrac{4\pi t}{T})+(a_3{\rm cos}\dfrac{6\pi t}{T}+b_3{\rm sin}\dfrac{6\pi t}{T})+...+(a_n{\rm cos}\dfrac{2n\pi t}{T}+b_n{\rm sin}\dfrac{2n\pi t}{T})+...
$

ただし、$a_0=\dfrac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)dt$,$a_n=\dfrac{2}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t){\rm cos}\dfrac{2n\pi t}{T}dt$,$b_n=\dfrac{2}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t){\rm sin}\dfrac{2n\pi t}{T}dt$

の様にフーリエ級数展開される。この時$\{1,{\rm cos}\dfrac{2\pi t}{T},{\rm sin}\dfrac{2\pi t}{T},{\rm cos}\dfrac{4\pi t}{T},{\rm sin}\dfrac{4\pi t}{T},...,{\rm cos}\dfrac{2n\pi t}{T},{\rm sin}\dfrac{2n\pi t}{T},...\}$の一次結合によって任意の関数が表されるので、これらはf(t)から作られる関数空間の基底であることを意味する。さらに、それらの基底は$[-T/2,T/2]$おける内積で、直交することが確認できるので、正規直交基底となる。

実数全体を定義域にもつ関数f(t)について、連続的な周波数による分解に拡張した場合

展開系(逆フーリエ変換)は$f(t)=\dfrac{1}{2\pi}\int_{\infty}^{\infty}F(w)e^{iwt}dw$と表される。ここで、F(w)は角振動数wの波の大きさに対応する部分である。この時、$\int_{-\infty}^{\infty}e^{iw_1t}\overline{e^{iw_2t}}dt=2\pi\delta(w_1-w_2)$と表されるので、二つの異なる関数$e^{iw_1t}$、$e^{iw_2t}$は直交している。

フーリエ変換の理論

有限区間の場合

0を中心とした有限区間$[-T/2,T/2]$で定義される関数f(t)について、nを自然数として、

$
f(t)=a_0+(a_1{\rm cos}\dfrac{2\pi t}{T}+b_1{\rm sin}\dfrac{2\pi t}{T})+(a_2{\rm cos}\dfrac{4\pi t}{T}+b_2{\rm sin}\dfrac{4\pi t}{T})+(a_3{\rm cos}\dfrac{6\pi t}{T}+b_3{\rm sin}\dfrac{6\pi t}{T})+...\\+(a_n{\rm cos}\dfrac{2n\pi t}{T}+b_n{\rm sin}\dfrac{2n\pi t}{T})+...
$

のように展開できると、非常に嬉しい。なぜなら、このようにすれば、三角関数の合成により、角振動数$\dfrac{2n\pi}{T}$の大きさが$\sqrt{a_n^2+b_n^2}$とわかるからである。このように展開できるような組み$\{a_0,a_1,...,b_1,...\}$が存在するならば、それらはどのような値になるか求めたい。

係数の導出

ここで、これらの係数のかかる値は、直交基底であることを利用する。
表記を簡単にするため、$\dfrac{2\pi}{T}=w_0$とする。$f(t)$が上のように展開される時、$n>0$で
$\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t){\rm cos}nw_0tdt$について考えると、f(t)を展開した時の${\rm cos}nw_0$以外の項との積の積分値は0となる。
つまり、$\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t){\rm cos}nw_0tdt=a_n\times \dfrac{T}{2}$となる。ここから$a_n$はもとまる。同様にして$f(t)\times {\rm sin}nw_0$について考えることで$b_n$がもとまる。また、$f(t)\times 1$について考えることで$a_0$がもとまる。

区間が0中心でない時はtを定数分ずらす変換によりもとまる。つまり、有限区間[p,p+T]で定義されたf(t)のフーリエ級数展開
$f(t)=a_0+\sum (a_i {\rm cos}iw_0+b_i{\rm sin}iw_0)$については、
$a_0=\dfrac{1}{T}\int_{p}^{p+T}f(t)dt$,$a_n=\dfrac{2}{T}\int_{p}^{p+T}f(t){\rm cos}\dfrac{2n\pi t}{T}dt$,$b_n=\dfrac{2}{T}\int_{p}^{p+T}f(t){\rm sin}\dfrac{2n\pi t}{T}dt$である。

特徴

上で表されるフーリエ級数f(t)について、
$f(t+T)=f(t)$を満たす。これは、基底がtについて周期Tの関数であるからである。したがって、フーリエ級数変換では、有限の周期を持つ定義域が有限でない関数の表記も可能である。なお、不連続点がある場合の議論はここでは避け、以下で行う。

不連続点を持つ場合

上記で定めたルールによりフーリエ係数を求めたフーリエ級数展開は、不連続点を含む関数においてはどこまで展開しても、不連続点周辺において厳密には一致しない。このような現象をギッブス現象と呼ぶ。そのような点の周りではツノのようなものが生える。

例 以下で定める方形波の場合


展開すると$f(t)=\sum_k\dfrac{1}{2k-1}{\rm sin}t$となるが、kを125項まで展開したのが以下である。



出典:ギブズ現象 - Wikipedia



有限区間の場合(基底を複素数表示へ)

sin、cosが入っていたものを複素数を使うことにより、よりすっきりとした表示にすることを目指す。なお、この作業により、実数全体で定義された周期性のない関数への拡張の準備もできる。

オイラーの公式より$e^{inw_0t}={\rm cos}nw_0t+i{\rm sin}nw_0t$を利用して、sin、cosを複素数を用いて表すと、${\rm cos}nw_0t=\dfrac{e^{inw_0t}+e^{-inw_0t}}{2}$、${\rm sin}nw_0t=\dfrac{e^{inw_0t}-e^{-inw_0t}}{2}$である。ここから、a,bをsin,cosを用いないで表すことを試みる。表記を簡単にするため、
$$c_n=\dfrac{1}{T}\int_{\frac{T}
{2}}^{\frac{T}{2}}f(t)e^{-inw_0t}dt$$
とおく。

すると、$n>0$において、$a_n=c_{-n}+c_n$、$b_n=-i(c_{-n}-c_n)$、$a_0=c_0$とわかる。

以上から$f(t)=a_0+\sum_n (a_n {\rm cos} w_0t +b_n {\rm sin} w_0t)=c_0+\sum_{n=1}^{\infty}(c_{-n}e^{-inw_0t}+c_{n}e^{inw_0t})=\sum_{n=-\infty}^{\infty}c_ne^{inw_0t}$となる。結局、有限区間[-T/2,T/2]で定義された関数f(t)の複素フーリエ級数は、
$$
f(t)=\sum_{n=-\infty}^{\infty}c_ne^{inw_0t}
$$
である。
この時、$e^{inw_0t}$は区間[-T/2,T/2]で定義される内積を考えると確かに直交基底と言える。

無限区間の場合

有限区間のものとの対応が以下のようになる。

複素フーリエ係数$c_n=\dfrac{1}{T}\int_{\frac{T}
{2}}^{\frac{T}{2}}f(t)e^{-inw_0t}dt$に相当するものが、フーリエ変換
$$
F(w)=\int_{-\infty}^{\infty}f(t)e^{-iwt}dt
$$

複素フーリエ級数$f(t)=\sum_{n=-\infty}^{\infty}c_ne^{inw_0t}$に相当するのが逆フーリエ変換
$$
f(t)=\dfrac{1}{2\pi}\int_{-\infty}^{\infty}F(w)e^{iwt}dw
$$

ここで注目したいのは、離散的な波長nw_0について足し合わせていたのが、
連続的な波長wの積分に置き換わったことである。
したがって、今まではスペクトルは、横軸を波長、縦軸を強度とした時まばらな棒グラフになったが、今回は曲線になる。

係数に相当する部分の導出

連続的なスペクトルに分解したい時の目標は以下におけるG(w)が存在すればどのような値になるかである。存在しない時は以下のラプラス変換を参照のこと。
$$
f(t)=\int_{-\infty}^{\infty}G(w)e^{iwt}dw
$$

この時も先ほどa,bで係数を求めたのと同じように、関数が直交していることを利用する。すなわち、$f(t)$に$e^{-iw't}$をかけて、$-\infty$から$\infty$までtで積分する。

$$
\begin{array}{lll}
&\int_{-\infty}^{\infty}f(t)e^{-iw't}dt\\
=&\int_{-\infty}^{\infty}\{\int_{-\infty}^{\infty}G(w)e^{iwt}dw\}e^{-iw't}dt\\
=&\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}G(w)e^{iwt}e^{-iw't}dwdt\\
=&\int_{-\infty}^{\infty}G(w)\int_{-\infty}^{\infty}e^{i(w-w')t}dtdw\\
=&2\pi\int_{-\infty}^{\infty}G(w)\delta(w-w')dw\\
=&2\pi G(w')
\end{array}
$$
これよりG(w)がもとまる。文献によるが、ここでは関数f(t)のフーリエ変換$F(w)$は$F(w)=2\pi G(w)$ とする。

ラプラス変換

無限区間でF(w)が存在した場合はフーリエ変換ができることが確認された。このF(w)の存在条件は、関数f(t)が絶対可積分であること、つまり、$\int_{-\infty}^{\infty}|f(t)|dt$が収束することである。なお、この時、$f(\pm\infty)=0$が成立している。

しかし、簡単である関数なのにフーリエ変換できない関数がある。例えば、0以上で1、0未満で0である関数f(t)はF(w)を求められない。

このような物でも分析するためのアイデアとして、以下のg(t)を元のf(t)にかけてからフーリエ変換を行う手法がある。cは適当な正の実数。
$$
g(t) =
\begin{cases}
e^{-ct}, & t \ge 0 \\
0, & t < 0
\end{cases}
$$
ここで$t<0$で0としたのは、f(t)において通常t=0でスイッチを入れるなどして、それ以降に興味があるためであるからである。また、$t\ge 0$において$e^{-ct}$としたのは、tが無限大になるにつれ、0に早く収束するためである。
g(t)をかけてフーリエ変換した時、
$$
\begin{array}{lll}
&\int_{-\infty}^{\infty}f(t)e^{-iwt}g(t)dt\\
=&\int_{-\infty}^{0}f(t)e^{-iwt}0dt+\int_{0}^{\infty}f(t)e^{-iwt}e^{-ct}dt\\
=&\int_{0}^{\infty}f(t)e^{-(c+iw)t}dt\\
=&\int_{0}^{\infty}f(t)e^{-st}dt \quad (s=c+iw)\\
=&F(s)
\end{array}
$$
すなわち

$$
F(s)=\int_{0}^{\infty}f(t)e^{-st}dt
$$
(ただしsは複素数)

と表され、これをf(t)の片側ラプラス変換という。理工学の分野ではラプラス変換は片側プラス変換を表すことが多い。

また、上のラプラス変換において、f(t)を原関数、t関数、表関数と呼び、それに対応してf(t)のラプラス変換F(s)を像関数、s関数、裏関数と呼ぶ。

ラプラス変換

フーリへ変換においては波長wに注目したF(w)から、逆フーリエ変換でwを積分することによりf(t)に戻った。ラプラス変換においてはwではなく、sに注目してF(s)を求めた。そのため、逆ラプラス変換でf(t)を求める際は積分をwではなくsについて実行したい。
この時、$f(t)g(t)$のフーリエ変換を$G(w)(=F(s))$とすると、逆フーリエ変換では、$f(t)g(t)=\dfrac{1}{2\pi}\int_{-\infty}^{\infty}G(w)e^{iwt}dw$となるが、$t\ge 0$で考えると
$f(t)e^{-ct}=\dfrac{1}{2\pi}\int_{-\infty}^{\infty}G(w)e^{iwt}dw$となる。両辺に$e^{ct}$をかけて、wでなくsの積分にするため、置換することで、
$$
f(t)=\dfrac{1}{2\pi i}\int_{c-i\infty}^{c+i\infty}F(s)e^{st}dw
\quad (t\geq 0)
$$
以上が逆ラプラス変換である。

ラプラス変換をささっと行うために

ラプラス変換の計算は一般に大変であるので、ラプラス変換の性質を把握した上で代表的な関数f(t)について予め計算しておこう。
ここで、関数fのラプラス変換をL(f,s)と置くことにする。

ラプラス変換の性質
  • $L(cf,s)=cL(f,s)\quad L(f\pm g,s)=L(f,s)\pm L(g,s)$ (線形性)
  • $f(t)\neq g(t) \Rightarrow L(f,s)\neq L(g,s)$ (ラプラス変換は 1:1対応)
  • $L(f'(t),s)=sF(s)-f(0)$ (ラプラス変換すると微分を掛け算と引き算で計算できる)
    • 証明は部分積分によりf(t)の積分にすることでできる。
    • ただし、前提として、$f(t)e^{-st}\to 0$ (f(t)に比べ、$e^{ct}$が十分大きい)。
  • より一般には$L(f^{(n)}(t),s)=s^nF(s)-\sum_{j=1}^{n}s^{n-j}f^{(j-1)}(0)$
  • $L(e^{-at}f(t),s)=L(f(t),s+a)=F(s+a)$(ラプラス変換の推移率)
    • 証明は簡単
  • f(t)が時間軸上で$t_0$だけ移動した関数$f(t-t_0)$について、以下で定めるユニット関数u(t)を用いると次の性質がある。(ラプラス変換の推移率)
    • $L(f(t-t_0)u(t-t_0),s)=e^{-st_0}L(f(t),s)=e^{-st_0}F(s)$
      • 証明は置換積分で行う。

$$
u(t) =
\begin{cases}
1, & t \ge 0 \\
0, & t < 0
\end{cases}
$$

  • $a>0$に対し、$L(f(at),s)=\dfrac{1}{a}F(\dfrac{s}{a})$(ラプラス変換の相似性)
    • 証明は置換積分で行う。
代表的なラプラス変換
f(t) F(s) 証明方法例($s=c+wi$における適当な値cの制限)
1(ユニット関数) $\dfrac{1}{s}$ ($c>0$)
$t^n$ $\dfrac{n!}{s^{n+1}}$ 部分積分と漸化式(c>0)
$\delta(t)$ 1 $\int_{-\infty}^{\infty}g(t)\delta (t)dt=g(0)$を利用
$e^{at}$ $\dfrac{1}{s-a}$ $(Re(s-a)>0)$
cos$wt$ $\dfrac{s}{s^2+w^2}$ cosを複素数で表す($c>0$)
sin$wt$ $\dfrac{w}{s^2+w^2}$ sinを複素数で表す($c>0$)

参考文献