Приймач, обчислювач і накопичувач в одному корпусі під носієм. П'ять
каналів приймаються когерентно, а напрямок рахує MUSIC із сирого IQ
просто на борту — вниз іде вже пеленг, а не потік відліків.
Модем s.Link на боці оператора — власного фізичного й канального рівня.
Приймає телеметрію пеленгів, віддає команди назад. Смуга вузька, і в
спектрограмі такий сплеск читається як побутовий датчик, а не як
військовий канал.
Той самий модем s.Link на більшому кристалі. У SL-1 фізичний рівень
рахує хост у Python — на 25 000 символів за секунду це правильно
й дешево. Швидкісний режим так не працює: 15,36 Мсимв/с через USB у
Python не проходить, тракт мусить жити у фабриці, а на кристалі SL-1
вільно лише вісім блоків множення з вісімдесяти.
Кристал
XC7K325T Kintex-7 — 203 800 LUT, 840 DSP48
Радіо
AD9361 — той самий трансивер, що в SL-1
Пам'ять
DDR3 — буфер кадрів між фабрикою і хостом
Сумісність
s.Link 1.0 без змін: GMSK, згортковий 1/2, ChaCha20-Poly1305
Заради чого
s.Link4k — 15,36 Мсимв/с при 30,72 МС/с
Числа Kintex паспортні — не наш вимір
Секторний пеленгатор
ELINTIR ZR-1 Концепт
Дешевий пеленгатор для смуги, де когерентна решітка не працює:
вище 1766 МГц тюнер GR-1 закінчується, а керування й відео FPV — саме
там. П'ять напрямлених антен по колу порівнюють потужність, а не
фазу, тож ні синхронних каналів, ні калібрування решітки не потрібно.
Дає сектор, а не градус — і каже, наскільки йому вірити.
Трансивер
AD9363 — 70 МГц – 6 ГГц, два приймальні входи
Обчислення
Zynq-7010 — FPGA і Cortex-A9, на самій платі
Комутатор
SP6T DC – 6 ГГц — перемикає сектори
Орієнтація
BNO085 магнітометр і GNSS
Звіт
s.Link — GMSK, згортковий 1/2, ChaCha20-Poly1305
Специфікація — після першого виміру в ефірі
Наземний комплекс
ELINTIR ZR-47 Проєктування
Вісім когерентних каналів прямої оцифровки — гетеродина немає
взагалі. Стрибок фази ФАПЧ при кожному перестроюванні, який ламає
широкосмугову пеленгацію на п'ятиканальній станції, тут не існує як
явище. Кристал бачить смугу цілком і рахує напрямок на кожному біні,
а не на одному.
Кристал
XCZU47DR — вісім РЧ-АЦП, 14 біт @ 5,0 GSPS
Тракт
балуни TCM2-63WX+, роздача тактів на кристалі
Самоконтроль
вісім РЧ-ЦАП того самого кристала — вбудований BITE
Синхронізація
MTS — фаза восьми каналів між тайлами
Звіт
s.Link; сирі IQ — QSFP28
Специфікація — після першої плати
Антенна решітка
ELINTIR UCA-1
П'ять елементів у кільці Ø195 мм. Саме геометрія кільця, а не приймач,
вирішує, де пеленг однозначний: хорда між сусідніми елементами 114,6 мм,
а рознос до довжини хвилі перераховується на кожному перестроюванні.
Два перемикані концентричні кільця по п'ять елементів. Одним кільцем
увесь діапазон GR-1 не взяти: рознос до довжини хвилі, однозначний
угорі смуги, унизу перестає давати напрямок. Два кільця ділять смугу
між собою, приймач лишається той самий.
Геометрія
два концентричні кільця по п'ять елементів
Канали
п'ять, перемикання між кільцями
Вихід
коаксіали на GR-1
Геометрію зафіксує перше креслення
Сквінт-кільце
ELINTIR LPA-1 Концепт
П'ять логоперіодичних антен, розставлених радіально через 72°. Кільце
для ZR-1: кожна дивиться у свій сектор, а напрямок береться з різниці
потужностей між сусідніми — тому елементи тут напрямлені, на відміну
від кільця UCA, де вони мусять бути однакові й всеспрямовані.
Елементи
п'ять друкованих LPDA, крок 72°
Метод
амплітудне порівняння сусідніх секторів
Вихід
комутатор SP6T на ZR-1
Назва попередня — за реліз-сесією
Три кільця
ELINTIR UCA-3 Проєктування
Три концентричні кільця по вісім елементів, перемикані. Смугу
100 МГц – 6 ГГц одним кільцем не покрити нічим, тому кільця роблять
електрично тотожними й ділять діапазон утричі — кожне працює у своїй
третині з тією самою геометрією.
Геометрія
три кільця по вісім елементів
Радіуси
26,78 · 104,85 · 410,46 мм
Смуги
1533–6000 · 391–1533 · 100–391 МГц
Вихід
вісім каналів на ZR-47
Механіку зіткнень рахує план 268
Платформа
Електромагнітна карта, а не список виявлень
Ми будуємо не прилад, що показує напрямок, а платформу, яка
зводить довільну кількість фізичних сенсорів в
одну картину. Когерентна решітка, широкосмуговий оглядовий
приймач, чужий приймач у складі системи замовника — платформі
байдуже, що саме приймає. Важливо, що з цього виходить.
А виходить не перелік сплесків, а карта з контекстом: яка це
смуга частотного плану, чий оператор нею володіє, чи законний
це користувач і чи той самий випромінювач уже був тут учора.
Виявлення зливаються в джерела за частотою, гармоніками,
спільним розташуванням і когерентністю модуляції — і лише тоді
потрапляють оператору.
Війна рухається саме туди. Контроль радіоспектра — її
наступний технологічний цикл, і виграє його не той, хто
голосніше глушить, а той, хто бачить більше й раніше. Станція
нічого не придушує — це РЕР, а не РЕБ, — і саме тому проходить
експортний контроль там, де засіб придушення застрягає на
місяці.
Під капотом: п'ятиканальна когерентна решітка й алгоритм MUSIC
дають напрямок за різницею фаз між елементами. Кожна станція
звітує оператору власним лінком; консоль перетинає пеленги від
кількох станцій — виходить точка на карті.
Решітка й приймачі мають різні межі. Кільце Ø195 мм
дає хорду 114,6 мм між сусідніми елементами, і з неї випливає все
інше: нижче 262 МГц решітка замала й дає лише
енергію, вище 1309 МГц крок перевищує пів довжини
хвилі — з’являється дзеркальний двійник. Тобто приймачі
перестроюються до 1766 МГц, але однозначний пеленг
закінчується на 1309, і ми позначаємо такі виміри як
неоднозначні, а не видаємо за чисті.
Решітка
П'ять елементів у кільці Ø195 мм, рознос перераховується на кожен ретюн.
Обробка й каталогізація на вузлі — Raspberry Pi 5, живе в полі від павербанка.
Лінк
s.Link — власний PHY і канальний рівень, 872 МГц, шифрування ChaCha20-Poly1305.
Пеленгація
Надроздільний метод
Напрямок рахується алгоритмом MUSIC із сирого багатоканального IQ, а не з рівнів сигналу. Тому пеленг лишається гострим і тоді, коли джерел у смузі кілька.
Фаза тримається на кожній частоті
Рознос елементів до довжини хвилі перераховується на кожен ретюн. Це не дрібниця: зіпсоване значення не дає помилки — воно тихо фабрикує пеленг 0,0°, і це задокументований у нас польовий інцидент.
Цілі, ширші за смугу тракту
LTE і DVB-T пеленгуються попри те, що їхня смуга ширша за миттєву смугу приймача. Рухомі джерела супроводжуються, а не лише фіксуються.
Два числа, а не одне
Сирий кут решітки й компасний пеленг зберігаються окремо, разом із джерелом курсу та його власною точністю. Плутанина між ними — класичне джерело дзеркальних помилок, і ми її розвели на рівні запису.
Достовірність рахується, а не припускається
Впевненість береться з власних чисел кореляційної матриці, а не з амплітуди. Слабкий, але чистий сигнал отримає високу оцінку; сильний, але розмазаний — низьку.
Плати, на яких ми працюємо
Дві плати, один кристал
Лінк і широкосмуговий огляд живуть на платах одного класу: XC7Z010, 17 600 логічних блоків, 80 блоків DSP. Штатний бітстрім уже займає 12 456 блоків і 72 з 80 DSP — саме DSP і є тіснина, через яку швидкісний режим лінка не влазить. Широкосмугова додає 1 ГБ DDR3, гігабітну мережу і термостабільний генератор 0,5 ppm із входом зовнішньої опори; драйвер на ній розблокований на повний діапазон 70 МГц – 6 ГГц.
Кремній ми читаємо, а не віримо наліпці
Виробник описує широкосмугову плату як 7020. За IDCODE у ній XC7Z010 — 17 600 LUT і 80 DSP замість 53 200 і 220. Прочитано тричі поспіль, другим незалежним декодером і на всіх трьох платах парку, включно зі станційною. Різниця не косметична: саме на ній стоїть висновок, що 4K-приймач у цю фабрику не влазить.
Що зміряно на них, а не взято з даташита
12 біт дають близько 60 дБ динамічного діапазону. Стійкий потік через мережу — близько 9 МВідл/с за типових буферів, тож безперервний максимальний темп неможливий за жодного лінку: працює захоплення пачками. Паспортні 56 МГц — це AD9361; наша плата домовляється щонайбільше на 30,72 МВідл/с, а 61,44, 56 і 40 відхиляє помилкою. Ранній вимір давав рівні 48–52 МГц зі смуги 56 — ми лишили в планах менше з двох чисел, бо воно з новішого прогону.
Чого на них немає
Малошумного підсилювача на прийомі немає в жодному варіанті, а вище ~2 ГГц тракт помітно глухне — балун оптимізований під 2,4 ГГц і преселектора немає. Для слабких цілей у верхніх смугах потрібні зовнішній LNA і смуговий фільтр.
Що вже працює як виріб
Станція
Raspberry Pi 5 — автозапуск, працює від павербанка, живе в полі.
Пеленгація в реальному часі
П'ятиканальний когерентний прийом і MUSIC по кільцевій решітці: азимут на джерело кілька разів на секунду, без демодуляції корисного навантаження. Відношення d/λ перераховується на кожному перестроюванні — інакше пеленг брехав би нулем і не скаржився.
15 сканерів
Кожен знає, що шукає у своїй смузі: зв'язок, радіолокація, супутникові канали, навігаційні завади. Частотні мітки беруться з єдиного атласу, а не з коду сканера.
s.Link
Власний шифрований радіолінк станція ↔ оператор: пеленги туди, команди назад. Окрема сторінка →
Сигнатурний векторний аналіз
Із сирого IQ виділяється вектор ознак — часових, спектральних, структурних — і за ним визначається тип випромінювача. Каталог упізнає передавач, коли той повертається. Без демодуляції корисного навантаження.
Запис сирих IQ
Багатоканальні когерентні відліки лягають у стандартний формат із метаданими походження — короткими фрагментами під подію або суцільним архівом кадрів. Аналіз потім іде на землі, скільки завгодно разів.
Оновлення «по повітрю»
З криптопідписом: нові частотні плани доїжджають на станції самі, код — ні.
Що вже зміряно — у полі, з датою
Зміряно
Значення
Коли
Пеленг на CW-маяк 868.000, розкид
0,2–1,5° на 90-секундних відрізках, 107 пеленгів
22.08 · поле
Джерело доведене частотною вибірковістю
69,6 дБ на 868,0 проти ~16 дБ поруч — падіння 53,1 дБ
22.08 · поле
Перенос маяка 0° → 30°
пеленг пішов на +35,9° при істинних +30°
22.08 · поле
Автотестів проходить
18 542 пройшло / 44 пропущено, 0 червоних
08.09 · прогін
Готове в коді — чекає на ефір
Це не плани й не наміри: код написаний, ланцюг замикається на
стенді, тести зелені. Бракує рівно одного — прогону в ефірі.
Дальність «оператор ↔ дрон» із таймкодів лінка
Два пеленги MUSIC дають напрямки, але не відстань. TDD-лінк ворога віддає її задарма: борт відповідає через сталий оборот, і надлишок шляху читається з нашого ж такту — без GPS. Математика закрита 47 тестами. Різниця між «ударний профіль» і «хтось літає над лісосмугою».
Куди рухається межа
Станція на повітряному носії
Той самий приймач, піднятий на висоту, працює в іншому порядку
дальностей — бо змінюється не чутливість, а геометрія. Для
наземного джерела радіогоризонт рахується прямо з висоти:
50 м
29,6 км прямої видимості.
100 м
40,1 км — і це інженерна солодка точка.
150 м
48,1 км за помірних вимог до платформи.
200 м
54,9 км — підйом зі 100 до 200 м додає лише ~15 км, а вимоги до носія піднімає значно більше.
Друга половина задачі — позиція. Пеленгатор
виграє від наближення до зони розмежування рівно так само, як від
висоти: обидва рухають той самий горизонт. Разом вони переводять
станцію з одиниць кілометрів у десятки.
Що вже відомо про цей шлях, і чого він коштує
Наведені числа — геометрична пряма видимість, а
не обіцяна дальність пеленга: впевнений bearing планується
консервативніше, приблизно на половині-двох третинах від меншої з
цих двох меж. Повітряний носій приносить і власні задачі, які ми
вже розібрали, а не відкриємо в польоті: плаский масив не дає
стабільного азимуту прямо під носієм, помилка орієнтації на 1°
дає такий самий градус помилки пеленга, центр решітки треба
рознести з двигунами й силовими проводами, а базові прогони
знімати окремо з вимкненими та ввімкненими моторами.
Сигнатурний аналіз
Впізнати випромінювач, не демодулюючи його
Ми визначаємо, що це за передавач, за ознаками
сигналу — часовими, спектральними, структурними, — а не за вмістом
переданого. Це принципово: система лишається приймальною і не
потребує ані ключів, ані права на корисне навантаження. Саме тому
її можна ставити туди, куди систему з демодуляцією не пустять.
Родину видає поведінка, а не модуляція
Задача не «розпізнати ELRS», а виявити родину цілком
— включно з варіантами, чиї канали й параметри нам поки невідомі:
форки mLRS, MILELRS, Кузнечик, закритий Crossfire. Тому ловимо за
інваріантами, які диктує фізика й чипсет, а не за списком відомих
сигнатур.
Дорівнює темпу пакетів, 25–1000 Гц: стрибок на кадр — правило родини.
Періодичність
Строго регулярна. Це керування, а не дані — інтервал сталий.
Асиметрія дуплексу
Пачки вниз, короткі телеметричні вгору — за конструкцією.
Зайнятість смуги
Розріджена, одиниці % часу на каналі. Це й вирізняє її з Wi-Fi та LTE.
Одну редакцію цієї таблиці ми відкликали самі
Спершу в інваріантах стояло «чирп або FLRC, не OFDM». Для ELRS і
mLRS це правда — і як родинна ознака це хибно: воно
відсікає FrSky ACCST/ACCESS, Flysky AFHDS, Futaba FASST, Spektrum
DSMX і телеметрію SiK/RFD900. Усі вони FHSS з тією самою
поведінкою на рівні пачок, але на GFSK або DSSS — детектор,
побудований на чирпі, не побачив би половини популярного
парку.
Інваріант родини — не модуляція, а поведінка. Модуляція вирізняє
гілку всередині родини, не саму родину.
Сучасні стандарти — за структурою преамбули
Окремий детектор розрізняє сімейства сучасних стандартів трьома
кореляторами — DVB-T2 P1, 5G NR PSS (три m-послідовності за
3GPP TS 38.211) і Wi-Fi. На виході — родина, впевненість і оцінка
по кожному корелятору. Демодуляції немає й тут.
Чим міряємо
Миттєве вікно нашої плати — 30,72 МГц (не 56
паспортних: більше вона не приймає), і 65 536-точкове перетворення
дає в ньому роздільну здатність 469 Гц. Увесь набір
стрибків субгігагерцових родин влазить у це вікно цілком, тому крок
сітки каналів ми міряємо, а не вгадуємо: сітку
525 кГц ця роздільна здатність ділить на 1120 комірок.
Чесне обмеження: це працює в режимі паркування. У
режимі огляду двел коротший за період стрибків — свіп проти FHSS
приречений, і ми на нього не розраховуємо.
Показати станцію в роботі можемо особисто. Повний технічний вікі
і специфікація протоколу — у дата-румі.