Lab056: compare 20 and 500 ksymbol/s in controlled RF session
This commit is contained in:
222
docs/lab056_rf_result.md
Normal file
222
docs/lab056_rf_result.md
Normal 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-эталоном,
|
||||
не независимый приём пакетов.
|
||||
|
||||

|
||||
|
||||
## Измерения 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.**
|
||||
Reference in New Issue
Block a user