カーナビのGPSにはどんな技術が詰まっている?

カーナビのGPSにはどんな技術が詰まっている?
みるみ

カーナビと言えば「位置情報を利用するもの」というイメージが強いですね。そして「位置情報といえばGPS!」と連想される方も多いでしょう。

今回はそんなGPSについて、カーナビに絞ってちょっと技術的な細かい話をしてみます。

そもそもGPSって?

GPSとは全地球測位システムの略で、たしかに位置情報を取得するための手段の1つではありますが、「位置情報を取得するためのもの」=「GPS」ではありません。

GPSという衛星はアメリカが打ち上げている軍事衛星の1つにすぎず、各国が管理している衛星システムのすべてを総称した正しい名称は「GNSS」(Global Navigation Satellite System)といいます。和訳は「全地球航法衛星システム」です(小差あり)。今では世界的にこの呼称を利用するような流れになっています。

gps-type

上図の通り、日本の衛星システムも肩を並べています。準天頂衛星システムの「みちびき」といえば聞き覚えのある方も多いでしょう。ここはそれぞれすぐに後述いたしますのでお待ち下さい。

カーナビは機種によってどの種類の衛星を何個まで受信できるかが全く違うので、ここで既に位置の測位精度は変わってくることとなります。

GNSSの衛星の種類

まずGNSSにはどんな種類の衛星があるかを見てみましょう。

現状主に使われている位置情報のための衛星システムは 6種類 あり、地球の周りを 計48個 の衛星が周回しています。

gnss-route

1つずつ見ていきましょう。

「GPS」全地球測位システム

  • 管理:米国防総省
  • 衛星数:6軌道に4基ずつ、全24基(実際には2018年12月現在31基が稼働中)
  • 周期:約11時間58分
  • 軌道高度:約20,000km

上で「あくまで総称としてはGNSSと呼ぶべきだ」という趣旨のことを言いましたが、GPSが他国の衛星システムに比べ頭1つ秀でてている地球全体規模をカバーできる周回範囲の広さを考えると、やはりGPSをベースに考えるのも納得という感じですね。

実際、以下から紹介する他国の衛星は「このGPS衛星の補強」という意味合いで打ち上げられているものも多いです。なるべく自国をたくさん通るような軌道設計をするわけです。

ConstellationGPS

出典:Wikipedia

GPSのみで同時に受信できる数はおよそ6~10個で、測位に使う最小数である4基より多く受信できる場合は測位精度のさらなる向上が見込めます。

これからも位置測位システムのスタンダードであり続けると思われますが、各国の米システム依存からの脱却目標によって、他の衛星に覇権が取られる日も来るかもしれません。

「GLONASS」グロナス

  • 管理:ロシア宇宙軍
  • 衛星数:目標であった24基の配備完了、予備を含めると全27基
  • 周期:約11時間15分40秒
  • 軌道高度:約19,100km

GPSに代わる覇権争いに参加できる衛星があるとしたら、ロシアのこのGLONASSでしょう。

GPSと同じく現在では全地球分をカバーできるようになり、衛星の受信感度や速度などの技術的な面でも相当の強みがあります。アメリカとロシアという地上での均衡関係は遥か空の上でも一緒、というところでしょうか。

実は「GPSしか使わない現状からの脱却」というのはカーナビに限っておらず、最も分かりやすいところでいうと例としてスマートフォンが挙げられます。

だいたい2015年頃~のスマートフォンは、GPSとGLONASSの「マルチGNSS」対応のものになっているでしょう。

これは文字通り、GPSだけではなくロシアのGLONASSからの衛星情報も取得し、より位置測位の精度を上げるものです。

ソ連解体に伴い一度頓挫した衛星システム開発ですが、数年前にGLONASSが完全稼働を迎えたことにより「GPSってだけで呼ぶのはなんだか変じゃない?」となり、「GNSS」という全体呼称が使われるようになってきた背景もあるようです。

当然カーナビにおいてもその性能を遺憾なく発揮しています。

