Синхронізація часу без Інтернету

Синхронізація часу без Інтернету

Крім tcp/ip, існує безліч способів синхронізації часу. Деякі з них вимагають лише наявності звичайного телефону, тоді як інші вимагають дорогого, рідкісного та чутливого електронного обладнання. Велика інфраструктура систем синхронізації часу включає обсерваторії, державні інститути, радіостанції, супутникові угруповання та багато іншого.

Сьогодні я розповім, як влаштована синхронізація часу без інтернету і як зробити "супутниковий" сервер NTP своїми руками.

Радіомовлення на коротких хвилях

У Сполучених Штатах Америки NIST передає точний час і частоту по 2.5, 5, 10, 15 і 20 МГц радіохвиль зі станції WWVH у Форт-Коллінсі, штат Колорадо, і на частотах 2.5, 5, 10 і 15 МГц зі станції WWVH в Кауа штат Гаваї. Тимчасовий код передається через 60 секундний інтервал на швидкості 1 б/с. з використанням широтно - імпульсної модуляції на піднесе 100 Гц.

Національна дослідницька рада (NRC) Канади здійснює поширення тимчасової та частотної інформації на 3.33, 7.85 та 14.67 МГц зі станції CHU в Оттаві, провінція Онтаріо.

Синхронізація часу без Інтернету
Формат мовлення WWVH

Поширення сигналу від короткохвильових станцій зазвичай відбувається шляхом відбиття від верхніх шарів іоносфери. Передачі сигналу можуть бути отримані на великих відстанях, проте точність часу становить близько однієї мілісекунди.

Поточний стандарт NTPv4 включає аудіо драйвери для WWV, WWVH і CHU.

Радіомовлення на довгих хвилях

NIST також передає точний час і частоту довгих радіохвиль на хвилі 60 kHz з Боулдера в штаті Колорадо. Існують і інші станції передачі сигналів точного часу на довгих хвилях.

Позивні та локація
Частота (kHz)
Потужність (kW)

WWVB Форт-Коллінс, Колорадо, США
60
50

DCF77 Mainflingen, Німеччина
77.5
30

MSF Rugby, United Kingdom
60>
50

HBG Prangins, Switzerland
75
20

JJY Fukushima, Japan
40
50

JJY Saga, Japan
60
50

Низькочастотні Станції Стандартного Часу

Тимчасовий код передається через 60-секундний інтервал на швидкості 1 б/с, так само, як на короткохвильових станціях. Формати передачі також подібні для обох стандартів. Поширення сигналу відбувається через нижні шари іоносфери, які відносно стабільні та мають передбачувані добові коливання висоти. Завдяки цій передбачуваності фізичного середовища, точність підвищується до 50 μs.

Синхронізація часу без Інтернету
Формат мовлення WWVB

Геостаціонарний експлуатаційний супутник спостереження за довкіллям

У США NIST також передає дані про точний час і частоту приблизно на 468 МГц з геостаціонарних експлуатаційних супутників довкілля (GOES). Тимчасовий код чергується з повідомленнями, які використовуються для опитування віддалених датчиків. Він складається з 60 BCD напівбайтів, що передаються з інтервалом 30 с. Інформація тимчасового коду аналогічна до наземних служб.

Системи глобального позиціонування

Міністерство оборони США використовує GPS для точної навігації на суші, на морі та в повітрі. Ця система забезпечує 24-годинний охоплення земної кулі за допомогою угруповання супутників на 12-годинних орбітах, нахилених під кутом 55 °.

Початкове угруповання з 24 супутників було розширено до 31 супутника в неоднорідній конфігурації, так що принаймні 6 супутників завжди знаходяться в полі зору, а 8 або більше супутників знаходяться в полі зору більшої частини світу.

Послуги, подібні до GPS, експлуатуються або плануються іншими країнами. Російський ГЛОНАСС працює вже з десяток років, якщо рахувати з 2 вересня 2010 року, коли загальна кількість супутників була доведена до 26 — угруповання було повністю розгорнуто для повного покриття Землі.

Синхронізація часу без Інтернету
Супутники GPS навколо земної кулі.

