フーリエ変換~ラプラス変換~Z変換

はじめに

理工学科で活躍してきたフーリエ級数、フーリエ変換・逆変換、ラプラス変換・逆変換、Z変換・逆変換が、プリズムをかけて太陽光のスペクトルを表現させるように、関数の(広義的)周波数特性を解析するとき必ず登場するといえる。フーリエ変換、ラプラス変換、Z変換の計算式および(広義的)周波数領域におけるイメージ表現の例を以下のように示す。

フーリエ級数

周期2Lの区分的に滑らかな周期関数\(f(t)\)は、不連続点を除いて、$$ f(t) = \frac{1}{2}a_0 + \sum_{n=1}^{\infty} (a_n cos\frac{n\pi}{L}t + b_n sin\frac{n\pi}{L}t) $$ で表される。また実フーリエ級数、フーリエ級数の三角関数表現ともいう。
ただし、$$ a_0 = \frac{1}{L} \int_{-L}^L f(t)dt ,\space a_n = \frac{1}{L} \int_{-L}^L f(t)cos\frac{n\pi}{L}tdt , \\ b_n = \frac{1}{L} \int_{-L}^L f(t)sin\frac{n\pi}{L}tdt $$

また複素フーリエ級数がフーリエ級数の複素表現ともいう。
$$ f(t) = \sum_{n=1}^{\infty} C_n e^{\frac{in\pi t}{L}} ……①$$ ただし、\(C_n=\frac{2}{L}\int_{-L}^L f(t)e^{-\frac{in\pi t}{L}}dt ……②\)

周期関数\(f(t)\)が偶関数のとき、フーリエ余弦級数となる。
$$ f(t) = \frac{1}{2}a_0 + \sum_{n=1}^{\infty} a_n cos\frac{n\pi}{L}t $$ ただし、\( a_0 = \frac{2}{L} \int_{0}^L f(t)dt ,\space a_n = \frac{2}{L} \int_{0}^L f(t)cos\frac{n\pi}{L}tdt \)

周期関数\(f(t)\)が奇関数のとき、フーリエ正弦級数となる。
$$ f(t) = \sum_{n=1}^{\infty} b_n sin\frac{n\pi}{L}t $$ただし、\( b_n = \frac{2}{L} \int_{0}^L f(t)sin\frac{n\pi}{L}tdt \)

フーリエ変換・逆変換

\(f(x)\)が非周期関数のとき、周期2L→無限大にすると、フーリエ級数がフーリエ変換(FT: Fourier Transform)・逆変換(IFT: Inverse Fourier Transform)に拡張される。区分的に滑らかで絶対可積分な関数\(f(x)\)について、式②よりフーリエ変換は次の式で表される。
$$ F(\omega) = \int_{-\infty}^{\infty} f(x)e^{-i\omega x}dx $$
式①よりフーリエ逆変換は次の式で表される。これで\(F(\omega)\)を元の関数\(f(x)\)に戻す。
$$ f(x) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega)e^{i\omega x}d\omega $$
f(x)が偶関数のとき、フーリエ余弦変換フーリエ余弦逆変換となる。
$$ F(\omega) = 2\int_{0}^{\infty} f(x)cos\omega xdx \\ f(x) = \frac{1}{2\pi}\int_{-\infty}^{\infty} F(\omega)cos\omega xd\omega $$
f(x)が奇関数のとき、フーリエ正弦変換フーリエ正弦逆変換となる。
$$ F(\omega) = -2i\int_{0}^{\infty} f(x)sin\omega xdx \\ f(x) = \frac{i}{2\pi}\int_{-\infty}^{\infty} F(\omega)sin\omega xd\omega $$

離散フーリエ変換・逆変換

アナログ信号からサンプリングしたデジタル信号から、フーリエ変換・逆変換は離散フーリエ変換・逆変換と変身する。離散フーリエ変換(DFT: Discrete Fourier Transform)は次の式で表される。
$$ F_n = \frac{1}{N} \sum_{k=0}^{N-1}f_k e^{-i \frac{2n\pi}{N}k} , \space (n=0,1,2,3,…N-1)$$
離散フーリエ逆変換(IDFT: Inverse Discrete Fourier Transform)は次の式で表される。
$$ f_k = \sum_{k=0}^{N-1} F_n e^{i \frac{2n\pi}{N}k} , \space (k=0,1,2,3,…N-1)$$
これで以上の式をフーリエ行列に変換して、ある周波数帯域のスペクトル、ある周波数成分の調べたり、ある周波数成分のフィルタリングしたりフーリエ変換が活用される。

フーリエ行列\(M_N\)の複素共役行列による離散フーリエ変換の表現は次の式で表される。$$ F_N = \frac{1}{N}\bar{M}_Nf_N $$
フーリエ行列\(M_N\)による離散フーリエ逆変換の表現は次の式で表される。$$ f_N = M_NF_N $$
またフーリエ行列から周波数成分を解く離散フーリエ変換を高速に実行できるのは高速フーリエ変換(FFT: Fast Fourier Transform)である。FFTで計算すると、離散フーリエ変換での\(\small N(2N-1)\)回の計算が、約\( \small \frac{N}{2}(3log_{2}N-1) \)回の計算まで縮まる。\(\small N=2^{10}=1024 \)ならば、2,096,128回の計算が、約14,848回まで減少する。

