計測入門/フーリエ変換

(606d) 更新


計測入門

目次:

フーリエ級数展開

周期 $T$ の任意の周期関数を 周期 $T/n$ の正弦波の重ね合わせで表す

$-T/2\le t\le T/2$ の範囲で定義された関数 $f(t)$ が $f(-T/2)=f(T/2)$ なる「周期境界条件」を満たすとき、 $f(t)$ を

$$\varphi_n(t)=\frac 1{\sqrt{T}}e^{i2n\pi t/T}$$

で展開して表したい。

$$ f(t)=\sum_{n=-\infty}^\infty F_n\varphi_n(t) $$

ただし、$n=\dots,-2,-1,0,1,2,\dots$ は任意の整数である。

正規直交性

上記の $\{\varphi_n(t)\}$ は次の著しい性質を持っている。

$$ \begin{aligned} \int_{-T/2}^{T/2}\varphi_n^*(t)\varphi_m(t)\,dt &=\frac{1}{\,T\,}\int_{-T/2}^{T/2}e^{i2\pi(m-n)t/T}\,dt\\ &=\begin{cases} \frac{1}{\,T\,}\int_{-T/2}^{T/2}\,dt&(n=m)\\ \frac{1}{i2\pi(m-n)}[e^{i\pi(m-n)}-e^{-i\pi(m-n)}]&(n\ne m) \end{cases}\\ &=\begin{cases} \frac{1}{\,T\,}T&(n=m)\\ \frac{1}{i2\pi(m-n)}[-1-(-1)]&(n\ne m) \end{cases}\\ &=\begin{cases} 1&(n=m)\\ 0&(n\ne m) \end{cases}\\ &=\delta_{nm} \end{aligned} $$

ここで、$\delta_{nm}$ はクロネッカーのデルタと呼ばれ、

$$ \delta_{nm}=\begin{cases} \ 1\hspace{5mm}&(n=m)\\ \ 0&(n\ne m) \end{cases} $$

のように定義される。

つまり、上記の積分は $n=m$ のときに $1$ で、$n\ne m$ のときに $0$ なる。

そこで、$\{\varphi_n(t)\}$ は正規直交系をなす、と言う。

この意味は次項のフーリエ変換の説明の後で線形代数の話と絡めてもうちょっと詳しく書く。

係数を求めるには $e^{-i2\pi n t/T}$ を掛けて積分すればよい

上記の性質を使うと、

$$ \begin{aligned} \int_{-T/2}^{T/2}\varphi_n^*(t)f(t)\,dt &=\sum_{m=-\infty}^\infty F_m\int_{-T/2}^{T/2}\varphi_n^*(t)\varphi_m(t)\,dt\\ &=\sum_{m=-\infty}^\infty F_m\delta_{nm}\\ &=F_n\\ \end{aligned} $$

のように、$f(t)$ に左から $\varphi_m^*(t)$ を掛けて1周期にわたって積分することで係数 $F_n$ を求められることが分かる。

具体的な式で書けば、

$$ f(t)=\sum_{n=-\infty}^\infty F_n\frac 1{\sqrt{T}}e^{i2n\pi t/T} $$

の $e^{i2n\pi t/T}$ の係数 $F_n$ を求めるには、その複素共役である $e^{-i2n\pi t/T}$ を掛けて積分すればよいということになる。

$$ F_n=\int_{-T/2}^{T/2}\frac 1{\sqrt T}e^{-i2\pi n t/T}f(t)\,dt $$

完全性

上記の議論は、もしも

$$ f(t)=\sum_{n=-\infty}^\infty F_n\varphi_n(t) $$

のように展開できると「仮定したなら」、その係数 $F_n$ は

$$ F_n=\int_{-T/2}^{T/2}\varphi_n^*(t)f(t)\,dt $$

を満たさなければならない、と言っているにすぎないのであるが、

