154 lines
15 KiB
Markdown
154 lines
15 KiB
Markdown
# COMPARISON.md — pluto-link vs коммерческие MANET-радио (Silvus SC4200EP, Sinosun MIMOMesh)
|
||
|
||
Дата: 2026-07-15. Сравнение измеренных характеристик pluto-link (README.md,
|
||
BENCHMARK.md) с публичными данными двух коммерческих COFDM-радио. Данные
|
||
pluto-link — из фактических прогонов на плате (§12 README, docs/BENCHMARK.md).
|
||
Данные конкурентов — маркетинговые материалы вендоров, без независимой
|
||
верификации.
|
||
|
||
Источники:
|
||
- Silvus Technologies, StreamCaster 4200 Enhanced Plus:
|
||
https://silvustechnologies.com/products/streamcaster-4200-enhanced-plus/
|
||
- Sinosun, Data Radio MIMOMesh (multiple handheld series):
|
||
https://www.sinosunmesh.com/quality-43320224-data-radio-mimomesh-wireless-mesh-data-link-multiple-handheld-series
|
||
|
||
## 1. Почему именно эти два продукта
|
||
|
||
Sinosun MIMOMesh построен на **AD936x + Zynq (7Z020/7Z030/7Z035/7Z100)** —
|
||
той же паре чипов, что и Pluto+ (README §1: Zynq-7020, AD9361). По сути это
|
||
серийное изделие на буквально той же платформе, что и наш прототип, только
|
||
модем вынесен из ARM в программируемую логику (PL) того же Zynq. Silvus —
|
||
не совпадает по платформе, но того же класса (тактический MANET COFDM) и
|
||
задаёт верхнюю планку рынка.
|
||
|
||
## 2. Сводная таблица
|
||
|
||
| Параметр | pluto-link (измерено) | Sinosun MIMOMesh | Silvus SC4200EP |
|
||
|---|---|---|---|
|
||
| Платформа | AD9361 + Zynq-7020, **PHY на ARM Cortex-A9** (liquid-dsp, софт) | AD936x + Zynq 7Z020…7Z100, **PHY в FPGA (PL)** | проприетарная, не раскрыта |
|
||
| Waveform | OFDM M=64/CP=16, **QPSK фиксированная** | TD-COFDM, адаптивная BPSK…1024QAM | MN-MIMO COFDM, адаптивная |
|
||
| Полоса | 1.5 МГц (rate 1.92 MSPS — потолок ARM-синхронизатора, README §2) | 1.25–80 МГц | 1.25–20 МГц |
|
||
| Goodput | **~120 КБ/с ≈ 0.96 Мбит/с** (`-p 3000`, §12.6); ~95 КБ/с лосслесс с group-FEC (`-p 4000`, §12.7) | 1–70 Мбит/с @20 МГц … до 350 Мбит/с @80 МГц | не публикуется |
|
||
| MIMO | SISO (софт); AD9361 физически 2R2T, канал не задействован | 2×2, space-time coding + TX/RX beamforming | 2×2, eigen-beamforming |
|
||
| Топология | точка-точка, **симплекс** | MANET, 256+ узлов, multi-hop | MANET, до 559 узлов |
|
||
| Дуплекс | нет (FDD 868/915 — roadmap §10 п.7) | TDD | TDD, single-frequency |
|
||
| Надёжность/FEC | RS(255,223) внутрикадрово + **group-FEC 16+2** (эрейжер, GF(256), overhead 12.5%), измеренный PER 0.26–0.36%, 10 МБ соук байт-в-байт (§12.7) | адаптивная модуляция под канал (заявлено) | адаптивная модуляция под канал (заявлено) |
|
||
| ARQ | ✅ есть на FDD (селективный ретрансмит по NACK + END/COMPLETE, §12.9, техдолг #6 закрыт); на симплексе — group-FEC без обратного канала, ARQ там недоступен принципиально | есть (MAC-уровень) | есть (MAC-уровень) |
|
||
| Латентность | не нормируется отдельно; эфир кадра 5.33 мс + пауза TX 3–4 мс (§12.6/12.7) | ~6 мс/хоп (заявлено) | ~7 мс/хоп (заявлено) |
|
||
| TX-мощность | AD9361 без внешнего УМ, рабочая точка gain −20 дБ (единицы мВт на разъёме, §12.4) | 2×2 / 4×2 / 5×2 Вт | до 10 Вт (20 Вт эфф. с beamforming) |
|
||
| Диапазон | 915 МГц (тест); AD9361 tunable 70 МГц–6 ГГц, но без фильтров/УМ под конкретный банд | заказные банды 225 МГц – 5.85 ГГц | dual-band, конкретные частоты не раскрыты |
|
||
| Шифрование | нет; в заголовке кадра зарезервирован байт флагов, формат допускает AEAD +16 Б/кадр (README §10 п.6, техдолг-примечание) | AES-128/256, DES, опционально SM4/SNOW3G/ZUC | AES-256, FIPS 140-3 Level 2 |
|
||
| Сертификация | нет (прототип ОКР «R-Link») | не указана в источнике | Blue UAS, NDAA/DoD cybersecurity |
|
||
| Цена | ~$200–250 за плату (2 шт. для линка) | $3450–4050/шт. | не публикуется (класс рынка — от $10k+) |
|
||
|
||
## 3. Где pluto-link уже сопоставим
|
||
|
||
- Работающий COFDM-линк на том же трансивере (AD9361), что и Sinosun.
|
||
- Все характеристики — **измеренные**, а не заявленные: PER, EVM, throughput,
|
||
предел CPU сняты прогонами на плате (docs/BENCHMARK.md, README §12), а не
|
||
взяты из datasheet.
|
||
- **Групповой стирающий FEC 16+2 без обратного канала** (README §10 п.6,
|
||
§12.7) — у обоих конкурентов эквивалентный слой не описан в публичных
|
||
материалах; они полагаются на ARQ поверх MAC, что требует дуплекса.
|
||
У pluto-link это единственный механизм, спасающий целостность на симплексе.
|
||
- Подтверждённый лосслесс: 10 МБ байт-в-байт на `-p 4000` (§12.7) — не
|
||
демо-цифра, а воспроизводимый соук-тест.
|
||
- GF(256)-кодек самопроверен формальным тестом (`make gftest`,
|
||
774 400 кейсов, 0 ошибок) — уровень верификации, обычно не публикуемый
|
||
вендорами вообще.
|
||
- Цена железа на 1–2 порядка ниже при сопоставимом чипсете.
|
||
|
||
## 4. Разрыв и его причина
|
||
|
||
Главная развилка — **PHY на ARM (софт) vs PHY в FPGA**. Наши же измерения
|
||
это объясняют: синхронизатор liquid на Cortex-A9 тянет **1.65 Msps на
|
||
сплошном потоке** — это 0.86× от целевых 1.92 MSPS (BENCHMARK.md,
|
||
«пересмотр 14-07», README §12.5), то есть одно ядро 667 МГц — это и есть
|
||
потолок пропускной способности порядка ~1.5 Мбит/с. У Sinosun тот же
|
||
Zynq-7020 выдаёт 70 Мбит/с при 20 МГц полосы, потому что модем реализован
|
||
в программируемой логике, а ARM в их изделии занят только управлением и
|
||
MAC — ровно то разделение труда, которое мы не можем себе позволить без
|
||
переноса PHY в PL.
|
||
|
||
Второй разрыв — RF-обвязка: у нас голый AD9361 без внешнего усилителя
|
||
мощности, фильтров под конкретный диапазон и диплексера для полного
|
||
дуплекса; у конкурентов это Вт-класса УМ + LNA + TDD-свитчинг.
|
||
|
||
Третий — MAC/сетевой уровень: TDD-слоттинг, mesh-маршрутизация на 250+
|
||
узлов, ARQ. У pluto-link это точка-точка без MAC вообще.
|
||
|
||
## 5. Горизонт 1 — потолок Pluto+ как есть (без нового железа)
|
||
|
||
Софтовые шаги в рамках текущего roadmap (README §10):
|
||
|
||
- **п.7 FDD 868/915 + ARQ** — закрывает «молчаливые дыры» техдолга #6,
|
||
даёт двусторонность. В сочетании с уже реализованным group-FEC получается
|
||
гибрид (стирающий FEC + ARQ по обратному каналу), которого по отдельности
|
||
ни у одного конкурента в описании нет — у них это либо ARQ, либо ничего.
|
||
- **п.8 UDP-туннель + web-настройка** — паритет по «IP-прозрачности» с
|
||
Ethernet-мостом конкурентов.
|
||
- **п.9 видео raw UDP ≤1472 Б** — тот же сценарий использования, что у
|
||
конкурентов декларируется как основной (потоковое видео).
|
||
- **Адаптивная модуляция QPSK↔16QAM** по телеметрии EVM/RSSI, которая уже
|
||
снимается (§12.4) — дешёвый шаг к «auto link adaptation» уровня
|
||
конкурентов; перед внедрением обязателен прогон `ofdm_bench` (правило
|
||
CLAUDE.md №6/README §5.6, PHY-параметры меняются).
|
||
- **M=32/CP=8** — единственный обнаруженный резерв поднять предел
|
||
синхронизатора выше 1.65 Msps (BENCHMARK.md, «неисследованные резервы»);
|
||
требует нового бенчмарка перед принятием.
|
||
- **2R2T Pluto+**: второй RX/TX-канал AD9361 физически присутствует и не
|
||
используется. Реалистичная цель на ARM — RX-diversity (не полноценный
|
||
2×2 MIMO с пространственным мультиплексированием — MRC/STC на ARM в
|
||
реальном времени, скорее всего, не влезает в оставшийся бюджет CPU;
|
||
требует отдельного ofdm_bench-прогона, прежде чем закладывать в план).
|
||
- AEAD-резерв под шифрование уже заложен в формате кадра (byte 11) —
|
||
реализация зависит от требования ОКР.
|
||
|
||
**Честный потолок горизонта 1**: порядок ~1.5 Мбит/с, точка-точка (2 узла),
|
||
симплекс/FDD-полудуплекс, TX-мощность в единицах мВт без внешнего УМ.
|
||
Mesh на ARM-PHY недостижим — нет свободного CPU одновременно на
|
||
многопоточный синхронизатор и MAC-маршрутизацию.
|
||
|
||
## 6. Горизонт 2 — что нужно для класса Sinosun ($3.5–4k/шт.)
|
||
|
||
- **Перенос модема в PL Zynq** (HLS или RTL OFDM-модем) — главный и самый
|
||
трудоёмкий шаг; именно это меняет потолок с 1.92 MSPS/ARM на 20–80 МГц
|
||
полосы. По объёму разработки это ядро того, что стоит за продуктом
|
||
Sinosun — не спринт, а отдельная многомесячная инженерная программа.
|
||
- **RF-тракт**: усилитель мощности 2–10 Вт, LNA, фильтры под целевой
|
||
диапазон, TDD-переключение приём/передача.
|
||
- **MIMO 2×2**: пространственное кодирование/beamforming в FPGA (на ARM
|
||
нереалистично при текущем бюджете CPU).
|
||
- **MAC-уровень**: TDD-слоттинг, mesh-маршрутизация, multi-hop, ARQ —
|
||
сетевой стек, которого у pluto-link сейчас нет вообще (точка-точка).
|
||
- **Регуляторика/сертификация**: диапазоны 868/915 в нашем регионе уже
|
||
выявленное ограничение (docs/NOTES.md — 868 SRD, 915 не свободен в ETSI);
|
||
для заказных вендорских бандов (как у Sinosun) нужен отдельный частотный
|
||
допуск.
|
||
|
||
**Позиционирование**: pluto-link на этом этапе — верифицированный прототип
|
||
waveform-а, формата кадра и FEC-стека (group-FEC 16+2, CRC-поверх-RS) с
|
||
воспроизводимой методикой измерений. Путь к изделию уровня Sinosun — это
|
||
миграция PHY с ARM на FPGA того же Zynq с сохранением формата кадра и
|
||
group-FEC слоя, а не переписывание протокола с нуля.
|
||
|
||
## 7. Приоритеты (рекомендация)
|
||
|
||
1. ✅ **Завершить §10 п.7** (FDD + ARQ) — **выполнено 2026-07-16** (README §12.9,
|
||
техдолг #6 закрыт на FDD). Полная приёмочная матрица пройдена на железе:
|
||
гибрид group-FEC+ARQ на 10 МБ вытягивает 51/51 потерю всего 6 ретрансмитами
|
||
(паритет закрывает 45 из них немедленно, без обратного канала) — то самое
|
||
сочетание «стирающий FEC + ARQ», которого по отдельности нет ни у одного
|
||
конкурента в §2. На симплексе (без обратного канала) техдолг закрыт
|
||
group-FEC-ом, ARQ там принципиально недоступен — так и задумано.
|
||
2. Адаптивная модуляция (QPSK↔16QAM) — измеримый шаг к паритету по
|
||
«auto link adaptation» с минимальными изменениями кода.
|
||
3. ✅ **§10 п.8** (UDP-туннель) — **выполнено 2026-07-17** (README §12.10).
|
||
Переводит pluto-link из «демо передачи файла» в «сетевой линк», ближе к
|
||
тому, как позиционируются оба конкурента. `udp_gw` — record-слой поверх
|
||
существующего байтового потока, ядро тракта не изменено ни строкой.
|
||
Радио-смоук на антеннах (два прогона): md5 == байт-в-байт, 0 дропов/
|
||
ресинков/дыр. Web-настройка (хвост п.8) осталась нереализованной.
|
||
4. Решение о горизонте 2 (перенос PHY в FPGA) принимать по факту завершения
|
||
пп. 7–9 roadmap — раньше данных для оценки трудоёмкости недостаточно.
|