« ◇自動GPS-システム時計強制同期 | トップページ | ◇GPS,GPS+PPSを使うNTPサーバの調整 »

◇GPS,PPSとインターネット上のNTPサーバの比較

シリーズ「GPS-NTP」

 GPS、GPS+PPS、インターネット上サーバ比較

3台のRaspi3でそれぞれ

を参照する形でntpdを動かし統計logを取ってみました。

offset値は大体

・GPS20ミリ程度の精度
・GPS+PPS5マイクロ秒程度の精度
・ntp.nict.jp10ミリ程度の精度

となりました。(あくまでマシン時刻とのずれです。実時刻に正しく合わせるには設定の追い込みが必要です)

それぞれの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使用)を載せます。

グラフ2-1:GPS,GPS+PPS,nict

raspi01(GPS)のみ値がかけ離れていますので、raspi02(GPS+PPS)とnict(標準サーバ)のみのグラフを載せます。

グラフ2-2: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使用)を載せます。

グラフ3-1:GPS,GPS+PPS,nict

グラフ2-1程ではありませんが、やはり、 raspi01(GPS)のみ値がかけ離れていますので、raspi02(GPS+PPS)とnict(標準サーバ)のみのグラフを載せます。

グラフ3-2: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
グラフ4-1:GPS機でGPSとNICT比較

大体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
グラフ4-2:GPS/PPS機でPPSとNICT比較

GPS+PPS機ではGPSの値ではなくPPSとNICTの差を見ます。
おおよそ0.3ミリ程度となっています。

 GPS,GPS+PPSを用いたNTPサーバの絶対時刻の調整法

次の記事で述べることにします。

|

« ◇自動GPS-システム時計強制同期 | トップページ | ◇GPS,GPS+PPSを使うNTPサーバの調整 »

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/489055/72247122

この記事へのトラックバック一覧です: ◇GPS,PPSとインターネット上のNTPサーバの比較:

« ◇自動GPS-システム時計強制同期 | トップページ | ◇GPS,GPS+PPSを使うNTPサーバの調整 »