День 9: Формування даних диференціальної корекції та контроль якості

Лектор: Андрій Ніколаєв, кандидат технічних наук, старший науковий співробітник, лабораторія навігаційних систем

Дата: березень 2003 р.


Вступ

Вітаю, допитливі уми! Ласкаво просимо на День 9 нашого захопливого курсу! Ми перебуваємо у 2003 році, і сьогодні зануримося в саме серце супутникової навігації, щоб детально вивчити процес формування диференціальної коригувальної інформації (DCI) та методи контролю її найвищої якості. Уявіть, що ви користуєтеся GPS-навігатором в автомобілі або на дослідницькому судні, і він визначає ваше місцезнаходження з точністю до кількох метрів! За цією технологією, яка вже змінює наше життя, стоїть складна симфонія математичних алгоритмів і фундаментальних законів фізики. Наша мета сьогодні — пояснити ці принципи крок за кроком, провести вас лабіринтом формул до вершини розуміння. Готові до нових інтелектуальних відкриттів? Тоді рушаймо вперед, до знань!

Історична довідка: як точність стала реальністю

Перш ніж заглиблюватися в технічні деталі, зробімо короткий історичний екскурс. Система GPS офіційно почалася із запуску першого супутника Navstar 1 у 1978 році, що започаткувало глобальну навігаційну революцію. Однак перші роки GPS були далекі від ідеалу: атмосферні затримки та дрейф атомних годинників на супутниках знижували точність до десятків метрів. У 1980-х роках інженери розробили Differential GPS (DGPS), значно підвищивши точність — до кількох метрів. На початку 1990-х DGPS уже широко використовувався в морській навігації та геодезії. У 1995 році GPS досяг повної експлуатаційної готовності, а у 2000 році Сполучені Штати вимкнули Selective Availability (SA), зробивши сигнал точнішим для цивільних користувачів. Сьогодні, у 2003 році, ми бачимо, як GPS і GLONASS починають змінювати світ — від морської навігації до перших автомобільних GPS-систем!

Ілюстрація, що показує, як DGPS перетворює сирі GPS-сигнали з великими межами похибки на високоточні позиції за допомогою диференціальних корекцій
DGPS: перетворення точності GPS за допомогою диференціальних корекцій

9.1. Обчислення диференціальних корекцій у телеметричній навігаційній інформації

Отже, вихідна точка нашої подорожі — взаємодія між навігаційними космічними апаратами (NSV) — супутниками GPS, GLONASS, INMARSAT — та приймально-навігаційними станціями (RNS) на Землі. NSV випромінюють сигнали, а станції RNS їх приймають. Але ці сигнали далекі від ідеалу: атмосфера їх спотворює, і навіть дуже точні атомні годинники супутників усе одно мають мікроскопічні відхилення. Диференціальні корекції — це наш інструмент, щоб сказати: "Досить хаосу! Виправимо цю навігаційну плутанину!"

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

9.2. Формування оцінок диференціальних корекцій

Уявіть узгоджену команду супутників (NSV) і наземних станцій (RNS), що працюють синхронно. Для кожної пари супутник-станція ми обчислюємо корекції, прив’язуючись до шкали часу GPS (GPST). Чому саме GPST? Історично вона слугує усталеним еталоном, надаючи єдину точку відліку. Ключовим фактором є проходження сигналу через тропосферу та іоносферу, де заряджені частинки й водяна пара діють як "затори", затримуючи радіохвилі та вносячи похибки. Ось формули, які допомагають нам компенсувати ці ефекти:

Для псевдодальностей (відстаней, виміряних до супутника, включно з похибками):

\[ \begin{bmatrix} \vdots \\ \Delta S_{1,j} \\ \vdots \\ \Delta S_{2,j} \\ \vdots \\ \Delta S_{L,j} \\ \vdots \end{bmatrix} = \left(S^{[2]} - R\right) - \begin{bmatrix} A \quad K_{\text{GLONASS}} \end{bmatrix} \begin{bmatrix} \Delta \tau_1 \\ \Delta \tau_2 \\ \vdots \\ \Delta \tau_L \end{bmatrix} \]