ラプラス変換・逆変換

フーリエ変換の複素数\(i \omega \)から\(s=\sigma+i\omega \)に拡張して、殆どの\(f(t)\)が絶対可積分となって、ラプラス変換は次の式で表される。
$$ F(s) = \int_{-\infty}^{\infty} f(t) e^{-st} dt $$
ラプラス逆変換は次の式で表される。
$$ f(t) = \frac{1}{2\pi i} \int_{\sigma – i\infty}^{\sigma + i\infty} F(s) e^{st} ds $$

Z変換・逆Z変換

ラプラス変換の\(f(t)\)をサンプリングした離散信号を\( x(n), z = e^{\sigma + i\omega T} \)とおくと、Z変換は次の式で表される。
$$ X(z) = \sum_{n=-\infty}^{\infty} x(n) z^{-n} $$
逆Z変換は次の式で表される。
$$ x(k) = \frac{1}{2\pi i} \oint_{c} X(z) z^{k-1} dz $$

(広義的)周波数領域のイメージ表現例

Laplace-Fourier-tranform
ラプラス変換、フーリエ変換のイメージ表現例

Z-tranform
Z変換のイメージ表現例

ただし、\( F(s)、F(z) \)の実際は複素数である。

最後に

共にフランス科学者のフーリエ先生(徒)、ラプラス先生(師)は実の師弟関係だ。減衰振動等微分方程式と代数方程式の橋渡し役、即ち微分方程式の解き方としてのラプラス変換・逆変換が公開されたに対して、波動方程式、熱伝導方程式の解き方として、また完全正規直交関数系である\( \left\{ \frac{1}{\sqrt{2 \pi}},\frac{cos nx}{\sqrt{\pi}},\frac{sin nx}{\sqrt{\pi}} \right\}(n=1,2,3…) \)、つまり実数、正弦関数、余弦関数を組み合わたフーリエ級数から無限次元ベクトル空間が構成可能で、更に条件付き関数を時間領域\(f(t)\)または距離領域\(f(x)\)から周波数領域\( F(\omega)\)の表現に転換可能なフーリエ変換が物事/世界の新たな一面を切り拓いた。もしフーリエ先生の貢献がなかったら、離散フーリエ変換に基づいたアナログ~デジタルのサンプリング定理等の現代通信理論が成り立たないとは過言ではない。

★Jean Baptiste Joseph Fourier、Baron de、1768年3月21日~1830年5月16日、フランスの数学者・物理学者
★Pierre-Simon Laplace、1749年3月23日~1827年3月5日、フランスの数学者、物理学者、天文学者

参考書籍

「フーリエ変換」、佐藤敏明氏、ナツメ社

0

ロボット・ドローン部品お探しなら、ロボット翔をご利用下さい

ポアソン分布~賢い在庫管理、宝くじまで

ポアソン分布

世の中で、ある事象が一定の頻度(確率)で、ある期間中にいつでも起きる可能性があり、ただし正確な発生時刻が知ることができない。例えば、自動車が交差点を通過、赤ちゃんが病院で生まれ、スーパーで商品が販売され、機械が故障との事象がある。機械は月に1回故障、スーパーは1日に牛乳50本を販売、病院に1時間に3人の赤ちゃんが誕生、15分の間に40台の車が交差点を通過したという具体的事象に対して、特定の期間における独立した事象の発生数の確率分布を求めるには、以下のポアソン分布が使用可能である。
$$P[X(t)=k]=\frac{(λt)^k e^{-λt}}{k!}$$
ただし、tは連続時間の長さ、λは単位時間に事象発生の期待値、eは自然対数の底(ネイピア数)。事象が期間t内に発生数がkの確率を計算する。ポアソン分布の期待値、分散ともλである。

在庫管理、ナンバーズ予測への応用例

