いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

GPSの仕組み

 GPSの話をしましょう。GPSとは「Global Positioning System」(全地球測位システム)の略です。地球の周りを回る何個かの人工衛星から電波を受け取り、自分が今どこにいるのか調べる(測位といいます)ことができる、アレです。GPSのための人工衛星は20個以上回っています。GPSを用いたカーナビなど、今やもう珍しくはありませんよね。
 話を簡単にするため、ここでは宇宙空間にx軸を1本用意し、その上に衛星とGPS受信機(スマホとかカーナビとか)が乗っているものとします。衛星Aは座標aの位置にいるとします。受信機Xは座標xとしましょう。このxを求めたいわけです。Aにはきわめて正確な時計が積んであります。原子時計というやつです(核エネルギーを動力にしているわけではありません……)。またAは自分の軌道のデータを持っており、座標がaであることは分かっています。Aは電波で「このメッセージはAから送信しています。Aの位置は座標a、現在時刻は13:00:00」といったメッセージを受信機Xに送ります。電波は光と同じ電磁波なので秒速およそ30万kmで進みます。c=30万km/秒とおきましょう。受信機Xにも時計は組み込んであります。これが例えばAに積んであるものと同様で原子時計だったら、メッセージを受信した時刻が13:00:01なら13:00:00からの経過時間を計算し、cをかけ算すればAからXまでの距離が求まり、xが分かります。この場合は1秒でメッセージが届いたわけで、AX=30万kmと分かるわけです。しかし原子時計は大きいし、値段だって1000万円とかするもので、とうてい個人の車などで使うGPSの受信機には組み込めません。じゃあ不正確な時計だとどうなるか? 受信機Xに組み込む時計の誤差が例えば0.1秒だとすると距離に0.1c=3万kmの誤差が、0.01秒の誤差だとしても3000kmの誤差が出てしまいます。これでは全く使い物になりません。
 ここで、うまい方法があるのです! Xに組み込む時計は普通のクオーツかなんかだとし、正確な時計に比べて誤差がε(イプシロン)だとします。εはギリシャ文字で、数学では小さい数を表すのによく用います。もちろんこのεの値は不明です。マイナスの数かも知れません。x軸上に衛星Bも用意しましょう。Aは座標a、Bは座標bです。Aは時刻tにメッセージを送り、Bは時刻sにメッセージを送ったとしましょう。Xはこれをそれぞれ時刻t’、s’に受け取ったとします。このt’、s’はXに組み込まれた安い時計が示す時刻です。従って実際にXがAからのメッセージを受け取った時刻はt’+ε、Bからのメッセージを受け取った時刻はs’+εのはずです。このとき図を見ながら次の式が成り立つことを確認してください。使っているのは「距離=時間×速さ」だけです。

f:id:Inuosann:20191028225942p:plain

a-x=(t’+ε-t)c
xーb=(s’+ε-s)c
この式の中で値が不明なのはx、εだけです。つまりこの連立方程式を解くだけでx、εが分かるわけです。中学、高校で数学の時間に解く連立方程式と変わりません。これがGPSの原理です。受信機に組み込む時計は安物でよく、しかし代わりに衛星が2台必要になるのです。
 実際には受信機は空間の中にあり、位置の特定のためには4台の衛星が必要です。やはり時刻の誤差をεで表し、受信機の座標を誤差ごとまとめて求めてしまうのです。ぼくは初めてこの方法を知ったとき、「おおお……、これはすごい……」と、本当にびっくりしました。実際には相対性理論の効果も考慮に入れなければならないとか。こちらは勉強中なのでまとまったらまた改めて……。今回の記事の内容は、少し前に読んだGPSの技術について書いてある本によっています。今手元になく、書名が分かりません。分かったら追記します。