GPSロールオーバー

 個人的な話をしますが、 「ロールオーバー」で思い出すのは、ペットへの掛け声です。だいぶ昔にホームステイさせてもらった、ハワイ島ヒロ市のヨネモリ家の飼い犬、たしかテリア系の小型犬でした。名前は忘れてしまいましたが、その彼(オスだった)は、"Roll over!"の掛け声で手指をぐるっと回すと、身を投げ出してゴロリと1回転しドヤ顔で報酬を要求してきました。求めに応じ、何度でも。私が高校生だった1980年代の始めの頃の話です。

 

 唐突に話は変わります。全人類に降り注ぐロールオーバーの話です。日本時間の2019年4月7日、人類は歴史上2度めとなる「GPS週番号のロールオーバー」を経験しました。

 

  GPSは独自の時刻体系(GPS時)で時刻を管理しており、そこでは「週と秒」だけで時刻が表現されています。そしてGPS時の週番号(WN=Week Number) に割り当てられているのは10ビット分、つまり最大でも1024週までしか数えられません。

カウント開始から1024週で、週番号の2進数表現は、1が10個連なる"11 1111 1111"から繰り上がって(繰り上がれなくて)"00 0000 00 00"に戻ります。この GPS Week Number Rollover を、「GPSリセット」と表現するメディアもあったようですが、同じ事象をさしています。

 

 新元号「令和」の発表(4月1日)と時期が重なったのは、たまたまです。

 

 1回目のロールオーバーは、GPS時の起点である1980年1月6日から数えて1024週後の1999年8月22日に起きました。ノストラダムスの恐怖の大王が来るとか来ないとか言ってた頃のことです。1度は経験した想定内の事象であるのに、影響が懸念されていたのは、

 

 1)位置と時刻を受け取った側のシステムで情報の不整合が起きるのではないか。

 2)以前よりはるかに多くのシステムで、GPSによる高精度の時刻情報が利用されている。

 

などの理由があったからではないかと思います。

 

 ちなみに2度めのGPSロールオーバーが起こった正確な時刻は、うるう秒の処理が伴うため、日本時間で4月7日午前8時59分41秒から42秒(UTCで4/6 23:59:41~42)でした。ここらあたりの事情はこちらの記事に書いています。

 

 また、現時点(2022年3月7日)の週番号は通算で第2200週ですが、GPSの測位信号にはWN:152(2進法で00 1001 1000)と記されているはずです。

 

なぜ10BITしか割り当てなかったのか

 

 そもそも、測位に利用されるのは、機上時刻と受信機時刻の差分から求められる「電波の到達時間」、すなわち「衛星から受信機までの距離」の情報です。なので測位に限って言えば、実は絶対時刻は必要ないはずです。現在のように時刻問題も起こりようがないはず。

 

 GPSの設計者たちが週数カウントに10bitしか割り当てなかったのは、他にもっと伝えるべき情報がたくさんあり、時刻情報の重要性は相対的に低かったからではないでしょうか。本来の目的である「測位」にはそれほど大きな影響は与えないはず、だったからです。

 

 先に紹介したGoogleでの講演後の質疑応答でDr. Parkinsonは、「ロールオーバーは予測できたはずなのに、なぜ週番号に10bitしか割り当てなかったのか?」という聴衆からの質問に苦笑しつつこう答えています。

 

「測位に必要な情報は、わずか50bps(注:テレックスと同等の通信速度)で送信されている。見えている衛星だけでなく、見えていない衛星もすべてだ。ここは理解してもらいたいが、これはまさにマジックだった。ただ正直、遠い将来のことまでは考えていなかった」

--- GPS For Humanity | Dr. Bradford Parkinson | Talks at Google

 

 今回のロールオーバー後にTwitterのハッシュタグ #gpsrollover をさらってみましたが、大きな問題があったようには見えませんでした。「俺のGarmin、1999年に戻ってるよw」とかありましたが、これは不具合報告というより、クラシックGPSデバイスの大自慢大会、Geekの習性みたいなものではないでしょうか。ロールオーバー前には米国政府のGPSポータルサイト、GPS.GOVにカウントダウンタイマーが表示されていました。その数値も無事ゼロとなり、その後タイマーも消え去っています。

 

 

他のGNSSでは

 

 ちなみに他の衛星測位システムでも「週と秒」のみでの時刻表現は変わりませんが、週数への割当ビット数が増やされ、ロールオーバーのサイクルも長くなっています。

 

 欧州のGalileoでは、GPSの最初のロールオーバーがあった、1999年8月22日を起点とし、週数の表現に12bitを割り当てています。起点から4096週後、すなわち2078年2月20日までは繰り上がりなしに週数をカウントできます。うるう秒についてはGPSと同じく、UTC(協定世界時)との差が何秒分あるかの情報を別立てで送信しています。

 

 中国のBeidouは2006年1月1日を起点とし、週数カウントには13bitが割り当てられています。起点から8192週後の2163年1月2日まで心配(?)ありません。うるう秒は別立てではなく、中国が管理するUTCに同期した時刻情報を送信しています。

 

 ロシアのGLONASSも、うるう秒の処理は同様で、UTC(SU)+3 という自国で維持管理するUTCに3時間を加えた、モスクワ時間を放送しています。ちなみにSUとはSoviet Unionの頭文字。歴史の遺物がこんなところにも残っていました。

 

 GPSは今後、L1Cなどの新たな信号体系で週番号により多くのビット数を割り当てており、日本のみちびきもこれに合わせています。週番号を13bitで表現するので、最初に戻るのは8192週後。起点である1980年1月6日から数えると、西暦2137年に最初のロールオーバーがやってきます。不思議なことにその日付は、起点と同じ1月6日となるようです。

 

初出:note「GPSロールオーバーと、その後の話( 2019-04-17)」を改稿