「Galileo」ガリレオ

  • 管理:EU(欧州連合)
  • 衛星数:現在17基が活動中(その内執筆時点で2基がテスト中、4基が調整中)で、将来的には30基目標
  • 周期:約14時間21分36秒
  • 軌道高度:約24,000km

欧州連合による民生用の測位システムで、「軍事的な背景によって利用や開発が中断されることがない」というメリットを掲げている高機能衛星です。実は中国も一時的に開発に参加したりしていました。

2016年末から、こちらも全地球をカバーできるレベルの運用が開始されています。まだまだGPSとGLONASSの二強へ届くレベルまでは行っていませんが、衛星数や技術力の高さ、そして民間運営である強みなどを活かすことで将来への十分な期待が可能です。

実は打ち上げにロシアのロケットを使用していたり、前述したように中国が参画していたりなど、単体の運営ではなく「連合」である特徴から複数の国の助けを得られるというのはおもしろい点ですね(ロシアは西部がヨーロッパっぽい雰囲気がありますがEUには加盟していません)。

現在はまだ実利用されている基数は少なめですので、これからに期待したいところです。

ちなみに、日本のカーナビにもこの衛星から情報をもらっているものはあります

「北斗」北斗衛星導航系統

  • 管理:中国政府
  • 衛星数:現在36基の打ち上げの内17基が稼働中で、将来的には35基目標
  • 周期:約23時間56分
  • 軌道高度:約21,500km

名称から分かる通り、中国による衛星システムです。

「GPSに依存しない独自のシステム」というものを目指し開発を続けている衛星で、「北斗1」と「北斗2」という2つの世代から成っているのが特徴です(ちなみに「GPSに依存したくない」という旨の発言はどこの国もしていますが、中国の北斗は内部技術的にも本当に独自のものを目指しています)。

第一世代目である北斗1は3基構成で、これは実験的な側面が強いらしく、カバーしているのも中国周辺のみの模様です。

メインは第二世代となる北斗2で、こちらは2020年に35基体制を目標として、例によって全世界カバーを目指しているものです。北斗1とは完全に別物の扱いで、最終的にはその35基のみが運営の対象となるようです。

今のところ紹介してきた衛星を見ると、まさに地球上の軍事国家力が強い国は衛星の開発にも力を入れているように見えますね。

しかし次からはちょっと毛色が変わります。

「QZSS」準天頂衛星システム

  • 管理:日本(宇宙開発戦略推進事務局)
  • 衛星数:4基、将来的には7基目標
  • 周期:約23時間56分
  • 軌道高度:約35,000km

「みちびき」の愛称でおなじみ、日本の衛星システムです。

ただし今まで紹介してきたものと違う点として、GPSを補完するためのシステムであって、これだけで単独に使うことを目的としたものではないということです。

「GNSS」とはグローバルなナビゲーション・サテライト・システムですので、このような日本の準天頂衛星システムはグローバルではないということで「NSS」と呼ぶ向きもあるようです。

しかし測位精度はトップクラスで、ニュース等でも話題になった「センチメートル級測位補強サービス」(CLAS)という強力な技術を持っていて(現時点では受信設備が超高価なため一般には未実装)、しかもこれを民間のために無償で提供している衛星システムは日本のQZSSだけという状況です。

日本の衛星通信しにくい地形などが考慮されて開発に至った経緯があるので、日本を通るような8の字を描く軌道で動いていて、東京の都市部でも常に1基は観測できる航行をしています。

michibiki

出典:「みちびき」公式サイト

2018年の11月1日という本当の最近にサービスが開始されたばかりなのでまだまだこれからの課題は多いですが、高い技術力が活かされるといいですよね。

ちなみに、10年ほど運用結果を鑑みた上で、計画を続投するか他国の衛星システムに頼るかを判断するとのことです。

「IRNSS」インド地域航法衛星システム

  • 管理:インド宇宙研究機関
  • 衛星数:7基
  • 周期:約11時間15分
  • 軌道高度:約35,700km

