ユーザーのためのGPSの仕組み解説

自分は、2004年頃の勤め先で、一般的な技術勉強会的にGPSの原理的な説明を聞いたことがあるのですが、最近改めてこのときの知識を確認しようとしたところ、意外とWeb上にまとまった情報が無かったのでまとめておきます(当時、一般のGPS関連の掲示板とかで語られていた程度の内容なのですが…)。
GPS受信機能が、携帯電話やスマートフォンでも当たり前のように使えるようになってだいぶ経ちますが、一方で、GPSは非常に繊細な技術であり、ユーザーとしてもいくつか配慮が必要な点は変わりません。結論を先に書くと、GPS受信機を使う上では、以下2点を守ることが重要です。

  • 受信機にできるだけ衛星を見せてあげる(できるだけ遮るものがなく見晴らしが良いように使う)。
  • 測位を始めて最初に位置が確定するまで、最低30秒は、できるだけ見晴らしの良い屋外で動かないなど、好条件で受信する。

なお、この記事でGPSとは、アメリカが開発した、衛星による測位技術という限定した意味で使っています。英語では、車載用ポータブルナビのことを"GPS"と呼んだり、日本語でも、携帯電話の基地局情報を活用した測位を含めて"GPS"と呼んでいることがあるので、注意が必要です。

基本的な仕組み

GPSは、高度約20,000kmのところを飛んでいる30個程度の衛星から送信される信号を受信し、受信機の位置情報を知るシステムです。もう少し具体的には、以下のような仕組みになっています。

  • すべての衛星には、精密に同期した原子時計が搭載されている。
  • 各衛星は、自身に搭載した原子時計の時刻と、衛星自身の位置情報を、常時放送している。
  • 受信機は、複数の衛星から受信した時刻の差から、各衛星との距離を計算し、そこから受信機の位置を計算する(三角測量を思い浮かべてください)。

ここまでは比較的知られていると思うのですが、ユーザーとして知っていた方が良いポイントが、もう少しあります。

  • 各衛星が放送している電波の周波数は、約1.5GHzと、かなり高周波(短波長)である。
  • 電波の強度は、受信機に届くところで-130dBm程度と、かなり微弱である。
  • 受信機に搭載している時計の精度は高くないため、受信機の未知数は、緯度・経度・高度に加えて「時計の誤差」の、計4つである。
  • 各衛星の位置情報(厳密には軌道情報)の転送速度は、50bpsと、かなり低速である。

以下、それぞれの詳細を説明します。

各項目の詳細

衛星の電波は約1.5GHz

電波は、物理的には光と同じ「電磁波」という現象です。電波と光の違いは、周波数です。周波数がおよそ300GHz以上の電磁波を「光」と呼びます。
GPS電波の約1.5GHzという周波数は、光に比べると低いのですが、AMラジオ(約500KHz〜1500KHz)と比べると約1000倍になります。これぐらいの高周波になってくると、波よりも光のような性質が強くなってきます。つまりGPSの電波は、直進性が高く回折しにくい(遮蔽物の裏側に回り込みにくい)、という性質があります。
このため、GPS受信機は、衛星との間にできるだけ遮るものがない場所に置く必要があります。建物なども致命的な遮蔽物になるので、高いビルの多い都市部では、測位ができないことがあります。

電波の強度は-130dBm程度

dBmというのは、mW(ミリワット)に対する比率を対数化したものです。式で書いた方が分かりやすいと思いますが、電波の強度をP、dBm値をxとすると下記のようになります。

\Large x = 10 log_{10}{(\frac{P}{1[\text{mW}]})}

です。つまり、-130dBmというのは、1ミリワットの10^{-13}倍ですので、10^{-16}ワットつまり100aW(アトワット)になります。a(アト)という接頭辞、なかなか見ることがありませんので、それだけでかなり微弱な電波であることが想像できます。
ちなみに、周波数が比較的近いWifi(無線LAN)の場合、最小受信感度は-100dBmだそうです。これよりも-30dBm、つまり3桁弱い信号が、通常の信号強度です。たいていのGPS受信機は、これよりさらに3桁弱い-160dBm程度にまで対応しています。
これだけ微弱な電波だと、ちょっとした遮蔽物による信号の減衰や、わずかなノイズで、受信不能になります。たとえば、森の中(信号が樹冠によって減衰する)やカバンの中(生地によって減衰する)でうまく測位できなかったり、スマホの機種によって感度が悪い(回路の設計が悪く、GPSアンテナがノイズ源となりえる部品の近くに取り付けられている)ということが起きます。

受信機の未知数は4つ

