2012-07-01 14 views
23

Công thức đề cập trong bài Google's Leap Second Smear Techinque: Điều biến “lời nói dối” trong một cửa sổ thời gian w trước nửa đêm:Math đằng sau Google nhảy bôi nhọ thứ hai công thức

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

Không có mô tả toán học đằng sau này. Ai đó có thể giải thích tại sao công thức hoạt động. Ngoài ra điều này có thể được sử dụng cho bất kỳ tình huống mà chúng tôi muốn đồng bộ hóa thời gian dần dần trên một cửa sổ và tránh nhảy đột ngột?

+1

Giải pháp ngốc nghếch là gì! Tôi tò mò tại sao Google không chỉ làm những gì hầu hết mọi người quan tâm sâu sắc về thời gian và sử dụng một kế hoạch thời gian mà không có giây nhuận như thời gian TAI hoặc GPS. –

Trả lời

40

Điều này hoạt động vì biểu đồ của cos(x) thay đổi theo thời gian. Nó không thay đổi đột ngột, mặc dù nó thay đổi phi tuyến tính.

Giả sử chúng tôi đang bôi nhọ trên một cửa sổ w = 86400. Đây là những gì những lời nói dối là t = 0-t = 86400:

Graph of lie(t)

Đến đầu ngày, lời nói dối chúng ta đang nói là rất nhỏ. Thời gian bạn báo cáo (t + lie(t)) gần giống với thời gian thực (t). Thời gian bôi nhọ bạn đang báo cáo cũng thay đổi rất chậm theo thời gian. Lý tưởng nhất, đối với mỗi 1 giây thực trôi qua bạn nên báo cáo 1 giây đã trôi qua. Trong thời gian bôi, những gì bạn thay vì thấy là:

Change in smeared time

Đến giữa ngày, chúng ta thấy những thay đổi lớn nhất. Nhưng những thay đổi đó theo thứ tự của 10^-5. Họ đủ nhỏ mà bất cứ ai nhận được thời gian bôi nhọ sẽ không nghi ngờ rằng có điều gì đó sai. Vào buổi trưa, bạn đang nói về sự khác biệt của micro giây trong thời gian bôi trơn nhanh hơn bao nhiêu.

Trong trường hợp của Google, họ muốn thay đổi thời gian một cách trôi chảy rất chậm để sửa chữa cục bộ không xảy ra. Nếu họ đột ngột thay đổi thời gian thêm một giây thì có thể xảy ra sự điều chỉnh cục bộ. Và từ bài đăng trên blog, có vẻ như điều này thường dẫn đến những điều rất xấu xảy ra (tức là công cụ giải lao).

Một điều cần lưu ý là họ có thể không bôi nhọ bước nhảy vọt thứ hai trong một ngày. Nó có thể là hơn một năm. Trong trường hợp đó, sự thay đổi thậm chí còn nhỏ hơn. Trong trường hợp này, thay đổi hàng ngày là theo thứ tự của nano giây.

Nếu bạn muốn biết về toán học thực tế - phần đó không thú vị lắm. cos(x) bị giới hạn bởi [-1, +1]. Tại số x = 0, chúng tôi có cos(0) = 1 và tại x = pi, cos(pi) = -1. Giá trị t/w tăng tuyến tính từ 0 lên 1 từ t = 0 ... w. Vì vậy, cos(pi * t/w) thay đổi từ +1 tại t = 0 xuống -1 tại t = w. Phần còn lại sau này.

Chất lượng định kỳ của cos(x) thực sự khá quan trọng. Chúng tôi không thể chỉ chọn sử dụng một cái gì đó như lie(t) = t/w. Nếu chúng tôi làm thế, lời nói dối sẽ luôn tăng theo thời gian. Số giây nhuận sẽ chỉ tiếp tục chồng chất với tốc độ 1/w mỗi giây. cos(x) có thuộc tính mà nó dao động giữa -1+1.

+1

Bạn xứng đáng được thăng hạng nhiều hơn. – Pacerier

+3

Tôi không đồng ý với phần cuối cùng về việc sử dụng hiệu chỉnh tuyến tính. Trong khi nó không phải là trơn tru và nó thực sự có thể gây ra vấn đề, lời nói dối sẽ không tăng mãi mãi kể từ khi hệ thống sẽ chỉ thay thế bằng một đầu ra liên tục khi thời gian kết thúc. Nó cũng tương tự với 'cos', một khi bước nhảy vọt thứ hai được truyền qua lời nói dối trở thành chính xác bằng không. – meneldal

2

Tôi sẽ đoán.

cos() kết quả đầu ra giá trị trong phạm vi -1 +1 như vậy, lời nói dối tối đa sẽ là khi cos là -1, vì

(1.0 - -1)/2 == 1.0 

và min khi cos là 1

(1.0 - 1)/2 == 0.0 

Lưu ý rằng 0.0 sẽ là giá trị phù hợp cho "không nói dối" và 1.0 sẽ là giá trị phù hợp cho "giây nhảy vọt".

heres một âm mưu của hàm, bạn có thể thấy nó có một sự chuyển đổi dần dần tốt đẹp và mịn màng từ 0 đến 1.

enter image description here

như đối với biểu thức dùng để tính toán lập luận để cos: pi * t/w, chúng chỉ có thể được nghĩ đến như là thay đổi tốc độ/khoảng thời gian mà chức năng chuyển đổi từ -1 đến 1. Làm cho t lớn hơn làm cho nó chuyển tiếp nhanh hơn, và làm cho w lớn hơn làm cho nó chuyển tiếp chậm hơn.

Họ đã đề cập w là cửa sổ thời gian trước khi bước nhảy vọt chính thức thứ hai được áp dụng, vì vậy hãy thực hiện điều đó sau vài giây. Sau đó, t có thể là một số lượng ngày càng tăng, có khả năng giây một lần nữa.

Các vấn đề liên quan