Lab046C: validate full 1400 MHz RF object transport
This commit is contained in:
@@ -8,33 +8,91 @@
|
||||
|
||||
**ПРОГРАММНАЯ ПРОВЕРКА НЕПРЕРЫВНОГО СЫРОГО IQ-ПОТОКА = PASS.**
|
||||
|
||||
**LAB046C HARDWARE RESULT = C.**
|
||||
**LAB046C HARDWARE RESULT = A (FULL 1400 MHZ RF OBJECT TRANSPORT).**
|
||||
|
||||
**RF TX COUNT = 1.**
|
||||
**FULL RF OBJECT TRANSPORT = PASS.**
|
||||
|
||||
**PREAMBLE CANDIDATES = 0. VALID FRAMES = 0. CRC PASS = 0.**
|
||||
**RF TX PROCESS COUNT FOR THIS RESULT = 1.**
|
||||
|
||||
**OBJECT COMPLETE = NO.**
|
||||
**VALID FRAMES = 68/68. CRC PASS = 68. CRC FAIL = 0.**
|
||||
|
||||
**POST-RUN TX-REFERENCE DIAGNOSTIC = 68/68 WAVEFORM TRACES DETECTED.**
|
||||
**PRE-FEC CODED BIT ERRORS = 787. POST-FEC PROTOCOL BIT ERRORS = 0.**
|
||||
|
||||
**OFFICIAL RESULT CHANGED BY POST-RUN DIAGNOSTICS = NO.**
|
||||
**OBJECT COMPLETE = YES. OBJECT SIZE = 16384 BYTES.**
|
||||
|
||||
**OFFLINE DETECTOR STUDY = COMPLETE.**
|
||||
**SHA MATCH = YES. OBJECT BYTE ERRORS = 0. OBJECT BIT ERRORS = 0.**
|
||||
|
||||
**OFFLINE REPROCESSING OF ORIGINAL RX CAPTURE = FAIL.**
|
||||
**HISTORICAL FIRST LAB046C AT 1080 MHZ = RESULT C.**
|
||||
|
||||
**OFFLINE VALID FRAMES = 0. OFFLINE OBJECT COMPLETE = NO.**
|
||||
**THE HISTORICAL 1080 MHZ RESULT WAS NOT RECLASSIFIED.**
|
||||
|
||||
**ORIGINAL HARDWARE RESULT CHANGED = NO.**
|
||||
**INDEPENDENT 1400 MHZ THRESHOLD = 0.033527640625834465.**
|
||||
|
||||
**CURRENT SOFTWARE GATE = PASS: quick_gate 506, pytest 506 passed,
|
||||
**CURRENT SOFTWARE GATE = PASS: quick_gate 512, pytest 512 passed,
|
||||
git diff --check clean.**
|
||||
|
||||
Lab046A/B остаются только программными лабами. Для Lab046C выполнен ровно один
|
||||
заранее разрешённый непрерывный RF-сеанс без повтора. Ни JPEG, ни видео, ни
|
||||
Lab046A/B остаются только программными лабами. В истории Lab046C отдельно
|
||||
сохранены первый полный аппаратный результат C на 1080 МГц и новый полный
|
||||
аппаратный результат A на 1400 МГц. В новом опыте выполнен ровно один заранее
|
||||
разрешённый непрерывный процесс передачи без повтора. Ни JPEG, ни видео, ни
|
||||
QPSK не запускались.
|
||||
|
||||
## Lab046C: полный аппаратный результат 1400 МГц, RESULT A
|
||||
|
||||
2 сентября 2026 года через два HackRF передан новый криптографически случайный
|
||||
объект размером 16384 байта. Он был разбит существующей архитектурой Lab046 на
|
||||
68 фрагментов и передан 68 последовательными защищёнными BPSK-кадрами одним
|
||||
непрерывным процессом. Частота равна 1400 МГц, частота дискретизации 8 МГц,
|
||||
символьная скорость 20 ксимв/с, цифровое смещение несущей +50 кГц. Усиления не
|
||||
менялись: TX VGA 10 дБ, RX LNA/VGA 24/24 дБ, RF amplifier и Bias-Tee выключены.
|
||||
|
||||
Общий опорный генератор прошёл аварийно-безопасную проверку: MASTER reg29
|
||||
`0x26`, SLAVE CLKIN `DETECTED`, SLAVE reg29 `0x26`. Приём начался на
|
||||
`0.7525116 с` раньше передачи и закончился на `3.6341200 с` позже неё. Файл
|
||||
передачи содержит 156 835 200 комплексных отсчётов, 313 670 400 байт и
|
||||
19,6044 с сигнала; процесс передачи занял 19,6408497 с. Приём содержит
|
||||
192 000 000 комплексных отсчётов, 384 000 000 байт и 24,0 с сигнала; процесс
|
||||
приёма занял 24,0274813 с. Переполнения приёмника, опустошения передатчика,
|
||||
ограничение АЦП и приближение к пределу отсутствуют.
|
||||
|
||||
До полного декодирования по фону до передачи зафиксировано правило первого
|
||||
каскада `Q99.9 локальных максимумов + 4 * MAD`: Q99.9
|
||||
`0.023181289434432983`, MAD `0.0025865877978503704`, порог
|
||||
`0.033527640625834465`. После начала декодирования порог не менялся. На
|
||||
независимом фоне после передачи максимум равен `0.030997175723314285`,
|
||||
кандидатов выше порога нет. Исторический строгий порог
|
||||
`IQ_PREAMBLE_THRESHOLD = 0.65`, Lab045, PHY и FEC не менялись.
|
||||
|
||||
Независимый приёмник обработал весь 24-секундный файл. Он не использовал
|
||||
смещения и период кадров передатчика, ожидаемое число 68, пакеты, кодированные
|
||||
биты или исходный объект. Первый каскад получил 295469 локальных максимумов и
|
||||
35009 кандидатов. Строгий каскад обработал 95 неперекрывающихся гипотез:
|
||||
PHY-заголовок PASS/FAIL `68/27`, FEC attempts/PASS/FAIL `68/68/0`, CRC
|
||||
PASS/FAIL `68/0`, действительных кадров `68`. Поиск завершился по концу записи
|
||||
и списка кандидатов, а не по достижении известного количества кадров.
|
||||
|
||||
`ObjectAssembler` принял 68 уникальных фрагментов. Дубликатов, конфликтующих
|
||||
дубликатов и пропусков нет. Независимый вердикт: `OBJECT COMPLETE = YES`.
|
||||
Восстановленный объект размером 16384 байта был записан до открытия опорных
|
||||
данных передатчика. Только после этого выполнено сравнение: все 68 кадров
|
||||
совпали с 68 переданными, пропущенных кадров и ложных CRC PASS нет. Ошибки до
|
||||
FEC составили 787 кодированных бит, после FEC 0 протокольных бит. Ошибки
|
||||
объекта равны 0 байт и 0 бит. SHA-256 исходного и восстановленного объектов:
|
||||
`b5a27caaa3f03dfc468e71a857a06f18cf0259ca6ea21d3c42ccfde7168d1dfe`.
|
||||
|
||||
Для 68 принятых кадров SNR min/median/max равен
|
||||
`8.302870/8.909278/9.837726 дБ`, ошибки преамбулы `0/3/9` из 1280, CFO
|
||||
`-0.214661/0.016493/0.281551 Гц`. Медианный SNR по третям сеанса плавно
|
||||
снижался `9.29 -> 8.86 -> 8.57 дБ`, но все кадры прошли FEC и CRC. Ошибки
|
||||
начала кадра находились в пределах от -4 до +3 отсчётов.
|
||||
|
||||
Фактические внешние артефакты сохранены в
|
||||
`C:\Users\user\Documents\SDR_Rover_Lab046_raw\20260902_151819_1400MHz_full`.
|
||||
Большие `tx_stream.cs8`, `rx_stream.cs8`, `tx_object.bin` и
|
||||
`recovered_object.bin` в Git не добавляются. После результата оба CLKOUT
|
||||
выключены, процессов `hackrf_transfer` нет. Независимая проверка сохранённых
|
||||
JSON, размеров, SHA-256, временного покрытия и счётчиков расхождений не нашла.
|
||||
|
||||
## Lab046C: подготовка аппаратного непрерывного объекта
|
||||
|
||||
Добавлен `experiments/lab046c_hackrf_bpsk_object.py`, который не меняет
|
||||
@@ -76,7 +134,7 @@ MASTER reg29 `0x26`, SLAVE CLKIN `DETECTED` после 141,51 мс, SLAVE reg29
|
||||
`0x26`; после проверки оба CLKOUT выключены, процессов `hackrf_transfer` нет,
|
||||
`RF TX = 0` на этапе подготовки.
|
||||
|
||||
## Lab046C: первый аппаратный результат
|
||||
## Lab046C: первый аппаратный результат 1080 МГц, исторический RESULT C
|
||||
|
||||
Выполнен ровно один непрерывный RF TX всего `tx_stream.cs8`; автоматического
|
||||
или ручного повтора не было. MASTER/TX
|
||||
@@ -469,9 +527,9 @@ Goodput 6,69 кбит/с — это честная baseline при 20 ксимв
|
||||
|
||||
## Ограничения и следующий шаг
|
||||
|
||||
Для Lab046A/B RF TX = 0; первый аппаратный Lab046C завершён с RESULT C и одним
|
||||
RF TX без повтора. Erasure-код 12+3 GF(256) не задействован. Порог PRBS7,
|
||||
gain, PHY, FEC и detector после результата не менялись. Следующий этап
|
||||
определяется отдельной постановкой. Offline weak-signal прогон с заранее
|
||||
зафиксированным правилом уже завершён как FAIL и не повторяется с другим
|
||||
порогом. Новый RF-сеанс автоматически не разрешён.
|
||||
Для Lab046A/B RF TX = 0. Первый полный аппаратный Lab046C на 1080 МГц сохранён
|
||||
как исторический RESULT C. Новый полный аппаратный Lab046C на 1400 МГц
|
||||
завершён как RESULT A: 68/68 кадров, объект 16384 байта восстановлен без
|
||||
ошибок. Erasure-код 12+3 GF(256) не задействован, Lab045, PHY и FEC не
|
||||
менялись. Следующий этап определяется отдельной постановкой. Новый RF-сеанс,
|
||||
JPEG, видео, QPSK и переход к другой FEC автоматически не разрешены.
|
||||
|
||||
Reference in New Issue
Block a user