衛星には精密な原子時計が搭載されていますが、個々の受信機にはそんな精度のものは搭載されていません。しかし、秒速30万キロ( 3.0 \times 10^8メートル)の電波を使った測位で、誤差を3メートルにおさえようと思ったら、だいたい \frac{3}{3.0 \times 10^8} = 1.0 \times 10^{-8}秒、つまり10ナノ秒の精度が必要です。そのため、「受信機の時計の誤差」も未知数として、位置を計算する必要があります。位置情報の未知数3つ(緯度、経度、高さ)と合わせて未知数が4つになるので、最低4つの衛星との距離を測定する必要があります。
なお、一度測定できたあと、多少の時間であれば、「時計の誤差」や「高さ」が変化しないと仮定することで、受信できる衛星数が3個や2個でも、測位を続けることができます。

軌道情報の送信は50bps

「50bps」は書き間違いではありません。毎秒50ビットです。MVNO(いわゆる格安SIM)によくある低速モードですら、低速と言いつつ100kbps程度なので、GPS衛星はその200分の1の転送速度ということになります。昔のパソコンで使われていたカセットテープの300bpsよりもまだ低速です。この通信速度で、1フレーム1500ビット、全部で25フレームのデータを送信しているので、データが一巡するのに \frac{1500}{50} \times 25 = 750秒かかることになります。
実際には、測位に使われる衛星ごとの精密な軌道情報(正式にはエフェメリスと呼ばれる)は、各フレームに毎回含まれているので、30秒受信すれば衛星の位置が確定して、受信機の位置が計算できるようになるのですが、前述したような微弱な信号を30秒間受信し続ける必要があるため、最初に位置が確定するまでは受信条件の良いところに受信機を置く必要があります。
なお、エフェメリスは一度受信すれば約4時間有効なため、大抵のGPS受信機はバッテリーバックアップをしていて、次に電源が入ったときに過去のエフェメリスを使ってすぐに測位ができるようになっています(このときの測位スピードは、カタログ上、「ホットスタート」として記載されています)。
また、携帯電話に搭載されているGPS受信機は、エフェメリスを携帯電話の電波で受信することができるため(この方式をAssisted GPSやA-GPSと呼ぶ)、電話の通じるところであれば常にホットスタートすることができます。
ちなみに各衛星の時刻情報は、衛星ごとに固有の1023ビットのパターンを1.023MHzのパルスとして送信し続けているので(つまり1msで1周する)、軌道情報と違ってほぼ即時に受信可能です。

ビルの谷間で見える衛星数を体感してみる

GPS衛星は全部で30個程度(保守や入れ替えのために個数は変化する)あるのですが、そのうち実際に見える衛星数を確認できるページが、みちびきのサイトにあります。
http://app.qzss.go.jp/GNSSView/gnssview.html

丸いレーダーのような図は、中心が天頂で、中心から離れるごとに仰角が小さくなっていき、円周が地平線(仰角ゼロ)を表しています。都市部だと、実際には仰角45度ぐらいまでビルに囲まれていることはよくあると思いますが、このページでは"Mask Angle"という項目でこれを再現することができます。
ある時間のGPS衛星のみの位置を表示させたものと、それに対してMask Angleを45度としたものを並べておきますが、都市部がいかに受信条件が悪いか分かると思います。

ついでに、QZSS(準天頂衛星のこと。通称「みちびき」)を表示させると、天頂付近を動く衛星がいかに効果的な補助となるか分かると思います。

もっと調べてみたいこと

GPS信号を遮る素材・遮らない素材

「1.5GHzの電波は、だいぶ光っぽい性質」と言っても、やはり電波です。プラスチックのケースなら、たとえ黒いものであっても、GPS信号を遮らないようです。また、雲の影響は受けませんし、雨の影響もあまり受けないようです。一方で、自分で試している印象だと、ナイロン生地のカバンにはかなり影響を受けていそうです。
このような、「素材別の吸収率と反射率」をまとめた資料を探したのですが、見つけることができていません。電波と素材の基本的な性質なので、パブリックなものが存在していそうなものですが…。下記のような論文は見つけたので、時間があればこのあたりから調べてみたいと思っています。

また、こんな論文もあったので、ArduinoあたりをベースにGPSロガーを複数自作して、比較してみるのも面白そうだと思っています。

参考文献

「トランジスタ技術編集部」名義ですが、中に章別の執筆者が書かれていて、古野電機の方々が多く並んでいます。古野電機は一般にはあまり知られていないかもしれませんが、ヨットに少々興味がある自分としては、船舶用の電波機器で高いシェアを持つ憧れの会社です。
80年代からGPSの研究・開発をしていたようで、実践を踏まえた大変分かりやすい本です。GPSモジュールを使ったIoT機器を作りたい、みたいな人には必携ですし、GPS機器を使うだけのユーザーにも、衛星の時計はわずかに進みが速いのでわざと遅らせてあるみたいな豆知識が満載なのでおススメです。