Lab062: record invalidated 500 ksymbol/s RF packet trial

This commit is contained in:
LittleSam129
2026-09-14 13:58:42 +03:00
parent 25cc89f0c7
commit f8ae6c6bfc
16 changed files with 8774 additions and 0 deletions

108
docs/lab062_rx_preflight.md Normal file
View File

@@ -0,0 +1,108 @@
# Lab062 — подготовка и RX-only preflight
14 сентября 2026 года выполнена подготовка полного 500K PHY-сеанса и одна
аппаратная проверка при выключенном передатчике. Результат preflight — PASS.
Передача не запускалась: `RF TX = 0`.
## Условия
| Параметр | Значение |
|---|---|
| Центральная частота | 1400000000 Гц |
| Скорость символов | 500000 символов/с |
| Частота дискретизации | 8000000 выборок/с |
| Пакеты | 16 полных PHY-пакетов |
| Payload | 256 байт в каждом пакете |
| TX VGA | 10 дБ |
| RX LNA / VGA | 24 / 24 дБ |
| RF amplifier / Bias-Tee | выключены |
| Расстояние TX–RX | примерно 1,2 м |
| Геометрия | прямая видимость, помещение |
| TX | плата и антенна возле окна |
| RX | плата и антенна на столе пользователя |
| Антенны | имеющиеся антенны на 1400 МГц, неподвижны |
| Поляризация | одинаковая |
| Общая опора | 10 МГц TCXO → MASTER → MASTER CLKOUT → SLAVE CLKIN |
Длинный clock-кабель и USB-схема не менялись. Антенны, кабели, ориентация,
частота, усиления и PHY должны остаться неизменными до будущего разрешённого
сеанса.
## Программная проверка
Создан один waveform из 16 пакетов. Его длина — 1476096 комплексных отсчётов,
2952192 байта и 0,184512 с. SHA-256:
`e84bbce227426c0aac13a48ded1286ca4a44fc6e3efce01f6e5a513217c87ff5`.
Строгий приёмник в заранее выбранных режимах дал:
| Режим | Header | FEC | CRC | Точный payload и порядок |
|---|---:|---:|---:|---:|
| legacy | 16/16 | 16/16 | 16/16 | 16/16 |
| T2 | 16/16 | 16/16 | 16/16 | 16/16 |
Автоматического повторного декодирования по результату CRC нет.
## Общая опора и RX-only фон
Свежая инвентаризация подтвердила обе HackRF One r9 с firmware/libhackrf
2024.02.1. Роли сохранены:
- MASTER `000000000000000097c063dc323b97d3`;
- SLAVE `000000000000000097c063dc2e5327d3`.
Аппаратная проверка получила:
```text
MASTER reg29 = 0x26
SLAVE reg29 = 0x26
SLAVE CLKIN = DETECTED
CLKIN query = 2
time to detect = 133.5795 ms
```
Первый опрос SLAVE ещё показывал отсутствие опоры, второй штатный опрос её
обнаружил. После этого SLAVE записал 800000 комплексных отсчётов, 0,1 с, при
1400 МГц и RX LNA/VGA 24/24 дБ.
| Метрика RX-only записи | Значение |
|---|---:|
| Полный RMS IQ | 2,314058 кода |
| AC RMS после удаления среднего | 0,985483 кода |
| Средние I / Q | 0,966063 / 1,857529 кода |
| Максимум \|I\| / \|Q\| | 6 / 8 кодов |
| Максимальная комплексная амплитуда | 8,246211 кода |
| Цифровой clipping | 0 / 800000 отсчётов |
| RX overruns | 0 |
| Неожиданно сильный сигнал | нет |
Сильным цифровым фоном считался бы AC RMS не менее 20 кодов или максимум
`|I|/|Q|` не менее 100 кодов. Оба показателя значительно ниже порога.
Отсутствие rail-кодов не доказывает отсутствия аналоговой компрессии при
будущем TX. Абсолютная RF-мощность без измерительного прибора также неизвестна.
Усиления по результату preflight не менялись.
Унаследованное от Lab056 поле энергии на символ исключено из обработанной
сводки: у фоновой записи нет символов, поэтому такая величина к ней неприменима.
Сырой аппаратный JSON сохранён без переписывания; это поле не участвовало в
решении PASS.
SHA-256 RX-only записи:
`4cc0ceef5a95f84e5aa0c232d14ff1123efd307494b5c8a5646854be912fdbca`.
После записи оба CLKOUT выключены без ошибок. Проверка процессов до и после
дала `CLEAR`. Вызовов `hackrf_transfer -t` не было. Эксклюзивный маркер
preflight запрещает его автоматический повтор.
Артефакты:
- [подготовка](../data/processed/lab062/preparation.json);
- [программный шлюз](../data/processed/lab062/software_gate.json);
- [результат preflight](../data/processed/lab062/preflight_result.json);
- исходные TX и RX-only CS8 находятся в `data/raw/lab062/` и в Git не входят.
`READY FOR SINGLE LAB062 TX = YES` означает только техническую готовность.
Отдельного разрешения на передачу ещё нет. `RF TX = 0`. STOP.
Lab062 не коммитируется. Push не выполняется. Lab063 не создаётся автоматически.