Для псевдошвидкостей (швидкості зміни відстані):

\[ \begin{bmatrix} \vdots \\ \Delta \dot{S}_{1,j} \\ \vdots \\ \Delta \dot{S}_{2,j} \\ \vdots \\ \Delta \dot{S}_{L,j} \\ \vdots \end{bmatrix} = \left(\dot{S}^{[2]} - \dot{R}\right) - \begin{bmatrix} A \quad K_{\text{GLONASS}} \end{bmatrix} \begin{bmatrix} \Delta \dot{\tau}_1 \\ \Delta \dot{\tau}_2 \\ \vdots \\ \Delta \dot{\tau}_L \end{bmatrix} \]

Розберімо, що тут відбувається:

  • \(S^{[2]}\) — вектор виміряних псевдодальностей, скоригованих на атмосферні спотворення за допомогою коефіцієнтів \(\alpha_{i,j}\). Уявіть ці коефіцієнти як "атмосферні окуляри", що дозволяють сигналу "бачити" крізь завади!
  • \(\dot{S}^{[2]}\) — вектор псевдошвидкостей, також скоригованих.
  • \(R\) і \(\dot{R}\) — ідеальні відстані та швидкості, обчислені за координатами: \(R_{i,j} = \sqrt{(x_j - X_i)^2 + (y_j - Y_i)^2 + (z_j - Z_i)^2}\).
  • \(A\) — геометрична матриця, що описує розташування супутників і станцій. У реальній системі її розмірність визначається кількістю пар NSV-RNS (\(L \times L\)).
  • \(K_{\text{GLONASS}}\) — коефіцієнт для врахування особливостей GLONASS (1 для GLONASS, 0 для GPS), що відображає відмінності шкал часу.
  • \(\Delta \tau_i\) і \(\Delta \dot{\tau}_i\) — часові та частотні корекції для синхронізації годинників.

Ці формули — навігаційна головоломка! Ми розв’язуємо її методом найменших квадратів, мінімізуючи похибки.

9.3. Згладжування оцінок диференціальних корекцій

Отримавши "сирі" оцінки, ми згладжуємо їх з урахуванням часу реєстрації \(t_{z-count}\):

\[ \Delta \hat{S}_{i,j,k} = \Delta S_{i,j,k} + \Delta \dot{S}_{i,j,k} \cdot \left(t_{z-count} - \left(t_i - \Delta \tau_i - \frac{R_{i,j,k}}{c}\right)\right) \]

де

\[ t_{z-count} = \left\lfloor \frac{t_1 - 3600 \cdot \left\lfloor \frac{t_1}{3600} \right\rfloor}{0.6} \right\rfloor \cdot 0.6 + 3600 \cdot \left\lfloor \frac{t_1}{3600} \right\rfloor \]

Тут \(t_1\) — час у секундах, який ми розкладаємо на години та залишок, округлюючи з кроком 0,6 секунди — ніби виставляємо будильник із зручним інтервалом! \(\frac{R_{i,j,k}}{c}\) — це час проходження сигналу (\(c = 299,792,458 \,\text{м/с}\)).

Числовий приклад: нехай \(\Delta S_{i,j,k} = 10 \,\text{м}\), \(\Delta \dot{S}_{i,j,k} = 0.1 \,\text{м/с}\), а \(\left(t_{z-count} - (t_i - \Delta \tau_i - \frac{R_{i,j,k}}{c})\right) = 2 \,\text{с}\). Тоді:

\[ \Delta \hat{S}_{i,j,k} = 10 + 0.1 \cdot 2 = 10.2 \,\text{м} \]

9.4. Аналіз і контроль якості корекцій

Тепер перевіримо якість! Якщо ми маємо лише одну оцінку від RNS, приймаємо її з \(Health_{i,j} = 0\) і середньоквадратичним відхиленням \(\sigma_{i,j,k}\). Але якщо доступні дві або більше оцінок, проводимо статистичний аналіз. Обчислюємо середньоквадратичне відхилення:

