Files
SDR-Rover/docs/lab062_rf_result.md

109 lines
9.9 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.
# Lab062 — результат единственного RF-сеанса
Передача была запущена один раз. Приёмник сохранил полную трёхсекундную IQ-запись без переполнений и цифрового клиппинга. Однако `hackrf_transfer` во время передачи сообщил об одном кратком underrun: буфер передатчика один раз опустел на интервал до 16 672 байт. В итоговой строке утилита напечатала ноль underrun, но промежуточную ненулевую строку игнорировать нельзя. Поэтому этот сеанс нельзя считать чистым сравнением `legacy` и `t2`.
Оба строгих варианта приёмника обработали одну и ту же запись и выдали 0 из 16 пакетов. T2 не дал выигрыша в пакетах. Установлено, что передача состоялась, общий тактовый сигнал перед ней был исправен, RX-файл полный, а строгий результат равен 0/16 в обоих режимах. Нельзя установить, каким был бы результат без underrun, и нельзя приписывать все ошибки самому T2 или эфирному каналу. Аналоговая компрессия также остаётся неизвестной без измерительного прибора.
## Условия
| Параметр | Значение |
|---|---:|
| RF | 1 400 000 000 Гц |
| Символьная скорость | 500 000 символов/с |
| Частота дискретизации | 8 000 000 комплексных отсчётов/с |
| Цифровая несущая | +50 000 Гц |
| Пакеты | 16 полных PHY-пакетов по 256 байт payload |
| TX | 1 476 096 отсчётов, 0,184512 с, VGA 10 дБ |
| RX | LNA/VGA 24/24 дБ, 3 с |
| RF amplifier / Bias-Tee | OFF / OFF |
| Геометрия | около 1,2 м, LOS, помещение; TX возле окна, RX на столе |
| Антенны | имеющиеся антенны на 1400 МГц, одинаковая поляризация, неподвижны |
| Опора | 10 МГц TCXO → MASTER → MASTER CLKOUT → SLAVE CLKIN |
SHA-256 передаваемого файла: `e84bbce227426c0aac13a48ded1286ca4a44fc6e3efce01f6e5a513217c87ff5`.
## Аппаратный результат
- перед TX повторно получены `MASTER reg29 = 0x26`, `SLAVE reg29 = 0x26`, `SLAVE CLKIN = DETECTED`;
- выполнен один TX-сеанс, автоматических повторов нет;
- RX: 24 000 000 комплексных отсчётов, 48 000 000 байт, 3,000 с;
- SHA-256 RX: `ce0bd603e4ca356af67d504ee11c9e9f38171f31c7427fbe61216a28126b2b32`;
- RX overruns: 0 во всех пяти строках журнала;
- RX clipping: 0;
- TX underruns: промежуточный максимум 1, `longest 16672 bytes`; финальная строка — 0;
- cleanup: оба CLKOUT выключены без зарегистрированных ошибок, SDR-процессы после сеанса — `CLEAR`;
- текущее состояние: `RF TX = 0`.
Из-за ненулевой промежуточной строки underrun статус сеанса: `INVALID_TX_UNDERRUN`. Полученные файлы сохранены, повтор не выполнялся.
## Строгое декодирование одной записи
| Стадия | legacy | T2 |
|---|---:|---:|
| CANDIDATES | 144 | 144 |
| TRUE PACKETS FOUND | 0 | 0 |
| HEADER ACCEPTED | 3 | 3 |
| FEC STARTED | 3 | 3 |
| FEC PASS | 3 | 3 |
| CRC STARTED | 3 | 3 |
| CRC PASS | 0 | 0 |
| PACKET OUTPUT | 0 | 0 |
| EXACT PAYLOAD MATCH | 0 | 0 |
Детектор в обоих запусках получил 209 956 первичных кандидатов, дешёвая ступень отклонила 209 812, после группировки строгий декодер проверил 144 кандидата. Переполнения очереди кандидатов не было. Никакого fallback между `legacy` и `t2` не выполнялось.
- `PASSED BY BOTH = []`
- `PASSED ONLY BY LEGACY = []`
- `PASSED ONLY BY T2 = []`
- `FAILED BY BOTH = [1, 2, …, 16]`
## Таблица 16 фактических границ
Начало потока найдено только после строгого вердикта корреляцией с первым TX-пакетом: отсчёт 4 256 091, отношение пика к медиане 21,739. Знание TX не передавалось детектору и не использовалось для повторной настройки приёмника. Во всех строках `H/F/C/O` означают header/FEC/CRC/output; `1` — проход, `0` — непроход. Ошибки символов и оценки частоты — диагностические, по известной границе и известным переданным символам.
| № | legacy H/F/C/O | T2 H/F/C/O | Preamble errors | Header errors | Payload errors до FEC | CFO нач., Гц | T2 фин., Гц | T2 lock |
|---:|:---:|:---:|---:|---:|---:|---:|---:|:---:|
| 1 | 0/0/0/0 | 0/0/0/0 | 108 | 20 | 367 | -2.511 | +1.939 | не определён |
| 2 | 0/0/0/0 | 0/0/0/0 | 135 | 11 | 377 | +16.850 | -2.223 | не определён |
| 3 | 0/0/0/0 | 0/0/0/0 | 466 | 115 | 2229 | -266.238 | -265.796 | не определён |
| 4 | 0/0/0/0 | 0/0/0/0 | 515 | 104 | 2266 | +297.250 | +293.800 | не определён |
| 5 | 0/0/0/0 | 0/0/0/0 | 108 | 27 | 369 | -1.712 | -0.835 | не определён |
| 6 | 1/1/0/0 | 1/1/0/0 | 112 | 10 | 345 | +4.676 | -3.164 | не определён |
| 7 | 0/0/0/0 | 0/0/0/0 | 113 | 7 | 344 | +2.113 | +1.094 | не определён |
| 8 | 0/0/0/0 | 0/0/0/0 | 91 | 19 | 368 | +0.964 | +0.354 | не определён |
| 9 | 0/0/0/0 | 0/0/0/0 | 105 | 21 | 367 | -2.679 | +0.191 | не определён |
| 10 | 0/0/0/0 | 0/0/0/0 | 116 | 7 | 345 | -0.290 | +0.947 | не определён |
| 11 | 0/0/0/0 | 1/1/0/0 | 109 | 9 | 392 | +0.757 | -0.142 | не определён |
| 12 | 0/0/0/0 | 0/0/0/0 | 297 | 110 | 2181 | -223.050 | -222.389 | не определён |
| 13 | 0/0/0/0 | 0/0/0/0 | 304 | 36 | 524 | -0.161 | -2.081 | не определён |
| 14 | 1/1/0/0 | 0/0/0/0 | 314 | 127 | 2091 | +228.209 | +224.928 | не определён |
| 15 | 1/1/0/0 | 1/1/0/0 | 131 | 7 | 395 | -9.960 | +2.284 | не определён |
| 16 | 0/0/0/0 | 0/0/0/0 | 100 | 23 | 355 | +13.157 | -0.868 | не определён |
В реализации T2 нет отдельного детектора lock, поэтому поле нельзя честно заменить на `PASS` или `FAIL`. Сохранены начальное состояние частоты и конечное состояние петли.
## Физическое качество по методике Lab058
Функции `analyze_values` и `channel_metrics` из Lab058 применены отдельно к каждому полному пакету. Для оценки использованы диагностические границы и чередующиеся обучающие/проверочные участки с защитными краями. Это измерение сделано после строгого результата и не меняет 0/16.
| Метрика | Lab062 | Lab056, 500K | Разница по смыслу |
|---|---:|---:|---|
| Диагностическая доля ошибочных символов | 0,099287 | 0,034959 | Lab062 хуже |
| Нормированное RMS-отклонение, EVM | 1,220401 | 0,845350 | Lab062 хуже |
| Matched/residual | -1,730051 дБ | +1,464846 дБ | Lab062 хуже на 3,194897 дБ |
| Неравномерность усиления, p95–p05 | медиана 6,660341 дБ | среднее 5,471382 дБ | Lab062 больше |
Для Lab062 разброс неравномерности между пакетами составил 6,236828…10,617549 дБ. Остаток включает шум, искажения канала и возможное влияние underrun; называть его чистым шумом нельзя. Отдельная диагностика именно выходных символов T2 дала SER 0,186626 и RMS 1,699461; это другой срез данных, поэтому он не подменяет приведённые выше сопоставимые метрики Lab058.
## Инженерный вывод
Чистое сравнение `legacy` и T2 не состоялось из-за зафиксированного TX underrun. Фактический строгий результат существующей записи — 0/16 для обоих режимов, выигрыш T2 равен нулю. В записи видны неоднородные повреждения пакетов и заметно худшее качество символов, чем у 500K-сегментов Lab056, но эти наблюдения нельзя отделить от аппаратной ошибки передачи.
Следующий одиночный шаг: без RF локализовать момент underrun относительно границ пакетов и проверить, совместимы ли провалы качества с его положением. Новый RF-сеанс, Lab063, изменение PHY или усилений этим отчётом не разрешаются.
`LAB062 COMMIT = NOT PERFORMED`
`PUSH = NOT PERFORMED`
`RF TX = 0`