Супутникова система навігації Європейського Союзу має назву «Галілео». Очікувалося, що «Галілео» почне працювати у 2014—2016 роках, коли на орбіту буде виведено всі 30 запланованих супутників Але на 2018 рік супутникове угруповання «Галілео» так і не досягло необхідної кількості апаратів.

Є ще китайський "Бейдооу", що в перекладі означає "кит". Угруповання у складі 16 супутників було запущено в комерційну експлуатацію 27 грудня 2012 року, як регіональна система позиціонування. Планується, що на повну потужність система вийде до 2020 року. Саме сьогодні, на Хабрі вийшла статтяпро успішний запуск супутника цієї системи.

Математика визначення координат по РРНС

Як GPS/Глонасс навігатор на вашому смартфоні визначає місцезнаходження з такою точністю за допомогою системи радіонавігаційного зв'язку (СРНС)? Щоб зрозуміти принцип розрахунків, потрібно згадати стереометрію та алгебру в межах старших класів середньої, або фізмат школи.

Кожен супутник повідомляє приймачеві точний час. На супутнику встановлено атомний годинник і тому їм можна вірити. Знаючи швидкість світла неважко визначити радіус сфери на поверхні якої є супутник. Це ж сфера стикаючись із Землею утворює коло, на якому знаходиться GPS/Глонасс приймач.

Коли сигнал приходить із двох супутників, ми вже маємо перетин Землі та двох сфер, що дає лише дві точки на колі. Сфера третього супутника в ідеалі повинна потрапити до однієї з цих двох точок, остаточно визначивши координати приймача.

У принципі навіть із двох супутників за непрямими ознаками можна зрозуміти, яка з двох точок ближче до істини та сучасні алгоритми навігаційного програмного забезпечення можуть впоратися з таким завданням. Навіщо тоді нам потрібен четвертий супутник?

Синхронізація часу без Інтернету
Визначення розташування за допомогою супутникового угруповання.

Неважко помітити, що в цій картині, що ідеалізується, є багато нюансів, від яких залежить точність розрахунків. Час на приймачі, мабуть найочевидніше джерело похибок. Для того, щоб все запрацювало як треба час GPS/Глонасс приймача повинні бути синхронізовані з часом супутника. Без цього похибка становила б 100 тис. км.

З формули швидкості, часу та відстані S = v*t отримуємо базове рівняння передачі сигналу СРНС. Відстань до супутника дорівнює добутку швидкості світла на різницю часу на супутнику та приймачі.

Синхронізація часу без Інтернету

Головним чином це відбувається внаслідок того, що навіть після всіх синхронізацій час на приймачі tпр ми знаємо з достатньою мірою точності. Між істинним часом і tпр завжди існуватиме Δt, через яку похибка обчислень стає неприйнятною. Ось чому потрібен четвертий супутник.

Для чіткішого математичного обгрунтування необхідності чотирьох супутників побудуємо систему рівнянь.

Синхронізація часу без Інтернету

Для визначення чотирьох невідомих x, y, z і Δt необхідно, щоб число спостережень дорівнювало або було більше, ніж число невідомих. Це необхідна, але недостатня умова. Якщо матриця нормальних рівнянь виявиться виродженою, система рівнянь не матиме рішення.

Не варто також забувати про Спеціальну Теорію Відносності та релятивістські ефекти із уповільненням часу на супутниковому атомному годиннику щодо наземного.

Синхронізація часу без Інтернету

Якщо вважати, що супутник рухається орбітою зі швидкістю 14 тис. км./год., то отримуємо уповільнення часу близько 7 μс (мікросекунд). З іншого боку, діють релятивістські ефекти Загальної Теорії Відносності.

Справа ось у чому, супутники на орбітах знаходяться на великій відстані від Землі, де кривизна просторово-часового континууму менша, ніж на земній поверхні через масу Землі. Згідно з ВТО хід годинника, розташованого ближче до масивного об'єкта, здаватиметься повільніше, ніж той, що знаходиться далі від нього.

