Lab065: validate OTA gain improvement at TX VGA 20 dB
This commit is contained in:
@@ -663,3 +663,40 @@
|
||||
- **Независимая проверка:** прямой пересчёт из TX/RX CS8 подтвердил все SHA,
|
||||
счётчики, фоны, matched/residual/`h`, ступени и спектральные полосы;
|
||||
расхождений нет. Quick gate и pytest после RF:986 passed,0 failed.
|
||||
|
||||
## Lab065: измерение уровня при TX VGA 20 дБ
|
||||
|
||||
- **База:** Lab064 зафиксирована коммитом
|
||||
`cff226e0bf9e36a627829ea11a4ca3292ae20953`; push не выполнялся.
|
||||
- **Единственное изменение параметра:** TX VGA 10 → 20 дБ. Частота 1400 МГц,
|
||||
RX LNA/VGA 24/24 дБ, усилители, геометрия, антенны и кабели сохранены.
|
||||
- **Waveform:** точная копия Lab064, 6000000 отсчётов, 0,75 с; SHA-256
|
||||
`fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9`.
|
||||
- **Подготовлено:** RX-first runner, максимальные счётчики потерь, сравнение
|
||||
линейности внутри Lab065 и по одинаковым уровням Lab064/Lab065, численные
|
||||
правила классификации. Software gate PASS.
|
||||
- **RX-only preflight:** обе HackRF и роли подтверждены, reg29=0x26 у MASTER и
|
||||
SLAVE, CLKIN обнаружен на третьем опросе через201,986мс. Фон:800000 отсчётов,
|
||||
AC RMS1,056565 кода, max|I|/|Q|=6/8, clipping0, overruns0. Cleanup PASS.
|
||||
- **Граница:** `RF TX=0`. Lab065 не коммитировалась. Нужны рассмотрение
|
||||
подготовки и отдельное прямое разрешение на один TX; Lab066 не начинать.
|
||||
- [Текущее состояние](lab065_current_state.md),
|
||||
[RX-only отчёт](lab065_rx_preflight.md),
|
||||
[подготовка](../data/processed/lab065/preparation.json),
|
||||
[software gate](../data/processed/lab065/software_gate.json),
|
||||
[preflight](../data/processed/lab065/preflight_result.json).
|
||||
- **Единственный RF-сеанс:** TX1, автоматических повторов0; underrun/overrun/
|
||||
clipping0, cleanup PASS, процессы CLEAR. RX16000000 отсчётов, SHA-256
|
||||
`845d7b7dcaef70e179ab69e6ba0041601859630786d2f4d51c16a8c1c7869d7e`.
|
||||
- **Линейность:** ошибки ступеней −0,077363/+0,034934/−0,013858дБ, компрессии
|
||||
L2/L3 нет. Медианный прирост matched power+11,233489дБ, изменение остатка
|
||||
+0,517004дБ, улучшение matched/residual+10,734495дБ.
|
||||
- **Результат:** `LINEAR_GAIN_IMPROVEMENT`. Фон стабилен; диагностические полосы
|
||||
остатка растут слабее matched power. [RF-отчёт](lab065_rf_result.md),
|
||||
[RF JSON](../data/processed/lab065/rf_result.json),
|
||||
[capture JSON](../data/processed/lab065/capture_result.json).
|
||||
- **STOP:** `RF TX=0`; повторов и изменения усилений не было. Lab065 не
|
||||
коммитировалась, push отсутствует, Lab066 не создана.
|
||||
- **Независимая проверка:** прямой пересчёт CS8 подтвердил SHA, счётчики,
|
||||
локализацию, фон, matched/residual, `h`, CFO и спектральные полосы. Расхождений
|
||||
нет. Quick gate1000/38/13 PASS, pytest1000 passed, diff check PASS.
|
||||
|
||||
70
docs/lab065_current_state.md
Normal file
70
docs/lab065_current_state.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Lab065: подготовка измерения при TX VGA 20 дБ
|
||||
|
||||
Lab065 повторяет измерение Lab064 с одним изменением аппаратного параметра:
|
||||
TX VGA повышен с 10 до 20 дБ. Частота 1400000000 Гц, RX LNA/VGA 24/24 дБ,
|
||||
геометрия, антенны, кабели, общая опора и цифровой waveform сохранены.
|
||||
|
||||
TX-файл Lab065 является побайтовой копией Lab064. Его SHA-256 должен быть равен
|
||||
`fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9`.
|
||||
Длина остаётся равной 6000000 комплексных отсчётов и 0,75 с. Ступени
|
||||
−18/−12/−6/0 дБ, PRBS7, BPSK, RRC, 20000 символов/с, Fs 8000000 отсчётов/с и
|
||||
цифровая несущая +50000 Гц не меняются.
|
||||
|
||||
## Сравнение с Lab064
|
||||
|
||||
Для L0, L1, L2 и L3 анализатор выдаёт изменение согласованной мощности,
|
||||
`|h|²`, остаточной мощности и matched/residual. Номинальное изменение TX VGA
|
||||
равно +10 дБ и приводится как справочная величина, а не как условие PASS.
|
||||
|
||||
До RF зафиксированы численные правила:
|
||||
|
||||
- линейность внутри Lab065: максимальная абсолютная ошибка шага не более 1 дБ;
|
||||
- компрессия: ошибка верхнего шага не более −1,5 дБ;
|
||||
- заметный прирост: медиана прироста matched power не менее 3 дБ;
|
||||
- заметное улучшение matched/residual: медиана не менее 3 дБ;
|
||||
- согласованность прироста четырёх уровней: разброс не более 3 дБ;
|
||||
- остаток считается растущим почти как сигнал, если его медианный прирост
|
||||
отстаёт от медианного прироста matched power не более чем на 3 дБ.
|
||||
|
||||
Эти пороги нужны для воспроизводимой классификации конкретного опыта. Они не
|
||||
заменяют измерение абсолютной RF-мощности.
|
||||
|
||||
## Аппаратная граница
|
||||
|
||||
Подготовка допускает программные проверки, common-clock preflight и RX-only
|
||||
запись фона. Любая команда с `-t` внутри preflight запрещена. Передача Lab065
|
||||
требует нового прямого разрешения пользователя и в текущий этап не входит.
|
||||
Автоматических повторов и изменения усилений после ошибки нет.
|
||||
|
||||
`RF TX = 0`.
|
||||
|
||||
## Результат подготовки
|
||||
|
||||
Подготовка выполнена от HEAD
|
||||
`cff226e0bf9e36a627829ea11a4ca3292ae20953`. Software gate прошёл. Побайтовая
|
||||
копия waveform имеет требуемый SHA-256, подготовленная TX-команда содержит
|
||||
TX VGA 20 дБ, а RX-команда сохраняет LNA/VGA 24/24 дБ.
|
||||
|
||||
Common-clock и RX-only preflight прошёл. Обе HackRF One r9 обнаружены с
|
||||
прежними ролями. MASTER и SLAVE имеют reg29 `0x26`; SLAVE CLKIN обнаружен на
|
||||
третьем опросе через 201,986 мс. В RX-фоне из 800000 отсчётов AC RMS равен
|
||||
1,056565 кода, max |I|/|Q| равны 6/8, clipping и overruns отсутствуют.
|
||||
Процессы до и после проверки имеют состояние CLEAR, ошибок очистки нет.
|
||||
|
||||
Lab065 готова к рассмотрению перед одним RF-сеансом. Текущая подготовка такого
|
||||
разрешения не содержит. `RF TX = 0`.
|
||||
|
||||
## Единственный RF-сеанс
|
||||
|
||||
После отдельного прямого разрешения выполнен один TX. Общая опора прошла:
|
||||
MASTER/SLAVE reg29 `0x26`, SLAVE CLKIN обнаружен на втором опросе через
|
||||
136,897 мс. TX underrun, RX overrun, clipping и ошибки очистки отсутствуют.
|
||||
Повторов не было. RX содержит 16000000 отсчётов, SHA-256
|
||||
`845d7b7dcaef70e179ab69e6ba0041601859630786d2f4d51c16a8c1c7869d7e`.
|
||||
|
||||
Медианный прирост matched power относительно Lab064 равен +11,233489 дБ,
|
||||
медианное изменение остатка +0,517004 дБ, улучшение matched/residual
|
||||
+10,734495 дБ. Ошибки ступеней равны −0,077363/+0,034934/−0,013858 дБ.
|
||||
Признаков компрессии нет. Классификация: `LINEAR_GAIN_IMPROVEMENT`.
|
||||
|
||||
[Полный RF-отчёт](lab065_rf_result.md). `RF TX = 0`.
|
||||
114
docs/lab065_rf_result.md
Normal file
114
docs/lab065_rf_result.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# Lab065: один OTA-сеанс при TX VGA 20 дБ
|
||||
|
||||
15 сентября 2026 года выполнен один разрешённый OTA-сеанс Lab065 на частоте
|
||||
1400000000 Гц. Передача использовала точную копию waveform Lab064 с SHA-256
|
||||
`fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9`.
|
||||
Автоматических и ручных повторов не было.
|
||||
|
||||
## Аппаратная валидность
|
||||
|
||||
Перед TX обе HackRF One r9 и их роли подтверждены. MASTER и SLAVE имели reg29
|
||||
`0x26`; SLAVE CLKIN обнаружен на втором опросе через 136,897 мс. RX стартовал
|
||||
раньше TX. Результат сеанса:
|
||||
|
||||
```text
|
||||
COMPLETED TX SESSIONS = 1
|
||||
AUTOMATIC TX REPEATS = 0
|
||||
TX UNDERRUN MAXIMUM = 0
|
||||
RX OVERRUN MAXIMUM = 0
|
||||
RX CLIPPING = NO
|
||||
CLEANUP ERRORS = []
|
||||
SDR PROCESSES = CLEAR
|
||||
```
|
||||
|
||||
RX содержит 16000000 комплексных отсчётов, 32000000 байт и 2,0 с. SHA-256:
|
||||
`845d7b7dcaef70e179ab69e6ba0041601859630786d2f4d51c16a8c1c7869d7e`.
|
||||
Максимумы всей записи равны `|I|=10` и `|Q|=10`; rail-кодов нет.
|
||||
|
||||
## Линейность внутри Lab065
|
||||
|
||||
| Переход | TX, дБ | RX matched, дБ | Ошибка, дБ |
|
||||
|---|---:|---:|---:|
|
||||
| L0 → L1 | +5,977270 | +5,899908 | −0,077363 |
|
||||
| L1 → L2 | +5,998157 | +6,033091 | +0,034934 |
|
||||
| L2 → L3 | +5,998257 | +5,984400 | −0,013858 |
|
||||
|
||||
Максимальная абсолютная ошибка равна 0,077363 дБ при границе 1 дБ. Ошибка
|
||||
верхней ступени равна −0,013858 дБ при пороге компрессии −1,5 дБ. Согласованная
|
||||
мощность L3 выросла относительно L2 на 5,984400 дБ. Признаков компрессии на
|
||||
L2/L3 нет.
|
||||
|
||||
## Сравнение Lab064 и Lab065
|
||||
|
||||
| Уровень | Matched, дБ | Остаток, дБ | Улучшение matched/residual, дБ | Изменение \|h\|², дБ |
|
||||
|---|---:|---:|---:|---:|
|
||||
| L0 | +11,179328 | −0,243276 | +11,422604 | +11,179328 |
|
||||
| L1 | +11,119466 | −2,366286 | +13,485752 | +11,119466 |
|
||||
| L2 | +11,323670 | +1,277284 | +10,046386 | +11,323670 |
|
||||
| L3 | +11,287650 | +3,907581 | +7,380069 | +11,287650 |
|
||||
|
||||
Медианный прирост согласованной мощности равен +11,233489 дБ. Его разброс по
|
||||
четырём уровням составляет 0,204204 дБ. Медианное изменение остатка равно
|
||||
+0,517004 дБ, а медианное улучшение matched/residual равно +10,734495 дБ.
|
||||
|
||||
При TX VGA 20 дБ matched/residual для L0/L1/L2/L3 равен
|
||||
−20,663889/−12,091711/−6,645283/−4,753267 дБ. Отношение улучшилось на каждом
|
||||
уровне, хотя даже на L3 согласованная составляющая остаётся слабее остатка.
|
||||
|
||||
## Комплексный коэффициент передачи
|
||||
|
||||
| Уровень | h Lab064 | h Lab065 | \|h\| Lab064 | \|h\| Lab065 | Изменение фазы, градусы |
|
||||
|---|---|---|---:|---:|---:|
|
||||
| L0 | 0,001876 − j0,004508 | −0,006915 + j0,016279 | 0,004883 | 0,017686 | −179,581 |
|
||||
| L1 | 0,004471 − j0,001938 | −0,010180 + j0,014271 | 0,004873 | 0,017529 | +148,932 |
|
||||
| L2 | 0,003277 − j0,003478 | −0,009134 + j0,015045 | 0,004779 | 0,017600 | +167,966 |
|
||||
| L3 | 0,003384 − j0,003391 | −0,009107 + j0,015028 | 0,004791 | 0,017572 | +166,276 |
|
||||
|
||||
Модуль `h` внутри Lab065 почти постоянен: 0,017529…0,017686. Его мощность
|
||||
относительно Lab064 выросла на 11,119…11,324 дБ, что согласуется с matched
|
||||
power. Фаза между отдельными сеансами не имеет непрерывной временной привязки,
|
||||
поэтому приведённый поворот является диагностикой конкретных записей, а не
|
||||
калиброванной фазовой характеристикой тракта.
|
||||
|
||||
## Фон и остаточные полосы
|
||||
|
||||
Пять нулевых окон Lab065 имеют AC RMS 0,763722…0,857191 кода. Разброс фоновой
|
||||
AC-мощности равен 1,002840 дБ при границе 3 дБ, поэтому фон классифицирован как
|
||||
стабильный. В Lab064 разброс составлял 0,119530 дБ; фон Lab065 стабильный, но
|
||||
межоконный разброс стал больше.
|
||||
|
||||
Изменение диагностических полос остатка относительно Lab064:
|
||||
|
||||
| Уровень | 50 кГц, дБ | 100 кГц, дБ | 150 кГц, дБ |
|
||||
|---|---:|---:|---:|
|
||||
| L0 | +2,869745 | +2,654569 | +2,258651 |
|
||||
| L1 | +3,032680 | +2,378561 | +1,300716 |
|
||||
| L2 | +5,594944 | +4,091263 | +2,888397 |
|
||||
| L3 | +7,304593 | +6,432281 | +4,996232 |
|
||||
|
||||
На верхних уровнях остаточные полосы выросли, особенно около 50 кГц. На L3 их
|
||||
рост остаётся ниже прироста matched power +11,287650 дБ, а matched/residual
|
||||
улучшился на 7,380069 дБ. Эти цифровые полосы не являются калиброванным
|
||||
измерением RF-гармоник.
|
||||
|
||||
## Итог
|
||||
|
||||
```text
|
||||
CLASSIFICATION = LINEAR_GAIN_IMPROVEMENT
|
||||
```
|
||||
|
||||
Повышение TX VGA с 10 до 20 дБ дало устойчивый прирост согласованной принятой
|
||||
мощности примерно на 11,2 дБ без потери линейности. Остаток вырос существенно
|
||||
меньше, поэтому отношение полезной составляющей к остатку улучшилось на всех
|
||||
четырёх уровнях. Верхняя ступень не показывает компрессии.
|
||||
|
||||
Результат остаётся относительным измерением всего OTA-тракта. Он не определяет
|
||||
абсолютную RF-мощность и не доказывает прохождение полного PHY-пакета, FEC, CRC,
|
||||
T2 или JPEG.
|
||||
|
||||
Независимая проверка пересчитала сохранённый CS8, локализацию, фон, matched,
|
||||
residual, `h`, CFO, внутреннюю линейность и сравнение с Lab064. Расхождений нет.
|
||||
Рекомендуемый следующий одиночный шаг: рассмотреть scope Lab065 и отдельно
|
||||
разрешить локальный коммит. Новую RF-передачу для этого выполнять не требуется.
|
||||
|
||||
`RF TX = 0`. Lab065 не коммитировалась, push не выполнялся, Lab066 не создана.
|
||||
83
docs/lab065_rx_preflight.md
Normal file
83
docs/lab065_rx_preflight.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# Lab065: подготовка и RX-only preflight
|
||||
|
||||
15 сентября 2026 года подготовлена Lab065 с TX VGA 20 дБ. Пользователь
|
||||
подтвердил неизменность расстояния около 1,2 м, прямой видимости, положения TX
|
||||
возле окна и RX на столе, антенн, поляризации, USB, общей опоры и RF-кабелей.
|
||||
|
||||
## Неизменность сигнала
|
||||
|
||||
TX-файл Lab065 является побайтовой копией файла Lab064:
|
||||
|
||||
```text
|
||||
TX samples = 6000000
|
||||
TX bytes = 12000000
|
||||
TX duration = 0.750000 s
|
||||
TX SHA-256 = fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9
|
||||
WAVEFORM UNCHANGED FROM LAB064 = YES
|
||||
```
|
||||
|
||||
Сохранены PRBS7, BPSK, RRC, ступени −18/−12/−6/0 дБ, интервалы и нулевые
|
||||
защитные участки, 20000 символов/с, Fs 8000000 комплексных отсчётов/с и
|
||||
цифровая несущая +50000 Гц. Из аппаратных параметров изменён только TX VGA:
|
||||
10 → 20 дБ. RX LNA/VGA остаются равными 24/24 дБ; RF amplifier и Bias-Tee
|
||||
выключены.
|
||||
|
||||
Software gate прошёл. Он подтвердил SHA, пригодность результата Lab064 как
|
||||
базы сравнения, синтетическую проверку линейности и наличие численных правил
|
||||
классификации, зафиксированных до RF.
|
||||
|
||||
## Common clock
|
||||
|
||||
Перед аппаратными командами проверка процессов через psutil осмотрела 289
|
||||
процессов и получила CLEAR. Обнаружены обе HackRF One r9 с firmware и
|
||||
libhackrf 2024.02.1. Роли совпали с Lab064:
|
||||
|
||||
- MASTER `000000000000000097c063dc323b97d3`;
|
||||
- SLAVE `000000000000000097c063dc2e5327d3`.
|
||||
|
||||
Результат общей опоры:
|
||||
|
||||
```text
|
||||
MASTER reg29 = 0x26
|
||||
SLAVE reg29 = 0x26
|
||||
SLAVE CLKIN = DETECTED
|
||||
CLKIN query = 3
|
||||
time to detect = 201.986 ms
|
||||
```
|
||||
|
||||
Первые два опроса не обнаружили CLKIN, третий опрос прошёл в пределах штатного
|
||||
окна ожидания. Итоговый common-clock gate имеет статус PASS.
|
||||
|
||||
## RX-only фон
|
||||
|
||||
SLAVE записал 800000 комплексных отсчётов при 1400000000 Гц и RX LNA/VGA
|
||||
24/24 дБ.
|
||||
|
||||
| Метрика | Значение |
|
||||
|---|---:|
|
||||
| Полный RMS IQ | 2,333068 кода |
|
||||
| AC RMS после удаления среднего | 1,056565 кода |
|
||||
| Средние I / Q | 0,948896 / 1,851074 кода |
|
||||
| max \|I\| / \|Q\| | 6 / 8 кодов |
|
||||
| Максимальная комплексная амплитуда | 8,062258 кода |
|
||||
| Clipping | 0 / 800000 отсчётов |
|
||||
| RX overruns, максимум / финал | 0 / 0 |
|
||||
| Неожиданно сильный сигнал | нет |
|
||||
|
||||
SHA-256 RX-фона:
|
||||
`be3c61dfa1bc40d1a9f6777689026804a1ccfc340b82680d3ec5304ddd68f78c`.
|
||||
|
||||
Оба CLKOUT выключены без ошибок. Повторная проверка процессов получила CLEAR.
|
||||
Команд передачи не было.
|
||||
|
||||
```text
|
||||
LAB065 PREPARATION = PASS
|
||||
COMMON CLOCK = PASS
|
||||
RX PREFLIGHT = PASS
|
||||
RF TX = 0
|
||||
READY FOR SINGLE LAB065 TX = YES
|
||||
WAITING FOR EXPLICIT RF AUTHORIZATION = YES
|
||||
```
|
||||
|
||||
Готовность означает, что программные и аппаратные входные проверки пройдены.
|
||||
Она не разрешает передачу и не предсказывает результат измерения.
|
||||
Reference in New Issue
Block a user