GPSと測位

衛星測位において利用者の受信機の正確な位置を測定するためには4機以上(理論的には安定的に3台)の衛星からの測位信号の受信が必要である。 GPS(Global Positioning System)とは、米国が運用する軍事用の測位システムで、60度おきの6種類の軌道面(PLANE名 A-F)毎に4個が配置され合計24基で全地球をカバーする基本システムとなる(理論的には、視界を遮るものがなければ、地球上で同時に6つの衛星が視認できる)。 くわえて、予備の衛星を投入し約30機程度の測位衛星を有している(2009年現在)。 運用は、米国空軍第50宇宙航空団が行っている。

GPSの粗い精度のデータは民生用として世界中に公開され、日本ではいち早く民生機器としてその可能性を発見し専用の家電製品、カーナビゲーションおよび携帯電話にGPS受信機を搭載し、世界的市場を開拓してきた。 いまやスマートフォンにもGPS種新規が搭載され、地図情報システム(GIS)アプリケーションサービスの充実によって、個人でナビゲーションシステムを享受できる環境にまでなって生活に欠かせない存在になっている。 アメリカのGPSシステムは今でも軍事利用が主たる目的であり、緊張が生み出される軍事的政治的事由が発生すると、GPSデータ精度が落とされることが過去にも何度かあったといわれている。

衛星測位システム(Satellite Navigation Systems)

そこで、各国は自前でGSPシステムを保有する方向に転じている。 極めて高い技術力と衛星打ち上げと運用費用の莫大なコストが要求される衛星測位システムであるが、多くの国々ではそれに値する利用価値があるとしている。 既に完成したGPSシステムを保有しているアメリカやそれを補完して計画を進めようとしている日本以外に、ロシアはГЛОНАСС(GLONASS)として現在24基での運用がなされているとされおりアメリカに次いで高い精度を誇っている。 また、中国は2020年までに30基体制を目指そうとして、現在は北斗として運用を開始している。 欧州版GPSがGalileoで、欧州以外にもイスラエル中国や韓国も参加している。 これは30基での民間的運用を目指しているが、莫大な費用を巡っての今も議論の対象になっている。 また、GPSの軍事・政治的価値は依然きわめて高く、衛星測位技術を有する日本を含む各国がアジア各国に無条件で同品質のデータを提供するかどうかは未定であるが、巨大市場開拓の予測をふくめたアジアへの国際貢献も考えられる。

GPSの民生利用では、特に日本が地図情報とGPSを組み合わせたカーナビゲーションの開発を進めて安価な利用技術としたこと、自動車だけでなく鉄道等の交通、航空、資源開発、農業などの広範な利用が大いに期待できるため、経済産業省は多くの企業を集めた研究会を主導している。 ただし、このGPS体制のためには巨額な費用がかかり、4基態勢にするために約1500億円、7基体制にするには約2300億円という試算がある。 これだけの巨額な税金を投入するためには、防災、新たな産業の育成など国民がその意義を十分に理解する必要がある。 民主党の野田政権時代に将来は7機体制、予算確保という報道がなされた(朝日2011年11月26日)。

とくに、日本のように高層ビルが立ち並ぶ都市部や山間地では空が広く見えないため、低仰角の衛星からの信号を受信するのが難しく、理論的な3衛星では可視衛星数が3機以下となって測位が不可能となる場合がある。 できれば4基以上の測位衛星が必要だ。 つまり、日本でGPS衛星と互換な衛星を10機近くを打ち上げると、24時間にわたり可視衛星が +1台追加され、きわめて正確な測位(1m以内)が安定的に実現できる 日本版測位衛星として、宇宙航空研究開発機構JAXAが2010年9月に打ち上げた準天頂衛星「みちびき」の実験が成功した(冗長系の原子時計に以上が発生しているが)。 これはGPS衛星を組み合わせて補完・補強し、日本全域で高い精度の測位を24時間提供するためのシステムだ。 ルビジウム原子時計を使用した測位信号を生成し、JAXAは精度について2.6メートル以内としていた目標を上回る1~1.5メートルと、実用に必要な精度を得たと発表している。 また、東日本大震災でも明らかになったように超高精度での測地は地震予知や防災に活用できるとの期待もあり、あと数基打ち上げる計画がある。 実際、「みちびき」1基で日本上空をカバーできるのは8時間でしかない。 正確な測位には理論的には同時に3機(できれば4機)以上の衛星データが必要で、日本の天頂付近に常に1機以上見えるようにするためには最低3機(できれば4機)の準天頂衛星が必要だ。