\[ \sigma_{\Delta \hat{S}_{j,k}} = \sqrt{\frac{\sum_{i=1}^{L} \left(\Delta \hat{S}_{i,j,k} - \Delta \bar{S}_{j,k}\right)^2 \cdot \left(1 - \zeta S_{i,j,k}\right)}{\left(\sum_{i=1}^{L} \left(1 - \zeta S_{i,j,k}\right)\right) - 1}} \]

де зважене середнє дорівнює:

\[ \Delta \bar{S}_{j,k} = \frac{\sum_{i=1}^L \Delta \hat{S}_{i,j,k} \cdot \frac{\left(1 - \zeta S_{i,j,k}\right)}{(\sigma S_{i,j,k,2} + 10^{-10})^2}}{\sum_{i=1}^L \frac{\left(1 - \zeta S_{i,j,k}\right)}{(\sigma S_{i,j,k,2} + 10^{-10})^2}} \]

Для швидкостей — аналогічно:

\[ \Delta \bar{\dot{S}}_{j,k} = \frac{\sum_{i=1}^L \Delta \dot{S}_{i,j,k} \cdot \frac{\left(1 - \zeta S_{i,j,k}\right)}{(\sigma S_{i,j,k,2} + 10^{-10})^2}}{\sum_{i=1}^L \frac{\left(1 - \zeta S_{i,j,k}\right)}{(\sigma S_{i,j,k,2} + 10^{-10})^2}} \]

Числовий приклад: припустімо, що оцінки становлять \(\Delta \hat{S}_{1,j,k} = 10\,\text{м}\), \(\Delta \hat{S}_{2,j,k} = 11\,\text{м}\), \(\Delta \hat{S}_{3,j,k} = 12\,\text{м}\), а \(\zeta S_{i,j,k} = 0\). Тоді:

\[ \Delta \bar{S}_{j,k} = \frac{10 + 11 + 12}{3} = 11 \,\text{м} \] \[ \sigma_{\Delta \hat{S}_{j,k}} = \sqrt{\frac{(10-11)^2 + (11-11)^2 + (12-11)^2}{3-1}} = \sqrt{\frac{1 + 0 + 1}{2}} = 1 \,\text{м} \]

"Запобіжник 10−10": цей коефіцієнт у знаменнику працює як "страховка". Якщо \(\sigma S_{i,j,k,2} = 0\), тоді \(10^{-10}\) запобігає діленню на нуль — як підкладка під хиткий стілець!

Ми порівнюємо \(\sigma_{\Delta \hat{S}_{j,k}}\) з порогом \(\sigma_{\max \Delta S}\). Якщо \(\sigma_{\Delta \hat{S}_{j,k}} < \sigma_{\max \Delta S}\), корекції є достовірними (\(Health_{j,k} = 0\), \(\zeta S_{i,j,k} = 0\)). Якщо виявляємо аномалії (\(\left|\Delta \hat{S}_{i,j,k} - \Delta \bar{S}_{j,k}\right| > 2 \cdot \sigma_{\Delta \hat{S}_{j,k}}\)), установлюємо \(\zeta S_{i,j,k} = 1\) і повторюємо аналіз.

9.5. Перевірка допустимих меж значень

Ми перевіряємо, щоб корекції не перевищували фізичних меж:

\[ \left|\Delta \bar{S}_{j,k}\right| < 10,485.44 \,\text{м} \] \[ \left|\Delta \bar{\dot{S}}_{j,k}\right| < 4.064 \,\frac{\text{м}}{\text{с}} \]

Чому саме ці значення?

  • 10,485.44 м: Це не довільне число — це максимальне значення, яке може бути представлене в полі Pseudorange Correction (PRC) міжнародного формату повідомлень диференціальної GPS RTCM SC-104 (Type 1, scale factor 1): 16-бітове знакове поле з роздільністю 0.32 м, що дає \(32{,}767 \times 0.32 = 10{,}485.44\,\text{м}\). RTCM SC-104 є публічним стандартом, який підтримується Radio Technical Commission for Maritime Services з 1983 року.
  • 4.064 м/с: Аналогічно, це максимальне значення відповідного 8-бітового поля Range-Rate Correction (RRC) за того самого масштабного коефіцієнта, з роздільністю 0.032 м/с: \(127 \times 0.032 = 4.064\,\frac{\text{м}}{\text{с}}\).

