« Python ブラウザとエディタの連携、 パラメータ引き渡し編 | トップページ | どういう意味かなあ、、Charanger.. »

2009年5月19日 (火)

Python 時刻セットアプリ PySetClock更新 と誤差の話

2009-05-19(火)曇り

 それほど必要ではないと言いつつ、いじり回してバージョンを2つほど更新しました。

 モジュールは例によって「Pythonスクリプト雑記」の「16.時刻合わせスクリプト 」に載せました。

 今回の変更は、下記を入れました。

001_1 が
  ・回線のディレイの補正を入れた。
  ・正常時のログに各種時刻値を追加した。

001_2 が上記に加えて更に
  ・設定ファイルに、時刻補正値を書くことができるようにした。

 即ち、なるべく誤差を少なくしようというものです。回線のディレイの補正はHiisiさんのPyNTPを参考にさせていただきました。これは、ディレイを計算して自動的に補正するものです。
 何日かログで見てみましたが、実際は補正に影響するほどの遅延は無いようです。大体60ミリ秒ぐらいですから、秒単位のセットでは影響しません。

 設定ファイルに入れる時刻補正値は、原理的に発生する誤差を少しでも補正しようとするものです。

 ログは、これらの値を見てみようかというために入れてみました。こんな感じになります。

Sscx0483


誤差について:

タイムサーバから時刻データを取得してセットしますが、原理的に0~2秒弱の遅れが発生します。「2秒弱」は正しくは「1秒強」かもしれませんが、表示の上では2秒の遅れに見えるときがあります。
 これは、タイムサーバの時刻取得方法は不明なのでさておいても、タイムサーバからの時刻データは秒単位、携帯電話での時刻セットも秒単位、の2点からどんなに頑張っても0~2秒近く(1秒強?)の遅れが出るわけです。携帯電話の中での扱いによっては若干進むこともあるかもしれません。即ち、時刻セット時に、タイマの小数点以下の部分もリセットされるのか、前の値の延長でカウントしてゆくのかで変わります。

 と言うことで、強制的に0.5秒ぐらい足し込んで、誤差を -0.5秒~0.6秒(ぐらいか)にしたいなということで、足し込む値を設定できるようにしました。

 まあ、今の方法(タイムサーバから取得してセットする)をとる限り、それほど神経質になっても仕方がないのですが、、。

 

|

« Python ブラウザとエディタの連携、 パラメータ引き渡し編 | トップページ | どういう意味かなあ、、Charanger.. »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« Python ブラウザとエディタの連携、 パラメータ引き渡し編 | トップページ | どういう意味かなあ、、Charanger.. »