GPSの測位方法

理論的には地球を周回する(三基以上の)複数の衛星からの電波を受信することで、GPS受信機の位置を計算することができる。 GPS受信機という局所慣性系にとっては(Einsteinの特殊相対性理論の出発点となった事実であるのだが),光(電磁波)の速度$c$は等速運動をしている自らの速度方向にはよらずに一定である(Michelson-Morleyの実験 1887年)であることを用いる。 厳密には、さらにEinsteinの一般相対性理論による効果(衛星は地球周回しており、加速度が生じている。また、地球および太陽による兄弟な重力を受けている事実)も考慮した精密な測位法によっては驚異的精度を出すことができる(誤差cm程度といわれている)。

Intersection of Sphers reslts a Circle GPS衛星とGPS受信機(以下、デバイスという)は本来、相対論的固有時を持っているのだが以下の議論では簡便に考えることにしよう。 両者の時計が正確に合っているとしたとき、GSP衛星の位置 $(X, Y, Z)$ と未知数であるGPSデバイスの位置 $(x, y, z)$ との距離 $r$ との関係として、光速 $c$ と 受信までの伝搬時間 $t$ (=GPSデバイスの受信時間 - GSP衛星の送信時間)について \[ r^2 = (ct)^2 = (X-x)^2 + (Y-y)^2 + (Z - z)^2 \] が成立する。 したがって、未知数 $(x, y, z)$ を求めるには、3角衛星 A, B, C のの位置と電波送信時間 $(X_A, Y_A, Z_A, T_A)$, $(X_B, Y_B, Z_B, T_B)$, $(X_C, Y_C, Z_C, T_C)$ が必要になる。

つまり、まず、GPS衛星Aからの電波の送信時刻とデバイスの受信時刻との差$t_A$から、光の速度$c$をつかって、GPS衛星Aの位置$(X_A,Y_A,Z_A)$とデバイスの位置$(x,y,z)$は半径$r_A=ct_A$の球体上に存在している。 \[ r_A^2=(ct_A)^2=(X_A-x)^2 +(Y_A-y)^2+(Z_A-z)^2 \] GPSデバイスの位置$(x,y,z)$を正確に知るには、次いで、GPS衛星Bの位置$(X_B,Y_B,Z_B)$とデバイスの位置$(x,y,z)$との間の電波受信時間の差$t_B$から半径$r_B=ct_B$の球体上に存在していることも必要になる。 \[ r_B^2=(ct_B)^2=(X_B-x)^2 +(Y_B-y)^2+(Z_B-z)^2 \] こうして2つのGPS衛星AとBから定まるデバイスのは位置は、上の二式で定まる球体の交点、つまり、左図のような2球面の交点、つまり円上に存在するはずである。
Intersection of circle and disk ives two pints(one is a location of GPS device) さらに、GPS衛星Cとで同様に受信時間差を使ってGPS衛星Cを中心とする球体と、GPS衛星AとBの交点から定まる円との交点は 右図のように、2点で交わることになる。 この2点のうちの1点がGSPデバイスの位置 $(x,y,z)$ である。 他点はGPS衛星A,B,Cが位置する3点で定まる平面についての対称点で、GPSデバイスのある地球外にあるので、この位置は以下では捨てる。
GPSデバイスの時計はGPS衛星に比べて精度が悪い(クオーツ腕時計程度)。 このため、正確な測位にはもう一つの4番目のGPS衛星Dを使い たとえば、GPSデバイスの正確な時間との間に時間誤差 $\Delta$ があるとすれば、さらにGPS衛星 ($k=A,B,C,..)$ との間に等式 \[ (c(t_k - \Delta))^2 = (X_k-x)^2 + (Y_k-y)^2 + (Z_k - z)^2 \] を考えることができる。 こうして、第4番目のGPS衛星Dを導入して、4つのGPS衛星A,B,C,Dの正確な位置と送信時間から、この時間誤差 $\Delta$ も知ることができ誤差を排除できるとうわけだ。 実際には、双面測位法などさまざまな技術的技巧を使って測位精度を上げる工夫をしている。 GPS衛星による正確な測位には、理論的には3衛星、実際には4衛星が必要であるとは以上の背景から理解できよう。

