Lab046C: recover short 1400 MHz capture offline
This commit is contained in:
@@ -959,3 +959,68 @@ notices. Финальный read-only verifier независимо сверил
|
||||
менять задним числом и второй улучшенный pass автоматически не запускать.
|
||||
Повторный RF TX, gain ladder, JPEG, video, QPSK, erasure FEC и ARQ без новой
|
||||
отдельной постановки запрещены.
|
||||
|
||||
# Запись 031
|
||||
|
||||
## Дата
|
||||
|
||||
2 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Lab046C: независимая повторная обработка короткой записи 1400 МГц с отдельным
|
||||
статистическим допуском кандидатов, без нового RF.
|
||||
|
||||
## Выполнено
|
||||
|
||||
Использована сохранённая запись
|
||||
`20260901_172749_1400MHz/rx_1400mhz.cs8`: 19 200 000 комплексных отсчётов cs8,
|
||||
2,4 с при 8 МГц, SHA-256
|
||||
`06ab0867865bca462a21c42c9f3bc7e519e336108f7b5e98e7b283f842387a99`.
|
||||
HackRF не запускался, `RF TX = 0`. Исторический порог
|
||||
`IQ_PREAMBLE_THRESHOLD = 0.65`, Lab045, FEC и PHY не изменялись. Исходный
|
||||
аппаратный `CONTROL RESULT = C` сохранён без переписывания.
|
||||
|
||||
До полного независимого декодирования зафиксировано отдельное правило первого
|
||||
каскада только по фону до передачи `0,00 ... 0,50 с`:
|
||||
`pre-TX local-peak Q99.9 + 4 * local-peak MAD`. Q99.9 равен
|
||||
`0.022788675501942635`, MAD равен `0.0027075146790593863`, итоговый порог равен
|
||||
`0.03361873421818018`. На независимом контрольном фоне после передачи
|
||||
`1,60 ... 2,40 с` максимум равен `0.02711654081940651`, кандидатов 0. Порог
|
||||
после просмотра результата не менялся.
|
||||
|
||||
Перед полным проходом независимая проверка выявила небезопасную при отказе ошибку общей точки
|
||||
приёма: противоречивый результат `accepted=True, CRC_FAIL` мог увеличить
|
||||
`VALID_FRAMES`. Добавлена обязательная повторная проверка `CRC PASS`; сценарий
|
||||
после исправления даёт `VALID_FRAMES = 0`. Независимая повторная проверка
|
||||
признала исправление чистым.
|
||||
|
||||
Выполнен ровно один полный проход всей записи без смещений TX, ожидаемого числа
|
||||
кадров, сигнала TX, пакетов, полезной нагрузки и кодированных битов. Получено
|
||||
29 205 локальных максимумов и 1 279 кандидатов первого каскада. Строгий каскад
|
||||
обработал 28 кандидатов: PHY-заголовок PASS/FAIL `3/25`, FEC attempts/PASS/FAIL
|
||||
`3/3/0`, CRC PASS/FAIL `3/0`, `VALID FRAMES = 3`. Поиск завершился по концу
|
||||
записи и списка кандидатов; ограничения безопасности не сработали.
|
||||
|
||||
Независимый результат записан до открытия опорных данных передатчика. Только
|
||||
после этого три действительных кадра сопоставлены с тремя переданными:
|
||||
пропущено 0, `FALSE CRC PASS = 0`, ошибки положения `0/-1/+2` отсчёта. Ошибки
|
||||
до FEC составили `17 + 19 + 29 = 65` бит, после FEC 0 бит, в полезной нагрузке
|
||||
0 байт и 0 бит. Независимая проверка готовых JSON и трёх пар полезной
|
||||
нагрузки/пакета
|
||||
расхождений не выявила. `1400 MHz OFFLINE REPROCESSING = PASS`,
|
||||
`RF PATH ASSESSMENT = HEALTHY`.
|
||||
|
||||
Итоговый программный шлюз перед полным проходом: `python tools/quick_gate.py`
|
||||
код 0 и 512 проверок; `python -m pytest tests/ -q` = 512 passed;
|
||||
`git diff --check` код 0 с информационными уведомлениями LF/CRLF. Git add,
|
||||
commit и push не выполнялись.
|
||||
|
||||
Подробный отчёт и машинно-читаемые результаты сохранены в
|
||||
`docs/lab046c_1400mhz_offline_reprocessing.md` и
|
||||
`data/processed/lab046c_1400mhz_offline/`.
|
||||
|
||||
## Следующий этап
|
||||
|
||||
STOP. Новый RF, повтор Lab046C, изменение порога, JPEG, QPSK и изменение FEC
|
||||
без отдельной постановки запрещены.
|
||||
|
||||
Reference in New Issue
Block a user