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

93 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](../data/processed/lab061/summary.json),
[реальные результаты](../data/processed/lab061/real_results.csv),
[синтетические пакеты](../data/processed/lab061/synthetic_packet_results.csv),
[траектории](../data/processed/lab061/trajectories.npz).
`RF TX = 0`. Lab061 фиксируется этим отдельным коммитом. Push выполняется
пользователем отдельно. Lab062 не создавалась.