Lab046C: record first continuous RF object attempt
This commit is contained in:
104
PROJECT_LOG.md
104
PROJECT_LOG.md
@@ -779,3 +779,107 @@ Lab046B: программная проверка нескольких полны
|
||||
## Следующий этап
|
||||
|
||||
Сначала ChatGPT анализирует Lab046B. Аппаратную Lab046, JPEG, video, QPSK, 12+3 erasure FEC, ARQ и адаптивную модуляцию автоматически не начинать.
|
||||
|
||||
# Запись 028
|
||||
|
||||
## Дата
|
||||
|
||||
1 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Подготовка одного непрерывного аппаратного BPSK-сеанса Lab046C без RF-передачи.
|
||||
|
||||
## Выполнено
|
||||
|
||||
Проведён аудит фактических Lab043--Lab046B. Новый радиопротокол не создавался:
|
||||
Lab046C переиспользует общий clock-gate и однократный TX guard Lab043--Lab045,
|
||||
физический FEC/CRC-кадр Lab045, фрагментацию и `ObjectAssembler` Lab046,
|
||||
локальный многокадровый IQ-поиск Lab046B.
|
||||
|
||||
Подготовлен `experiments/lab046c_hackrf_bpsk_object.py`. Он создаёт новый
|
||||
криптографически случайный объект 16384 байта, последовательно формирует один
|
||||
cs8-файл из 68 waveform без искусственных gaps и фиксирует SHA-256. Расчёт по
|
||||
фактическому коду: 2 306 400 samples на кадр, 156 835 200 samples и
|
||||
313 670 400 bytes всего, 19,6044 с при 8 MS/s.
|
||||
|
||||
Будущий приём запланирован на 24,0 с: 192 000 000 cs8 samples и
|
||||
384 000 000 bytes. Файл читается через memmap окнами в `complex64`; RX API не
|
||||
принимает TX offsets, длины waveform, ожидаемые 68 фрагментов, TX packets,
|
||||
coded bits или объект. Завершённость определяется только принятыми метаданными
|
||||
и `ObjectAssembler` после CRC.
|
||||
|
||||
Аппаратная последовательность fail-closed: фиксированные MASTER/SLAVE serial,
|
||||
common-clock gate, RX раньше TX, ровно один вызов guard перед одним TX process,
|
||||
cleanup CLKOUT/processes в `finally`, без retry. Отдельный `--preflight-only`
|
||||
не может выполнить TX. Реальный аппаратный Lab046C не запускался, `RF TX = 0`.
|
||||
|
||||
Фактически создан внешний каталог
|
||||
`C:\Users\user\Documents\SDR_Rover_Lab046_raw\20260901_145339_bpsk_object`.
|
||||
SHA-256 нового `tx_object.bin`:
|
||||
`f7568a5d1a6dc5dd907fa1e971a171578315de740bd6788136f447e409fc6bf8`.
|
||||
SHA-256 единого `tx_stream.cs8`:
|
||||
`8941eb231f1f2f99cde51f3cc5426472dbedf1a61675543e7774faec4b935f5e`.
|
||||
Quick gate прошёл 482 теста и 8 функциональных лаб, полный pytest дал
|
||||
482 passed. Безопасный common-clock preflight без RF TX подтвердил MASTER и
|
||||
SLAVE reg29 `0x26`, точный SLAVE CLKIN `DETECTED` за 141,51 мс; cleanup
|
||||
выключил CLKOUT обеих плат, оставшихся `hackrf_transfer` нет. RF TX count = 0.
|
||||
|
||||
Следующий этап: после успешных software gates и безопасного common-clock
|
||||
preflight остановиться и запросить точную отдельную авторизацию на один
|
||||
непрерывный RF TX Lab046C; без неё передачу не выполнять.
|
||||
|
||||
# Запись 029
|
||||
|
||||
## Дата
|
||||
|
||||
1 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Первый непрерывный аппаратный опыт Lab046C: официальный RESULT C.
|
||||
|
||||
## Выполнено
|
||||
|
||||
После отдельной точной авторизации выполнен ровно один непрерывный RF TX
|
||||
Lab046C без повтора. Передан единый `tx_stream.cs8`: 68 полных Lab045 waveform,
|
||||
156 835 200 complex samples, 313 670 400 bytes, 19,6044 с при 8 MS/s. MASTER/TX
|
||||
`000000000000000097c063dc323b97d3`, SLAVE/RX
|
||||
`000000000000000097c063dc2e5327d3`, RF 1080 МГц, TX VGA 10 дБ, RX LNA/VGA
|
||||
24/24 дБ, RF amp и bias OFF.
|
||||
|
||||
Common-clock gate прошёл: MASTER reg29 `0x26`, SLAVE CLKIN `DETECTED`, SLAVE
|
||||
reg29 `0x26`. Фактический TX длился 19,60632 с и полностью находился внутри RX
|
||||
capture 24,00386 с. TX underruns 0, RX overruns 0; cleanup выключил CLKOUT обеих
|
||||
плат и не оставил процессов `hackrf_transfer`. `RF TX COUNT = 1`.
|
||||
|
||||
Независимый многокадровый приёмник не использовал TX offsets, packets, coded
|
||||
bits, ожидаемые 68 фрагментов или исходный объект. Его официальный результат:
|
||||
**LAB046C HARDWARE RESULT = C, PREAMBLE CANDIDATES = 0, VALID FRAMES = 0,
|
||||
PHY HEADER PASS = 0, CRC PASS = 0, OBJECT COMPLETE = NO.** Восстановленный
|
||||
объект не создавался. Рабочий порог PRBS7 оставался `0.65`, независимый максимум
|
||||
равен `0.126562`; detector, gain, PHY, FEC и Витерби после опыта не менялись.
|
||||
|
||||
TX-файл независимо проверен: SHA-256
|
||||
`8941eb231f1f2f99cde51f3cc5426472dbedf1a61675543e7774faec4b935f5e`, RMS
|
||||
44,002775 code (`-9,274598 dBFS`), peak 70,405966 code, BPSK около +50 кГц.
|
||||
Первый, средний и последний кадры проходят PRBS7, PHY header, FEC и CRC прямо
|
||||
из файла; амплитуда практически идентична успешному Lab045. Дефект TX-файла
|
||||
или runner, объясняющий RESULT C, не найден.
|
||||
|
||||
Только после фиксации независимого RESULT C выполнена read-only диагностика с
|
||||
TX reference. Обнаружены следы 68/68 waveform с точным периодом 2 306 400
|
||||
samples: aligned min/median/max `0.065784/0.089991/0.122379`, смещённый контроль
|
||||
median/max `0.004275/0.010075`, медианное преимущество 26,46 дБ. Все 68 aligned
|
||||
значений выше максимума контроля. Это доказывает слабое присутствие TX в RX,
|
||||
но не меняет официальный исход: **POST-RUN TX-REFERENCE DIAGNOSTIC = 68/68
|
||||
WAVEFORM TRACES DETECTED; OFFICIAL RESULT CHANGED = NO.** OBJECT TRANSPORT PASS
|
||||
и LAB046C COMPLETE SUCCESS не заявляются.
|
||||
|
||||
Перед фиксацией результата повторно пройдены software gates: `python
|
||||
tools/quick_gate.py` PASS, `python -m pytest tests/ -q` = 482 passed,
|
||||
`git diff --check` чист, кроме информационных LF/CRLF notices.
|
||||
|
||||
Следующий этап определяется отдельной постановкой после анализа RESULT C;
|
||||
повторный RF TX, изменение PRBS7 threshold, gain или detector автоматически не
|
||||
разрешены.
|
||||
|
||||
Reference in New Issue
Block a user