先程の分類図には書かなかったインドの衛星システムです。ちなみに2016年からは「NavIC」(Navigation Indian Constellation)という呼称の方がより一般的なようですね。

開発の背景は、他と同じく「GPSからの脱却」や「軍事的な応用を目指す」ものであるようです。

日本の準天頂衛星システムと同じく自国の位置測位精度を向上させることが目的なので、7基の衛星が常にインド国領から観測できるような配置で航行しています。

測位精度はそこそこといったところで、受信機側の発展によって2.5m程までは保証できるという発表があるみたいです。

その他

その他、色々読んでいただいた通りGPSは散々な言われようということもあって、アメリカは「GPS近代化」ということで新しい衛星システムの開発に取り組んでいるそうです。ぜひがんばって汚名返上してほしいものですね。

位置測位の計算

ここからは、実際に衛星を利用してカーナビで位置情報を得るための仕組みについてお話したいと思います。

※以下読みやすさのため「GPS」という言葉を使いますが、便宜上の「GNSS」としてお読み替えください。

考え方

GPSの電波を受信することによって得ることができる情報は、実は以下の2つだけです。

  1. 衛星の絶対位置(速度、方位等含む)
  2. 正確な時刻

この情報を使って位置を求める計算をします。これまでにも「複数の衛星を利用する」などのことを書いていましたが、当然1つの衛星から時刻などが送信されてきただけでは何も分からないということです。

2_circle

考え方としては、上図のように特定の座標から分かっている距離によって位置を得るというものです。衛星の座標と時刻が分かるのでその間の距離はすぐに算出できます。

距離[m]=299,792,458[m/s](光速) × 到達に要した時間[s]

速さと時間がわかったので距離が求まるということですね。

仕組みと計算

しかし、完全に位置を特定するには衛星も3つ分必要になります。

3_circle

というわけで三元連立方程式が成ります。

3gen-renritsu

ただし、ここで2つ問題があります。

  • 解が3つの方程式だけでは完全に位置は特定できない
  • そもそも受信側の時刻の精度を考えると巨大な誤差がある

これら問題を対処するべく、実際の測位には最低でも4つの衛星情報を利用するのが現在の標準的な考え方です。

すなわち、全衛星に同じだけ発生する時刻誤差も未知数(解)として四元連立方程式とします。

4gen-renritsu

先程のGPSの項で「測位に使う最小数である4基」という記載をしたのはこういう訳です。

しかしこの測位計算式はこのまま普通に計算しても解が一意に定まらないので、「ニュートン・ラフソン法」という収束計算を用いて解いていきます。

newton-raphson

ここはかなりポイントです。

なぜなら、収束計算であるがゆえ、ここの精度を詰められれば詰められるほどより位置の測位精度が上がっていくからです。つまり、カーナビの性能差が最も如実に表れる部分でもあると言えるでしょう。

この計算によって良い近似解が得られない場合、カーナビでよく見る「自分の位置が吹っ飛んでいる現象」になったりすると考えられます。

また、衛星の電波はドップラー効果を受けてしまう点にも注意が必要です。

宇宙空間を周回している以上、電波には衛星の移動速度と受信機の位置を加味したドップラー効果の計算が必要です。

doppler

以上のような式で計算を行います。ここはカーナビやGPSに限らず共通の技術要素です。

「誤差」への対策

上述したような計算により誤差を縮める努力がなされているとはいえ、それでも様々な要因でいくらでも誤差が生じる可能性があります。

しかも、衛星側から提供される時刻誤差がたった100万分の1秒でも地図上でのズレは300mであることを考えると、ここの対策をしすぎて困ることはないと言えるでしょう。

そういうわけでここには種々の技術が詰め込まれていますので、このうち3つほど紹介してみます。

衛星受信数が少ない時

前述したように、衛星受信数は最低でも4基は保っておきたいところですが、もちろんいつもそうでいられる保証はありません。そんなときの対応法です。

