Files
SDR-Rover/docs/lab063_current_state.md
2026-09-14 15:11:46 +03:00

79 lines
6.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Lab063: текущее состояние
## Статус
Lab063 выполнена полностью офлайн по сохранённым файлам единственного RF-сеанса Lab062. Новых передач, запросов к HackRF и аппаратных команд не было.
- `LAB063 STATUS = COMPLETED_OFFLINE`
- `RF TX = 0`
- `LAB063 COMMIT = NOT PERFORMED`
- `PUSH = NOT PERFORMED`
- `LAB064 = NOT CREATED`
Lab062 перед началом анализа зафиксирована отдельным коммитом:
- `LAB062 COMMIT = f8ae6c6bfceaa21b6c08dcf55d2bff996dd0dae5`
- `NEW HEAD = f8ae6c6bfceaa21b6c08dcf55d2bff996dd0dae5`
- сообщение: `Lab062: record invalidated 500 ksymbol/s RF packet trial`
Статус аппаратного опыта сохранён без изменения: `RF_SESSION_INVALID_TX_UNDERRUN`. Результат `legacy = 0/16` и `T2 = 0/16` не переобъявлялся как валидное сравнение приёмников.
## Исходные данные
Анализ использует только сохранённые файлы Lab062:
| Объект | Значение |
|---|---|
| TX | `data/raw/lab062/tx_stream.cs8` |
| TX SHA-256 | `e84bbce227426c0aac13a48ded1286ca4a44fc6e3efce01f6e5a513217c87ff5` |
| TX | 1 476 096 комплексных отсчётов |
| RX | `data/raw/lab062/rx_stream.cs8` |
| RX SHA-256 | `ce0bd603e4ca356af67d504ee11c9e9f38171f31c7427fbe61216a28126b2b32` |
| RX | 24 000 000 комплексных отсчётов |
| Начало TX в RX | отсчёт 4 256 091 |
| Частота дискретизации | 8 Мвыб/с |
| Символьная скорость | 500 ксимв/с |
| Пакетов | 16 |
| Длина одного полного waveform | 92 256 отсчётов |
Физическое устройство и ответ программного интерфейса записаны отдельно:
- `PHYSICAL DEVICE = Auron HackRF Plus`
- `API/FIRMWARE IDENTIFICATION = HackRF One r9`
## Зафиксированный результат
Фактический TX-файл содержит пакеты вплотную: `92 256 × 16 = 1 476 096`. Дополнительных пауз между полными waveform нет. Внутренние защитные участки и хвосты RRC каждого пакета сохранены.
`INTER-PACKET GAP ACTUAL = 0 additional samples = 0 s`
Причина установлена по `prepare()` в `experiments/lab062_full_packet_rf_preflight.py`: шестнадцать результатов `build_parameterized_tx_cs8(...)` записываются подряд, параметра паузы и записи нулей между ними нет. Это ошибка реализации подготовленного потока Lab062, а не доказанное ограничение генератора PHY.
Записанный `longest = 16 672 bytes` для cs8 соответствует 8 336 комплексным отсчётам, 1,042 мс, 521 символу и 9,035727 % waveform одного пакета. Это оценка масштаба сообщения журнала. RX-запись не доказывает, что именно столько эфирных отсчётов было потеряно, повторено или заменено.
Локальное сопоставление 512-символьными окнами с шагом 256 символов дало 359 окон. В 221 надёжном внутреннем окне задержка равна 0…1 отсчёту, скачков не найдено. Ещё 22 внутренних окна в пакетах 3, 4, 12 и 13 имеют корреляцию ниже порога 0,15; задержка в них не установлена:
- `UNDERRUN LOCATION = NOT_LOCALIZED_FROM_RX`
- `LOCAL DELAY DISCONTINUITY = NO IN 221 RELIABLE WINDOWS; UNDETERMINED IN 22 INTERNAL LOW-CORRELATION WINDOWS`
Участки на краях пакетов и повторяющаяся PRBS-преамбула сохранены в CSV, но исключены из решения о разрыве: там возникают корреляционные копии с шагом 2 032 отсчёта. Те же ограничения применены к 22 внутренним окнам с низкой корреляцией. Низкая корреляция сама по себе отмечает локальную аномалию, но без надёжной временной привязки не определяет underrun.
Ухудшение относительно Lab056 B наблюдается у всех 16 пакетов по трём общим показателям: доле ошибочных символов, EVM и отношению согласованной составляющей к остатку. При этом пакеты 3, 4, 12 и 13 дополнительно выделяются всплесками AC-мощности и остатка. Пакет 14 такого общего физического признака не имеет.
- `PACKETS MOST AFFECTED = 13, 4, 12, 3`
- `LAB062 QUALITY DISTRIBUTION = GLOBAL`
- `PRIMARY CAUSE STATUS = PARTIALLY_LOCALIZED`
Установлено глобальное ухудшение принятого сигнала и отсутствие наблюдаемого временного скачка в надёжных окнах. Точная физическая причина ухудшения и смысл расхождения промежуточного и итогового счётчиков `hackrf_transfer` не установлены.
## Артефакты
- `experiments/lab063_tx_underrun_localization.py`
- `tests/test_lab063_tx_underrun_localization.py`
- `data/processed/lab063/summary.json`
- `data/processed/lab063/packet_quality.csv`
- `data/processed/lab063/local_alignment.csv`
- `docs/lab063_offline_result.md`
Следующий один шаг до нового TX: отдельно согласовать исследование уровня RX, усилений, геометрии и возможной аналоговой компрессии или слишком слабого полезного сигнала. Для будущего повтора также потребуется однозначное журналирование TX underrun и явное добавление запланированных межпакетных пауз. RF-параметры в Lab063 не менялись.