実際には、我々の思い浮かべるほぼすべての周期関数を上記の形で展開できるため、 このフーリエ級数展開は幅広い応用を持つ。

このことを指して、(「我々の思い浮かべるほぼすべての周期関数」が作る関数空間において) 「$\{\varphi_n(t)\}$ は完全である(完備である)」と言う。

ここで「我々の思い浮かべるほぼどんな周期関数」が含む範囲はかなり広くて、 微分可能な関数はもちろんのこと、三角波のような微分不可能も、 さらには不連続点を含む矩形波のような関数も、この範囲に含まれる。 さらにはデルタ関数と呼ばれる、無限大に発散して値の定まらない点を持つような 関数までこの範囲に含まれることになる。

このあたりは次のフーリエ変換でもう少し詳しく説明する。

フーリエ変換

周期を持たない信号を正弦波の重ね合わせで表す

フーリエ級数展開では $t\in[-T/2, T/2]$ で定義された $f(-T/2)=f(T/2)$ を満たす周期関数 $f(t)$ を指数関数 $e^{i2n\pi t/T}$ の重ね合わせで

$$ f(t)=\sum_{n=-\infty}^\infty F_n\frac 1{\sqrt{T}}e^{i2n\pi t/T} $$

のように表すとき、係数を

$$ F_n=\int_{-T/2}^{T/2}\frac 1{\sqrt T}e^{-i2\pi n t/T}f(t)\,dt $$

として求められることを見た。

本項では周期を持たない関数 $f(t)$ を指数関数の重ね合わせで表したい。

周期が無限大だと思えばいい

フーリエ級数展開における周期を $T\to \infty$ とすれば $(-\infty, \infty)$ で定義された関数に話を拡張できる。

ただしこのとき $\Delta\omega=2\pi/T\to 0$ となるから、 角振動数は $n$ で数えられるような離散値ではなく、 連続値を取ることになり、総和を取るにはシグマ $\sum$ ではなく積分 $\int d\omega$ を使うことになる。

結論を先に書けば、$(-\infty, \infty)$ で定義された、我々が考えるようなほぼどんな関数 $f(t)$ についても、$f(t)$ は

$$ f(t) = \frac{1}{\sqrt 2}\int_{-\infty}^\infty F(\omega)e^{i\omega t} d\omega $$

のように指数関数 $e^{i\omega t}$ で展開することができ、その展開係数 $F(\omega)$ は、

$$ F(\omega)=\frac{1}{\sqrt 2}\int_{-T/2}^{T/2}e^{-i\omega t}f(t)\,dt $$

として求められる。

$f(t)$ から $F(\omega)$ を求める計算をフーリエ変換と呼び、
$F(\omega)$ から $f(t)$ を合成する計算を逆フーリエ変換と呼ぶ。

この「変換」という言葉が曲者で、$f(t)$ を $F(\omega)$ にして・・・ と考えていると、信号処理の観点からするとあまり理解が進まないかもしれない。

ちゃんと指数関数(正弦波)の和として表す際の係数を求めるものだと思えるようになっていてほしい。

(線形代数的には $f(t)$ から $F(\omega)$ への変換は基底変換に対応するので、 変換という呼び名にはちゃんとそれなりの意味はあるのだけれど)

導出する

フーリエ級数展開において $\exp(i2\pi n t/T)=\exp(i\omega x)$ と書けば、$\omega=n\cdot 2\pi/T$ であるから、 角周波数は $\Delta \omega=2\pi/T$ の整数倍に離散化している。

$T\to\infty$ とした場合には $\Delta \omega\to 0$ となるから $\omega$ は連続値を取れるようになる。

$$ \begin{aligned} f(t) &=\sum_{n=-\infty}^\infty \frac{F_n}{\sqrt{T\,}}e^{i2\pi nt/T}\\ &=\frac{1}{\sqrt{2\pi}}\sum_{n=-\infty}^\infty \Big(\sqrt{\frac{T}{2\pi}}F_n\Big)e^{i\omega t}\Delta \omega\\ &=\frac{1}{\sqrt{2\pi}}\int_{-\infty}^\infty F(\omega)e^{i\omega t}d\omega \end{aligned} $$

