GPSってなんで自分の位置が分かるの?仕組みを解説!

雑記ブログ


今では当たり前となったGPS(Global Positioning System)という位置情報技術。

スマホやカーナビなど幅広い製品に利用されているので知らず知らず日常的に使っている技術です。

写真にも位置情報が記録され撮った場所が分かったりしますよね。

しかしなぜ位置が分かるのか不思議に思ったことはありませんか?

GPS衛星からの電波を受信しているからだとざっくりイメージしている人は結構いますが、仕組みとなるとよく分からないですよね?

難しそうだし別に知る必要もないしって思ってしまいます。

たしかに細かい仕組みを知ろうとすると難解なのですが、基本的な考え方はいたってシンプルです。

知っている必要はないけど知ると面白い」そんなGPSの知識をまとめたいと思います。

スポンサーリンク

GPSは時間の差によって位置を計算している

PIXABAY


GPSの仕組みの鍵となっているのは時間です。

GPS衛星からは電波(時刻情報、軌道情報など)が発射されそれぞれの受信機(スマホなど)がその電波を受信しているのですが、時間の差から位置を計算できるようになっています。

受信機はGPS衛星から受信した時刻情報と受信機側の現在の時刻との差から、GPS衛星と受信機の間の距離を計算します

例えば(実際とは違いますが説明で分かりやすくするため)0.1秒の時間差があったとすると、GPS衛星から受信機へ電波が届くのに0.1秒かかったということになるので衛星と受信機の距離は約3万km(0.1秒間に電波が進む距離)になるということです。

GPS衛星から3万kmにある地球上の地点に線を引いて行くと円周上になるので、この円周上のどこかに受信機があるということになります。

これを複数のGPS衛星から電波を受信することによって1つの地点に絞り込んでいくのです(一般的には4つ以上の衛星から電波を受信すると場所を特定できると言われています)。

ここから先はもう少し深掘りしてみたいと思います。
(概要だけ知っていればいいという方はこの先は読まなくても良いと思います)

GPS衛星と端末それぞれの時計


位置を知る仕組みとしてGPS衛星が発射した電波の時刻と端末側の時刻の差を利用しているという話をしましたが、そういう計算をしているということはGPS衛星と端末がそれぞれ時計を持っているということになります。

特に発信元となるGPS衛星には高精度のものが求められます。どんな時計を持っているのでしょうか?

・GPS衛星
 原子時計・・誤差が30万年に1秒以下とも言われています。セシウム原始時計やルビジウム原始時計が搭載されています。

受信機(スマホやカーナビなど)
 水晶発振子・・端末によって違うと思いますが、一般的には水晶発振子が使用されているものが多いです。精度は原子時計より落ちます。(実際には受信した電波も含む様々な情報から補正をかけて受信機側の時間は設定されています)

GPS衛星から発信されている電波の情報とは

GPS衛星からは時刻情報が発信されているという話をしましたが、他にも様々な情報が一緒に発信されています。これもまとめてみたいと思います。

<GPS衛星から発信される主な情報>
・時刻情報
GPS衛星から電波が発射された時点の時間の情報です。

・アルマナック
全衛星のおおまかな軌道情報。電波を発射した衛星だけでなく他の衛星も含めた全衛星が何時くらいに何処を通るのかという情報です。ざっくりとした鉄道の時刻表という感じでしょうか。

・エフェメリス
自衛星の詳細な軌道情報。こちらはアルマナックと違って他の衛星の情報はないですが、電波を発射した衛星自身の正確な軌道情報が入っています。

・電離層の情報など
電離層は地上60km〜800kmにあり大気中の原子や分子が分離している層のことです。電波がこの層を通過する時は伝搬速度が遅くなると言われています。そのまま電波の速度だけで計算すると誤差が大きくなってしまうので、電離層の状況をデータ化したものも一緒に送信されています。

なんだか難しくなってきましたが、本当に色々な情報がGPS衛星から出てるんですね。
ここから先は位置の特定に関して詳しくみていきましょう。

受信した電波から位置が分かる仕組み


受信機はまず1つの衛星を探しにいきます。(ここには時間が少しかかる)

衛星を1個受信できるとアルマナック(全衛星の軌道情報)の情報から他の衛星の大体の位置が分かるためその情報を元に他の衛星も探しにいきます。

これで4つ以上の衛星が受信できれば大体正確な位置が分かるようになります。


ではなぜ位置が分かるようになるのか解説していきたいと思います。

最初の方にも書いていたように受信機側は衛星から受信した電波の時刻情報と現在時刻との時間差をみています。(例えば0.1秒の差があれば電波は衛星から0.1秒かかって受信機に届いたことになります)

0.1秒 ✖︎ 電波が1秒間に進む距離(約30万km) = GPS衛星と受信機の間の距離

これにより0.1秒の場合は3万kmの距離があるということになります。
※分かりやすく例えで0.1秒で計算してますが実際はGPS衛星は2万kmくらいの高度にあります。

GPS衛星との距離が3万kmの地点がどこになるかというと、宇宙空間も含めればGPS衛星が中心の半径3万kmの立体の円の表面ということになります。(下図の左側)

でも受信機は地球上にあるわけですから立体の円の中で地球の表面と交わる部分が候補地点に絞られるわけです。(上図の右側のようにGPS衛星から地球にコンパスで円を描いたイメージ)

1個衛星を受信できれば地球上での候補地が円周上のどこかになるのですが、実際は様々な要因から数百mの誤差が出ます。なので数百mの幅がある円周が候補地になります。

そして2個目の衛星が受信出来ると2個目も同じように円周上の候補地ができるのですが、1個目の候補地と交わった部分に絞り込むことができるのです(下図)。

さらに3つ目を受信するとエリアは1つに絞り込む事ができます。

あとは受信した衛星が増えていけばいくほど1つに絞ったエリアを小さくしていく事ができるので位置精度が高まっていくことになります。

位置精度は受信個数が多くなれば必ず良くなるわけではない!?


受信出来るGPS衛星が多ければ候補エリアを絞って小さくしていく事ができるとお話ししました。

しかし受信できる衛星が多くなれば必ず位置精度が良くなるかというと必ずしもそういうわけではありません。

受信個数と共に位置精度に関連してくるのが受信した衛星の位置です。

極端な話でいうと10個衛星を受信できても同じ方角ばかりから受信していれば精度は高まりません。

同じ方角からだと同じような円ができてしまうので重なる部分が大きくなり、なかなかエリアを小さく絞り込む事ができないのです。

真上、北の空、東の空、南の空、西の空などが万遍なく見える場所だと一番精度は良くなると思います。

また、高いビルなどの多い都会ではマルチパスの影響を受けて位置精度が悪くなることもあります。

マルチパスとはビルなどの建物に反射した電波を受信することによって、ほんのわずかですがまっすぐ受信する時よりも受信時間が遅れてしまい位置の計算に狂いが生じてしまうことです。

ビル群の中を歩いていてスマホで地図を見たら場所が少し違う!って思ったことはありませんか?

このように様々な要因によって精度が悪くなってしまう事があります。

まとめ


今回はGPSってどういうものなのかと位置が分かる仕組みに関して解説してみました。

日常的に役に立つ知識ではないかもしれませんが、僕はこれを知っていることで何度かちょっとした問題を解決できた事があります。(例えばカーナビの位置がおかしい時に色んな方角から受信出来る場所へアンテナの置き場所を変えてみて改善したり、スマホの地図アプリで位置がずれているときにビルから離れてみて良くなったりなど)

そういう問題が発生した時にもし誰かの役に立てば嬉しいなと思います。

コメント