先月末に珍しいGPS異常が発生していたらしいのですが、調べてみたところテスト稼働中の自作GPSDOがそれらしき現象を捉えていました。せっかくなので現状わかっていることをまとめておきます。
昨年実験していたGPSDOを試験のつもりで長期稼働させています(単に放置してあるとも言う)。DOCXOをMCUとDACで制御しているのですが、単に周波数生成させているだけではなく、その動作状態を毎秒出力してUSB経由でRaspberry Piにロギングしています。この状態で既に3ヶ月ほどが経過しています(raspiは意外と安定して動作します)。
先日ツイッターでGPS Anomaly(異常)のニュースを目にしました。GPS衛星SVN23の退役に伴う操作で、ソフトウェアのトラブルがあり、設定された時刻(UTC)が13マイクロ秒ずれるという事故が生じていたのだそうです。
もしかしたらGPSDOのログにも何か記録されていたかもしれないな、と思い出してログを調べてみたところ、それらしき痕跡が見つかりました。
下のグラフはDOCXOを制御するDACの制御値です。安定状態ではほとんどプラマイ1の変動しかありません。昨年末にロールオーバしたログですが、そこから1ヶ月近く非常に安定していた状態を保っていました。
ところが1/26とその前後で大きな変化が見られます。1/23,25にも短い外乱が見えます。
1/25〜26の部分を拡大してみます。時刻はUTCです。
NAVCENのニュースリリースによると、MST(米国山岳時間)で1/26 12:49AMに本件を認識(リリース文ではverified)、6:10に解消とあります。MSTとUTCとの差は-7:00ですので、UTCでは1/26 07:49〜13:10です。赤ラインでマークした部分がそれに相当します。たしかにその箇所は、特に大きく繰り返し乱れが生じています。
しかし、乱れはその手前から生じています。また1/25、1/23にも一発ずつですが乱れが見えています。リリースに記された日時が事故が生じた時刻とは言い切れないので判断つきかねていますが、果たして観察された乱れがGPS Anomalyに由来するものなのか証拠が無くなんとも言えません。が、可能性は高そうと考えています。
13μsという時刻のズレはわずかに見えますが、距離にして4km程に相当します。10MHzでは130カウントにもなります。今回の事象が、GPSモジュールの動作、特にPPS信号の出力にどんな影響を及ぼしたのか、興味あるところです。
[追記]
安定動作している状態ではOCXOのカウント値はほぼ全てが9999999~10000001の範囲に納まります。改めてログファイルを確認してみたところ、カウント値が外れている箇所がこれだけありました(2カラム目をawkで判定して抽出)。多くの箇所で見事130カウントずれています。PPS信号が13マイクロ秒前後するという現象が、下記の時刻で発生していたようです。最初の1~2usecのずれは原因不明ですが、1/26 01:06以後については、13μsec進んで戻ってを9時間の間に9回繰り返していたことが判ります。
20160125T121919 9999988 3101 0 0
20160125T122238 9999919 3090 0 0
20160126T010609 9999869 3099 0 0
20160126T013109 10000131 3099 0 0
20160126T034839 9999870 3099 0 0
20160126T041339 10000130 3096 0 0
20160126T050339 9999871 3101 0 0
20160126T052839 10000130 3103 0 0
20160126T054109 9999870 3094 0 0
20160126T055339 10000130 3104 0 0
20160126T061839 9999870 3102 0 0
20160126T063109 10000130 3101 0 0
20160126T073339 9999871 3100 0 0
20160126T074609 10000130 3090 0 0
20160126T075839 9999869 3096 0 0
20160126T081109 10000130 3093 0 0
20160126T082339 9999869 3092 0 0
20160126T092609 10000130 3099 0 0
20160126T104109 9999870 3100 0 0
20160126T120839 10000130 3100 0 0
MeinbergのレポートによるとUTCとgpstimeのオフセットが13.7μsecずれたということです。上記ログで生じていた差分が137ではなく、きっちり130カウントなのが気持ち悪いところですが、ublox lea-7tのPPS出力の特性なのでしょうか。
またGPSモジュールの設定で、PPSの基準をUTCにしてあったのですが、これをgpstimeに設定してあったならば影響を受けなかった可能性があります。もしかすると周波数標準として使うならgpstimeに設定する方が良いのかもしれません。
[追記終]
ちなみにGPSDOは2台テスト稼働させています。上のグラフはDOCXOを使ったものでした。別のもう一台はシングルオーブンのOCXOで、グラフはこんな感じになりました。安定性は決定的に差があり、大きく下がっています。全体に大きく揺れているので、はっきりとは見えませんが、GPS異常が発生していた日時付近で揺れが激しくなっているような気がします。
このような観測をするためにGPSDOを作って動作させていたわけでは無いのですが、おもいがけず興味深い観察ができました。ログしつづけていると、こんなイベントにも出くわすことがあるんだなぁというお話でした。
リファレンス
-
USCG Navigation Centerのニュースリリースhttps://www.navcen.uscg.gov/pdf/gps/AirForceOfficialPressRelease.pdf
-
この件を報じる(なぜかオーストラリアの)ITニュースサイト https://www.itnews.com.au/news/satellite-failure-caused-global-gps-timing-anomaly-414237
-
最初にレポートしたのはフィンランドの天文台だそうです。水素メーザ(HM)との比較グラフがあります https://blogs.aalto.fi/metsahovi/gps-kellonajan-outo-hyppays-huomattiin-metsahovissa/#.VrNp1mR962x
-
Meinbergのレポート https://www.meinberg.de/download/docs/Meinberg_Technical_Report_GPS-Anomaly-2016-01-16.pdf
-
FSMLabsのレポート https://www.fsmlabs.com/news/2016/01/27/anomaly.html
-
time-nutsのスレッド https://www.febo.com/pipermail/time-nuts/2016-January/095752.html