しかし内容はかなりシンプルで、「3衛星しか受信できない場合は高度は変わらないと仮定して2次元測位をする」などのように至って単純な考え方です。

gosa-sokui

同じく「2衛星しか受信できない場合は高度+受信機の時計のズレがないと仮定する」などのように続きます。

逆に、これも上で言っていますが、4基より多く受信できる状態にあるときは、受信している全ての衛星を計算に含めて誤差を減らしていきます。鋭い方ならお気付きかもしれません、最小二乗法を用います。

GPSの電波的な要因による誤差

GPSは電波の性質を持つものである以上、物理的な誤差も必ず生じます。

主に以下のような誤差があると考えられています。

誤差要因 誤差量 内容
衛星軌道 ~10m 衛星の軌道を計算するためのパラメータ精度(エフェメリスのこと)
衛星クロック ~3m 信号経路差による電波の遅延によるもの
電離層遅延 ~10m 電離層を通過するときに速度変化が生じるため
対流圏遅延 ~0.5m 対流圏を通過するときに速度変化が生じるため
受信機 ~0.5m 受信機内部での、機械的な誤差(通常の工業製品全てにあるもの)
マルチパス ~10m 反射した電波を受信してしまうことによるもの

中でも分かりやすいのが、表の一番下の行にある「マルチパス誤差」です。

電波特性としての「反射」により本来欲しいはずのものではないGPS電波を拾ってしまうのがマルチパス誤差です。経路(パス)が1つではない(マルチ)ということですね。

マルチパス誤差を含め、その他の誤差要因の模式図は以下のようになります。

multipath

この辺りの誤差に関しては、受信機側の開発や測位方式の検討などで対応することが多いようです。物理的な現象は必然なので、抑えるというより視点を変えるようなアプローチが向いていると言えるのでしょう。

「マルチGNSS」

以上のような諸々の誤差への対策として、今までに何度も話に出ているような複数の衛星を利用するものが挙げられます。

「マルチGNSS」という言葉は上でも登場していますが、意味はそのまま、GNSSの一部であるそれぞれの衛星システムを複数使うというものです。

gnss-route

冒頭でも載せた画像ですが、このように現在では地球のまわりにたくさんの衛星が回っている状態になっており、建造物の高層化、複雑化に伴う測位精度の低下を防いでいます。

衛星から実際に情報を取り出す仕組み

さてここからは、「衛星から時刻と衛星自体の現在位置が送られてくる」とは言うものの、実際にはどういうフォーマットでデータが送られてくるのか少し中を見てみることにしましょう。

GPS電波に乗っているデータ

GPSの電波にはC/Aコード航法メッセージというものが含まれています。

C/Aコードが時刻(擬似距離)の算出に使われ、航法メッセージから衛星の絶対位置を算出します。

C/Aコードから電波到達時間を求める

C/Aコードとは、0と1の2進数で表されるデジタル符号パターンで、1023ビットで成り立っています。

衛星ごとに固有のコードを持っていて、GPS時刻(衛星が持っている原子時計による正確な時刻のこと)のクロックと同期して1ビットずつ生成されます。つまり1023Mbpsということです。

isou

あとは簡単ですね。送信した位相と受信した位相を比較して、同じ周期のある点で時刻差が算出できますから、それに電波速度を積算すれば無事距離が得られるというわけです。

航法メッセージから衛星の絶対位置を求める

こちらは衛星の位置を知るための計算です。

航法メッセージには、決まったビット長/フォーマットで色々な情報が乗せられてきます。主には各300ビットの情報が5セットの1500ビット長、それが25セットというような構成です。

kouhou-message

このように、「フレーム」という単位で航法メッセージは生成されています。メインフレームが1500ビットあるのに対して、サブフレームは各300ビットです。

また、それぞれのフレームが送信に要する時間もポイントです。1つのメインフレームが30秒必要(50bps)なので、25セットすべてを送るには12分30秒必要になってしまいます。ここも受信機側での工夫が必要なポイントですが、この項の趣旨とはずれますので割愛とさせていただきます。

