数学
CG

CGのためのフーリエ解析入門 フーリエ級数編

はじめに

フーリエ解析というのは基本的に波を解析する手法です.世の中には様々な波があるわけですが,CGでは特に関係のあるものに光があります.光は電磁波であり波の一種です.光はいろんな波が含まれていて,それを単純な波がどれくらい含まれているか解析するのがフーリエ解析です.そのような作業をスペクトル分析といいます.例えば太陽光をスペクトル分光すると7色の光に分解できます.この分光が自然で起きている現象が虹です.また,プリズムを使えば人為的に分光することができます.

ここではフーリエ解析の入門ということで,フーリエ級数,フーリエ変換について2回に分けて解説しようと思います.フーリエ解析では高校で学んだ三角関数,複素数,ベクトル,微積分をすべて使うことになります.三角関数と微積分については詳しく解説しませんので,途中でわからなくなった場合は復習するようにしてください.ベクトルについてはCGのための線形代数 ベクトル編という記事を書いていますのでそちらを参照してみてください.複素数については最低限の説明をします.

フーリエ級数

数列

例えば,$1,2,3,4,\ldots$のように,ある規則によって並べられた数の列を数列といいます.一般に数列 $a_1, a_2, a_3, \ldots, a_n, \ldots$ を

    \{a_n\}

と書きます.この数列の和

    a_0 + a_1 + \cdots + a_n + \cdots

級数といい

    \sum_{n=0}^{\infty}a_n

と表すことができます.

級数展開

$x$を任意の数,数列を${a_n}$としたとき,次のような級数を作ることができます.

    \sum_{n=0}^{\infty}a_n x^n

これをべき級数といいます.ある関数$f(x)$を次のようなべき級数

    f(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + \cdots

に展開することをべき級数展開といいます.関数をこのように単純な多項式に変形することができると,例えば,微分・積分が項ごとに行えて計算がしやすくなります.ところで,この式に$x=0$を代入すると

    f(0) = a_0

となって最初の定数項が求まります.次に $f(x)$を$x$で微分すると

    f'(x) = a_1 + 2a_2 x + 3a_3 x^2 + \cdots

となります.これに$x=0$を代入すると

    f'(0) = a_1

となって,$a_1$が求まります.同じように微分したものをまた微分して$x=0$を代入すると,それ以降の係数が求まります.例えば

\begin{align*}
    f''(x) &= 2a_2 + (3\cdot 2)a_3 x + (4\cdot 3)a_4 x^2 + \cdots \\
    f'''(x) &= (3\cdot 2)a_3 + (4\cdot 3\cdot 2)a_4 x + (5\cdot 4\cdot 3)a_5 x^2 + \cdots
\end{align*}

これらに$x=0$を代入して計算すると$a_2$ と $a_3$ は

\begin{align*}
    a_2 &= \frac{1}{1\cdot 2}f''(0) \\
    a_3 &= \frac{1}{1\cdot 2\cdot 3}f'''(0)
\end{align*}

となります.また,$a_n$は

    a_n = \frac{1}{n!} f^{(n)}(0)

と求められます.よって,$f(x)$の展開式は

    f(x) = f(0) + f'(0)x + \frac{1}{2!}f''(0)x^2 + \frac{1}{3!}f'''(0)x^3 + \cdots + \frac{1}{n!}f^{(n)}(0)x^n+\cdots

となります.これを一般式にすると

    f(x) = \sum_{n=0}^{\infty} \frac{1}{n!} f^{(n)}(0) x^n

となります.このように$x=0$で展開することをマクローリン展開といい,また,$x$に任意の値$a$を代入して

    f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x-a)^n

と展開することをテイラー展開といいます.ついでに補足しておくと,$f''(x)$は$f'(x)$を$x$で微分したもので,これを$f(x)$の第2次導関数といいます.また,$f(x)$を$x$で$n$回微分したものを

    f^{(n)}(x)

と書きます。また,2次以上の導関数のことを高階導関数といいます.

それでは,例として,$f(x) = 2x^4 + x^3 + 2x^2 + 3x + 4$を級数展開してみます.
まず $f(x)$ に$x=0$を代入して計算すると

    f(0) = 4

となります.$f(x)$を微分していくと

\begin{align*}
    f'(x) &= 8x^3 + 3x^2 + 4x + 3 \\
    f''(x) &= 24x^2 +6x + 4 \\
    f'''(x) &= 48x + 6 \\
    f^{(4)}(x) &= 48 \\
    &\vdots \\
    f^{(n)}(0) &= 0
\end{align*}

となって,これらに$x=0$を代入すると

    f'(0) = 3 \qquad f''(0) = 4 \qquad f'''(0) = 6 \qquad f^{(4)}(0) = 48

と与えられます.よって $f(x)$は

    f(x) = 4 + 3x + \frac{1}{2!}4x^2 + \frac{1}{3!}6x^3 + \frac{1}{4!}48x^4 + 0 + \cdots

