◇GPS,PPSとインターネット上のNTPサーバの比較
シリーズ「GPS-NTP」
- ◆Raspi3でGPS-NTPサーバ
- ◇電波時計用NTPリピータ
- ◇GPS+PPSでNTPサーバを立てる
- ◇自動GPS-システム時計強制同期
- ◇GPS,PPSとインターネット上のNTPサーバの比較〇
- ◇GPS,GPS+PPSを使うNTPサーバの調整
GPS、GPS+PPS、インターネット上サーバ比較
3台のRaspi3でそれぞれ
- GPS(SiRF):「◆Raspi3でGPS-NTPサーバ」
- GPS(NMEA0183)+PPT:「◇GPS+PPSでNTPサーバを立てる」
- インターネット上のNTPサーバ:ntp.nict.jp
offset値は大体
・GPS | 20ミリ程度の精度 |
・GPS+PPS | 5マイクロ秒程度の精度 |
・ntp.nict.jp | 10ミリ程度の精度 |
となりました。(あくまでマシン時刻とのずれです。実時刻に正しく合わせるには設定の追い込みが必要です)
それぞれのoffset値の変化をグラフにしたものを載せます。ほぼ同時刻に動かしたものです。
グラフ1-1:GPS
グラフ1-2:GPS+PPT
グラフ1-3:インターネット上のNTPサーバ(ntp.nict.jp)
ntp.nict.jpが大きく波打っている理由はまだ良く分かっていません。 raspiマシンに問題があり、マシン時刻が乱れたのかも知れません。
統計情報の出し方とグラフ化
統計情報の出し方、見方
統計情報は/etc/ntp.confで次の設定を行えば出力されます。
# Enable this if you want statistics to be logged. statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable # statsdirをコメントアウトすれば統計情報は出ません
前項のグラフは/var/log/ntpstats/loopstatsの内容を出したものです。
loopstatsは次のような形で1行1セットの情報が並びます。
(1) (2) (3) (4) (5) (6) (7) 日付 時刻 offset 周波数 ジッタ 偏差 学習定数 offset 58071 54689.058 0.011400391 -7.097 0.006020255 0.588866 10 58071 56817.068 0.009532025 -5.902 0.005670042 0.694289 10 58071 57872.057 0.003338737 -5.889 0.005738058 0.649465 10 58071 58897.057 0.001448577 -5.883 0.005408903 0.607522 10 58071 60999.057 0.000058925 -5.876 0.005083365 0.568291 10
/var/log/ntpstats/peerstatsには参照サーバ(複数)の情報が出ます。
1サーバの情報が1行になり、時間を追って複数出力されます。
(1) (2) (3) (4) (5) (6) (7) (8) 日付 時刻 サーバ 状態 offset 遅延 分散 ジッタ 58068 18196.166 192.168.1.14 911a -0.000064133 0.000554140 0.000964838 0.000149721 58068 18210.166 192.168.1.40 9114 1.524592978 0.000634726 0.000967593 0.002581071 58068 18241.170 2001:df0:232:eea0::fff3 912a 0.060476128 0.004975257 0.000992448 0.001509300 58068 18262.166 192.168.1.14 911a -0.000105601 0.000578626 0.000960854 0.000157687 58068 18277.166 192.168.1.40 9114 1.524165149 0.000581607 0.000969467 0.002785561 58068 18310.171 2001:df0:232:eea0::fff3 912a 0.059949831 0.005462833 0.000996843 0.000522200 58068 18330.166 192.168.1.14 911a -0.000118857 0.000610680 0.000973803 0.000141524 58068 18346.166 192.168.1.40 9114 1.524682783 0.000573673 0.000985346 0.002363658 58068 18376.181 2001:df0:232:eea0::fff3 912a 0.055096155 0.015420447 0.000976763 0.005055684
gnuplotでグラフ化する
gnuplotを用い次の手順でグラフ化し、画像をファイルにしました。
$ gnuplot gnuplot> plot "./loopstats" using 2:3 w lp # 画面に表示 gnuplot> set terminal png # 描画先を変更 gnuplot> set out "pi01_2_3.png" # 描画データの出力先設定 gnuplot> replot # 再描画ここでは一旦画面に出して確認した後、ファイルに出力しています。
スケールは自動です。
今回は3つのデータのスケールが大きく異なりますのでそれぞれ別に作成しましたが、
replotで別ファイルを指定することにより一つのグラフの中に重ねることが出来ます。
後の項ではpeerstatsの時刻/offsetを3つのサーバを一つのグラフにしました。
$ grep "192.168.1.40" ./peerstats > ./raspi01stat $ grep "192.168.1.14" ./peerstats > ./raspi02stat $ grep "2001:df0:232:eea0::fff3" ./peerstats > ./nictstat $ gnuplot gnuplot> plot "./raspi01stat" using 2:5 w lp gnuplot> replot "./raspi02stat" using 2:5 w lp gnuplot> replot "./nictstat" using 2:5 w lp
GPS、GPS+PPSサーバを外部ntpdから参照する
ntp.nict.jpを参照していたマシンでGPSによるサーバ,GPS+PPTによるサーバを参照してみました。
/etc/ntp.confでは次の様に記述してあります。
server raspi02.local iburst # GPS(NMEA0183)+PPS 192.168.1.14 server raspi01.local iburst # GPS(SiRF) 192.168.1.40 server ntp.nict.jp iburst
ntpq -pで見ると3つは
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *192.168.1.14 .PPS. 1 u 32 64 3 0.606 -4.625 4.023 x192.168.1.40 SHM(0) 4 u 24 64 7 0.634 1535.98 4.907 +ntp-a2.nict.go. .NICT. 1 u 66 64 3 11.145 53.893 2.469と取り扱われています。
ntpサーバ | 状態表示 | 状態 |
raspi02(GPS+PPS) | *192.168.1.14 | 参照同期中 |
raspi01(GPS) | x192.168.1.40 | ticker検査で, 参照リストから外れた |
インターネット上のサーバ | +ntp-a2.nict.go. | 接続テストに合格し, いつでも参照可能 |
offsetの比較グラフ
3つのサーバのoffsetのグラフ(peerstats使用)を載せます。
raspi01(GPS)のみ値がかけ離れていますので、raspi02(GPS+PPS)とnict(標準サーバ)のみのグラフを載せます。
途中で大きく乱れている理由は分かりません。raspiマシンに問題があり、マシン時刻が乱れたのかも知れません。
ntp.confの調整
グラフ2-2を見ればGPS+PSSとnictの差が60m秒になっていることが分かります。
大きく揺れている部分でもほぼこの差が維持されています。
この差はおそらくGPS+PPSマシンの/etc/ntp.confにおける次の設定のせいだと考えられます。
fudge 127.127.22.0 time1 -0.060 refid PPS stratum 0
多分このtime1 -0.060設定は行ってはいけなかったのです。
信頼できるサーバに接続可能な場合、そのサーバとの差を無くすように調整すべきです。
次の設定を行ってみました。
- - raspi01 GPS の/etc/ntp.conf server 127.127.28.0 prefer minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 -1.480 refid GPS stratum 3 - - raspi02 GPS+PPC の/etc/ntp.conf server 127.127.28.0 prefer minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 0.058 refid GPS stratum 3 server 127.127.22.0 minpoll 4 maxpoll 4 fudge 127.127.22.0 refid PPS stratum 0 # time1削除
ntpq -pで見るとoffsetの差は小さくなっています。
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *192.168.1.14 .PPS. 1 u 106 256 377 0.578 -5.856 0.563 x192.168.1.40 SHM(0) 4 u 187 256 377 0.579 -70.013 1.816 +ntp-a2.nict.go. .NICT. 1 u 210 256 377 4.255 -5.789 0.745
offsetの比較グラフ
調整後の3つのサーバのoffsetのグラフ(peerstats使用)を載せます。
グラフ2-1程ではありませんが、やはり、 raspi01(GPS)のみ値がかけ離れていますので、raspi02(GPS+PPS)とnict(標準サーバ)のみのグラフを載せます。
差は500μ秒程度になっています。
GPS,GPS+PPS機それぞれでNICTサーバと比較する
GPS機およびGPS+PPS機それぞれでNITCサーバを参照し比較してみます。
GPS機
- - etc/ntp.conf 参照部抜粋 server ntp.nict.jp iburst server 127.127.28.0 prefer minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 -1.480 refid GPS stratum 3 - - 状態 $ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *SHM(0) .GPS. 3 l 10 16 7 0.000 -11.269 11.454 2404:1a8:1102:: .STEP. 16 u - 64 0 0.000 0.000 0.000 2404:1a8:1102:: .STEP. 16 u - 64 0 0.000 0.000 0.000 +ntp-a3.nict.go. .NICT. 1 u 17 64 1 4.975 48.112 6.780
大体0.08程度(80ミリ秒程度)の差であることが分かります。
GPS+PPS機
- - etc/ntp.conf 参照部抜粋 server ntp.nict.jp iburst server 127.127.28.0 prefer minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 0.058 refid GPS stratum 3 server 127.127.22.0 minpoll 4 maxpoll 4 fudge 127.127.22.0 refid PPS stratum 0 - - 状態 $ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *SHM(0) .GPS. 3 l 8 16 377 0.000 -8.309 3.970 oPPS(0) .PPS. 0 l 6 16 377 0.000 0.000 0.001 2404:1a8:1102:: .STEP. 16 u - 1024 0 0.000 0.000 0.000 2404:1a8:1102:: .STEP. 16 u - 1024 0 0.000 0.000 0.000 +ntp-a3.nict.go. .NICT. 1 u 49 64 377 4.255 0.324 0.122
GPS+PPS機ではGPSの値ではなくPPSとNICTの差を見ます。
おおよそ0.3ミリ程度となっています。
GPS,GPS+PPSを用いたNTPサーバの絶対時刻の調整法
次の記事で述べることにします。
| 固定リンク