観測方程式

これまで、私たちは予測値について扱ってきました。つまり、次の2つのカルマンフィルタの予測式を導出しました。

  • 状態方程式
  • 共分散遷移式

これからは、現在の値について扱います。まずは、観測方程式から始めます。

"1次元カルマンフィルタ"では、観測値を \( z_{n} \) で表記しました。

観測値は真の状態に、観測器によるランダムな観測雑音 \( v_{n} \) を加えたもので表されます。

観測雑音の分散 \( r_{n} \) は、各観測に対して一定と考えれることができます。例えば、0.5kg(標準偏差)の精度を持つはかりなどです。一方、観測雑音の分散 \( r_{n} \) は、観測ごとに異なる場合があります。例えば、0.5%(標準偏差)の精度を持つ温度計などです。後者の場合、雑音の分散は観測する温度に依存します。

一般的な、行列表記の観測方程式は次のように表されます。

\[ \boldsymbol{z_{n} = Hx_{n} + v_{n}} \]
ここで、
\( \boldsymbol{z_{n}} \) :観測ベクトル
\( \boldsymbol{x_{n}} \) :真のシステムの状態(観測不可)
\( \boldsymbol{v_{n}} \) :ランダム雑音ベクトル
\( \boldsymbol{H} \) 観測行列

観測行列 \( \boldsymbol{H} \)

多くの場合、観測値値は目的のシステム状態量ではありません。例えば、デジタル体温計は電流を観測していますが、システムの状態量は温度です。システムの状態(入力)から観測値(出力)への変換が必要となります。

観測行列 \( \boldsymbol{H} \) の目的は、線形変換を使用してシステムの状態量を出力に変換することです。次の章では、観測行列の使用例を紹介します。

スケーリング

距離計は、目的地に向かって信号を送り、反射したエコーを受信します。観測値は、信号の送信と受信の間の遅延時間です。システムの状態量は距離です。

この場合、スケーリングを行う必要があります。

\[ \boldsymbol{z_{n}} = \left[ \begin{matrix} \frac{2}{c}\\ \end{matrix} \right] \boldsymbol{x_{n}} + \boldsymbol{v_{n}} \]

\[ \boldsymbol{H} = \left[ \begin{matrix} \frac{2}{c}\\ \end{matrix} \right] \]

ここで、

\( c \):光速

また、

\( \boldsymbol{x_{n}} \):距離

\( \boldsymbol{z_{n}} \):観測された遅延時間

状態量の選択

ある状態量が観測可能で、他の状態量が観測不可能な場合があります。例えば、5次元の状態ベクトルの第1、第3、第5の状態量は観測可能ですが、第2、第4の状態量は観測不可能な場合です。

\[ \boldsymbol{z_{n} = Hx_{n} + v_{n}} = \left[ \begin{matrix} 1 & 0 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 1\\ \end{matrix} \right] \left[ \begin{matrix} {x}_{1}\\ {x}_{2}\\ {x}_{3}\\ {x}_{4}\\ {x}_{5}\\ \end{matrix} \right] + \boldsymbol{v_{n}} = \left[ \begin{matrix} {x}_{1}\\ {x}_{3}\\ {x}_{5}\\ \end{matrix} \right] + \boldsymbol{v_{n}} \]

状態量の重ね合わせ

時には、個別の状態量ではなく、いくつかの状態量の重ね合わせが観測されることがあります。例えば、三角形の辺の長さが状態量で、全周囲だけが観測できるのかもしれません。

\[ \boldsymbol{z_{n} = Hx_{n} + v_{n}} = \left[ \begin{matrix} 1 & 1 & 1 \\ \end{matrix} \right] \left[ \begin{matrix} {x}_{1}\\ {x}_{2}\\ {x}_{3}\\ \end{matrix} \right] + \boldsymbol{v_{n}} = ({x}_{1} + {x}_{2} + {x}_{3}) + \boldsymbol{v_{n}} \]

観測方程式の次元

以下の表に、観測方程式の変数の次元をまとめます。

変数 説明 次元
\( \boldsymbol{x} \) 状態ベクトル \( n_{x} \times 1 \)
\( \boldsymbol{z} \) 観測ベクトル \( n_{z} \times 1 \)
\( \boldsymbol{H} \) 観測行列 \( n_{z} \times n_{x} \)
\( \boldsymbol{v} \) 観測雑音ベクトル \( n_{z} \times 1 \)