Якщо умова не виконується, \(Health_{j,k} = 1\) — цей супутник позначається як несправний.

9.6. Додатковий контроль за допомогою контрольного приймача

Контрольний приймач (MR) з відомими координатами — наш "золотий стандарт". Ми використовуємо метод Ньютона-Гаусса для перевірки корекцій. Цей метод не є спеціалізованим навігаційним методом — він поєднує ітераційний метод Ньютона для пошуку коренів (XVII століття) з методом найменших квадратів Гаусса, опублікованим у 1809 році ("Theoria Motus Corporum Coelestium"), і залишається стандартним підходом, який відкрито викладається для нелінійного визначення позиції в приймачах у всьому світі:

\[ \overrightarrow{\widetilde{\Theta}}_n = \overrightarrow{\widetilde{\Theta}}_{n-1} + \Delta \overrightarrow{\widetilde{\Theta}}_n \]

Приклад ітерацій Ньютона-Гаусса:

  1. Крок 1: Початкове наближення: \(\overrightarrow{\widetilde{\Theta}}_0 = [0, 0, 0, 0, 0]^T\)
  2. Крок 2: Перша ітерація: \(\Delta \overrightarrow{\widetilde{\Theta}}_1 = [100 \,\text{м}, 50 \,\text{м}, 200 \,\text{м}, 0.001 \,\text{с}, 0.0001 \,\text{с/с}]^T\), похибка: \(\sqrt{100^2 + 50^2 + 200^2} = 229.1 \,\text{м}\)
  3. Крок 3: Друга ітерація: \(\Delta \overrightarrow{\widetilde{\Theta}}_2 = [10, 5, 20, 0.0001, 0.00001]^T\), похибка: 22.9 м
  4. Крок 4: Після 5 ітерацій: \(\Delta \overrightarrow{\widetilde{\Theta}}_5 = [0.005, 0.002, 0.008]^T\), похибка: \(\sqrt{0.005^2 + 0.002^2 + 0.008^2} \approx 0.0095 \,\text{м} < \varepsilon_{\Theta} = 0.01 \,\text{м}\). Стоп! Досягнуто точності: 0.95 см!

Висновок лекції

Ви дізналися, як диференціальні корекції перетворюють "шумні" сигнали на точні координати, ніби складаючи пазл із тисяч вимірювань. У 2003 році DCI вже активно використовувалася в морській навігації (наприклад, для точного позиціювання суден), у геодезії для створення карт, а також у перших автомобільних GPS-навігаторах компаній на кшталт Garmin і Magellan, які тільки починали з’являтися в автомобілях. Ці технології прокладають шлях у майбутнє, де супутникова навігація стане невід’ємною частиною нашого життя.

Питання для роздумів: що станеться з точністю, якщо іоносфера посилить свій вплив (наприклад, через сонячний спалах)? Які заходи можна вжити? До наступної зустрічі у світі науки й технологій!

Глосарій

Псевдодальність
Виміряна відстань до супутника, включно з похибками
Псевдошвидкість
Швидкість зміни цієї псевдодальності
Релятивістські ефекти
Зміни часу через гравітацію та швидкість (теорія Ейнштейна). Атомні годинники на супутниках (рубід/цезій, стабільність \(10^{-13}\)) коригують ці ефекти
NSV
Навігаційні космічні апарати: супутники GPS, GLONASS, INMARSAT
RNS
Наземні станції спостереження (приймально-навігаційні станції)
\(\varepsilon_{\Theta} = 1\,\text{см}\)
Цільова точність для методу Ньютона-Гаусса
Метод Ньютона-Гаусса
Ітераційний метод уточнення координат