いよいよ今日から、世界を騒然とさせてきたポケモンGOが始まりました。筆者も早速やってみましたが、つい歩きスマホをしたくなってしまいますね。道の端に立ち止まって操作するなど、安全に楽しみたいものです。


ところで、このようなアプリが楽しめるのもスマートフォンにGPS機能があるからです。カーナビなどで長くおなじみの機能ですが、どんなしくみで場所がわかるのでしょうか。これを機にちょっと考えてみましょう。


「衛星が見ていてくれる」のではない



ときどき誤解されているのが、衛星が地上の受信機を見張って、こちらの場所を教えてくれるというものです。いえ、いくら人工衛星が凄いテクノロジーでも、何億人ものスマホやカーナビを全部見張ることはできませんし、宇宙から地上を見ても正確な位置を見分けることは困難です。


実は人工衛星が教えてくれるのはこちらの場所ではなく、「人工衛星自身の場所と、現在時刻」です。ではどうして、GPS受信機は自分の場所がわかるのでしょうか。


誤差10億分の1秒、衛星の超正確時計で「距離」を測る



GPSの原理は、衛星との距離を測ることです。平面上では2点からの距離がわかれば、位置を2個所に特定することができます。2つの円が交差する点は2点しかないからです。同じように、空間では3点からの距離がわかれば、3つの球が交差する2点のどちらかと特定することができます。2点のどちらが自分のいる場所でしょうか?たぶん、一方は地球上ではなく宇宙空間なので、地面に近い方が正解でしょう。


距離を知るには、GPS衛星の「超正確時計」と使います。原子時計というもので、誤差は1ナノ秒以下、つまり10億分の1秒以下というものです。電波の速さは光と同じ秒速30万km、つまり3億mですから、1ナノ秒の間には30cmしか進みません。人工衛星が電波を送信してから地上で受信するまでの時間差をナノ秒単位で測れば、距離を1m以下の精度で測れるというわけです。


GPS受信機は、3機のGPS衛星からの電波を受信すれば、3機の衛星との距離がわかり現在位置を計算できるはず…本当でしょうか?


スマホの時計も正確に合わせてくれる


ここで「あれっ?このスマホにも原子時計が入ってるの?」と思った方は、大変鋭いです。そうです、スマホの時計がナノ秒単位で正確なはずはありませんよね。そこでGPS受信機は、4つ目のGPS衛星を使います。


方程式は未知数の数だけ連立方程式が必要…なんて言い始めると頭が痛くなってしまいますが、要するに「4つの衛星のデータを方程式で解くと、現在位置と現在時刻を同時に計算できる」ということです。この時刻はナノ秒単位ですから、GPS受信機の時計は身近にある時計の中ではずば抜けて正確です。だからスマホは、時計を合わせる必要がないのです。また、4つの衛星からの距離がわかれば現在位置は2点ではなく、1点に特定できます。このため、「GPSは4機の衛星からの電波で現在位置を知る」という説明がされるのです。


この正確な時計は、位置を知る以外の目的にも使われています。なんと、証券などの取引です。世界各地からの注文のどちらが先だったかを決めるのに、このGPS受信機の1ナノ秒という時計が使われているのです。


街中でもポケモンGOが便利に?日本の衛星も活躍



GPSというのは実はアメリカが運用している衛星システムの名前です。地球上のどこにいても4機以上の衛星からの電波が受信できるように、約30機のGPS衛星が地球を回っています。しかし、都市や山間部などで空が開けていない場所では、4機以上の衛星の電波を受信できなかったり、電波の反射で誤差が出ることがあります。


こういったことが起きると、スマホの地図上で位置がずれたり、しばらく動かなかったりします。近くにポケモンがいるのにうまく移動できない、なんて場合はビルや山の影響ということが多いでしょう。


そこで日本では、独自の衛星システム「みちびき」の整備を進めています。「みちびき」は日本で電波を受信しやすいように軌道を工夫し、GPS衛星と合わせて4機以上の電波を確実に受信できるようにするものです。2010年に打ち上げられた1号機に続いて、2017年年度には3機の「みちびき」が打ち上げられるので、ポケモンGOのような位置情報利用アプリはどんどん便利になりそうです。


Image credit: NASA、JAXA、準天頂衛星システム