День 10: Формування повідомлень для передавання до CKNPU
Лектор: кандидат технічних наук Андрій, старший науковий співробітник лабораторії навігаційних систем
Дата: березень 2003 року
Як говорити із супутниками так, щоб CKNPU зрозумів
Практична лекція інженера. Без зайвого. Тільки структура, логіка та інженерне розуміння.
Вступ
Доброго дня, колеги.
Сьогоднішня тема — не просто передавання даних. Вона про те, як побудувати діалог між вимірювальною мережею та центральним вузлом — діалог, у якому не залишається місця для непорозумінь, діалог, де кожне повідомлення є цеглиною у споруді точної навігації.
📡 Контекст
Ми працюємо з контрольно-коригувальною станцією (CCS), що функціонує в реальному часі та побудована на синхронних вимірюваннях. Вона бачить супутники, вимірює, фільтрує і формує повідомлення. Усе, що відбувається, — це формалізоване мислення, перетворене на двійкову структуру.
На іншому кінці — центральний калманівський навігаційно-обчислювальний вузол (CKNPU). Його завдання — зібрати кожен фрагмент мозаїки, обробити його, ухвалити рішення та оновити навігаційну картину для всіх.
✉️ Обмін повідомленнями: добрий інженерний поштовий стиль
Ми передаємо не просто біти. Ми надсилаємо повідомлення з чітким маркуванням, гарантованою синхронізацією та суворою логікою обробки. Це не потік свідомості. Це система. Це... концентратор.
Повідомлення — це листи: кожне зі своїм конвертом, адресою та вмістом. CKNPU не читає думок. Він розуміє лише тоді, коли все зроблено за правилами, за стандартом, у потрібний момент — з відкиданням усього, що не пройшло валідацію за маскою.
📋 Типи повідомлень
У нашому розпорядженні є 64 типи повідомлень (0–63) — та сама схема нумерації, яку використовує публічний формат диференційних корекцій RTCM SC-104, що також допускає 64 типи повідомлень. Проте, у справжньому інженерному стилі, ми використовуємо лише ті, що довели свою необхідність.
🛰 Тип 1 — маска НКА
Хто на лінії? Повідомлення каже: «Ось список супутників, які я бачу і яким довіряю». Усі інші повідомлення залежать від нього. Це як список учасників наради: якщо тебе немає у списку, ти не маєш голосу. CKNPU спирається на цей список під час обробки всіх наступних даних.
📐 Типи 2–5 — кодові вимірювання
Сирі, очищені, опрацьовані та згладжені дані.
- Псевдодальність
- Псевдошвидкість
- Повна фаза несучої
- Показники якості
І все це прив’язано до маски НКА.
🔧 Типи 7–10 — фазові вимірювання
Високоточні дані на L1 та L2. Вимірювання сантиметрового рівня — саме те, що потрібно для посадки літака в тумані.
🌤 Типи 30–32 — атмосфера, координати станції, статус
Погода, координати CCS та її внутрішній стан — усе, що потрібно для коректної інтерпретації даних.
📊 Нормалізація: як умістити гігантів у кишеню
Псевдодальність може становити десятки мільйонів метрів. Передавати напряму? Неможливо. Ми масштабуємо її. Множимо на коефіцієнт, відкидаємо дробову частину. Усе стає цілими числами:
normalized_value = floor(physical_value × coefficient)
Кожен біт знає своє місце. Жодного зайвого байта.
🔄 Синхронізація — серце передавання
Маска НКА — головна дійова особа. Кожне повідомлення несе ідентифікатор випуску маски. Він каже CKNPU: «Ці дані належать до набору супутників, зафіксованого в масці №2».
Невідповідність — дані ігноруються. Змініть акторів, але залиште старий сценарій — і вистава розвалиться.
📦 Цикл передавання — день із життя станції
- Визначити видимі супутники. CCS з’ясовує, хто видимий і придатний до використання.
- Надіслати маску НКА (тип 1). «Сьогодні працюємо з GPS-5, GPS-12 і GLONASS-3».
- Передавати вимірювання (типи 5, 9 тощо). Щосекунди — оновлення, жорстко прив’язані до маски.
- CKNPU приймає. Сортує, фільтрує, застосовує диференційні корекції.
🌍 Чому це важливо
Ви не просто передаєте дані. Ви будуєте довіру між мережею та центром. Ви гарантуєте, що:
- мільйони пасажирів приземляються вчасно;
- трактор іде ідеально прямою лінією;
- геодезисти відрізняють пагорби від будинків із сантиметровою точністю.
І все це — завдяки одній добре спроєктованій системі повідомлень.
🎓 Фінал
Хтось може сказати: «Це лише пакети даних».
Ми знаємо: це інженерний діалог, у якому має значення кожен біт.
І саме ви — інженери — робите цей діалог можливим.
Підсумуймо, сказав Андрій:
Система CKNPU — це не просто архітектура; це складний математичний двигун, реалізований на прикладному рівні інформаційного концентратора в мережі обміну повідомленнями з пріоритетами. Ці рішення працювали в обчислювальних системах, які роками функціонували без перезапуску, доставляючи та обробляючи повідомлення в реальному часі. Надійність досягалася не абстракцією, а інженерною дисципліною, де кожне повідомлення було результатом ретельно побудованої логіки.
Ми називаємо це «українським алгоритмом».
(Пауза. Кілька секунд тиші. Аудиторія підводиться. Оплески наростають — спочатку стримані, потім гучніші. Не за ораторство, а за точність, за інженерну правду.)
До наступної зустрічі. Ми поговоримо про те, як ці повідомлення стають координатами — і як не втратити точність у цифровому світі.