ただし、$F(\omega)=\sqrt{\frac{T}{2\pi}}F_n$ と置いた。一方、

$$F_n=\frac{1}{\sqrt{T\,}}\int_{-\infty}^\infty e^{-i2\pi nt/T}f(t)dx$$

より、

$$F(\omega)=\frac{1}{\sqrt{2\pi}}\int_{-\infty}^\infty e^{-i\omega t}f(t)dt$$

を得る。

工学分野では $F(\omega)/\sqrt{2\pi}\to F(\omega)$ と書いて

$$ f(t)=\int_{-\infty}^\infty F(\omega)e^{i\omega t}dk $$

$$F(\omega)=\frac{1}{2\pi}\int_{-\infty}^\infty e^{-i\omega t}f(t)dt$$

のように定義することも多い。

フーリエ変換とインピーダンス

インピーダンスが $Z(\omega)$ である回路に電流 $I(t)$ を流す。$I(t)$ のフーリエ変換を $I(\omega)$ とすると、電圧 $V(t)$ のフーリエ変換 $V(\omega)$ との関係は

$$V(\omega)=Z(\omega)I(\omega)$$

となる。これを「$V=RI$ と同じだ」と読めるようになっていてほしい。

$V(t)$ を求めるにはこれを逆フーリエ変換して、

$$ V(t)=\int_{-\infty}^{\infty} \underbrace{Z(\omega)I(\omega)}_{V(\omega)}e^{i\omega t}\,d\omega $$

である。

この表示では複素正弦波の実部を取るような操作は必要なく、ちゃんと実数で $V(t)$ が求まる。

インピーダンスの意味を、複素正弦波による計算と実部を取る操作 $\text{Re}$ とで理解してもよいが、 フーリエ変換を元に理解したほうがより自然かもしれない。

パワースペクトル

フーリエ変換により、ある信号 $f(t)$ を複素正弦波で展開した際の係数、つまりその「振幅」を求められるようになった。

係数 $F(\omega)$ 自体は一般に複素数で、その大きさ $|F(\omega)|$ が、$f(t)$ に含まれる角周波数 $\omega$ の正弦波の振幅を、偏角 $\arg F(\omega)$ がその正弦波の位相を表すことになる。

実は「どの周波数の正弦波がどの程度含まれているか」を考える場合には、 振幅の絶対値 $|F(\omega)|$ そのままではなく、 振幅の絶対値の二乗 $|F(\omega)|^2$ の周波数分布を考える方が自然である。

フーリエ振幅の絶対値の二乗の周波数特性は「パワースペクトル」と呼ばれる。

$$ P(\omega)=|F(\omega)|^2 $$

以下、パワースペクトルの物理的な意味を考える。

実効値

なぜ振幅の二乗を取る必要があるのだろう?

これを理解するためにまず、2つの正弦波の重ね合わせで表される次の波形を考えよう。

$$ \tilde f(t)=\underbrace{Ae^{i\omega_At}}_{\tilde a(t)}+ \underbrace{Be^{i\omega_Bt}}_{\tilde b(t)} $$

ここでは例の「複素数関数で書いているけど本当は実部を取り出したものが本当の信号」というルールを使っている。

だから、実部と取った後の本来の形で書くなら、

$$ f(t)=\underbrace{|A|\cos(\omega_At+\arg A)}_{a(t)}+ \underbrace{|B|\cos(\omega_Bt+\arg B)}_{b(t)} $$

となる。

本項では複素表示 $\tilde f(t)$ を実数表示 $f(t)$ と区別するために上にチルダ ( $\tilde{\ }$ ) を付けることにする。

