Files
SDR-Rover/docs/lab061_offline_result.md
2026-09-14 11:07:40 +03:00

6.9 KiB
Raw Permalink Blame History

Lab061 — T2 в строгом приёмнике

Результат простыми словами

T2 перенесён из диагностической Lab060 в тот же строгий путь, который ищет пакет, синхронизируется, разбирает PHY header, запускает FEC и принимает пакет только после CRC PASS. Режим включается явно; обычный запуск по-прежнему использует legacy. Скрытого повторного декодирования нет.

На сохранённом Lab047 оба режима приняли 36 из 36 пакетов. На Lab054 оба дали 0 из 16: исторический результат NOT_A не изменён. Чистая сохранённая TX-форма дала 16/16 в обоих режимах, фон — ноль допустимых заголовков и пакетов.

Полный синтетический PHY-пакет 500K

Штатный генератор сформировал преамбулу, повторённый header, FEC-кодированное тело и CRC. Проверено 39 реализаций для каждого режима: 13 начальных ошибок частоты от −10 до +10 Гц, фиксированная начальная фаза и три уровня шума. Условное среднее измеренное EVM уровня LAB056_B_LIKE равно 0,844032 по 11 полным T2-траекториям из 13; два случая, остановившиеся раньше полного извлечения, в это среднее не входят.

Режим Header CRC и packet
legacy 92,307692% 89,743590%
T2 94,871795% 94,871795%

На качестве около Lab056 B legacy принял 9/13 пакетов, T2 — 11/13. На двух лучших уровнях оба режима приняли 26/26. По всем трём уровням доля T2 для CFO −10/−5/−2/−1/−0,5/−0,25/0/+0,25/+0,5/+1/+2/+5/+10 Гц составила 66,67/100/100/100/100/100/100/100/100/100/100/66,67/100%.

Текущий штатный пакет с 256 байтами payload содержит 268 packet bytes и 5724 символа; его сформированная длительность — 11,532 мс. Указанные ранее 204,8 мс относятся к длинному диагностическому B-burst Lab056 из 102400 символов, а не к этому штатному пакету. На всём B-burst T2 также проверен: срыва сопровождения нет.

Сохранённые данные

Средняя ошибка символов Lab056 после интегрированного ядра T2:

  • A: (1 + 0) / (2816 + 2816) = 0,017756%;
  • B: (3290 + 3792) / (101120 + 101120) = 3,501780%.

B1/B2 дали 3,253560% и 3,750000%; A1/A2 — 0,035511% и 0%. Все четыре траектории сохранили устойчивый внутренний lock без больших фазовых скачков.

Для 36 пакетов Lab047 начальная P3-оценка лежала от −0,119281 до +0,207932 Гц. Это далеко внутри проверенного диапазона; прежнее ограничение 20 ksymbol/s при искусственной ошибке до ±10 Гц сохраняется. Отдельная настройка 20K не вводилась.

Lab054 дал в обоих режимах 0 header, 0 FEC, 0 CRC и 0 packet из 16 проверенных исторических кандидатов. T2 не переопределяет этот отрицательный результат.

Независимость и отказоустойчивость

T2 не принимает reference payload. Тест причинности меняет последний будущий символ и подтверждает полное равенство всех предыдущих решений и состояний. Отдельный тест меняет все raw-отсчёты после причинной границы P3 и подтверждает равенство начальных частоты и комплексного коэффициента P3 с допуском 1e-8; остаток порядка 4e-9 Гц возникает из-за округления FFT-свёртки. Изменение диагностической reference меняет только последующее сравнение; путь приёма и его RX bits от неё не зависят.

Одиночная ошибка, серии из 10 и 80 ошибок, провал амплитуды и шумовой участок не создали NaN/Inf. Максимальное наблюдаемое частотное состояние составило 1,676428 Гц; дополнительный state clamp не вводился. На реальном фоне оба режима проверили 13 кандидатов и не приняли ни одного заголовка или пакета.

Решение

PRODUCTION DECISION = READY_BEHIND_EXPLICIT_MODE.

T2 численно совпадает с Lab060, полезен на полном строгом пути и не создаёт регрессии Lab047, saved TX или background. Его рано делать режимом по умолчанию: Lab054 остаётся 0/16, а контролируемого RF-сеанса с полноценными 500K-пакетами и заранее выбранным T2 ещё не было.

После исправления программного сопровождения реальный широкий B-сигнал Lab056 всё равно имеет около 3,5% ошибочных символов при хорошем диагностическом выравнивании. Следующая физическая задача — проверить энергетику и качество широкополосного канала на полноценном пакете в одном заранее разрешённом контролируемом опыте. Это отдельная лаборатория и здесь не выполнялось.

Сводка JSON, реальные результаты, синтетические пакеты, траектории.

RF TX = 0. Lab061 фиксируется этим отдельным коммитом. Push выполняется пользователем отдельно. Lab062 не создавалась.