GPS信号

実際のGPS衛星からのデータはL1電波 (1575.42MHz) と L2電波 (1227.60MHz)の2つの周波数帯域で信号を送信している。 L1波には、チップレート 1.023Mhz/chip で 11023チップを周期 1ms で発生させた擬似ランダムノイズ(PRN: Pseudo Random Noise)列を C/Aコード(coarse/acquisition code)と、チップレート 10.23Mhz/chip で周期 7日間で発生させたPRN列をP(Y)コードの2種類の信号が載せられている。 C/AコードはGPS衛星を識別するために民間に公表され、粗い距離測定に利用されているが(さらにPコードの取得にも利用される)、P(Y)コードは公表されずに軍事用である。 L2波はPコードだけが載っている。

これらのPRNコードは決まった周期パターンを成しており(C/Aコードの周期は 1ms、P(Y)コードの周期は7日間)、現在受信している信号が全体のパターンのどの位置に当たるかを利用者は知ることができるため、衛星側でコードの送り出しのタイミングを規定しておくと受信側で現在受信している信号がいつ衛星から送信されたかがわかるようになっている。 このとき、コード内の lチップあたりのチップ長が短いほど時間精度がよくなるので、C/A コードよりも P(Y)コードの方得られる測地精度が良くなるのである。 P(Y)コード(precision code)は機密で(その内容が民間に漏れてしまい、代わりにYコードに切り換えられた)、10倍高いチップレートを利用した精度は非常に高く、ミサイルや誘導爆弾の誘導に用いられているとされている。 そのようなデータは誘導ミサイルではなく、地形変動など災害対策に利用されるべきものである。

こうした信号は信号自体が疑似乱数で変調されていて、広い周波数帯域に拡散されてその信号電力がほとんど雑音の中に埋もれるようにスペクトル拡散通信を用いているために、信号の混信を避けることができる通信の多重性と秘匿性に優れている。 GPS受信機が特定衛星からのGPS信号を受信するためには、信号の拡散効果を取り除くために、以下の原理でわかるようにその衛星固有のC/Aコードをもう一度掛けるという逆拡散方法使って信号捕捉が可能になる。

gps_signal

各GPS衛星は固有のC/Aコードとして、1023個(1023チップ)からなる 1 か 0 の疑似ランダムノイズ(自己相関がほとんど無い信号)を持っており、これを102.3万チップ/秒の速さで発生、つまり 1ms(ミリ秒)ごとにC/Aコード(疑似乱数符号列)が繰り返され発生される(1023チップを 1ms で発生)。 C/Aコードの詳細は公開されているのでGPSデバイスはどのGPS衛星からの電波かを分別することができる。 1575.42 MHzのL1波にはこのC/A信が 1540個/秒 (1540個のキャリア数)含まれることになる。

