Lab046C: analyze weak RF capture offline

This commit is contained in:
LittleSam129
2026-09-01 17:09:27 +03:00
parent b6654671b4
commit 9b906c622d
4 changed files with 1682 additions and 1 deletions

View File

@@ -883,3 +883,79 @@ tools/quick_gate.py` PASS, `python -m pytest tests/ -q` = 482 passed,
Следующий этап определяется отдельной постановкой после анализа RESULT C;
повторный RF TX, изменение PRBS7 threshold, gain или detector автоматически не
разрешены.
# Запись 030
## Дата
1 сентября 2026 года
## Тема
Lab046C: автономная слабосигнальная обработка исходного RX capture, offline
результат FAIL без нового RF.
## Выполнено
Исходный аппаратный результат сохранён без изменения: **ORIGINAL LAB046C
HARDWARE RESULT = C, RF TX COUNT = 1, ORIGINAL HARDWARE RESULT CHANGED = NO.**
HackRF не запускался, RF TX в этом этапе равен 0, второй аппаратный или offline
независимый прогон не выполнялся.
Добавлен отдельный `experiments/lab046c_offline_recovery.py`. Исторический
Lab046B threshold `0.65` и поведение Lab045 не менялись. Новый первый каскад
зафиксирован до полного прогона только по фону первых 0,5 с: 99,9-й процентиль
локальных PRBS7-максимумов, threshold `0.025011632591485977`, median
`0.00838765874505043`, MAD `0.003039387986063957`, 5193 peaks, 6 candidates,
12,0 candidates/s. На независимом контрольном фоне 21--24 с уже фиксированное
правило дало 35501 peak, 301 candidate, 100,333333 candidates/s; после этого
порог не изменялся.
Выполнен ровно один полный independent pass сохранённых 192 000 000 cs8
samples. API не получал TX stream/object, offsets, ожидаемые 68, fragment order,
packets или coded bits. Coarse stage: 291446 local peaks и 3025 candidates.
Strict stage обработал все 3025: refinement/timing/carrier PASS 3025,
PHY HEADER PASS 0, PHY HEADER FAIL 3025 (`MAGIC_MISMATCH`), FEC attempts 0,
CRC 0/0, valid frames 0. `VALID FRAGMENTS = 0`, `OBJECT COMPLETE = NO`,
`recovered_object.bin` не создан. **OFFLINE REPROCESSING OF ORIGINAL RX CAPTURE
= FAIL; OBJECT RECOVERED = NO.**
Только после независимого verdict выполнена TX-reference диагностика. Все 68
реальных стартов имели candidate в пределах +-40 samples; корреляция
min/median/max `0.059379209/0.088661019/0.126557365`, все выше фиксированного
threshold. Однако preamble errors min/median/max `341/430/554` из 1280,
PHY-header errors `30/54/81` из 144, SNR
`-19.282130/-12.829480/-9.195846 dB`. Все 68 диагностических заголовков дали
MAGIC_MISMATCH. `FALSE CRC PASS = 0`, independently valid frames matching TX =
0, missed TX frames = 68. Ни один пропущенный кадр не добавлялся обратно в
`ObjectAssembler`.
Производительность: background calibration 0,269617 с, control 1,031204 с,
coarse search 7,721316 с, strict processing 836,340048 с, среднее 0,276476 с на
кандидат, полный прогон 845,427589 с, то есть 35,226150 длительности 24-секундного
capture. RX использован как memmap, coarse block 16 000 000 complex64 samples;
консервативная оценка временной памяти 1 545 705 764 байта, strict local window
не более 594400 samples / 4 755 200 байт. Полный complex64 capture в память не
загружался.
Добавлены 24 теста statistical calibration/control, deterministic weak PRBS7,
CRC-only acceptance, ошибок magic/version/checksum/length, FEC/CRC fail,
block-boundary ownership, monotonic cursor, safety limits, отсутствия TX oracle
и регрессии Lab045/Lab046B. До полного прогона verifier нашёл и помог закрыть
fail-open status safety-limit и заниженную оценку памяти; повторная проверка
дала чистый pre-run verdict.
Финальный software gate после фиксации offline FAIL: `python
tools/quick_gate.py` PASS, 506 проверок и 9 функциональных лабораторий;
`python -m pytest tests/ -q` = 506 passed. Предупреждение `.pytest_cache` не
повлияло на результат. `git diff --check` чист, кроме информационных LF/CRLF
notices. Финальный read-only verifier независимо сверил JSON, документацию,
68/68 post-verdict mapping, счётчики, времена и память; научных расхождений не
найдено.
## Следующий этап
Сначала анализируется честный offline FAIL. Порог этого independent pass не
менять задним числом и второй улучшенный pass автоматически не запускать.
Повторный RF TX, gain ladder, JPEG, video, QPSK, erasure FEC и ARQ без новой
отдельной постановки запрещены.