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

はじめに

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

フーリエ級数

周期2Lの区分的に滑らかな周期関数\(g(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 \\ 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(x)\)について、フーリエ変換は次の式で表される。
$$ F(\omega) = \int_{-\infty}^{\infty} f(x)e^{-i\omega x}dx $$
フーリエ逆変換は次の式で表される。
$$ f(x) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega)e^{-i\omega x}d\omega $$
ただし、以上に限りなく他の表現もある。

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

離散フーリエ変換は次の式で表される。
$$ F_n = \frac{1}{N} \sum_{k=n}^{N-1}f_k e^{-i \frac{2n\pi}{N}k} f_k = f(k\frac{2L}{N}) $$
離散フーリエ逆変換は次の式で表される。
$$ \sum_{k=n}^{N-1} F_n e^{i \frac{2n\pi}{N}k}=f_k $$

ラプラス変換・逆変換

フーリエ変換の複素数\(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) \)の実際は複素数である。

最後に

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

参考書籍

「フーリエ変換」 佐藤敏明先生=著 ナツメ社=出版

0

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

オイラー角~ジンバルロック~クォータニオン

オイラー角

オイラー角とは、三次元ユークリッド空間中の2つの直交座標系(デカルト座標系 )の関係を表現する方法の一つである。ロボット、ドローンの姿勢(ポーズ、向き)を直観に表現するには、オイラー角を用いることがある。オイラー角は3つの角度の組に、3座標軸まわりの回転順序(計12通りもある)で表されるので、オイラー角の変数は4つである。ロボットが姿勢Aから姿勢Bへ変わる際に、例えばx軸-y軸-z軸の順にx-y-z系オイラー角 \( (\alpha,\beta,\gamma) \) で回転することで姿勢の転換を表すことが可能である。姿勢B座標 = 回転行列・姿勢A座標より、姿勢A座標から回転後の姿勢B座標が求められる。姿勢A座標、姿勢B座標が分かれば、回転行列からオイラー角が求められる場合ある。積 \( R_{z}( \gamma ) R_{y}( \beta )R_{x}( \alpha ) \) は、x-y-z系で表したときのオイラー角が \( (\alpha,\beta,\gamma) \) であるような回転を表す回転行列\( R(\alpha,\beta,\gamma) \)である。

また、回転軸がワールド座標軸ローカル座標軸により、オイラー角が以下の2種類ほどある。
・ワールド座標系の3つの軸を中心とした回転、座標軸は静止しているので、静的オイラー角と呼ばれる。
・ローカル座標系の3つの軸を中心とした回転で、回転中に座標軸がロボットとともに回転するため、動的オイラー角と呼ばれる。

ロボットやドローンが移動の際、ワールド座標系を参照できないと、姿勢の転換を表す動的オイラー角を使うしかない場合がある。

ジンバルロック現象、他の問題点

オイラー角の問題点として、動的オイラー角を使用すると、オイラー角そのものの定義より、ジンバルロック現象を起こしてしまう場合がある。但し、静的オイラー角にはジンバルロック現象が起きない。オイラー角の2番目の回転角度が±π/2であれば、1番目と3番目の回転が同じ回転軸になることで、1自由度が失われて、また回転行列より、\( \alpha,\gamma \)の解は無限にあることをジンバルロック現象と呼ばれる。また他にジンバルロック現象を起こさないオイラー角\( (\alpha,\beta,\gamma) \)に対して、\( (\alpha+π,π−\beta,\gamma+π) \)の回転で同じ姿勢になる問題点もある。

よって、以下の条件付きであれば、ジンバルロック現象が除けて、オイラー角でロボットの姿勢を表すのが一意になる。言い換えれば、回転行列がオイラー角と一対一に対応することになる。

・ \( \beta ∈ (-π/2, π/2), \alpha,\gamma ∈ [-π, π] \)

しかし、オイラー角\( (\alpha,\beta,\gamma) \)を制限するのは無理の場合、オイラー角からクォータニオン・四元数の登場となる。

また、オイラー角の2番目の回転軸が1番目の回転軸 x 3番目の回転軸の外積の方向にある。つまり、2番目の回転軸が1番目と3番目の回転軸と直交する。1番目と3番目の回転軸の外積が0になるのが、ジンバルロック現象が発生する場合である。

クォータニオン、四元数

姿勢の表現には、オイラー角の3回転よりも、単純に回転軸と回転軸まわりの1回転で済む場合、クォータニオンが用いられる。クォータニオンの変数の個数がオイラー角と同様に4つであり、クォータニオンを見るだけでは姿勢転換のイメージが難しい。回転行列からオイラー角を求めるのと、逆に回転順とオイラー角から回転行列を求めるのが面倒だが、クォータニオンで回転を表現するとさっぱりとなる。

例えば以下のように、ベクトルxで表すロボットの姿勢Aを原点を通る単位ベクトルu回転軸として、右ねじが進む方向に角θだけ回転させて、ベクトルx’で表すロボットの姿勢Bになると、以下に優雅なる表現がある。$$ x’=q x \bar{q} \\ q=cos \frac{θ}{2} + u sin \frac{θ}{2} \\ \bar{q}=cos \frac{θ}{2} – u sin \frac{θ}{2} $$
但し、\( u=iu_1+ju_2+ku_3 \)

また、回転 \(q_1\)に引き続き、回転 \(q_2\)を行う場合、次のように書くと良い、
$$ x’=(q_{2}q_{1})x(\bar{q_{1}}\bar{q_{2}}) $$

参考文献

・wiki: オイラー角
・wiki: 四元数

関連記事

SLAM~拡張カルマンフィルタ
SLAM~Unscentedカルマンフィルタ
粒子フィルタ
6軸IMU~拡張カルマンフィルタ
研究開発用 台車型ロボット キット

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

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