このような信号の「二乗平均の平方根 (RMS: Root Mean Square)」を信号の「実効値」と呼ぶ。

$f(t)$ の実効値を $f_\text{eff}$ と書けば、

$$ f_\text{eff}^2=\frac 1T\int_0^T \Big(f(t)\Big)^2dt $$

である。

ここでは $T$ は振動周期よりも十分に大きい値であることを想定しているため、 振動する成分は時間平均により消えてしまうことを考慮しつつ変形すると、

$$ \begin{aligned} f_\text{eff}^2 &=\frac 1T\int_0^T \Big[\underbrace{|A|^2\cos^2(\omega_At+\arg A)}_{a(t)^2}+ 2|A||B|\cancel{\cos(\omega_At+\arg A)\cos(\omega_Bt+\arg B)}+ \underbrace{|B|^2\cos^2(\omega_Bt+\arg B)}_{b(t)^2}\Big]dt\\ &=\frac 1T\int_0^T \Big[|A|^2\frac{1+\cancel{\cos(2\omega_At+2\arg A)}}2+ |B|^2\frac{1+\cancel{\cos(2\omega_Bt+2\arg B)}}2\Big]dt\\ &=\frac 1T\int_0^T \Big[|A|^2\frac{1+\cancel{\cos(2\omega_At+2\arg A)}}2+ |B|^2\frac{1+\cancel{\cos(2\omega_Bt+2\arg B)}}2\Big]dt\\ &=\underbrace{|A|^2/2}_{a_\text{eff}^2}+ \underbrace{|B|^2/2}_{b_\text{eff}^2} \end{aligned} $$

を得る。計算の過程を追えば明らかなように、正弦波の実効値は振幅の絶対値の $1/\sqrt 2$ になる。

$$ a_\text{eff}=|A|/\sqrt2 $$

すなわち、異なる周波数の正弦波 $a(t), b(t)$ を加えて作られた

$$f(t)=a(t)+b(t)$$

に対して、

$$ f_\text{eff}^2=a_\text{eff}^2+b_\text{eff}^2 $$

が成り立つことが分かった。

「二乗平均の計算」は線形な操作ではないため、 複素数表示のまま計算して最後に実部をとるような手順を取れないことに注意が必要である。

その代わり、複素数表示では、

$$ \begin{aligned} \frac 1T\int_0^T |\tilde f(t)|^2\,dt &=\frac 1{T}\int_0^T \tilde f^*(t)\tilde f(t)\,dt\\ &=\frac 1{T}\int_0^T (A^*e^{-i\omega_At}+B^*e^{-i\omega_Bt})(Ae^{i\omega_At}+Be^{i\omega_Bt})\,dt\\ &=\frac 1{T}\int_0^T (|A|^2+A^*B\cancel{e^{i(-\omega_A+\omega_B)t}}+AB^*\cancel{e^{i(\omega_A-\omega_B)t}}+|B|^2)\,dt\\ &=|A|^2+|B|^2\\ \end{aligned} $$

すなわち、

$$ \frac 1T\int_0^T |\tilde f(t)|^2\,dt=2f_\text{eff} $$

が成り立つ。

以上のことは2つ以上の正弦波を重ねた場合にも同様に成立し、

$$ \frac 1T\int_0^T |\tilde f(t)|^2\,dt=\int_{-\infty}^\infty|F(\omega)|^2\,d\omega=\int_{-\infty}^\infty P(\omega)\,d\omega $$

(パーシバルの等式) および、

$$ f_\text{eff}^2=\frac12\int_{-\infty}^\infty P(\omega)\,d\omega $$

が得られる。

$$ f_\text{eff}^2=\frac12\int_{-\infty}^{\omega_1} P(\omega)\,d\omega+ \underbrace{\frac12\int_{\omega_1}^{\omega_2} P(\omega)\,d\omega}_\text{$[\omega_1,\omega_2]$ の成分の寄与}+ \frac12\int_{\omega_2}^\infty P(\omega)\,d\omega $$