【在庫管理の使用例】某ECサイトでは、1日に平均でPCを2台販売している。在庫切れの確率を5%以下に抑えたいので、どれだけの量の在庫が必要なのか。
1日にPCを0台販売の確率:
$$P[X(1)=0]=\frac{(2*1)^0 e^{-2*1}}{0!}=e^{-2}$$
1日にPCを1台販売の確率:
$$P[X(1)=1]=\frac{(2*1)^1 e^{-2*1}}{1!}=2e^{-2}$$
1日にPCを2台販売の確率:
$$P[X(1)=2]=\frac{(2*1)^2 e^{-2*1}}{2!}=2e^{-2}$$
1日にPCを3台販売の確率:
$$P[X(1)=3]=\frac{(2*1)^3 e^{-2*1}}{3!}=\frac{4}{3}e^{-2}$$
1日にPCを4台販売の確率:
$$P[X(1)=4]=\frac{(2*1)^4 e^{-2*1}}{4!}=\frac{2}{3}e^{-2}$$
1日にPCを5台販売の確率:
$$P[X(1)=5]=\frac{(2*1)^5 e^{-2*1}}{5!}=\frac{4}{15}e^{-2}$$
なので、1日にPCを3台以上販売の確率:
$$ P[X(1)>2]=1-\sum_{i=0}^{i=2}P[X(1)=i]\\\scriptsize=1-e^{-2}-2e^{-2}-2e^{-2}=0.3233$$
1日にPCを4台以上販売の確率:
$$P[X(1)>3]=1-\sum_{i=0}^{i=3}P[X(1)=i]\\\scriptsize=1-e^{-2}-2e^{-2}-2e^{-2}-\frac{4}{3}e^{-2}=0.1429$$
1日にPCを5台以上販売の確率:
$$P[X(1)>4]=1-\sum_{i=0}^{i=4}P[X(1)=i]\\\scriptsize=1-e^{-2}-2e^{-2}-2e^{-2}-\frac{4}{3}e^{-2}-\frac{2}{3}e^{-2}=0.0527$$
1日にPCを6台以上販売の確率:
$$P[X(1)>5]=1-\sum_{i=0}^{i=5}P[X(1)=i]\\\scriptsize=1-e^{-2}-2e^{-2}-2e^{-2}-\frac{4}{3}e^{-2}-\frac{2}{3}e^{-2}-\frac{4}{15}e^{-2}=0.0166$$
つまり、1日にPCを6台以上販売の確率が1.66%なので、PC 5台以上(最低5台)の在庫が確保できれば、在庫切れの確率を5%以下に抑えられる。

【ナンバーズ予測の使用例】
0~9の数字の出た回数を1000回分もしくは2000回分で平均して、λにしておく。最近の9回、0~9の出た回数+今度も出る(+1)確率を、大きさが大から小の順で並べて、確率が大きい数字が予測の結果とする。注意!:あくまで確率論からの予測(可能性)なので、ポアソン分布から宝くじが当たる意味ではない。

【発明者が残した言葉】
「私がランダム現象を記述する1つの確率分布を確立した」 by フランス数学者・物理学者ポアソン。

0

ロボット・ドローン部品お探しなら、ロボット翔をご利用下さい

粒子フィルタ

はじめに

ガウス分布に従う時系列確率変数の非線形関数は必ずしもガウス分布にならない、また非ガウス分布の確率変数が存在するから、優雅なるカルマンフィルタファミリーには限界あり、無理な場合がある。非線形、非ガウス時系列空間モデルに対して、1990年代から未知の状態密度関数p(x)に対して、既知の密度関数q(x)、p(x)⊂q(x) から逐次モンテカルロ法(逐次重要性サンプリングSequential Importance Samplingに、リサンプリングResampling)による粒子フィルタ(パーティクル・フィルタ、PF)が提案されて以来、研究・応用が活発になっている。粒子フィルタがROSのSLAM Gmappingアルゴリズムに組まれている。

粒子フィルタ

状態空間モデル

・システムモデル(状態方程式)
$$x_t = f_t(x_{t-1},v_t)$$

・観測モデル(観測方程式)
$$y_t = h_t(x_t,w_t)$$

ただし、\( v_t、w_t\)はフィルタリングをかける事前に既知で、非ガウス分布可能、\( y_t\)は2項分布またポアソン分布に従うcount dataのモデル化なども可能になる。また、粒子フィルタには、\( v_t、w_t\)はガウス分布でも構わない。
以下に粒子\( x_t^{[i]} \)~\( f_t (x_t^{[i]} | x_{t−1}^{[i]}, v_t) \)として、粒子フィルタリングの手順を示す。

粒子フィルタリングの手順

1、初期化\( (t=0) \)
初期分布\( f_t (x_0^{[i]}, v_0) \)に従って、n個の粒子\( \{x^{[i]}_0 | i = 1,2, ⋯ ,n\} \)を無作為に発生させる。

2、一期先予測\( (t=t+1) \)
粒子\( x_t^{[i]} \)を\( f_t (x_t^{[i]} | x_{t−1}^{[i]}, v_t) \)に従って状態推移させ、それぞれの類似値が\(x_t^{[i]}\)である粒子の集合\( \{\hat{x}^{[i]}_t | i = 1,2, ⋯ ,n\} \)を発生させる。

3、フィルタリング
・重み計算
粒子\( \hat{x}_t^{[i]} \) の重み\( w_t^{[i]} = p(y_k | \hat{x}_k^{[i]}) \)を計算する。
ただし、\( p(y_k | \hat{x}_k^{[i]}) \)は、尤度であり、観測値または類似値ではないことに注意する。

・重みの正規化
$$\hat{w}_t^{[i]} = \frac{w_t^{[i]}}{ \sum_{i=1}^n w_t^{[i]} }$$

・リサンプリング
粒子\( \hat{x}^{[i]}_0 \)を\(\hat{w}_t^{[i]}\)に従った確率でリサンプリングし、粒子集合\( \{x^{[i]}_t | i = 1,2, ⋯ ,n\} \)を発生させる。

・2に戻る

参考文献

粒子フィルタ、著者:樋口知之 先生

0

ロボット・ドローン部品お探しなら、ロボット翔をご利用下さい