kidou

さて、衛星はこのように僅かに高次曲線を描きながら周回していますので、この軌道関数が分かれば任意の時刻から衛星の絶対位置が求められそうです。

というわけで、前段のサブフレーム2と3の「エフェメリス」と呼ばれる軌道情報を利用します。約2時間の間有効なこのデータから、軌道関数に代入する形で衛星の絶対位置を求めます。

以上の2つで、カーナビが現在位置を取得するのに必要な情報をすべて得られることとなります。

おまけ「SBAS」

GPSに関するお話は以上で一応一区切りかと思っていますが、おまけとして最近のGPS事情について少し付記しておきます。

様々な測位方式

houshiki

距離の単位は精度を示しています

上図は様々な測位方式の分類を示すものです。色々な技術があるのが分かりますね。

今回説明したものは「単独方式」と呼ばれるもので、シンプルな考え方そのもといったイメージです。最近のカーナビによく使われているのは「広域DGPS」と呼ばれる「SBAS」を利用したものです(もちろん一概にこれだけという単純な状況ではありません)。

SBAS

もともとは航空機での精度向上を目的とした、「静止衛星型衛星航法補強システム」で、Satellite Based Augmentation Systemの略称です。

これも前述した GNSS ⊃ GPS,GLONASS などの関係と同じように、SBASという総称の中に各国の補強システムが存在している構図です。ちなみに日本のものは「MSAS」と言います。

米国 WAAS(Wide Area Augmentation System)
ロシア SDCM(System for Differential Corrections and Monitoring)
欧州 EGNOS(European Geostationary Navigation Overlay Service)
中国 CNSS(Compass Navigation Satellite System)
日本 MSAS(MTSAT-based Satellite Augmentation System)
インド GAGAN(GPS Aided GEO Augmented Navigation)

ポイントは「静止軌道衛星を利用する」という点で、いつも高い仰角で地上から観測できることに強みがあります。今のカーナビでは対応しているものはかなり増えてきました。しかもおもしろいことに、この国リストもGNSSのものと全く同じ構図になっていますね。

ちなみに、先程の分類図でも注釈している通り、そもそもの測位方式の違いにより準天頂衛星システムの「センチメートル級測位補強サービス」(CLAS)とSBASに直結した関連はありません。

まとめ

思ったより長くなってしまいました…。が、スマートフォンなどでも普段身近に使っている機能にも関わらず、具体的なイメージが湧いていない方は多かったと思いますので、かなり楽しく読んでいただけた方ではないでしょうか?

この記事でも言っていますが、技術的な仕組みを知ることによってより良い買い物に繋がることが十二分にあり得ますので、興味を持って調べてみるといいと思います。

たしかに調べればネットでも細かい情報は載っているのですが、いかんせん体系的にまとまっていないので読む気が失せますよね。これからもそういった情報を簡潔に分かりやすくまとめられる記事の執筆に努めてみます!

それでは。

みるみ
みるみ

ブロガー、ソフトウェアエンジニア。

数百人分の車/カーナビ/取り付け事情を見てきた元カーナビ販売員。どこよりも詳しいカーナビ情報を書いています。

この記事へのコメント
コメントはまだひとつもありません :)

新しいコメントを書く

  • 必須項目はコメント本文のみですが、お名前はぜひご記入いただけると嬉しいです。
    ※メールアドレスを書いた場合も公開されることはないのでご安心ください。
  • 特定のコメントに返信したい場合は各コメントにある「返信する」ボタンからどうぞ。
  • コメントはこちらで承認の作業を行うまでは表示されません。ご了承ください。
    ※ここ数年スパムが激化しており、誤って削除されてしまうケースが増えてきました。スパムボックスも毎日自分の目で確認するようにはしているのですが、どうしても限界があります。確実に僕に連絡を取りたい方は メールTwitter からお願いします。