となります.これを展開すると

    f(x) = 2x^4 + x^3 + 2x^2 + 3x + 4

となって,もとの関数が得られます.
続いて,$(1+x)^n$を級数展開してみます.まずは,微分してみると

\begin{align*}
    f(x) &= (1+x)^n \\
    f'(x) &= n(1+x)^{n-1} \\
    f''(x) &= n(n-1)(1+x)^{n-2} \\
    f'''(x) &= n(n-1)(n-2)(1+x)^{n-3} \\
    f^{(4)}(x) &= n(n-1)(n-2)(n-3)(1+x)^{n-4} \\
    &\vdots \\
    f^{(n)}(x) &= n! (1+x)^{n-n} = n!
\end{align*}

となって,それぞれに$x=0$を代入すると

\begin{align*}
    f(0) &= 1 \\
    f'(0) &= n \\
    f''(0) &= n(n-1) \\
    f'''(0) &= n(n-1)(n-2) \\
    f^{(4)}(0) &= n(n-1)(n-2)(n-3) \\
    &\vdots \\
    f^{(n)}(0) &= n!
\end{align*}

となります.$(n+1)$次以上の項の係数はすべて$0$になります.これを

    f(x) = f(0) + f'(0)x + \frac{1}{2!}f''(0)x^2 + \frac{1}{3!}f'''(0)x^3 + \cdots + \frac{1}{n!}f^{(n)}(0)x^n+\cdots

に代入すると

    f(x) = 1 + nx + \frac{1}{2!}n(n-1)x^2 + \frac{1}{3!}n(n-1)(n-2)x^3 + \cdots + x^n

となります.一般式で表すと

    f(x) = (1+x)^n = \sum_{k=0}^{n} \frac{n!}{k!(n-k)!} x^k

が得られます.これは2項定理の関係であり,次のように表すこともできます.

    f(x) = (1+x)^n = {}_nC_0 + {}_nC_1 x + {}_nC_2 x^2 + \cdots + {}_nC_n x^n

指数関数の級数展開

級数展開について説明したので,いくつかの関数の級数展開を見ていきます.まずは指数関数です.級数展開では,微分を繰り返し行う必要があります.微分が簡単な計算で求まる場合は,級数展開も簡単に行うことができます.そのような関数として指数関数が挙げられます.指数関数$e^x$では,微分しても変わらない性質をもっています.

    \frac{df(x)}{dx} = \frac{de^x}{dx} = e^x = f(x)

また,指数関数を2階微分すると

    \frac{d^2 f(x)}{dx^2} = \frac{d}{dx}\left(\frac{df(x)}{dx}\right) = \frac{de^x}{dx} = e^x

となります.つまり指数関数の$n$階微分は

    f^{(n)}(x) = e^x

となります.ここで,$x=0$を代入すると

    f^{(n)}(0) = e^0 = 1

となって,すべての係数が$1$になります.よって,$e$の展開式は

    e^x = 1 + x + \frac{1}{2!}x^2 + \frac{1}{3!}x^3 + \frac{1}{4!}x^4 + \cdots + \frac{1}{n!}x^n + \cdots = \sum_{n=0}^{\infty} \frac{x^n}{n!}

となります.ここで,$e$の展開式に$x=1$を代入すると

    e = 1 + 1 + \frac{1}{2} + \frac{1}{6} + \frac{1}{24} + \cdots

となって,これを計算すると

    e = 2.718281828 \ldots

が得られます.

三角関数の級数展開

三角関数の級数展開を考えてみます.最初は$f(x)=\sin x$です.$sin$と$cos$の微分は次のような関係になっています

\begin{gather*}
    f'(x) = \cos x \qquad
    f''(x) = -\sin x \qquad
    f'''(x) = -\cos x \qquad \\
    f^{(4)}(x) = \sin x \qquad
    f^{(5)}(x) = \cos x \qquad
    f^{(6)}(x) = -\sin x \qquad
\end{gather*}

このように$\sin$と$\cos$は4回微分すると元に戻ります.そして

    \sin 0 = 0 \qquad \cos 0 = 1

よって$x=0$を代入すると

\begin{gather*}
    f'(0) = \cos x = 1 \qquad
    f''(0) = -\sin x = 0 \qquad
    f'''(0) = -\cos x = -1 \\
    f^{(4)}(0) = \sin x = 0 \qquad
    f^{(5)}(0) = \cos x = 1 \qquad
    f^{(6)}(0) = -\sin x = 0
\end{gather*}

となります.これを

    f(x) = f(0) + f'(0)x + \frac{1}{2!}f''(0)x^2 + \frac{1}{3!}f'''(0)x^3 + \cdots + \frac{1}{n!}f^{(n)}(0)x^n+\cdots

に代入すると

    f(x) = \sin x = 0 + 1x + \frac{1}{2!}\cdot 0 x^2 + \frac{1}{3!}\cdot (-1)x^3 + \frac{1}{4!}\cdot 0x^4 + \frac{1}{5!}\cdot 1x^5 + \cdots

