Lab046C: analyze weak RF capture offline
This commit is contained in:
@@ -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 без новой
|
||||
отдельной постановки запрещены.
|
||||
|
||||
Reference in New Issue
Block a user