GPS。
カーナビやスマホに使われている、現在地を特定する技術のことですよね。
運転中のナビ機能や位置情報を使ったゲームなど、もう私たちの生活には無くてはならないものの一つになっています。
そうなると気になってくるのが、いったいGPSはどんな仕組みで現在地を特定しているのかについてです。
このページでは、そんなGPSの仕組みについて詳しくお話していきます。
なるべく数式は使わず、イラストで直感的に分かるように記事を書きましたので、ぜひ最後まで読んでみてくださいね(^^)
目次
GPSの仕組みの概要
それでは早速ですが、まずはGPSの仕組みを一言でお伝えしたいと思います。
こちらです。
地球を周回している4個以上のGPS衛星の電波を受信して、現在地を割り出している。
そうなのです。
何となくはそのような気がされていたとは思いますが、GPSは地球を周回しているGPS衛星からの電波によって現在地を特定しているのです。
しかし、衛星からどんな情報の入った電波を受信しているのか、なぜ4つ必要なのか、まだまだ疑問に思うことがたくさんあります。
そこで次の章からは、GPSの仕組みをさらに深堀りしていきたいと思います!
GPSの位置特定の仕組み
ここからは、GPSで位置が特定できる仕組みを、イラストを用いながら詳しく説明していきます。
いきなり3次元の本物の地球について考えるのは少し難しいので、この章では世界の次元を1つ落として、平面世界にある2次元地球で、受信できる衛星の数によってどのくらいの精度で位置が特定できるのかを考えてみたいと思います。
ここでは、下記の二人の登場人物のやりとりを眺めながら、GPSの仕組みを見ていきます。
いち子ちゃんは、元気で活発な女の子。ちょっと高飛車なのが球にキズ。
スマホ君は、いち子ちゃんの持っているケータイ電話。人間みたいに、普通にしゃべることができる高級?機種。
さあ、この二人と一緒に、GPSの仕組みを追いかけていきましょう(^^)
2次元地球で衛星が1つのとき
まずは、2次元地球において、衛星が1つのときにどのくらいの精度で位置が分かるのかを見ていきたいと思います。
いち子ちゃんとスマホ君
さてここで、GPS衛星を1つか見つけられなかったスマホ君が、どこまで位置を特定できるかを見ていきます。
このとき、スマホ君が衛星から受信するデータは、下記のようになります。
衛星Aからは、10時ピッタリに電波が発信されました。
そしてその電波には、衛星Aが電波を発信した時間と、その時の位置情報が入っています。
スマホ君が電波を受信できると、その2つの情報が正確に分かります。
このとき、衛星Aとスマホ君の時間が完璧にあっていれば、光速×時間で衛星との距離も分かるのですが、残念ながら時間がピッタリ合っている確証は無いので、衛星までの距離は不明です。
そのため、衛星が1個の時にスマホ君が分かる正確な情報は、下記の3点になります。
- 地球の位置情報(予め地図データとして登録されている)
- 衛星Aの位置情報
- 衛星Aの電波が、受信できたという事実
いくら活発ないち子ちゃんといえども、さすがに宇宙空間に旅立っている可能性は排除できるので、この3つの情報から割り出せる情報は「地表で衛星Aの位置から電波を受信できる場所」というレベルになります。
イラストにすると、このような感じです。
うーん、これではとても、現在地が特定できたとは言えないですね。
いち子ちゃんとスマホ君
2次元地球で衛星が2つのとき
2次元世界でも、衛星が1つだと現在地の特定はできないことが分かりました。
では、衛星をもう一つ増やして、2個だったらどこまで特定できるかを見て行きたいと思います。
いち子ちゃんとスマホ君
それではここで、GPS衛星を2個見つけることができたときに、スマホ君が受信したデータの様子を見て行きましょう。
こちらです。
衛星Bも同じように、電波を発信した時間と自分の位置を送信しています。
そしてGPS衛星にはとても正確な時計が使われていて、全ての衛星の時間が同じになるように調整されています。
これは、衛星Aと衛星Bの時計の10時は、確実に同じ時間と言えることを意味します。
このとき、スマホ君は衛星Bの位置情報が追加で分かるのはもちろんですが、もう一つ、超重要な情報を得ることができます。
それは、衛星Aと衛星Bの電波を受信する時間差です。
この時間差は、スマホ君の時計が衛星の時間とどれだけずれていても関係ないので、正確な情報としてしっかりと分かるのです。
そうすると、スマホ君が受信するタイミングがずれる理由は、衛星Aと衛星Bの距離の差だけということができ、その距離は「光速×時間差」という形で計算できるのです。
※光速については別ページで詳しくお話していますので、興味のある方はこちらにも遊びにきてくださいね。
つまり、この計算結果が300kmだとしたら「現在地は衛星Aの方が衛星Bよりも300kmほど近い場所」ということが特定できるのです。
言葉だけだと分かりにくいので、宇宙空間でその位置になる可能性のある場所を図示してみたいと思います。
こちらです。
このように、衛星Aと衛星Bを直線で結んだ線上で300kmほど衛星Aに近い点から、衛星Aと衛星Bの垂直二等分線に遠くなればなるほど滑らかに近づいていく曲線になります。
そしてこの線の中で、電波が受信可能な範囲で地表と交わる箇所は、何とたった一ヵ所!
これは、衛星が2つあれば、地表のどのポイントにいるのかが分かることを意味しています。
そしてスマホ君がそのポイントと自分の持っている地図情報を比較してみると、そのポイントにあったのは「東京スカイツリー」。
つまり、いち子ちゃんは今、東京スカイツリーにいるということが分かります。
2次元世界では、衛星2個でかなり正確な位置が分かるようになりました。
いち子ちゃんとスマホ君
まだ2次元地球で衛星が2個だと、かなり良い線までいきましたが、いち子ちゃんの指摘通りまだ高度が特定できません。
あともうちょっと、スマホ君にがんばってもらうことにしましょう。
2次元地球で衛星が3つのとき
2次元地球のとき、衛星が2個だともうちょっとだけ数が足りなかったので、あと1個増やして3個だとどうなるか考えます。
いち子ちゃんとスマホ君
何とか、3つ目の衛星を見つけることができたスマホ君。
このとき、スマホ君のデータ受信状況は下記のようになります。
さらにもう一つ、衛星Cの位置情報と、衛星Cから届く電波の時間差が分かります。
そして東京スカイツリーの高さ方向の中で、衛星Cの位置からこのタイミングで電波を受信できる位置は1つしかなく、それを計算すると現在地が高度450mであることが分かりました。
こうしてスマホ君は、見事、高度まで含めて完ぺきに現在地を特定することができました!
いち子ちゃんとスマホ君
スマホ君、GPS機能を使って現在地が特定できることを、無事にいち子ちゃんに証明できて良かったですね(^^)
ただ、そのせいで、いち子ちゃんから今後めちゃくちゃこき使われることになりそうですが(笑)
本物の地球は3次元なので、衛星が4ついる!
前章では2次元地球でGPSの仕組みのイメージを説明しましたが、この最後の章では本物の地球、私たちが住んでいる3次元の世界での場合をお話します。
衛星の数と現在地の特定(3次元)
2次元の世界では、現在地の座標となる( x, y )の2つの位置を決めるのに、3つの衛星が必要でした。
それが3次元になると、現在地の座標を特定するには( x , y , z )の3つの位置を決めなければなりませんので、必要な衛星の数が1つ増えて4個になるのです。
そして、その時の衛星の個数と、特定できるポイントの関係は、下記の表の通りとなります。
受信できた衛星の数 | 位置の精度 | 実用性 |
---|---|---|
1個 | 地表のとある範囲 | 使い物にならない |
2個 | 地表のとある線 | 使い物にならない |
3個 | 緯度・経度特定 (高度は不明) | まあまあ使える (2次元測位) |
4個 | 緯度・経度・高度 全て特定 | めっちゃ使える! (3次元測定) |
※緯度経度とは何かについては別ページで詳しくお話していますので、興味のある方はこちらにも遊びにきてくださいね。
また、分かりやすくイラストにすると、このようになります。
2次元のときと比べると、衛星1個のときの範囲が面になっていますが、そこから先が線→地表の1点→高度まで特定という流れは、2次元のときと一緒ですね。
だから、GPSで現在地を特定するのには、4個の衛星が必要だったのですね。
しかし逆に言えば、衛星が3個しか見つからなくても、緯度経度までなら特定できるという言い方もできます。
海抜0m地点に必ずいる海の上の船ならば、これだけでも十分と言えるくらいですよね。
そして、実際にこの方法は電波の受信状況が悪いときなどに使われており、その手法は「2次元測位」と言われています。
実際の計算方法
これまでは、GPSの位置特定の仕組みのイメージをお伝えしましたが、最後に、実際にはどのような計算が行われているのかをお伝えします。
実際に計算をするときには、GPSの数を一つずつ増やしながら、現在地のポイントを絞っていくというようなまどろっこしいことは行いません。
受信した衛星4個の受信データから、4本の連立方程式を作って、それを解くことによって現在地を特定しています。
答えを出さないといけない変数は、現在地の座標である( x , y , z )の3点と、衛星と受信機との時計のずれとなるΔtの4つです。
変数が4個あるので、連立方程式が4本無いと、答えが出せないのですね。
このように、GPSでは現在地を特定するときに衛星との時計のズレも答えとして出さないと分からないので、現在地が分かると同時に、正確な時間もおまけで分かります。
この時の時間は100万分の1秒とかそのくらいのレベルで正確に分かるのですが、残念ながらそこまで正確な時間が分かったからと言って特に嬉しいことはないので、あまり表には出てこないのですね。
また、受信できる衛星の数が増えれば増えるほど計算の誤差を少なくでき、より精度の高い現在地を特定できるようになります。
まとめ
以上で、GPSの仕組みについての話を終わります。
まとめると、下記の通りです。
- GPSは、GPS衛星からの電波を受信することで位置を特定している
- GPSが発信する電波には、発信時刻と自身の位置情報がある
- GPS衛星の時計は、全ての衛星で同じになるように調整されている
- GPS衛星と受信機の時計はずれている可能性がある
- 現在地を特定するためには、4つのGPS衛星からの電波が必要
- ただし、GPS衛星が3つでも、緯度経度までなら特定できる
今まで何となくでしか分かっていなかったGPSの位置特定の仕組みを、バッチリ分かることができました!
これからの人生、カーナビや位置情報ゲームなどでGPSのお世話になることは多々あると思いますが、どんな仕組みで現在地を特定しているのか思い浮かべながら使うと、より面白くなるかもしれませんね(^^)
編集した本が出版されました!
この度、私(星野なゆた)が編集として入らせて頂いたKindle本「食べたい!がとまらない とろけて香る茄子麻辣のおいしい秘密:日本初!常温保存できる瓶詰め麻婆茄子商品開発ストーリー(賀川元史著)が出版されました!
すでに読んでくださった方からは大好評を頂いています。ナスが好きな方は、ぜひ読んでいただけたら嬉しいです(^^)