Lab056: compare 20 and 500 ksymbol/s in controlled RF session

This commit is contained in:
LittleSam129
2026-09-10 13:58:11 +03:00
parent 5add95ecb8
commit 92477a4632
27 changed files with 6518 additions and 0 deletions

222
docs/lab056_rf_result.md Normal file
View File

@@ -0,0 +1,222 @@
# Lab056 — единственный OTA ABAB: результат
10 сентября 2026 года, сеанс 12:32:24–12:32:28 по Москве.
**Внутри одного короткого эфирного сеанса большой провал при переходе
20 → 500 ксимв/с не воспроизвёлся.** Принятая мощность после вычитания фона
у B выше A на 0,109 дБ; согласованный коэффициент передачи по мощности
ниже на 0,163 дБ. Обе пары A/B дают близкие результаты. Энергия символа
уменьшилась на 13,871 дБ: при почти одинаковой принятой мощности она
приходится на в 25 раз большее число символов в секунду.
Это результат всего OTA-пути с антеннами и распространением. Он не
измеряет выходные dBm HackRF и не объясняет задним числом причину прежнего
различия Lab047/Lab054 на 15,41 дБ. Lab054 остаётся **NOT_A, 0/16**.
Выполнена ровно **одна** передача. Сейчас **RF TX = 0**, передатчик
остановлен; повторов нет. Разрешённая попытка израсходована. **STOP.**
## Фактические условия
Пользователь отдельно разрешил этот сеанс после аппаратного RX-only
preflight. Частота 1 400 000 000 Гц относится только к Lab056, не является
выбором рабочего диапазона SDR_Rover. Ориентир около 180 МГц и варианты
50/144 МГц рассматриваются отдельно и здесь не исследовались.
OTA: MASTER TX → TX-антенна → LOS → RX-антенна → SLAVE RX. По заданию
пользователя антенны неподвижны, ориентация и поляризация одинаковы,
расстояние примерно 3–5 м, кабели не меняются. Использованы имеющиеся
антенны на 1400 МГц; модели/маркировка и точное измеренное расстояние
не сообщены. Программа не измеряет геометрию; это описание пользователя.
Один сохранённый TX-файл содержит A1 → gap → B1 → gap → A2 → gap → B2
с дополнительными начальным/конечным gaps. A = 20 ксимв/с, B = 500 ксимв/с.
Fs 8 Мвыб/с; цифровая несущая +50 кГц; прежние PRBS7/BPSK/RRC.
TX VGA 10 дБ, RX LNA/VGA 24/24 дБ, RF amplifier/Bias-Tee OFF.
Внешние PA/LNA отсутствуют. Частота, усиления, Fs и параметры формы
не менялись между сегментами. PHY/FEC/CRC, пороги и timing не изменялись.
Цифровой RMS всего сегмента A/B: 44,004413/44,001925 код;
разница мощности B/A −0,000491 дБ. Разница активных частей −0,042606 дБ
из-за разной доли защитных участков сохранена в метаданных и не скрывается.
RX не нормировался для искусственного выравнивания A/B.
## Полнота записи и аппаратные проверки
| Проверка | Фактический результат |
|---|---|
| Число TX-процессов | 1, без `-R`, конечный `-n 10588544` |
| TX-файл | 21 177 088 байт, 10 588 544 комплексных отсчёта, 1,323568 с |
| Основной RX | 48 000 000 байт, 24 000 000 комплексных отсчётов, ровно 3 с |
| Порядок запуска | RX раньше TX на 0,517342 с по журналу запуска процессов |
| MASTER / SLAVE reg29 | 0x26 / 0x26 |
| SLAVE CLKIN | DETECTED в пределах штатного ожидания запуска опоры |
| RX overruns / TX underruns | 0 / 0 по всем явным счётчикам журналов |
| Клиппинг RX до TX | 0 / 65 536 отсчётов проверенного хвоста |
| Клиппинг полного RX после ABAB | 0 / 24 000 000 отсчётов; 0 / 48 000 000 компонент |
| Полный RX: RMS / максимумы абсолютных I,Q | 2,235380477 код / 5, 6 код |
| Процессы до / после | CLEAR / CLEAR |
| Завершение | CLKOUT обеих плат выключены, ошибок cleanup нет |
Общая опора проверена при запуске заново, поскольку предыдущий preflight
завершился выключением CLKOUT. Первый запрос CLKIN ещё не обнаружил опору;
второй обнаружил её через 137,359 мс штатного ожидания. После PASS
состоялся единственный TX; опрос CLKIN не является повтором передачи.
В журнале 14 команд: инвентаризация, опора, два коротких RX-start по
65 536 отсчётов для выбора опоры, один основной RX, один TX и cleanup.
После запуска TX до его окончания других аппаратных команд нет.
Параметры команд и их исходный вывод сохранены; аппаратной перестройки
между A/B не было. Физическая неподвижность антенн следует из заданных
пользователем условий, а не из программного измерения.
Утилита указала TX transfer time 1,32538 с и RX transfer time 3,01535 с.
Это служебные интервалы обмена, отличные от длительности отсчётов файла;
они не используются вместо расчёта длительности по числу отсчётов и Fs.
Отсутствие rail-кодов не является калиброванной проверкой аналоговой
компрессии; обнаруженных цифровых признаков насыщения нет.
## Все четыре сегмента
Подготовленный анализатор нашёл ABAB с нормированной корреляцией 0,384366
и грубым остаточным CFO 0 Гц. Оценённые начала всей последовательности
по отдельным сегментам: 4 454 791, 4 454 791, 4 454 790, 4 454 791 отсчёт.
Разброс составляет один отсчёт, 0,125 мкс. Все сегменты расположены
внутри RX, идут в правильном порядке и не перекрываются.
| Сегмент | Начало сегмента, отсчёт RX | Начало, с | Конец, с | Активных отсчётов |
|---|---:|---:|---:|---:|
| A1 | 5 254 791 | 0,656848875 | 0,863748875 | 1 638 400 |
| B1 | 7 709 991 | 0,963748875 | 1,168632875 | 1 638 400 |
| A2 | 10 149 062 | 1,268632750 | 1,475532750 | 1 638 400 |
| B2 | 12 604 263 | 1,575532875 | 1,780416875 | 1 638 400 |
Длительность активного участка каждого сегмента 0,2048 с. С защитными
участками A длится 0,2069 с, B — 0,204884 с. Межсегментные интервалы
составляют 0,1 с с расхождением не более одного отсчёта из-за согласования.
В спектрах A и B видны соответственно узкая и широкая полосы PRBS/BPSK.
Границы, ширина спектров и согласованные компоненты подтверждают
наличие четырёх сегментов; это диагностическое измерение с TX-эталоном,
не независимый приём пакетов.
![Запись, мощности и спектры единственного ABAB](../data/processed/lab056/rf_overview.png)
## Измерения A1/B1/A2/B2
Все мощности ниже — **код² RX**, не ватты/dBm. `h` выражает отношение
цифровых кодов RX/TX после согласования и удаления постоянного смещения.
Для вычитания фона используется AC-мощность — после удаления среднего,
поэтому она показана отдельно от RAW, включающего постоянную составляющую.
| Метрика | A1 | B1 | A2 | B2 |
|---|---:|---:|---:|---:|
| RAW RX POWER, включая среднее | 5,303053589 | 5,328170166 | 5,311703491 | 5,396551514 |
| RX AC POWER, без среднего | 1,084963566 | 1,092709351 | 1,049867204 | 1,090638777 |
| BACKGROUND POWER, AC | 0,622282607 | 0,616699337 | 0,635792032 | 0,667630886 |
| BACKGROUND-SUBTRACTED SIGNAL POWER | 0,462680958 | 0,476010015 | 0,414075173 | 0,423007891 |
| Оценка неопределённости вычитания фона | 0,029702311 | 0,034542825 | 0,017352868 | 0,047227716 |
| TX-MATCHED COMPLEX GAIN h | −0,008543899 + j0,009310849 | −0,008089660 + j0,009397484 | −0,007000883 + j0,010205712 | −0,006710537 + j0,010126447 |
| Коэффициент передачи по мощности, abs(h)² | 0,000159690119 | 0,000153755289 | 0,000153168935 | 0,000147576238 |
| MATCHED SIGNAL COMPONENT POWER | 0,312320987 | 0,297815525 | 0,299566893 | 0,285847043 |
| RESIDUAL POWER | 0,821513728 | 0,884789710 | 0,782684444 | 0,880722972 |
| INTEGRATED SPECTRAL POWER, полоса 27 кГц | 0,347264323 | 0,029697350 | 0,335922975 | 0,030437417 |
| INTEGRATED SPECTRAL POWER, полоса 675 кГц | 0,508299262 | 0,512832243 | 0,500120185 | 0,533314850 |
Полосы спектрального интегрирования центрированы на +50 кГц. Фактическая
расчётная полоса A — 27 кГц, B — 675 кГц; строка 675 кГц также даёт
сравнение в общей полосе. Спектральные интегралы включают фон. Различие
значений в полосе 27 кГц между A/B не является потерей полной мощности B:
большая часть широкого сигнала B лежит вне этой узкой полосы.
Вычитание фона устойчиво во всех четырёх сегментах по заранее подготовленному
критерию: превышение больше трёх оценок неопределённости. Эта оценка учитывает
разброс блоков и отличие фона до/после, но не является калиброванным
доверительным интервалом. Фон берётся из ближайших нулевых цифровых gaps;
TX-процесс в них работает, поэтому gaps нельзя называть выключенным RF.
Отдельные внешние окна фона и их спектры сохранены в полном JSON.
Комплексный h оценён на обучающих плитках; его фаза относится к началу
активного участка после коррекции CFO. Мощность согласованной компоненты
и остатка измерена на проверочных плитках. Остаток содержит шум и
неописанные моделью искажения. Поэтому он не равен отдельно измеренному
фону, а согласованная компонента не равна всей мощности после вычитания фона.
Полная RAW/AC-статистика относится ко всему активному участку; плиточные
метрики не следует складывать с ней как одну точную энергетическую сумму.
## Повторяемость и итоговые X/Y/Z
В таблице повторяемости знак относится ко **второму повтору относительно
первого**: A2/A1 и B2/B1, 10 log10 отношения мощностей.
| Сравнение повторов | RAW RX | Фон AC | Полезная мощность после фона | abs(h)² | Согласованная компонента |
|---|---:|---:|---:|---:|---:|
| A1 / A2 REPEATABILITY: A2/A1 | +0,007078 дБ | +0,093274 дБ | −0,482024 дБ | −0,181074 дБ | −0,181074 дБ |
| B1 / B2 REPEATABILITY: B2/B1 | +0,055382 дБ | +0,344629 дБ | −0,512676 дБ | −0,178136 дБ | −0,178136 дБ |
| Пара A/B | Принятая мощность B/A после фона | abs(h)² B/A | Согласованная компонента B/A |
|---|---:|---:|---:|
| B1/A1 | +0,123345 дБ | −0,164480 дБ | −0,206538 дБ |
| B2/A2 | +0,092693 дБ | −0,161543 дБ | −0,203601 дБ |
Итоговые X/Y/Z — отношение средних **линейных** мощностей B1/B2 к A1/A2,
а не среднее значений в дБ. Z рассчитано из той же мощности после фона,
что X, с делением на скорость символов. Это энергия в код²·с, не джоули.
```text
500K / 20K RECEIVED POWER DIFFERENCE = +0.108895 dB
500K / 20K TX-MATCHED CHANNEL GAIN DIFFERENCE = -0.163042 dB
ENERGY PER SYMBOL DIFFERENCE = -13.870505 dB
```
Расчёт Z: +0,108895 − 10 log10(500000/20000) = −13,870505 дБ.
Отдельная энергия согласованной компоненты в парных результатах изменилась
на −14,185938 и −14,183001 дБ; это другой числитель, её не подменяют Z.
## Инженерная интерпретация
1. Внутри этой сессии 20 и 500 ксимв/с дали почти равные мощности. Небольшое
различие повторилось в обеих парах; утверждать точную частотную
характеристику по двум повторам нельзя.
2. Вторые повторы слабее первых на 0,48/0,51 дБ по мощности после фона
и примерно на 0,18 дБ по коэффициенту передачи. Фон также немного
меняется и содержит кратковременные всплески; при этом относительное
сравнение B/A сохраняется: расхождение двух оценок X около 0,031 дБ,
двух оценок Y около 0,003 дБ.
3. Прежний провал порядка 15,41 дБ **не воспроизвёлся** в текущей короткой
OTA-сессии. Причина различия старых раздельных опытов остаётся
неустановленной; их результаты не пересматриваются.
4. По OTA нельзя объявить эффект собственной аппаратной потерей HackRF
Plus: антенны и распространение входят в измеренный путь. В этой
сессии большого эффекта вообще не обнаружено. Абсолютная мощность
на выходе передатчика не измерена.
5. Кабельный контроль после получения SMA-переходника остаётся необходимым
отдельным этапом для отделения свойств аппаратуры от антенн и канала.
OTA его не заменяет. Автоматического повторения опыта или добавления
PA/внешнего LNA нет; необходимость усилителя не установлена.
## Проверка и артефакты
Verifier независимо прочитал журналы и raw IQ без оборудования и записи
файлов: проверил число команд, постоянство параметров, опору, размеры,
SHA, отсутствие клиппинга/потерь и согласованность четырёх начал. Raw AC,
два окна фона, CFO и комплексный МНК пересчитаны вторым способом;
результаты совпали с анализатором до 1e−12. Воспроизведённых находок нет.
RX SHA-256: `e336dd653fa554058052fcf851e9f2462f66b8cf7c710815ca2b9a09ffc23ad4`.
TX SHA-256: `5b34bbe1a8e6d037d2d6d367a74e9eb84e8940db7da61600ffaa7f7497d4f600`.
- [Полный подготовленный анализ](../data/processed/lab056/rf_analysis.json).
- [Итоговая машинная сводка](../data/processed/lab056/rf_result.json).
- [Авторизация и фиксированные параметры](../data/processed/lab056/rf_session_authorization.json).
- [Фактические команды и время](../data/processed/lab056/rf_session_commands.json).
- Raw: `data/raw/lab056/rx_stream.cs8`, `capture_result.json`,
`hardware_attempt.json`, `tx_process_result.json`, `rx_stdout.txt`, `rx_stderr.txt`.
Исходные результаты подготовки, preflight и искусственные записи сохранены.
Код анализатора/runner и TX не изменялись; использована проверенная версия
44 целевых теста / quick_gate 867/30/13 / pytest 867 passed. Для анализа
аппаратной записи полные тесты повторно не запускались. Diff check PASS.
HEAD `5add95ecb8865f59075bbbced08d97b183fb3b48`, Lab056 не коммитилась,
push не выполнялся. Приём пакетов, видео и FEC не проверялись.
**Выполненных TX-сеансов: 1. RF TX сейчас = 0. STOP.**