Синхронізація часу без Інтернету

  • G - гравітаційна стала;
  • M — маса об'єкта, у разі Землі;
  • r - відстань від центру Землі до супутника;
  • c – швидкість світла.

Обчислення цієї формули дає уповільнення часу 45 μс на супутнику. Разом -7? +45? = 38? баланс - ефектів СТО і ОТО.

У прикладних задачах визначення місцезнаходження за допомогою СРНС слід також взяти до уваги іоносферні та тропосферні затримки. Крім того, коригування 46 ns пов'язані з ексцентричністю 0.02 орбіти супутників GPS.

Можливість отримувати сигнали одночасно з більш ніж чотирьох супутників GPS / ГЛОНАСС дозволяє ще більше збільшити точність визначення координат приймача. Це досягається за рахунок того, що навігатор вирішує систему їх чотирьох рівнянь із чотирма невідомими. Синхронізація часу без Інтернету число разів і бере середнє значення, підвищуючи точність підсумкової оцінки згідно із законами математичної статистики.

Як налаштувати NTP сервер Stratum 1 по супутниковому зв'язку

Для налаштування високоякісного сервера часу необхідно лише GPSD, NTP і GPS-приймач, з виходом 1PPS (один імпульс в секунду).

1. Встановіть gpsd і ntpd або gpsd і chronyd. Версія gpsd має бути ≥ 3.20

(1:1109)$ sudo emerge -av gpsd chrony

Local copy of remote index is up-to-date and will be used.

Calculating dependencies... done!

[binary  N     ] net-misc/pps-tools-0.0.20120407::gentoo  31 KiB

[binary  N     ] net-misc/chrony-3.5-r2::gentoo  USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB

[binary  N     ] sci-geosciences/gpsd-3.17-r3:0/23::gentoo  USE="X bluetooth cxx dbus ipv6 ncurses python shm sockets udev usb -debug -latency-timing -ntp -qt5 -static -test" GPSD_PROTOCOLS="aivdm ashtech earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 navcom ntrip oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tnt tripmate tsip ublox -fury -geostar -nmea0183 -nmea2000 -passthrough" PYTHON_TARGETS="python2_7" 999 KiB

Total: 3 packages (3 new, 3 binaries), Size of downloads: 1275 KiB

Would you like to merge these packages? [Yes/No]

2. Підключіть приймач GPS із підтримкою PPS до послідовного RS232 або USB порту.

Звичайний дешевий GPS-приймач не підійде; можливо, доведеться трохи побігати, щоб знайти потрібний.

3. Переконайтеся, що пристрій дійсно видає PPS, перевірте порт утилітою gpsmon.

4. Відкрийте файл /etc/conf.d/gpsd та відредагуйте наступний рядок.

Замінити

GPSD_OPTIONS=""

так, щоб стало

GPSD_OPTIONS="-n"

Ця зміна потрібна для того, щоб gpsd при старті відразу ж починав пошук джерел РРНС.

5. Запустіть або перезапустіть gpsd.

(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart

Для дистрибутивів із systemd, використовуйте відповідну команду systemctl.

6. Перевірте консольне виведення команди cgps.

Потрібно впевнитись у тому, що дані справно надходять із супутників. У консолі має бути щось схоже на ілюстрацію.

Синхронізація часу без Інтернету
Виведення консольної команди cgps.

7. Настав час відредагувати файл /etc/ntp.conf.

# GPS Serial data reference (NTP0)
server 127.127.28.0
fudge 127.127.28.0 time1 0.9999 refid GPS

# GPS PPS reference (NTP1)
server 127.127.28.1 prefer
fudge 127.127.28.1 refid PPS

Верхній запис NTP0 вказує на універсальне джерело часу, доступне майже на всіх пристроях GPS. Нижній запис NTP1 визначає набагато точніше PPS джерело.

8. Перезапустіть ntpd.

(1:112)$ sudo /etc/init.d/ntpd restart

Для дистрибутивів із systemd, використовуйте команду systemctl.
$ sudo systemctl restart ntp

використані матеріали

Синхронізація часу без Інтернету

Синхронізація часу без Інтернету

Джерело: habr.com

Додати коментар або відгук