Lab066: validate 500 ksymbol/s full-packet OTA reception
This commit is contained in:
92
docs/lab066_current_state.md
Normal file
92
docs/lab066_current_state.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Lab066 — исправленный повтор полного 500K PHY-сеанса
|
||||
|
||||
## Цель и границы
|
||||
|
||||
Lab066 повторяет исходную цель Lab062 после двух установленных дефектов того
|
||||
сеанса: пакеты Lab062 шли вплотную, без заявленных пауз 5 мс, а в TX-журнале
|
||||
был промежуточный underrun. Исторический результат Lab062 сохраняется без
|
||||
изменений: `RF_SESSION_INVALID_TX_UNDERRUN`, legacy 0/16, T2 0/16.
|
||||
|
||||
На этапе подготовки Lab066 была ограничена программным декодированием,
|
||||
common-clock и RX-only preflight; передача тогда не выполнялась. После этого
|
||||
пользователь отдельно разрешил один TX. Автоматический повтор оставался
|
||||
запрещён и не выполнялся.
|
||||
|
||||
## Радиопараметры
|
||||
|
||||
- RF: 1400000000 Гц;
|
||||
- Fs: 8000000 комплексных отсчётов/с;
|
||||
- символьная скорость: 500000 символов/с, 16 отсчётов/символ;
|
||||
- цифровая несущая: +50000 Гц;
|
||||
- TX VGA: 20 дБ;
|
||||
- RX LNA/VGA: 24/24 дБ;
|
||||
- RF amplifier и Bias-Tee: OFF;
|
||||
- 16 штатных PHY-пакетов с PRBS7-преамбулой, заголовком, FEC и CRC;
|
||||
- payload: 256 байт, детерминированный и различимый для каждого пакета;
|
||||
- геометрия: около 1,2 м, LOS в помещении, прежние антенны и поляризация;
|
||||
MASTER TX возле окна, SLAVE RX на столе.
|
||||
|
||||
## Итоговый TX-файл
|
||||
|
||||
Каждый packet waveform занимает 92256 отсчётов. Между соседними пакетами
|
||||
записаны 15 нулевых пауз по 40000 отсчётов, то есть ровно по 5 мс. Перед первым
|
||||
и после последнего пакета добавлены нулевые guards по 800000 отсчётов, или по
|
||||
100 мс.
|
||||
|
||||
Расчёт длины:
|
||||
|
||||
```text
|
||||
16 × 92256 + 15 × 40000 = 2076096 отсчётов без внешних guards
|
||||
2076096 + 2 × 800000 = 3676096 отсчётов всего
|
||||
3676096 / 8000000 = 0,459512 с
|
||||
```
|
||||
|
||||
Фактическая длина совпала с расчётом: 3676096 комплексных отсчётов,
|
||||
7352192 байта. SHA-256:
|
||||
`621b0bb8ec72bba4f522c79a5c77669c850740ea481270c4dcc2a7317819f199`.
|
||||
Повторная сборка дала те же байты. Нулевые guards и каждая из 15 пауз проверены
|
||||
по точным границам из сохранённой разметки.
|
||||
|
||||
## Программное декодирование
|
||||
|
||||
Весь конечный TX-файл дважды прошёл один и тот же строгий приёмный тракт. Режимы
|
||||
legacy и T2 запускались отдельно, автоматического fallback между ними нет.
|
||||
|
||||
| Режим | Кандидаты | Header | FEC | CRC | Выход | Payload и порядок |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| legacy | 16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 |
|
||||
| T2 | 16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 |
|
||||
|
||||
Позиции принятых пакетов равны ожидаемым позициям в разметке. Для каждого
|
||||
кандидата T2 заново оценивает начальные параметры по собственной преамбуле.
|
||||
Наблюдение дало по два локальных запуска слежения на пакет: для заголовка и
|
||||
полного кадра. Контекст обработки создаётся заново, состояния между пакетами
|
||||
не переносятся.
|
||||
|
||||
Аппаратный анализ применил legacy и T2 к одному сохранённому RX-файлу. До
|
||||
строгого вердикта декодеру не передавались payload или ожидаемые биты. Известный
|
||||
TX использован после вердикта только для физических диагностик и сравнения с
|
||||
Lab056 B, Lab062 и Lab066.
|
||||
|
||||
## Проверки перед preflight
|
||||
|
||||
- `python tools/quick_gate.py`: PASS, 1013 проверок ядра, 39 функциональных,
|
||||
13 аппаратных пропусков;
|
||||
- `python -m pytest tests/ -q`: 1013 passed;
|
||||
- `git diff --check`: PASS.
|
||||
|
||||
Независимый verifier пересчитал длину, SHA, все нулевые диапазоны, пакетные
|
||||
срезы, программное декодирование и RX-only метрики; расхождений нет. Read-only
|
||||
adversary проверил запрет TX, одноразовость, привязку capture к конфигурации,
|
||||
счётчики, live-проверку фона и границу oracle-диагностики; открытых замечаний
|
||||
нет.
|
||||
|
||||
## Текущее состояние
|
||||
|
||||
Common-clock и RX-only preflight прошли; измерения приведены в
|
||||
[отдельном отчёте](lab066_rx_preflight.md). `RF TX=0`. Lab066 не
|
||||
коммитировалась, push не выполнялся, Lab067 не создавалась.
|
||||
|
||||
После отдельного разрешения выполнен один аппаратно валидный RF-сеанс без
|
||||
повторов. Legacy и T2 дали одинаковые 10/16 точных пакетов. Полные результаты
|
||||
и физическое сравнение приведены в [RF-отчёте](lab066_rf_result.md).
|
||||
Reference in New Issue
Block a user