のように積分範囲を区切ってやれば分かるように、

パワースペクトル $P(\omega)=|F(\omega)|^2$ は、その特定の範囲を積分することにより、 信号の平均二乗振幅 $f_\text{eff}^2$ に対する特定の周波数範囲の成分の寄与を得ることができる。

つまりパワースペクトルは「周波数に対する密度関数」としての意味を持つことが分かる。

これに対し、振幅の絶対値 $|F(\omega)|$ は周波数で積分しても物理的な意味を持たない。

この辺りの事情が、パワースペクトル $P(\omega)=|F(\omega)|^2$ を重視する理由になっている。

フーリエ振幅の単位

例えば $f(t)$ が電圧で、$\text{V}$ の単位を持つ場合、当然 $f_\text{eff}^2$ は単位 $\text{V}^2$ を持つ。

パワースペクトル $P(\omega)=|f(\omega)|^2$ はその周波数密度であるから単位は $\text{V}^2/\text{Hz}$ となる。

ではフーリエ振幅 $f(\omega)$ 自体に付ける単位は・・・と考えると、 二乗して $\text{V}^2/\text{Hz}$ なのだから $\text{V}/\sqrt\text{Hz}$ が正解!

え?

いやこれ、本当にこれで合っているのだ。

周波数密度としての意味を持つのは「フーリエ振幅の二乗」である、 ということをしっかり理解しておいてほしい。

パワースペクトルの逆フーリエ変換は自己相関波形になる

実数関数 $f(t)$ と $g(t)$ の相互相関関数は、

$$ R_{fg}(\tau)=\int_{-\infty}^\infty f(t)\,g(t-\tau)\,dt $$

と定義される。

これに対して、実数関数 $f(t)$ の自己相関関数(オートコリレーション)とは、 $f(t)$ と $f(t)$ との相互相関関数のことで、

$$ R_{ff}(\tau)=\int_{-\infty}^\infty f(t)\,f(t-\tau)\,dt=\int_{-\infty}^\infty f(t+\tau)\,f(t)\,dt $$

と定義される。

これをフーリエ変換してみると、

$$ \begin{aligned} \frac1{2\pi}\int_{-\infty}^\infty R_{ff}(\tau)\,e^{-i\omega\tau}d\tau &=\frac1{2\pi}\int_{-\infty}^\infty \int_{-\infty}^\infty f(t+\tau)\,f(t)\,e^{-i\omega\tau}\,dt\,d\tau\\ &=\frac1{2\pi}\int_{-\infty}^\infty \int_{-\infty}^\infty f(t+\tau)\,e^{-i\omega\tau}\,d\tau\,f(t)\,dt\\ &=\frac1{2\pi}\int_{-\infty}^\infty \int_{-\infty}^\infty f(t+\tau)\,e^{-i\omega(t+\tau)}\,d\tau\,f(t)e^{i\omega t}\,dt\\ &=\int_{-\infty}^\infty F(\omega)\,f(t)e^{i\omega t}\,dt\\ &=F(\omega)\Big[\int_{-\infty}^\infty \,f(t)e^{-i\omega t}\,dt\Big]^*\\ &=2\pi F(\omega)F(\omega)^*\\ &=2\pi |F(\omega)|^2\\ &=2\pi P(\omega)\\ \end{aligned} $$

のようにパワースペクトルが現れる。

逆に、パワースペクトルをフーリエ変換することで自己相関波形が得られることになる。

回折を使った結晶構造解析など、フーリエ空間において位相情報は得られず、 振幅情報のみが得られる測定結果から逆フーリエ変換によって自己相関関数を求め、 自己相関を取る前の、元の関数形状 $f$ について議論するようなことがしばしば行われる。


Counter: 2804 (from 2010/06/03), today: 4, yesterday: 2