2012-07-01 9 views
23

Google's Leap Second Smear Techinqueポストで述べた式を飛躍数学は、第二のスミア式

lie(t) = (1.0 - cos(pi * t/w))/2.0 

この背後にある数学の記載はありません。誰かが数式がなぜ機能するのか説明できますか?これは、ウィンドウ上で時間を徐々に同期させ、急なジャンプを避けるような状況でも使用できますか?

+1

どのようなばかばかしいソリューション!私は、Googleが時間を心配し、TAIやGPS時間などのうるう秒を持たないタイムスキームを使用するほとんどの人々をなぜ単にしなかったのか不思議です。 –

答えて

40

これは、cos(x)のグラフが時間とともに滑らかに変化するために機能します。それは非線形に変化するが、突然変化しない。

w = 86400のウィンドウで汚れているとします。ここで嘘がt = 0からt = 86400にあるものです:1日の始まりに向けて

Graph of lie(t)

、私たちが言っている嘘は非常に小さいです。あなたが報告している時間(t + lie(t))は、リアルタイムが(t)であるべきものとほぼ同じです。あなたが報告している汚れた時間も、時間とともに非常にゆっくりと変化しています。理想的には、実際の1秒ごとに1秒が経過したことを報告する必要があります。塗抹時間で、何を代わりに参照することである:1日の中央に向かって

Change in smeared time

、我々は最大の変更を参照してください。しかし、これらの変更は10^-5の順です。彼らは、スミアした時間を受け取った人が何かが間違っているとは思わないほど十分に小さいです。正午には、より速くスミアした時間がどのくらい速く動いているかの違いをマイクロ秒で話しています。

Googleでは、をゆっくりとに変更して、ローカル修正を行わないようにしたいと考えています。彼らが突然時間を1秒ずつ変えた場合、ローカルの修正が行われる可能性があります。ブログの投稿からは、一般的に非常に悪いことが起きるようになっているようです(つまり、休憩)。

1つのことは、1日のうちに飛躍的に飛躍している可能性があることです。一年以上かかるかもしれません。その場合、変更はさらに小さくなります。この場合、日々の変化はナノ秒のオーダーです。

実際の数学について知りたい場合は、その部分はあまり面白くありません。 cos(x)は[-1、+1]で囲まれています。 x = 0にはcos(0) = 1があり、x = piにはcos(pi) = -1です。値t/wは、t = 0 ... wから0から1まで直線的に増加します。したがってcos(pi * t/w)は、+1からt = 0に、-1t = wに変更されました。残りはこれに従います。

cos(x)の周期的な性質は、実際には非常に重要です。 lie(t) = t/wのようなものを使用するだけでは選択できません。もしそうであれば、その嘘は常に時間の経過とともに増加するでしょう。うるう秒は、毎秒1/wの割合で積み重なり続けます。 cos(x)は、-1+1の間で振動するという特性を持っています。

+1

あなたはupvotes以上の価値があります。 – Pacerier

+3

私は線形補正を使用することに関して最後の部分に同意しません。それは滑らかではなく、実際には問題を引き起こす可能性がありますが、時間が終わっても一定の出力でシステムを置き換えるだけなので、うそは永遠に増加しません。また、 'cos'と同じです。うるう秒が渡されると、うそは正確にゼロになります。 – meneldal

2

私はちょっと推測します。

COS()の範囲内の値を出力-1 +1 にCOS -1であるときに、最大の嘘であろう、なぜなら

(1.0 - -1)/2 == 1.0 

及び分COSが+1

とき
(1.0 - 1)/2 == 0.0 

0.0は "no lie"に適した値であり、1.0は "うるう秒"に適した値であることに注意してください。 、pi * t/w

はHERESに関数のプロットは、あなたはそれが0 enter image description here COSに引数を計算するために使用される発現用として

1.からいいとスムーズな段階的な移行を持って見ることができます関数が-1から1に遷移する速度/間隔を変更するものと考えることができます.tを大きくすると遷移が速くなり、wを大きくすると遷移が遅くなります。

彼らは、倫理的な閏秒が適用されるまでの時間の窓だと言いました。その後、tはいくらか増加する可能性があります。