Lab064: measure OTA level linearity at TX VGA 10 dB
This commit is contained in:
216
docs/lab064_rf_result.md
Normal file
216
docs/lab064_rf_result.md
Normal file
@@ -0,0 +1,216 @@
|
||||
# Lab064: результат измерения уровня и линейности RF-тракта
|
||||
|
||||
В одном коротком OTA-сеансе цифровая мощность TX была увеличена почти на 18 дБ,
|
||||
то есть цифровая амплитуда выросла примерно в 7,92 раза. Согласованная с
|
||||
известным TX амплитуда на RX выросла в 7,77 раза, а её мощность на 17,81 дБ.
|
||||
Коэффициент передачи `|h|` почти не менялся. Признака компрессии на верхнем
|
||||
уровне не обнаружено.
|
||||
|
||||
При этом полезная согласованная составляющая остаётся слабее остатка даже на
|
||||
L3: −12,13 дБ. Фон во всех пяти нулевых окнах стабилен. По заранее заданным
|
||||
критериям результат классифицирован как `LINEAR_BUT_WEAK`.
|
||||
|
||||
Опыт установил относительную линейность именно этой цифровой лестницы в
|
||||
текущей OTA-геометрии. Он не измеряет абсолютную мощность в ваттах или дБм и не
|
||||
разделяет вклад TX, антенн, эфирного канала и RX. Для этого нужен измерительный
|
||||
прибор или отдельный проведённый тест по кабелю.
|
||||
|
||||
## Сеанс и аппаратная целостность
|
||||
|
||||
14 сентября 2026 года выполнен ровно один разрешённый TX. RX стартовал раньше
|
||||
TX. Повторных передач не было.
|
||||
|
||||
| Проверка | Результат |
|
||||
|---|---:|
|
||||
| TX waveform SHA-256 | `fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9` |
|
||||
| RF / Fs / symbol rate | 1400000000 Гц / 8000000 отсчётов/с / 20000 символов/с |
|
||||
| TX VGA / RX LNA / RX VGA | 10 / 24 / 24 дБ |
|
||||
| RF amplifier / Bias-Tee | выключены |
|
||||
| MASTER / SLAVE reg29 | `0x26` / `0x26` |
|
||||
| SLAVE CLKIN | `DETECTED`, второй опрос, 139,042 мс |
|
||||
| Выполненные TX-сеансы | 1 |
|
||||
| Автоматические повторы | 0 |
|
||||
| TX underrun, максимум / финал | 0 / 0 |
|
||||
| RX overrun, максимум / финал | 0 / 0 |
|
||||
| RX clipping | 0 |
|
||||
| RX длина | 16000000 комплексных отсчётов, 2,000000 с |
|
||||
| RX SHA-256 | `02015891948aaee52ff81e60fdfeb391bb9b76cd9192b75972b8fedbc8690d86` |
|
||||
| Процессы до / после | `CLEAR` / `CLEAR` |
|
||||
| Ошибки очистки | 0 |
|
||||
|
||||
В TX-журнале сохранены две строки `0 underruns`; в RX-журнале сохранены четыре
|
||||
строки `0 overruns`. Анализ использует все наблюдения и их максимум. Финальный
|
||||
нулевой счётчик не мог бы скрыть промежуточное ненулевое значение.
|
||||
|
||||
## Фон
|
||||
|
||||
Каждое окно имеет длину 160000 отсчётов, или 20 мс, и лежит внутри цифрового
|
||||
нулевого участка вдали от активной границы.
|
||||
|
||||
| Окно | AC power, код² | AC RMS, код |
|
||||
|---|---:|---:|
|
||||
| Начальный guard | 0,521529 | 0,722170 |
|
||||
| Gap L0–L1 | 0,523180 | 0,723312 |
|
||||
| Gap L1–L2 | 0,515904 | 0,718264 |
|
||||
| Gap L2–L3 | 0,522200 | 0,722634 |
|
||||
| Конечный guard | 0,530300 | 0,728217 |
|
||||
|
||||
Диапазон AC RMS равен 0,718264…0,728217 кода. Отношение максимальной AC-мощности
|
||||
к минимальной составляет 0,119530 дБ при заранее заданной границе стабильности
|
||||
3 дБ. Фон считается стабильным.
|
||||
|
||||
## Метрики участков
|
||||
|
||||
Мощности приведены в квадрате цифрового кода RX. Это относительные цифровые
|
||||
величины, а не ватты и не дБм.
|
||||
|
||||
### L0, −18 дБ
|
||||
|
||||
```text
|
||||
FULL IQ RMS = 2.277200 code
|
||||
AC RMS = 0.956317 code
|
||||
MEAN I = 0.949724 code
|
||||
MEAN Q = 1.835518 code
|
||||
MAX |I| = 6 code
|
||||
MAX |Q| = 7 code
|
||||
MAX COMPLEX MAGNITUDE = 7.071068 code
|
||||
BACKGROUND AC POWER = 0.521529 code^2
|
||||
MATCHED SIGNAL POWER = 0.000750751 code^2
|
||||
RESIDUAL POWER = 1.213794804 code^2
|
||||
MATCHED / RESIDUAL = -32.086493 dB
|
||||
h = 0.001876064 - j0.004508063
|
||||
|h| = 0.004882853
|
||||
|h|^2 = 0.000023842249
|
||||
CFO = +0.095772 Hz
|
||||
```
|
||||
|
||||
### L1, −12 дБ
|
||||
|
||||
```text
|
||||
FULL IQ RMS = 2.291392 code
|
||||
AC RMS = 0.989014 code
|
||||
MEAN I = 0.956038 code
|
||||
MEAN Q = 1.832573 code
|
||||
MAX |I| = 6 code
|
||||
MAX |Q| = 7 code
|
||||
MAX COMPLEX MAGNITUDE = 7.211103 code
|
||||
BACKGROUND AC POWER = 0.523180 code^2
|
||||
MATCHED SIGNAL POWER = 0.002961235 code^2
|
||||
RESIDUAL POWER = 1.069594603 code^2
|
||||
MATCHED / RESIDUAL = -25.577463 dB
|
||||
h = 0.004471119 - j0.001937686
|
||||
|h| = 0.004872939
|
||||
|h|^2 = 0.000023745532
|
||||
CFO = -0.168571 Hz
|
||||
```
|
||||
|
||||
### L2, −6 дБ
|
||||
|
||||
```text
|
||||
FULL IQ RMS = 2.275060 code
|
||||
AC RMS = 0.925298 code
|
||||
MEAN I = 0.963183 code
|
||||
MEAN Q = 1.841739 code
|
||||
MAX |I| = 6 code
|
||||
MAX |Q| = 7 code
|
||||
MAX COMPLEX MAGNITUDE = 7.280110 code
|
||||
BACKGROUND AC POWER = 0.515904 code^2
|
||||
MATCHED SIGNAL POWER = 0.011333436 code^2
|
||||
RESIDUAL POWER = 0.529088688 code^2
|
||||
MATCHED / RESIDUAL = -16.691669 dB
|
||||
h = 0.003277253 - j0.003478187
|
||||
|h| = 0.004778930
|
||||
|h|^2 = 0.000022838175
|
||||
CFO = +0.006742 Hz
|
||||
```
|
||||
|
||||
### L3, 0 дБ
|
||||
|
||||
```text
|
||||
FULL IQ RMS = 2.341160 code
|
||||
AC RMS = 1.057677 code
|
||||
MEAN I = 0.957558 code
|
||||
MEAN Q = 1.856188 code
|
||||
MAX |I| = 6 code
|
||||
MAX |Q| = 7 code
|
||||
MAX COMPLEX MAGNITUDE = 7.280110 code
|
||||
BACKGROUND AC POWER = 0.522200 code^2
|
||||
MATCHED SIGNAL POWER = 0.045331864 code^2
|
||||
RESIDUAL POWER = 0.740861774 code^2
|
||||
MATCHED / RESIDUAL = -12.133336 dB
|
||||
h = 0.003384388 - j0.003391322
|
||||
|h| = 0.004791153
|
||||
|h|^2 = 0.000022955145
|
||||
CFO = -0.076067 Hz
|
||||
```
|
||||
|
||||
Максимумы активных участков равны `|I|=6` и `|Q|=7`. Полная двухсекундная
|
||||
запись также далека от rail-кодов: `|I|=7`, `|Q|=8`. Это исключает цифровой
|
||||
clipping в записи, но не является самостоятельным доказательством идеальной
|
||||
линейности аналогового тракта.
|
||||
|
||||
## Линейность мощности и амплитуды
|
||||
|
||||
| Пара | TX, дБ | RX matched, дБ | Ошибка, дБ | TX amplitude ratio | RX matched amplitude ratio |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| L0 → L1 | +5,977270 | +5,959770 | −0,017501 | 1,990048 | 1,986042 |
|
||||
| L1 → L2 | +5,998157 | +5,828887 | −0,169270 | 1,994839 | 1,956340 |
|
||||
| L2 → L3 | +5,998257 | +6,020420 | +0,022162 | 1,994862 | 1,999959 |
|
||||
| L0 → L3 | +17,973685 | +17,809077 | −0,164609 | 7,919254 | 7,770587 |
|
||||
|
||||
Максимальная абсолютная ошибка отдельной ступени равна 0,169270 дБ и заметно
|
||||
меньше заранее установленной границы линейности 1,0 дБ. Верхняя ступень не
|
||||
отстаёт от TX: она выросла на 6,020420 дБ при ожидаемых 5,998257 дБ. Порог
|
||||
признака компрессии составлял −1,5 дБ ошибки верхней ступени; фактическая
|
||||
ошибка равна +0,022162 дБ.
|
||||
|
||||
`|h|` изменился от 0,004882853 на L0 до 0,004791153 на L3. Это соответствует
|
||||
−0,164609 дБ по мощности и совпадает с общей ошибкой линейности. Систематического
|
||||
падения коэффициента передачи на верхнем уровне нет.
|
||||
|
||||
Остаточная мощность при переходе L2 → L3 выросла примерно на 1,46 дБ, тогда
|
||||
как согласованная полезная мощность выросла на 6,02 дБ. Отношение
|
||||
matched/residual улучшилось с −16,69 до −12,13 дБ. Ухудшения формы сигнала на
|
||||
L3 относительно L2 по этому показателю нет.
|
||||
|
||||
Диагностические полосы остатка около 50/100/150 кГц на L3 равны
|
||||
0,009576/0,004469/0,002725 код². Они не растут быстрее согласованной мощности
|
||||
при переходе L2 → L3. Эти полосы не являются калиброванным измерением
|
||||
RF-гармоник, поэтому абсолютный вывод о спектральной чистоте потребовал бы
|
||||
анализатора спектра.
|
||||
|
||||
## Вывод
|
||||
|
||||
```text
|
||||
CLASSIFICATION = LINEAR_BUT_WEAK
|
||||
```
|
||||
|
||||
Текущий тракт воспроизводит цифровые ступени почти один к одному по дБ. Данных
|
||||
за компрессию при TX VGA 10 дБ и RX LNA/VGA 24/24 дБ нет. Главная проблема
|
||||
этого сеанса состоит в низкой согласованной полезной мощности относительно
|
||||
остатка: даже на L3 запас равен −12,13 дБ.
|
||||
|
||||
Практически это означает, что простое объяснение Lab062 аналоговой перегрузкой
|
||||
текущего тракта не подтверждается. Слабое отношение полезной составляющей к
|
||||
остатку остаётся вероятным фактором плохого 500K-приёма, хотя Lab064 использует
|
||||
узкий сигнал 20 ksymbol/s и сама по себе не объясняет все широкополосные
|
||||
искажения Lab062.
|
||||
|
||||
Рекомендуемый следующий отдельный шаг: согласовать повтор той же лестницы при
|
||||
TX VGA 20 дБ, сохранив RX LNA/VGA 24/24 дБ, частоту, геометрию, waveform и
|
||||
общую опору. Это проверит, улучшается ли matched/residual при сохранении
|
||||
линейности. В рамках Lab064 усиления не менялись и второй TX не выполнялся.
|
||||
|
||||
## Независимая проверка
|
||||
|
||||
Проверяющий агент работал только с сохранёнными файлами и не обращался к
|
||||
оборудованию. Он независимо пересчитал SHA-256, положение четырёх сегментов,
|
||||
пять окон фона, matched/residual, комплексные `h`, отношения мощности и
|
||||
амплитуды, общий результат L3/L0 и все двенадцать спектральных значений.
|
||||
Подтверждённых расхождений нет. Целевые тесты дали 15 passed; итоговый вердикт:
|
||||
`чисто`.
|
||||
|
||||
После RF-сеанса quick gate прошёл: 986 тестов ядра, 37 функциональных проверок,
|
||||
13 пропусков. Полный pytest: 986 passed, 0 failed. `git diff --check`: PASS.
|
||||
|
||||
`RF TX = 0`. Lab064 не коммитировалась, push не выполнялся, Lab065 не создана.
|
||||
Reference in New Issue
Block a user