となって

    \sin x = x - \frac{1}{3!}x^3 + \frac{1}{5!}x^5 - \frac{1}{7!}x^7 + \cdots + (-1)^n \frac{1}{(2n+1)!} x^{2n+1} + \cdots

と展開できます.
次に$\cos x$も級数展開してみます.まずは微分すると

\begin{gather*}
    f'(x) = -\sin x \qquad
    f''(x) = -\cos x \qquad
    f'''(x) = \sin x \qquad \\
    f^{(4)}(x) = \cos x \qquad
    f^{(5)}(x) = -\sin x \qquad
    f^{(6)}(x) = -\cos x \qquad
\end{gather*}

となって,展開式は

    \cos x = 1 - \frac{1}{2!}x^2 + \frac{1}{4!}x^4 - \frac{1}{6!}x^6 + \cdots + (-1)^n \frac{1}{(2n)!} x^{2n} + \cdots

となります.

ここまで指数関数,三角関数の級数展開(マクローリン展開)を見てきました.この展開した式は近似式として使用することができます.それぞれ3次までグラフにしたものを図で表しています.

fig001.png

$n$の値が増えていくと,もとの関数に近似していくのがわかります.

オイラーの公式

これまで級数展開してきた指数関数,三角関数(正弦・余弦)の展開式を並べてみましょう.

\begin{align*}
    e^x &= 1 + x + \frac{1}{2!}x^2 + \frac{1}{3!}x^3 + \frac{1}{4!}x^4 + \frac{1}{5!}x^5 + \cdots + \frac{1}{n!}x^n + \cdots \\
    \sin x &= x - \frac{1}{3!}x^3 + \frac{1}{5!}x^5 - \frac{1}{7!}x^7 + \cdots + (-1)^n \frac{1}{(2n+1)!} x^{2n+1} + \cdots \\
    \cos x &= 1 - \frac{1}{2!}x^2 + \frac{1}{4!}x^4 - \frac{1}{6!}x^6 + \cdots + (-1)^n \frac{1}{(2n)!} x^{2n} + \cdots
\end{align*}

なんとなく$e^x$の各項が$\sin x$と$\cos x$の各項に対応しているように見えます.$\sin x$と$\cos x$を足し合わせると

\begin{align*}
    \sin x + \cos x &= 1 + x - \frac{1}{2!}x^2 - \frac{1}{3!}x^3 + \frac{1}{4!}x^4 + \frac{1}{5!}x^5 + \cdots \\
    &\quad + (-1)^n\frac{1}{(2n)!}x^{2n} + (-1)^n\frac{1}{(2n+1)!}x^{2n+1} + \cdots
\end{align*}

となって$e^x$に大分似ている形になっています.ただし,符号の部分が異なっていることがわかります.ここで虚数を使います.虚数は二乗すると$-1$となる数で記号$i$で表されます.

    i^2 = -1 \qquad i = \sqrt{-1}

そして,$e^x$に$x=ix$を代入すると

\begin{align*}
    e^{ix} &= 1 + ix + \frac{1}{2!}(ix)^2 + \frac{1}{3!}(ix)^3 + \frac{1}{4!}(ix)^4 + \frac{1}{5!}(ix)^5 + \cdots \\
    &= 1 + ix - \frac{1}{2!}x^2 - \frac{1}{3!}ix^3 + \frac{1}{4!}x^4 + \frac{1}{5!}ix^5 + \cdots
\end{align*}

となります.このうち実数の項と虚数$i$が含まれている項をそれぞれ取り出すと

\begin{align*}
    &1 - \frac{1}{2!}x^2 + \frac{1}{4!}x^4 - \frac{1}{6!}x^6 + \cdots + (-1)^n \frac{1}{2n}x^{2n} + \cdots \\
    &ix - \frac{1}{3!}ix^3 + \frac{1}{5!}ix^5 - \frac{1}{7!}ix^7 + \cdots + (-1)^n \frac{1}{(2n+1)!}ix^{2n+1}+\cdots
\end{align*}

となって,$\sin x$と$\cos x$の展開式と一致します.よって

    e^{ix} = \cos x + i\sin x

という関係がわかります.これをオイラーの公式といいます.ここで,オイラーの公式に$x = \pi$を代入すると

    e^{i\pi} = \cos\pi + i\sin\pi = -1 + i\cdot 0 = -1

となって,値が求まります.このように円周率,虚数,指数関数,三角関数の関係を単純な式で関係づけることができます.

オイラーの公式から次の関係も成り立ちます.

    e^{-ix} = \cos x - i\sin x

ここで,この和と差をとると

\begin{align*}
    e^{ix} + e^{-ix} &= 2\cos x \\
    e^{ix} - e^{-ix} &= 2i\sin x
\end{align*}

となって,$\sin x$と$\cos x$それぞれについて整理すると

\begin{align*}
    \cos x &= \frac{e^{ix}+e^{-ix}}{2} \\
    \sin x &= \frac{e^{ix}-e^{-ix}}{2i}
\end{align*}

が得られます.

次にオイラーの公式を使っていくつか計算してみると

\begin{align*}
    \exp\left(i\frac{\pi}{2}\right) &= \cos\frac{\pi}{2} + i\sin\frac{\pi}{2} = 0 + i\cdot 1 = i \\
    \exp\left(i\frac{2\pi}{2}\right) &= \cos\pi + i\sin\pi = -1 + i\cdot 0 = -1 \\
    \exp\left(i\frac{3\pi}{2}\right) &= \cos\frac{3\pi}{2} + i\sin\frac{3\pi}{2} = 0+i\cdot(-1) = -i \\
    \exp\left(i2\pi\right) &= \cos2\pi + i\sin2\pi = 1 + i\cdot 0 = 1
\end{align*}

が得られます.$\exp(x)$は$e^x$を表します.

複素数

虚数

オイラーの公式のところで虚数という概念が出てきました.虚数は実際には存在しない数です.$+1$を2回かけても$+1$であり,$-1$を2回かけても$+1$です.同じ数を2回かけても実数では負の値にはなりません.しかし,2回かけると$-1$になる値を考え,それを虚数と定義することにしました.少し詳しく見ていきます.ここで次の2次方程式を考えます.

    ax^2 + bx + c = 0

この根は

    x = \frac{-b\pm \sqrt{b^2-4ac}}{2a}

で与えられます.この時,$b^2-4ac$を判別式といい,これが$0$または正であると実数解が得られ,負の値だと実数では解がありません.ところが,虚数を導入すると

    x = \frac{-b}{2a} \pm \frac{\sqrt{-(b^2-4ac)}}{2a} i

となって,解が求められます.これは実数と虚数の和で表されます.このような数を複素数といいます.複素数が実数$a, b$を用いて$a+bi$と表されるとき,$a$を実部または実数部といい,$b$を虚部または虚数部といいます.

幾何学的な意味

複素数は実部と虚部からなる2次元のベクトルと考えることができます.複素数$z=a+bi$を平面上に描いてみると次の図のようになります.

fig002.png

ここで$x$軸は実軸,$y$軸は虚軸となっています.このような$xy$平面を複素平面またはガウス平面といいます.
次に,上の図で示しているように原点から$z$までの距離は

    |z| = \sqrt{a^2+b^2}

となります.これを複素数の絶対値といいます.例えば,$4+2i$の絶対値は$|4+2i|=\sqrt{4^2+2^2}=\sqrt{20}$になります.実際に複素数の絶対値を求める場合,$a^2+b^2$を得るためには$a+bi$に虚部の符号が反転した$a-bi$をかけます.これら複素数を互いに共役であるといいます.$a+bi$の共役な複素数は$a-bi$であり,$a-bi$の共役な複素数は$a+bi$です.共役な複素数は$\overline{z}$または$z*$で表します.複素数$z=a+bi$,その共役な複素数$\overline{z}=a-bi$を使うと

    |z| = \sqrt{z\overline{z}} = \sqrt{(a+bi)(a-bi)} = \sqrt{a^2-b^2i^2} = \sqrt{a^2+b^2}

となります.
さらに,複素平面で原点から$z$までの距離$r$と,$x$軸の正の方向となす角$\theta$を使って複素数を表示することができます.

fig003.png

このような表現方法を極形式といいます.原点からの距離$r$は絶対値なので

    r = |z| = \sqrt{x^2+y^2}

となります.そして,$x$軸,$y$軸,複素数$z$は次の関係にあります.

\begin{align*}
    x &= r\cos\theta \\
    y &= r\sin\theta \\
    z &= r\cos\theta + ir\sin\theta = r(\cos\theta+i\sin\theta)
\end{align*}

また,$x$軸とのなす角$\theta$を偏角といい

    \arg(z)

と書きます.

虚数iは回転

大きさが$1$の複素数を考えます.複素平面で図示すると次のようになります.

fig004.png

$1$は複素平面上だと$x=1$の点になります.これに虚数$i$をかけると

    1\times i = i

となって,$y$軸上の点になります.さらに$i$をかけると

    i\times i = i^2 = -1

となりますから,$x$軸上の点になります.また,$i$をかけると

    -1\times i = -i

そして,もう一度$i$をかけると

    -i\times i = 1

となります.これは図上で確認してみると$i$をかけると反時計回りに$90^\circ$($\frac{\pi}{2}$)回転していることがわかります.また,4回$i$をかけるともとに戻る性質も確認できます.

\begin{align*}
    1& \rightarrow i \rightarrow i^2 \rightarrow i^3 \rightarrow i^4 \\
    1& \rightarrow i \rightarrow -1 \rightarrow -i \rightarrow 1
\end{align*}

オイラーの公式との関係

これまでのところで複素数とオイラーの公式とで気づいたところがなかったでしょうか.まず,極形式の複素数とオイラーの公式を並べてみましょう.

\begin{align*}
    z &= r(\cos\theta+i\sin\theta) \\
    e^{i\theta} &= \cos\theta+i\sin\theta
\end{align*}

極形式のかっこ内がオイラーの公式の右辺であることがわかります.つまり

    z = r(\cos\theta + i\sin\theta) = re^{i\theta}

の関係になっています.また,オイラーの公式の右辺は大きさが$1$の複素数となっています.これを複素平面上に描いてみると下図のようになります.

fig005.png

ここでオイラーの公式のところで計算した式を思い出してみましょう.

\begin{align*}
    \exp\left(i\frac{\pi}{2}\right) &= \cos\frac{\pi}{2} + i\sin\frac{\pi}{2} = 0 + i\cdot 1 = i \\
    \exp\left(i\frac{2\pi}{2}\right) &= \cos\pi + i\sin\pi = -1 + i\cdot 0 = -1 \\
    \exp\left(i\frac{3\pi}{2}\right) &= \cos\frac{3\pi}{2} + i\sin\frac{3\pi}{2} = 0+i\cdot(-1) = -i \\
    \exp\left(i2\pi\right) &= \cos2\pi + i\sin2\pi = 1 + i\cdot 0 = 1
\end{align*}

$\theta$を増やすということは,単位円に沿って回転することになります.例えば,$\theta=0$から$\theta=\frac{\pi}{2}$に変化させることは$1$に$i$をかけたものに相当します.これは

    \exp\left(i\frac{\pi}{2}\right) =
    \exp\left(0+i\frac{\pi}{2}\right) =
    \exp(0)\cdot\exp\left(i\frac{\pi}{2}\right)

と変形することができ

    \exp(0) = 1 \qquad \exp\left(i\frac{\pi}{2}\right) = i

ということから,$1\times i$ということがわかります.つまり,単位円においては角度のたし算が指数関数のかけ算と等価になっています.また,オイラーの公式は$\theta$が増えていくと実部では$\cos$,虚部では$\sin$の波となって,その絶対値は常に$1$という性質を持っています.

フーリエ級数展開

最初の方でべき級数展開を説明しました.べき級数展開では,ある関数$f(x)$を次のようなべき級数に展開することでした.

    f(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + \cdots = \sum_{n=0}^{\infty}a_n x^n

フーリエ級数展開は任意の関数$f(x)$を$\sin kx$と$\cos kx$($k$は整数)で級数展開する手法です.$\sin kx,\cos kx$は下図のように基本振動の$k$倍の振動数に対応していて,長さが$2\pi$のなかにある波の数です.これを波数といいます.

fig006.png

電磁波や音波などの波は調べてみると,普通は複雑な形状をしています.この波を解析すると基本的な波を合成したものであることがわかります.

fig007.png

このように複雑な波を基本的な波に分解するのがフーリエ級数展開です.また,この分解をスペクトル分光ともいい,太陽光をスペクトル分光するのがプリズムです.プリズムを使って太陽光を分解すると7色の可視光に分解できます.

フーリエ級数展開

次のような級数展開を考えます.

\begin{align*}
    f(x) &= a_0 \cos 0x + a_1 \cos 1x + a_2 \cos 2x + a_3 \cos 3x + \cdots + a_n \cos nx + \cdots \\
    &\quad + b_0 \sin 0x + b_1 \sin 1x + b_2 \sin 2x + b_3 \sin 3x + \cdots + b_n \sin nx + \cdots
\end{align*}

$\sin 0 = 0$なので$b_0$の項が消えます.また,$\cos 0 = 1$だから

\begin{align*}
    f(x) &= a_0 + a_1 \cos 1x + a_2 \cos 2x + a_3 \cos 3x + \cdots + a_n \cos nx + \cdots \\
    &\quad + b_1 \sin 1x + b_2 \sin 2x + b_3 \sin 3x + \cdots + b_n \sin nx + \cdots
\end{align*}

となります.これをフーリエ級数といい,$a_n, b_n$のことをフーリエ係数といいます.ここで,$\sin kx, \cos kx$の項は$2\pi$ごとに同じ値になるので,この級数では$f(x)$には$2\pi$を周期とした周期関数でなければなりません.その周期は$0 \leq x \leq 2\pi$ または $-\pi \leq x \leq \pi$ の2種類があります.フーリエ級数は,周期が$2\pi$以外のものや,積分区間が異なる場合などで形が変わります.しかし,式が変化しても本質は変わりません.

対象となる波(関数)をフーリエ級数展開するということは,下図のように$1$や$\sin kx$, $\cos kx$が,波の中にどれくらいの量(係数$a_n,b_n$)が含まれているかを調べることです.

fig008.png

実際に係数$a_n, b_n$を求めていきましょう.べき級数展開では,関数の高階導関数を使って係数を求めました.フーリエ級数展開では三角関数の積分を使って求めます.

三角関数の積分の性質

三角関数の積分には便利な性質を持っています.1つずつ確認していきます.

性質①:sin nx, cos nxの積分

$n$をゼロ以外の整数とすると

    \int_{0}^{2\pi}\sin nxdx = 0 \qquad \int_{0}^{2\pi}\cos nxdx = 0

という性質があります.図で確認するとわかりやすいです.

fig010.png

正の部分の面積と負の部分の面積が等しいため,その和はゼロになります.波数$n$が増えても繰り返すだけなので,結局面積はゼロのままです.また,積分を計算すれば

\begin{align*}
    \int_{0}^{2\pi} \sin nx dx &= \left[\frac{-\cos nx}{n}\right]_0^{2\pi} = -\frac{1}{n}(1-1) = 0 \\
    \int_{0}^{2\pi} \cos nx dx &= \left[\frac{\sin nx}{n}\right]_0^{2\pi} = \frac{1}{n}(0-0) = 0
\end{align*}

となります.

性質②:sin mxにcos nxをかけて積分

$m,n$を任意の整数とすると

    \int_{0}^{2\pi}\sin mx \cos nxdx = 0 \qquad \int_{0}^{2\pi}\cos mx \sin nxdx = 0

という性質があります.これも図で確認してみると

fig009.png

となって,面積がゼロになることがわかります.
この積分を計算するには次の三角関数の公式を使います.

    \sin A \cos B = \frac{1}{2}\left\{\sin(A+B) + \sin(A-B)\right\}

これを使うと,$m \neq n$のとき

    2\int_{0}^{2\pi} \sin mx \cos nx dx = 
    \int_{0}^{2\pi} \sin(m+n)xdx + \int_{0}^{2\pi} \sin(m-n)xdx

となって,性質①

    \int_{0}^{2\pi}\sin nxdx = 0

を使うと,$0$になります.次に$m=n$のときは

    \int_{0}^{2\pi} \sin mx \cos nx dx = 
    \int_{0}^{2\pi} \sin mx \cos mx dx =
    \frac{1}{2} \int_{0}^{2\pi} \sin2mx dx

となり,これもまた性質①から$0$となります.

性質③:sin mxにsin nx,cos mxにcos nxをかけて積分

$\sin mx$に$\sin nx$,$\cos mx$に$\cos nx$をかけて積分する場合,$m \neq n$ならば

    \int_{0}^{2\pi}\sin mx \sin nxdx = 0 \qquad \int_{0}^{2\pi}\cos mx \cos nxdx = 0

という性質があります.これは次の三角関数の公式を使って確かめてみます.

\begin{align*}
    \sin A \sin B &= \frac{1}{2}\left\{\cos(A-B)-\cos(A+B)\right\} \\
    \cos A \cos B &= \frac{1}{2}\left\{\cos(A-B)+\cos(A+B)\right\}
\end{align*}

であるから

\begin{align*}
    \int_{0}^{2\pi} \sin mx \sin nx dx &=
    \frac{1}{2} \int_{0}^{2\pi} \cos(m-n)xdx - 
    \frac{1}{2} \int_{0}^{2\pi} \cos(m+n)xdx \\
    \int_{0}^{2\pi} \cos mx \cos nx dx &=
    \frac{1}{2} \int_{0}^{2\pi} \cos(m-n)xdx + 
    \frac{1}{2} \int_{0}^{2\pi} \cos(m+n)xdx
\end{align*}

これらは性質①から,それぞれ積分の値が$0$になることがわかります.
次に$m=n$のときですが,下図を見てください.

fig011.png

この場合だと,正の部分だけとなり,面積が$0$になりません.では実際に積分してみると

\begin{align*}
    \int_{0}^{2\pi} \sin mx \sin nx dx &= 
    \frac{1}{2}\int_{0}^{2\pi} 1dx - \frac{1}{2}\int_0^{2\pi} \cos 2mx dx = \pi \\
    \int_{0}^{2\pi} \cos mx \cos nx dx &= 
    \frac{1}{2}\int_{0}^{2\pi} 1dx + \frac{1}{2}\int_0^{2\pi} \cos 2mx dx = \pi
\end{align*}

となって,積分の値が$\pi$になりました.

フーリエ係数を求める

ここまででフーリエ係数を求める準備ができました.実際に求めてみましょう.まずは,フーリエ級数展開した関数$f(x)$を$0$から$2\pi$まで積分します.

\begin{align*}
    \int_{0}^{2\pi} f(x)dx &= 
    a_0 \int_{0}^{2\pi}dx + a_1 \int_{0}^{2\pi}\cos xdx + a_2 \int_{0}^{2\pi}\cos 2xdx + cdots \\
    &\quad + b_1 \int_{0}^{2\pi}\sin xdx + b_2 \int_{0}^{2\pi}\sin 2xdx + \cdots
\end{align*}

このとき,性質①によって係数$a_0$以外の積分がすべて$0$となり,結局$a_0$だけ残ります.つまり

    \int_{0}^{2\pi} f(x)dx = a_0 \int_{0}^{2\pi} 1dx
    = a_0 \left[x\right]_0^{2\pi} = 2\pi a_0

となるので,変形すると係数$a_0$は

    a_0 = \frac{1}{2\pi} \int_{0}^{2\pi} f(x)dx

で得られます.これは,この範囲における$f(x)$の平均値になります.

次に,$a_n$を求めます.$f(x)$に$\cos nx$をかけて$0$から$2\pi$まで積分します.

    \int_{0}^{2\pi} f(x) \cos nx dx = \int_{0}^{2\pi} \frac{a_n}{2}dx = a_n \pi

となるので,変形すると係数$a_n$は

    a_n = \frac{1}{\pi} \int_{0}^{2\pi} f(x) \cos nxdx

となります.同様に$b_n$は$f(x)$に$\sin nx$をかけて$0$から$2\pi$まで積分します.

    \int_{0}^{2\pi} f(x) \sin nx dx = \int_{0}^{2\pi} \frac{b_n}{2}dx = b_n \pi

となって

    b_n = \frac{1}{\pi} \int_{0}^{2\pi} f(x) \sin nxdx

で得られます.

フーリエ級数展開の一般式

もう一度,フーリエ級数を書くと

\begin{align*}
    f(x) &= a_0 + a_1 \cos 1x + a_2 \cos 2x + a_3 \cos 3x + \cdots + a_n \cos nx + \cdots \\
    &\quad + b_1 \sin 1x + b_2 \sin 2x + b_3 \sin 3x + \cdots + b_n \sin nx + \cdots
\end{align*}

です.そして,フーリエ係数は

\begin{align*}
    a_0 &= \frac{1}{2\pi} \int_{0}^{2\pi} f(x)dx \\
    a_n &= \frac{1}{\pi} \int_{0}^{2\pi} f(x)\cos nxdx \\
    b_n &= \frac{1}{\pi} \int_{0}^{2\pi} f(x)\sin nxdx
\end{align*}

となります.ここで,$a_0$ は $\cos 0x$ の項に対応するので,$a_n$の一般式で表すには

    a_n = \frac{1}{\pi} \int_{0}^{2\pi} f(x)\cos nxdx

に$n=0$を代入すると

    a_0 = \frac{1}{\pi} \int_{0}^{2\pi} f(x) dx

となって,もとの$a_0$の式と見比べてみると$\frac{1}{2}$だけ係数が異なっています.そこで,$a_0$のときだけ$\frac{a_0}{2}$とすると$a_n$の一般式を適用することができます.まとめると,フーリエ級数は

    f(x) = \frac{a_0}{2} + \sum_{n=1}^{\infty}\left(a_n \cos nx + b_n \sin nx\right)

となり,フーリエ係数は

    a_n = \frac{1}{\pi} \int_{0}^{2\pi} f(x)\cos nxdx \qquad
    b_n = \frac{1}{\pi} \int_{0}^{2\pi} f(x)\sin nxdx

となりました.

それでは,実際に次の関数をフーリエ級数展開してみましょう.

    f(x) = 3\sin 2x + 5\cos 3x

これは$2\pi$を周期とする周期関数です.まず,$a_0$を求めます.

\begin{align*}
    a_0 &= \frac{1}{\pi} \int_{0}^{2\pi} f(x) dx \\
        &= \frac{1}{\pi} \int_{0}^{2\pi} \left(3\sin 2x + 5\cos 3x\right) dx \\
        &= \frac{3}{\pi} \int_{0}^{2\pi} \sin 2xdx + \frac{5}{\pi} \int_{0}^{2\pi} \cos 3xdx \\
        &= 0 + 0 = 0
\end{align*}

$a_0 = 0$となりました.同様に$a_1,b_1$を求めてみると

\begin{align*}
    a_1 &= \frac{1}{\pi} \int_{0}^{2\pi} \left(3\sin 2x + 5\cos 3x\right)\cos x dx \\
        &= \frac{3}{\pi} \int_{0}^{2\pi} \sin 2x\cos x dx + \frac{5}{\pi} \int_{0}^{2\pi} \cos 3x\cos x dx \\
        &= 0 + 0 = 0 \\
    b_1 &= \frac{1}{\pi} \int_{0}^{2\pi} \left(3\sin 2x + 5\cos 3x\right)\sin x dx \\
        &= \frac{3}{\pi} \int_{0}^{2\pi} \sin 2x\sin x dx + \frac{5}{\pi} \int_{0}^{2\pi} \cos 3x\sin x dx \\
        &= 0 + 0 = 0
\end{align*}

これもまた,$a_1 = b_1 = 0$となりました.積分の値が$0$以外の値になるには,関数$f(x)$内の各項にある$\sin nx, \cos nx$の$n$が乗算する係数と同じである必要があります.$f(x)$を見てみると$\sin 2x$と$\cos 3x$なので,$a_3$と$b_2$の場合に積分の値が$0$以外になりそうです.それらを計算してみると

\begin{align*}
    a_3 &= \frac{1}{\pi} \int_{0}^{2\pi} \left(3\sin 2x + 5\cos 3x\right)\cos 3x dx \\
        &= \frac{3}{\pi} \int_{0}^{2\pi} \sin 2x\cos 3x dx + \frac{5}{\pi} \int_{0}^{2\pi} \cos 3x\cos 3x dx \\
        &= \frac{5}{\pi} \int_{0}^{2\pi} \cos 3x\cos 3x dx \\
        &= \frac{5}{\pi} \pi = 5 \\
    b_2 &= \frac{1}{\pi} \int_{0}^{2\pi} \left(3\sin 2x + 5\cos 3x\right)\sin x2 dx \\
        &= \frac{3}{\pi} \int_{0}^{2\pi} \sin 2x\sin 2x dx + \frac{5}{\pi} \int_{0}^{2\pi} \cos 3x\sin 2x dx \\
        &= \frac{3}{\pi} \int_{0}^{2\pi} \sin 2x\sin 2x dx \\
        &= \frac{3}{\pi} \pi = 3
\end{align*}

よって,$f(x)$のフーリエ級数展開は

\begin{align*}
    f(x) &= 0 + 0\cos x + 0\cos 2x + 5\cos 3x + \cdots + 0\cos nx + \cdots \\
    &\quad + 0\sin x + 3\sin 2x + 0\sin 3x + \cdots + 0\sin nx + \cdots \\
    &= 3\sin 2x + 5\cos 3x
\end{align*}

となって,もとの関数になります.

任意周期のフーリエ級数展開

これまで扱ってきたフーリエ級数展開の対象となる関数は$2\pi$の周期をもつ周期関数でなければなりません.そこで,任意の周期をもつ一般の関数に対応してみましょう.いま,ある関数の周期が$2L$とすると,周期$2\pi$の$x$から周期$2L$の$t$に変数変換します.$t$は

    t = \frac{Lx}{\pi} \qquad \therefore x = \frac{\pi t}{L}

となります.$t$を$x$で微分すると

    \frac{dt}{dx} = \frac{L}{\pi} \qquad \therefore dx = \frac{\pi}{L}dt

となります.これをフーリエ級数の一般式に代入すると

\begin{align*}
    a_n &= \frac{1}{\pi} \int_{0}^{2\pi} f(x)\cos nx dx \\
        &= \frac{1}{\pi} \int_{0}^{2L} f(t)\cos \left(\frac{n\pi t}{L}\right) \left(\frac{\pi}{L}\right)dt \\
        &= \frac{1}{\pi} \frac{\pi}{L} \int_{0}^{2L} f(t)\cos \left(\frac{n\pi t}{L}\right) dt \\
        &= \frac{1}{L} \int_{0}^{2L} f(t)\cos \left(\frac{n\pi t}{L}\right) dt
\end{align*}
\begin{align*}
    b_n &= \frac{1}{\pi} \int_{0}^{2\pi} f(x)\sin nx dx \\
        &= \frac{1}{\pi} \int_{0}^{2L} f(t)\sin \left(\frac{n\pi t}{L}\right) \left(\frac{\pi}{L}\right)dt \\
        &= \frac{1}{L} \int_{0}^{2L} f(t)\sin \left(\frac{n\pi t}{L}\right) dt
\end{align*}

よって,周期$2L$に対応したフーリエ級数の一般式は

    f(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty}\left(a_n\cos \frac{n\pi t}{L} + b_n\sin \frac{n\pi t}{L}\right)
\begin{align*}
    a_n &= \frac{1}{L} \int_{0}^{2L} f(t)\cos\frac{n\pi t}{L}dt \\
    b_n &= \frac{1}{L} \int_{0}^{2L} f(t)\sin\frac{n\pi t}{L}dt
\end{align*}

となります.

最後に

今回はフーリエ級数展開に必要な知識と,任意の周期に対応したフーリエ級数の一般式までまとめました.いかがだったでしょうか.本来は関数空間や直交・内積,あと複素数にももっと触れた方がよかったのですが,それは次回ということで.ただ,次回はちょっといつになるか未定です.少しでも誰かの参考になれば幸いです.

参考文献

  • 村上雅人「なるほどフーリエ解析」海鳴社,2002
  • 村上雅人「なるほど複素関数」海鳴社,2002
  • 竹内淳「高校数学でわかるフーリエ変換」講談社,2009
  • 小暮陽三「なっとくするフーリエ変換」講談社,1999
  • 涌井良幸・涌井貞美「道具としてのフーリエ解析」日本実業出版社, 2014
  • S.ラング著,松坂和夫・片山孝次訳「解析入門」岩波出版, 1978