一方、GPS航法メッセージデータは、C/Aコード20個ごと(20msごと)の位相反転(1 → 0, 0 → 1)によって変化させて 1bitとして識別させるように変調される。 この操作は、左図のように、20ms 間ごとに0, 1の値をとるbit信号とC/Aコードとの排他的論理和(XOR)をとることと同等である。 GPS衛星が送り出す航法データのビット信号は、1bitあたり 20ms、つまり 50bit/秒の速度を持つ。 さらに乗算器によってL1搬送波によってスペクトル拡散変調されるGPS衛星から送信される。

GPS航法メッセージ

nav-code-frames_en GPS航法メッセージデータ信号は、1500bitからなるフレームが 50bit/秒で送信されるデータセットで、GPS航法メッセージデータ全体は 25 フレームから構成されている。 各サブフレームは、左図のように(kowoma.deによる)、5個の300bitのサブフレームからなり、各サブフレームには先頭を示すテレメータ(TLM)とハンドオーバー(HOW)が付与されており、 1ビットのデータ長の受信には 20ms の時間がかかるようにされているので、1サブフレームでは $20{\rm [ms/bit]} \times 300{\rm [bit]}=6$[sec]、したがって1フレーム全体(5サブフレーム)の受信には 30秒かかる。

また、各フレームは衛星時計の補正データ、エフェメリス・データ(Ephemeris: 衛星の位置を求めるために必要で、衛星が送信する自衛星の正確な軌道情報)、電離層補正パラメータ、UTC補正パラメータ、衛星の健康情報(health)やアルマナック・データ(Almanac: 衛星を探すためのおおよその位置)などを含んでいる。 GPSデータ全体 25フレームのデータ取得のためにはGPSデバイスでは $30[{\rm sec/frame}]\times 25[{\rm frame}]=12.5[分]$かかる。 GPS航法情報を取得する途中に衛星の信号が失われた場合は、また最初から受信をやり直さなければならない。

アルマナックは全衛星の大まかな軌道情報で1日に1回更新され寿命が長いが,エフェメリスは2時間ごとに更新され,精度が高い分寿命は短く4時間だ。 GPS受信機が有効なエフェメリスを記憶している間はホットスタートでき、それ以降はアルマナックだけとなりウォームスタート、さらに、軌道情報がまったくない状態ではコールドスタートになる。 軌道情報を全部受信するには12.5分かかるため、コールドスタートしたときは15分程度受信して軌道情報をデバイス内に保存しておくのが普通だ。

このために、実際にはGPSデバイス側でさまざまな工夫がなされて、測位を素早く官僚できるようにしている。 この仕組みを補助GSP(A-GPS: Assisted GPS)といい、携帯電話用やカーナビまたはGPS搭載カメラなどに広く使われている。 A-GPSでは、他のGPS受信機で得たエフェメリスを強制的に送り込んで、いきなりホットスタートできるようにする。 A-GPSは主にネットワークを利用するシステムで、ネットワーク事業者が補助GPSサーバを設置し、これらの補助GPSサーバは衛星から軌道情報をダウンロードし、データベースに保存する。 こうして、A-GPSが利用可能なGPSデバイス端末はサーバに接続してサーバ情報を参照して短時間に測位を行うことができる。 A-GPSでは、MSA(Mobile Station Assisted)やMSB(Mobile Station Based)の運用モードがあり、A-GPSサーバとの通信プロトコルも規格化されている。

参考: GPSサービスの詳細については、アメリカ合衆国発行のGlobal Positioning System Standard Positioning Service Signal SpecificationまたはNAVSTAR GPS USER EQUIPMENT INTRODUCTIONが参考になる。 また、衛星を利用するGlobal Navigation Satellite Systems (GNSS)の原理やA-GPSの実際やアメリカ合衆国のGPS、ロシアのGlonass, ヨーロッパ連合のGalieo、中国の北斗(Beidou),日本の準天頂衛星などのシステムについての詳しく言及した Essentials of Satellite Navigation Compendium も大いに参考になる。 トランジスタ技術 2008年2月号 小林研一氏の記事 GPS衛星から送られてくるデータのフォーマットもGPS航法データの構造を紹介している。