$\RM{GPS(Global\,Positioning\,System)}$ に代表される衛星測位システムは日常生活に必要不可欠なシステムと言えます。
$\RM{GPS}$ 衛星はアメリカが運用していますが、これらの衛星測位システムを補完する目的で、日本では「みちびき」という準天頂衛星を独自に運用しています。
今回は、衛星測位システムによる現在地の測位原理について説明します。
まずは、衛星測位システムの測位原理について説明します。
GPSの測位原理
始めに、$\RM{GPS(Global\,Positioning\,System)}$ に代表される衛星測位システムの、測位方法の原理について説明します。
さて、$\RM{GPS}$ 衛星には原子時計と呼ばれる非常に正確な時計が搭載されていて、地上に原子時計の時刻や自身の軌道要素などの情報を含んだ電波を送信しています。
この電波を地上の受信機が受け取る際、受信機の時刻 $t$ と衛星が信号を発した時刻 $t_i$ から、地上の受信機と $\RM{GPS}$ 衛星との距離が求められます。すなわち、衛星までの距離 $R_i$ は、時間差に光速 $c$ を掛けることで以下のように得られます。
\begin{split}
R_i=c(t-t_i)
\end{split}
ポイントとなるのは、送信される情報に原子時計の時刻に加えて、衛星自身の軌道要素が含まれていることです。こちらで以前説明しましたが、軌道要素と時刻の情報があると衛星の位置と速度が求められます。(→軌道要素からの位置と速度の推算)
これらの情報が揃うことで、衛星 $S_i$ の位置座標 $S_i(x_i,y_i,z_i)$ を既知とできます。ゆえに、受信機が置かれた座標 $P(x,y,z)$ と衛星間の距離 $R_i$ を以下のような関係で結べます。
\begin{eqnarray}
R_i=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}\tag{1}
\end{eqnarray}
以上より、
\begin{eqnarray}
c(t-t_i)=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}
\end{eqnarray}
という関係式が得られます。
今知りたい受信機 $P$ の座標は三変数から成るため、$P$ の座標を確定させるためには、最低でも三本の方程式が必要となります。
これは、三機の衛星からの電波を受信する必要があることを意味し、各衛星の座標を $S_1(x_1,y_1,z_1),$ $S_1(x_2,y_2,z_2),$ $S_1(x_3,y_3,z_3)$ として以下の連立方程式を解けば良いことが言えます。
$$
\left\{
\begin{split}
&c(t-t_1)=\sqrt{(x-x_1)^2+(y-y_1)^2+(z-z_1)^2}\EE
&c(t-t_2)=\sqrt{(x-x_2)^2+(y-y_2)^2+(z-z_2)^2}\EE
&c(t-t_3)=\sqrt{(x-x_3)^2+(y-y_3)^2+(z-z_3)^2}\EE
\end{split}
\right.
$$
ただし、理論上は三機の衛星からの電波が受信できれば、$P$ の座標を特定できるのですが、現実には上手くいきません。これは、受信機に内蔵された時計の精度が原子時計と比べて、それほど高くないことに原因があります。
例えば、受信機の時計が原子時計よりも $1\,\RM{\mu s}$ 不正確であったとき、位置の精度は光速と時刻の誤差の積で現れてくるため、約 $300\,\RM{m}$ の誤差が生じることになります。
このように、現実には受信機の時刻 $t$ は変数と見なせるので、受信機の座標決定に必要な変数の数が $4$ つに増えてしまうのです。そのため、実用上は受信機(受信者)の座標を決定するためには、四機からの $\RM{GPS}$ 衛星の信号が必要となります。したがって、
$$
\left\{
\begin{split}
&c(t-t_1)=\sqrt{(x-x_1)^2+(y-y_1)^2+(z-z_1)^2}\EE
&c(t-t_2)=\sqrt{(x-x_2)^2+(y-y_2)^2+(z-z_2)^2}\EE
&c(t-t_3)=\sqrt{(x-x_3)^2+(y-y_3)^2+(z-z_3)^2}\EE
&c(t-t_4)=\sqrt{(x-x_4)^2+(y-y_4)^2+(z-z_4)^2}\EE
\end{split}
\right.
$$
が受信者の位置を決定するために解くべき連立方程式となります。
受信者の座標の推算方法
上の結果を利用して、受信者の位置を決定する具体的な方法について考えていきます。
まず、受信機の時計が $\RM{GPS}$ 衛星の原子時計並みに高精度であれば、式$(1)$ が厳密に成立して受信機と衛星間の真の距離 $R_i$ を、
\begin{eqnarray}
R_i=c(t-t_i)=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}
\end{eqnarray}
とできますが、実際には受信機の時計と原子時計との間には無視できない誤差があります。そのため、誤差を $\D t$ として、不正確な距離 $R_i’$ が以下のようになります。
\begin{eqnarray}
R_i’&=&c\big\{(t+\D t)-t_i\big\}\EE
&=&\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}+c\D t\tag{2}
\end{eqnarray}
上式のように、具体的な値が不明な $\D t$ が混入するので、三機の衛星だけでは受信者の正確な座標が求められません。この誤差を補正するため、計四つの衛星からの信号を受信する必要があります。
このように、解くべき四つの連立方程式は導けましたが、問題はこれらが非線形方程式であることです。非線形方程式を真正面から解いて行くのは困難なため、数値計算を用いた反復解法により解く方法が採られます。
その準備として上式を線形方程式に変形する必要があります。まず、真の距離 $R_i$ と不正確な距離 $R_i’$ との誤差を $\D R_i$ とします。すると、以下のように近似できることが言えます。
\begin{eqnarray}
\D R_i&&=R_i’-R_i\EE
&&\NEQ \ff{\del R_i}{\del x}\D x+\ff{\del R_i}{\del y}\D y+\ff{\del R_i}{\del z}\D z+c\D t\tag{3}
\end{eqnarray}
なお、偏微分の各項は以下のようにできます。
$$
\left\{
\begin{split}
&\ff{\del R_i}{\del x}=\A_i=\ff{-(x_i-x)}{\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}} \EE
&\ff{\del R_i}{\del y}=\beta_i=\ff{-(y_i-y)}{\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}} \EE
&\ff{\del R_i}{\del z}=\gamma_i=\ff{-(z_i-z)}{\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}}
\end{split}
\right.
$$
ところで、受信機の推定座標を $P(x,y,z)$ とします。さて、衛星数が四つの場合を考え、上式を式$(3)$に適用すると
$$
\left\{
\begin{split}
&\D R_1=\A_1\D x+\beta_1\D y+\gamma_1\D z+c\D t \EE
&\D R_2=\A_2\D x+\beta_2\D y+\gamma_2\D z+c\D t \EE
&\D R_3=\A_3\D x+\beta_3\D y+\gamma_3\D z+c\D t \EE
&\D R_4=\A_4\D x+\beta_4\D y+\gamma_4\D z+c\D t
\end{split}
\right.
$$
が得られます。これを行列として、
$$
R=
\begin{pmatrix}
\D R_1 \\
\D R_2 \\
\D R_3 \\
\D R_4
\end{pmatrix},
A=
\begin{pmatrix}
\A_1 & \beta_1 & \gamma_1 & c \\
\A_2 & \beta_2 & \gamma_2 & c \\
\A_3 & \beta_3 & \gamma_3 & c \\
\A_4 & \beta_4 & \gamma_4 & c
\end{pmatrix},
X=
\begin{pmatrix}
\D x \\
\D y \\
\D z \\
\D t
\end{pmatrix}
$$
と置くと、
\begin{split}
R=AX
\end{split}
すっきりした形に整理できました。$X$ については、$A$ の逆行列 $A^{-1}$ を用いて
\begin{eqnarray}
X=A^{-1}R\tag{4}
\end{eqnarray}
ときることに注目して、数値計算の手順が組み立てられます。
すなわち、受信機の真の座標 $P(x_p,y_p,z_p)$ を求める際には、以下のような手順で計算を行っていきます。