373 lines
31 KiB
Markdown
373 lines
31 KiB
Markdown
# Lab055 — энергетический аудит сохранённых Lab047 и Lab054
|
||
|
||
Дата: 9 сентября 2026 года. Только обработка файлов, RF TX = 0.
|
||
|
||
## Что установлено простыми словами
|
||
|
||
1. **Цифровая амплитуда передачи практически не изменилась.** Средняя мощность
|
||
активной части TX равна 1950,308 и 1950,598 код²: различие всего +0,000645 дБ.
|
||
RMS обоих полных файлов около 44 кодов, ограничения отсчётов нет.
|
||
2. **Согласованная с TX компонента принятого сигнала существенно ослабла.**
|
||
Её медианная мощность в модели канала уменьшилась с 0,202732 до
|
||
0,00582916 код², то есть на 15,413 дБ, примерно в 34,8 раза. Это оценка
|
||
компоненты в цифровом RX, описываемой моделью, а не измерение ватт на разъёме.
|
||
3. **Фон в одинаковой широкой полосе сопоставим.** В полосе 675 кГц медианы
|
||
0,117815 и 0,112066 код². Признака роста фона на десятки децибел нет.
|
||
Фон меняется между окнами и до/после передачи. Остаток после вычитания
|
||
модели содержит также искажения: особенно в Lab047 он выше отдельного фона.
|
||
4. **Подтверждено падение цифровой энергии TX на символ на 13,9788 дБ**, поскольку
|
||
измеренная средняя цифровая мощность сохранилась, а скорость выросла в 25 раз.
|
||
Это не доказывает, что 13,98 дБ ухудшения приёма вызваны только скоростью:
|
||
условие неизменной полезной принятой мощности не выполнено даже в модели.
|
||
5. **Без измерительного прибора не установлены** выходная RF-мощность обеих
|
||
передач, мощность на входе RX, потери конкретного подключения, фактическая
|
||
аналоговая характеристика и разложение ослабления между этими причинами.
|
||
Одинаковое TX VGA = 10 дБ не доказывает одинаковую выходную мощность.
|
||
6. **Внешний усилитель пока преждевременен.** Для ближайшей диагностики нужен
|
||
контролируемый кабельный/экранированный стенд, известное ослабление и измерение
|
||
уровней. По одному SNR назначать мощность усилителя в ваттах нельзя.
|
||
|
||
Исторический Lab054 остаётся **NOT_A, 0/16 пакетов**. TX reference используется
|
||
после независимого решения только для диагностики. Нового декодирования,
|
||
изменения порогов, частот, усилений, PHY/FEC/CRC или радиопередачи не было.
|
||
|
||
## Артефакты и происхождение данных
|
||
|
||
Основной результат: [energy_audit_v2.json](../data/processed/lab055/energy_audit_v2.json).
|
||
Анализатор: [lab055_energy_audit.py](../experiments/lab055_energy_audit.py).
|
||
Тесты: [test_lab055_energy_audit.py](../tests/test_lab055_energy_audit.py).
|
||
|
||
Первый `energy_audit.json` сохранён как предварительный и заменён в выводах V2:
|
||
Welch недовзвешивал защитные края TX, а окно поиска задержки задевало проверочную
|
||
плитку. В V2 для TX применена полная прямоугольная периодограмма каждого кадра;
|
||
поиск задержки защищён внутренними отступами. Сценарий утечки воспроизведён
|
||
verifier, превращён в тест и после исправления повторно пройден. Первичные
|
||
аппаратные записи и результаты обоих опытов не перезаписывались.
|
||
|
||
Lab047: `C:\Users\user\Documents\SDR_Rover_Lab047_raw\20260903_115747`.
|
||
Это аппаратная RX-запись единственного сеанса 3 сентября, а не программный
|
||
loopback JPEG. Первичная обработка была незавершена из-за лимита кандидатов;
|
||
позднейший независимый анализ именно этой записи принял 36 кадров и восстановил
|
||
точный JPEG. Основания: `docs/lab047_current_state.md`, `capture_result.json`,
|
||
`independent_reprocess_result_corrected.json` и `post_verdict_diagnostics.json`.
|
||
|
||
Lab054: `data/raw/lab054`, единственный сеанс 9 сентября. Официальная сводка:
|
||
`data/processed/lab054/rf_summary.json`; независимо принято 0/16.
|
||
|
||
| Параметр | Lab047 | Lab054 | Основание |
|
||
|---|---:|---:|---|
|
||
| Формат | signed int8 I,Q | signed int8 I,Q | Метаданные, чётный размер, декодирование байтов |
|
||
| TX, байт | 166060800 | 2952192 | Фактические файлы |
|
||
| RX, байт | 240000000 | 48000000 | Фактические файлы |
|
||
| TX, с | 10,3788 | 0,184512 | Число IQ/Fs |
|
||
| RX, с | 15 | 3 | Число IQ/Fs |
|
||
| Частота дискретизации | 8 Мвыб/с | 8 Мвыб/с | TX/RX stderr и метаданные |
|
||
| Центральная RF-частота | 1400 МГц | 1400 МГц | TX/RX stderr |
|
||
| Скорость | 20000 симв/с | 500000 симв/с | Метаданные и формирователи |
|
||
| Отсчётов/символ | 400 | 16 | Fs/Rs, код и длины кадров |
|
||
| Цифровая несущая | +50 кГц | +50 кГц | Метаданные и формирователи |
|
||
| TX VGA | 10 дБ | 10 дБ | Метаданные и команды runner; аппаратного readback нет |
|
||
| RX LNA/VGA | 24/24 дБ | 24/24 дБ | Метаданные и команды runner; аппаратного readback нет |
|
||
| RF amplifier/Bias-Tee | OFF/OFF | OFF/OFF | Метаданные, команды, stderr |
|
||
| RRC | α=0,35, span=10 | α=0,35, span=10 | Восстановлено из кода |
|
||
| Аналоговый baseband-фильтр | UNKNOWN | UNKNOWN | Явного `-b` и readback полосы в артефактах нет |
|
||
| Выходная мощность, дБм | UNKNOWN | UNKNOWN | Измеренной калибровки нет |
|
||
| Кабели/антенны/ослабление/расстояние | Не подтверждены как неизменные | Не подтверждены как неизменные | Разные сеансы |
|
||
|
||
В обоих журналах одна пара HackRF r9: TX serial заканчивается `323b97d3`,
|
||
RX — `2e5327d3`; firmware/libhackrf 2024.02.1. Идентичность платы и настроек
|
||
не устанавливает неизменность аналогового тракта. Аппаратуру сейчас не опрашивали.
|
||
|
||
SHA-256 проверены чтением блоками и совпали с историческими метаданными:
|
||
|
||
```text
|
||
Lab047 TX 001a0c11128d18b2b8e3e67a3e8416a84174ed0e383887836186a10aa45beded
|
||
Lab047 RX 8521bf1b574cd1fe4e0a4f980c00c8664f8bb51551a241e46449e1eb2c77e635
|
||
Lab054 TX e84bbce227426c0aac13a48ded1286ca4a44fc6e3efce01f6e5a513217c87ff5
|
||
Lab054 RX 641886879964250c315dd399d469503808aae43fb319bef05e0bf2a78bf14585
|
||
```
|
||
|
||
JSON содержит SHA всех входных файлов в обоих аппаратных каталогах и
|
||
`data/processed/lab054`. После расчёта их хеши проверены повторно: неизменны.
|
||
|
||
## Метод, окна и единицы
|
||
|
||
Для комплексного цифрового отсчёта x=I+jQ:
|
||
|
||
```text
|
||
μ = mean(x)
|
||
P = mean(|x|²) [код²]
|
||
P_AC = mean(|x−μ|²) [код²]
|
||
RMS = sqrt(P) [код]
|
||
PAPR = 10 log10(max(|x|²)/P) [дБ]
|
||
Es_digital = P/Rs [код²·с]
|
||
```
|
||
|
||
Код TX и код RX не переводятся в ватты и не считаются одной калиброванной
|
||
физической шкалой. Пиковое значение цифрового кода не является RF-мощностью.
|
||
|
||
Весь TX анализируется покадрово: 2306400 отсчётов/кадр у Lab047 и 92256 у
|
||
Lab054. «Активная часть» определена одинаково: центральное окно после удаления
|
||
21·SPS отсчётов с каждого края, то есть 5724 символьных интервала. Guard=16
|
||
символов плюс половина RRC span=5. Полный файл включает все защитные интервалы
|
||
и хвосты. Это фиксированное структурное окно, не амплитудный порог.
|
||
|
||
Статистика моментов суммируется по всем отсчётам. TX-полоса интегрируется по
|
||
прямоугольной периодограмме каждого полного или активного окна; интеграл
|
||
по всей частотной оси удовлетворяет Парсевалю. Точка спектрального максимума
|
||
вместо интегральной мощности нигде не используется.
|
||
|
||
Фон: отдельные окна по 0,1 с, из каждого удаляется собственное комплексное
|
||
среднее. Начала окон в секундах:
|
||
|
||
```text
|
||
Lab047: 0.05,0.20,0.35,0.50; 12.05,12.4,12.75,13.1,13.45,13.8
|
||
Lab054: 0.02,0.12,0.22,0.32; 1.0,1.25,1.5,1.75,2.0,2.5,2.8
|
||
```
|
||
|
||
Все эти окна находятся вне диагностически найденной передачи. PSD фона:
|
||
двусторонний Welch комплексного сигнала, periodic Hann, 65536 отсчётов,
|
||
перекрытие 32768, без дополнительного detrend; шаг 122,0703125 Гц. Каждое
|
||
фоновое окно содержит 23 сегмента Welch. Мощность полосы — сумма PSD·Δf;
|
||
средняя плотность в полосе — эта мощность, делённая на её ширину. Все сравниваемые
|
||
абсолютные полосы центрированы на +50 кГц: 27, 675 и 1000 кГц.
|
||
|
||
Модель RX: `y[n] = d + g*x[n−τ]*exp(j2πf*n/Fs) + r[n]`.
|
||
Это плоский комплексный коэффициент, постоянная составляющая, целочисленная
|
||
задержка и постоянный CFO внутри кадра. Частотно-зависимый канал, дробная
|
||
задержка, изменение усиления внутри кадра, нелинейность и все помехи остаются
|
||
в r. Поэтому мощность модели — оценка согласованной компоненты, не гарантированная
|
||
полная мощность всех полезных RF-компонент.
|
||
|
||
Активный кадр делится на 8 плиток. Чётные 0,2,4,6 обучают CFO/g/DC, нечётные
|
||
1,3,5,7 проверяют модель. Длительность плитки: 35,775 мс и 1,431 мс.
|
||
Задержка обучается только внутри плитки 0: reference `[2m:L−2m]`, поиск RX
|
||
`[m:L−m]`, m=SPS. При любом выбранном сдвиге ±m поиск остаётся внутри итоговой
|
||
обучающей плитки. Исходные начала Lab047 берутся из принятого независимого
|
||
результата; Lab054 — из завершённой диагностики 16 известных следов. Это
|
||
намеренное использование TX после verdict, не независимый поиск кадров.
|
||
|
||
Проверочная мощность модели — `mean(|g*x_corrected|²)`, остаток —
|
||
`mean(|y−d−g*x_corrected|²)`. Сохраняется перекрёстный член, поскольку вне
|
||
обучающей выборки нельзя автоматически записывать P_RX=P_model+P_residual.
|
||
Медианный перекрёстный член: 0,0000904 и 0,0002491 код². Подгонка по конечному
|
||
шумному обучающему набору может завышать |g|²; проверка на других плитках
|
||
уменьшает оптимизм остатка, но не устраняет всю неопределённость модели.
|
||
|
||
PSD остатка считается для каждой проверочной плитки отдельно, затем усредняется;
|
||
разорванные окна не склеиваются. Welch использует min(65536, длина плитки),
|
||
поэтому у Lab054 спектральная сетка остатка грубее, чем у фоновых окон.
|
||
Мощности интегрируются, сравнение отдельных пиков не проводится.
|
||
|
||
Чтение — read-only memmap; в обработке один кадр/одно фоновое окно, а не несколько
|
||
копий полной 240-МБ записи. Наибольший исходный кадр содержит 2,3064 млн IQ.
|
||
|
||
## Цифровая передача
|
||
|
||
| Метрика | Lab047 | Lab054 |
|
||
|---|---:|---:|
|
||
| Mean I, весь TX, код | −0,00005353 | −0,0852262 |
|
||
| Mean Q, весь TX, код | −0,00003583 | +0,2849923 |
|
||
| Mean I/Q, active, код | −0,00005730 / −0,00054603 | −0,0883308 / +0,2855104 |
|
||
| P весь TX, код² | 1936,234201 | 1936,512534 |
|
||
| P active, код² | 1950,308025 | 1950,597617 |
|
||
| RMS весь TX, код | 44,002661 | 44,005824 |
|
||
| RMS active, код | 44,162292 | 44,165570 |
|
||
| Максимальный модуль IQ, код | 70,17834 | 70,00000 |
|
||
| Максимум abs(I)/abs(Q), код | 69 / 70 | 67 / 70 |
|
||
| Ограниченные компоненты/отсчёты | 0 / 0 | 0 / 0 |
|
||
| PAPR весь TX, дБ | 4,05448 | 4,03176 |
|
||
| PAPR active, дБ | 4,02303 | 4,00028 |
|
||
| P в собственной полосе, весь TX, код², среднее кадров | 1935,91206 | 1936,20139 |
|
||
| P в собственной полосе, active, код², среднее кадров | 1949,94924 | 1950,24632 |
|
||
| Es весь TX, код²·с | 0,096811710 | 0,0038730251 |
|
||
| Es active, код²·с | 0,097515401 | 0,0039011952 |
|
||
|
||
Собственная расчётная полоса `(1+α)Rs`: 27 и 675 кГц. Границы относительно
|
||
центра HackRF: +36,5…+63,5 и −287,5…+387,5 кГц. Небольшая ненулевая средняя
|
||
Lab054 относится к конечной широкополосной цифровой форме, пересекающей ноль.
|
||
|
||
Формирователь сначала сворачивает импульсную последовательность с RRC единичной
|
||
энергии и умножает на 0,70. На этой промежуточной ступени энергия импульса в
|
||
сумме квадратов почти постоянна, а средняя мощность масштабируется как 1/SPS.
|
||
Затем и старый `_scale_and_carrier`, и параметрический
|
||
`build_parameterized_tx_complex` **нормируют всю форму к RMS 44** и квантуют CS8.
|
||
Следовательно, итоговый инвариант — средняя цифровая мощность всего кадра;
|
||
пиковая амплитуда зависит от последовательности, энергия на символ не постоянна.
|
||
Источник: `lab044_hackrf_bpsk_packet.py:189`, `lab049_bpsk_symbol_rate.py:153`.
|
||
|
||
## RX: сигнал, фон и остаток
|
||
|
||
Тройки означают min / median / max по 36 или 16 кадрам либо по 10/11 фоновым
|
||
окнам. Полные покадровые и пооконные значения находятся в JSON.
|
||
|
||
| Метрика, единицы | Lab047 | Lab054 |
|
||
|---|---:|---:|
|
||
| DC фона I, код | 0,93661 / 0,94647 / 0,95317 | 0,94343 / 0,95945 / 0,96513 |
|
||
| DC фона Q, код | 1,82984 / 1,83810 / 1,85304 | 1,81475 / 1,82897 / 1,84521 |
|
||
| DC активного RX I/Q, среднее кадров, код | 0,95030 / 1,82697 | 0,95036 / 1,83411 |
|
||
| Фон после DC, вся цифровая полоса, код² | 0,80744 / 0,90063 / 2,40830 | 0,76492 / 0,77637 / 1,05093 |
|
||
| Фон в 27 кГц, код² | 0,004791 / 0,009997 / 0,011033 | 0,006595 / 0,007428 / 0,009188 |
|
||
| Фон в 675 кГц, код² | 0,076705 / 0,117815 / 0,141878 | 0,101860 / 0,112066 / 0,136654 |
|
||
| Фон в 1 МГц, код² | 0,101003 / 0,142208 / 0,178637 | 0,133711 / 0,144025 / 0,175794 |
|
||
| Плотность фона в 27 кГц, код²/Гц | 1,775e−7 / 3,703e−7 / 4,086e−7 | 2,442e−7 / 2,751e−7 / 3,403e−7 |
|
||
| Плотность фона в 675 кГц, код²/Гц | 1,136e−7 / 1,745e−7 / 2,102e−7 | 1,509e−7 / 1,660e−7 / 2,025e−7 |
|
||
| Согласованная компонента RX, код² | 0,18848 / 0,20273 / 0,22969 | 0,004902 / 0,005829 / 0,007671 |
|
||
| Модуль коэффициента g, RX-код/TX-код | 0,009833 / 0,010195 / 0,010854 | 0,001585 / 0,001729 / 0,001984 |
|
||
| Остаток на обучении, вся полоса, код² | 0,82150 / 0,97775 / 1,50614 | 0,72737 / 0,75433 / 0,95130 |
|
||
| Остаток на проверке, вся полоса, код² | 0,83542 / 0,96131 / 1,85690 | 0,73922 / 0,82244 / 1,03050 |
|
||
| Остаток проверки в 27 кГц, код² | 0,017821 / 0,019407 / 0,024829 | 0,006205 / 0,008370 / 0,009905 |
|
||
| Остаток проверки в 675 кГц, код² | 0,122124 / 0,132075 / 0,171027 | 0,111024 / 0,121966 / 0,149865 |
|
||
|
||
В собственной полосе фон вырос с 0,009997 до 0,112066 код² главным образом
|
||
из-за изменения ширины и положения полосы. Эта строка не означает рост
|
||
спектральной плотности шума приёмника. В одинаковых абсолютных полосах
|
||
увеличения такой величины нет.
|
||
|
||
Фон нестационарен. Медианный эквивалентный N0 Lab047 до передачи равен
|
||
2,1901e−7, после — 4,0330e−7 код²/Гц. У Lab054 — 1,9005e−7 и 1,8744e−7.
|
||
Единственный максимум 2,4083 код² широкополосного фона Lab047 не используется
|
||
как типичный уровень. Нельзя переносить фон до/после TX на время передачи
|
||
без дополнительного предположения о стационарности.
|
||
|
||
## Согласованный фильтр и условная энергетическая модель
|
||
|
||
Конвенция комплексного белого шума: `E|w|²=σ²`, дисперсия каждой из I и Q
|
||
равна σ²/2, двусторонняя комплексная PSD `N0=σ²/Fs`. Дополнительного множителя
|
||
2 в интеграле нет. Реальный фон окрашен и включает помехи/квантование;
|
||
его плотность не объявляется измеренным тепловым N0.
|
||
|
||
```text
|
||
Pn_out = ∫ Sbackground(f) |H(f−fc)|² df
|
||
ENBW = Fs·Σ|h[n]|² / |Σh[n]|²
|
||
N0_equivalent = Pn_out / (Fs·Σ|h[n]|²)
|
||
Es/N0_equivalent = Pmodel / (Rs·N0_equivalent) [условная оценка]
|
||
```
|
||
|
||
N0_equivalent — плотность белого комплексного шума, который дал бы ту же
|
||
выходную мощность данного RRC. Она зависит от выбранного фильтра и положения
|
||
в окрашенном спектре. Поэтому различие N0_equivalent между режимами включает
|
||
изменение спектрального взвешивания, а не только физическое изменение шума.
|
||
|
||
| Параметр | Lab047 | Lab054 |
|
||
|---|---:|---:|
|
||
| RRC taps | 4001 | 161 |
|
||
| Σh² | ≈1 | ≈1 |
|
||
| Задержка одного RRC, отсчёты | 2000 | 80 |
|
||
| Усиление мощности на центре полосы | 396,55892 | 15,87720 |
|
||
| ENBW, Гц | 20173,547 | 503867,304 |
|
||
| Фон после RRC, код², min/median/max | 1,48735 / 3,11017 / 3,37378 | 1,34855 / 1,49956 / 1,82704 |
|
||
| N0_equivalent, код²/Гц, min/median/max | 1,859e−7 / 3,888e−7 / 4,217e−7 | 1,686e−7 / 1,874e−7 / 2,284e−7 |
|
||
| Остаток проверки после RRC, код², min/median/max | 5,87405 / 6,41205 / 8,13390 | 1,48590 / 1,67147 / 2,01445 |
|
||
| Условное Es/N0_equivalent по медианам, дБ | +14,1620 | −12,0624 |
|
||
|
||
Формальное разложение для выбранных сопоставимых определений:
|
||
|
||
```text
|
||
ΔPmodel = −15,41316 дБ
|
||
10log10(Rs054/Rs047) = +13,97940 дБ
|
||
ΔN0_equivalent = −3,16822 дБ
|
||
Δ(Es/N0_equivalent) = −15,41316 − 13,97940 − (−3,16822)
|
||
= −26,22434 дБ
|
||
```
|
||
|
||
Это арифметика модели по медианам, **не установленное распределение физических
|
||
причин потерь**. Полезная модельная мощность не постоянна; фон нестационарен;
|
||
изменилось спектральное взвешивание. Полная полезная RF-мощность вне модели
|
||
не измерена. Условие «полезная принятая мощность и N0 неизменны» не подтверждено.
|
||
Фраза «14 дБ уже объяснены скоростью, осталось 9 дБ» для этих данных некорректна.
|
||
|
||
Если в том же выражении вместо фонового Pn_out поставить фильтрованный остаток
|
||
проверки, получаются +11,0199 и −12,5337 дБ, изменение −23,5536 дБ.
|
||
Это **отношение к эквивалентному остатку**, не Es/N0. Остаток/фон после RRC
|
||
равен примерно 2,06 у Lab047 и 1,11 у Lab054. Так видна причина различия между
|
||
условной моделью и прежними измерениями SNR преамбулы (+10,85/−12,32 дБ).
|
||
Метрики измеряют разные величины на разных окнах; прежние результаты не исправлялись.
|
||
|
||
## Уход от нулевой частоты — только расчёт
|
||
|
||
Полоса Lab054 пересекает ноль; смещение +500 кГц поместило бы её в
|
||
+162,5…+837,5 кГц. Взвешивание сохранённого фона перенесённым RRC даёт медианные
|
||
выигрыши 3,06/3,21/3,21 дБ для +500/+750/+1000 кГц относительно +50 кГц.
|
||
Предполагается одинаковая передача полезной компоненты через аналоговый тракт,
|
||
что не измерено. Цифровая перестройка старой записи не является испытанием
|
||
другого аналогового режима. Реальная несущая не менялась.
|
||
|
||
## Только план следующего измерения
|
||
|
||
Никакие действия из этого раздела не выполнены и не разрешаются этим отчётом.
|
||
Наличие измерителя мощности, анализатора спектра, калиброванных ослабителей,
|
||
нагрузки 50 Ом и экранированного корпуса пока не установлено.
|
||
|
||
1. Зафиксировать отдельно допустимую частоту, схему и имеющиеся приборы.
|
||
Использовать соединение TX → измеряемый отвод/измеритель → известный
|
||
ослабитель → RX, с согласованными 50-омными портами; измерение TX сначала
|
||
выполнить на эквиваленте нагрузки. Исключить антенны и неконтролируемое излучение.
|
||
2. Измерить реальную выходную мощность обеих цифровых форм на одной частоте,
|
||
при одинаковом TX VGA и неизменных кабелях/нагрузке. Зафиксировать среднюю
|
||
мощность, полосу, погрешность прибора и соответствующие цифровые RMS/PAPR.
|
||
3. Проверить ослабление и потери кабелей в рабочей полосе. Вычислять входной
|
||
уровень RX по измеренной мощности TX и измеренным потерям; не соединять
|
||
порты напрямую. Предусмотреть запас ниже аппаратного предела и отдельно
|
||
проверить отсутствие насыщения АЦП при выбранных RX-усилениях.
|
||
4. Измерить фон RX с согласованной нагрузкой и при выключенном TX на той же
|
||
схеме. Получить калиброванную плотность входного шума и проверить аналоговую
|
||
полосу. Требуемый уровень для выбранного критерия приёма затем рассчитывать
|
||
как `P_required = N0_input + 10log10(Rs) + (Es/N0)_required` в согласованных
|
||
единицах. Сам порог требуется определить программными тестами/контрольным
|
||
измерением, а не назначить по неудачному кадру.
|
||
5. После отдельного согласования проверить обе скорости с одинаковой
|
||
**измеренной** входной мощностью RX и неизменной схемой. Только такой контроль
|
||
проверит условную потерю энергии на символ при постоянной мощности.
|
||
|
||
Документация HackRF указывает максимальную входную мощность −5 дБм; это предел
|
||
защиты, не целевой рабочий уровень и не чувствительность. Чувствительность
|
||
конкретного режима требует измерения. [Официальная документация HackRF](https://hackrf.readthedocs.io/en/latest/hackrf_one.html).
|
||
|
||
На 1400–1427 МГц запрещены все излучения по п. 5.340 Регламента радиосвязи ITU.
|
||
Разрешения на новый эфир в этой полосе нет; план требует допустимой частоты
|
||
и отдельно согласованной измерительной схемы. Проверен официальный документ,
|
||
п. 5.340, PDF стр. 115:
|
||
[ITU Radio Regulations, Volume 1, 2024](https://www.itu.int/en/ITU-R/seminars/rrs/rrs-25-africa/Plenaries/0.%20ITU-R%20Regulatory%20Documents/1.%20Radio%20Regulations%20%202024%20and%20Rules%20of%20Procedure/Radio%20Regulations%20Ed%202024/RR_Ed-2024_Vol%201-E.pdf).
|
||
|
||
Архитектура сохранена: RadioMaster/ExpressLRS/CRSF — отдельное управление;
|
||
SDR — видео с целью не менее 5 свежих изображений/с; будущий видеодиапазон
|
||
около 180 МГц. Этот аудит не подтверждает работоспособность будущего диапазона
|
||
и не назначает мощность внешнего усилителя.
|
||
|
||
## Проверки и воспроизведение
|
||
|
||
```powershell
|
||
python -m pytest tests/test_lab055_energy_audit.py -q
|
||
python experiments/lab055_energy_audit.py --output data/processed/lab055/recheck_01.json
|
||
python tools/quick_gate.py
|
||
python -m pytest tests/ -q
|
||
git diff --check
|
||
```
|
||
|
||
Анализатор отказывается перезаписывать существующий выход и сохраняет новый
|
||
JSON только внутри `data/processed/lab055`. `recheck_01.json` должен быть новым.
|
||
Для воспроизведения нужны локальные исходные IQ по указанным путям; тесты
|
||
этого требования не имеют. Проверка не запускает оборудование.
|
||
|
||
Целевые тесты: **9 passed**. Verifier независимо проверил целочисленные суммы
|
||
TX, PSD через отдельные FFT, Парсеваль, взвешенную регрессию CFO, комплексный
|
||
МНК и проверочные мощности. Найденная утечка устранена; остаточных находок нет.
|
||
Полные шлюзы: `quick_gate` PASS — 823 теста, 28 функциональных проверок,
|
||
13 штатных пропусков; отдельный `pytest tests/ -q` — **823 passed**, 89,15 с.
|
||
Единственное предупреждение pytest относится к недоступной записи его кеша;
|
||
проверки завершились с кодом 0. `git diff --check` — PASS.
|
||
|
||
HEAD: `0368c6d3e930f4d245e056223fd4e5c4f70e6b49`, ветка `main`.
|
||
Существующие изменения Lab054 сохранены. Изменения Lab055: отдельные анализатор,
|
||
тесты, JSON, этот отчёт; добавляются только новая запись журнала и ссылка индекса.
|
||
|
||
```text
|
||
RF TX = 0
|
||
HACKRF = NOT STARTED
|
||
LAB054 HISTORICAL RESULT = NOT_A, 0/16
|
||
GIT ADD / COMMIT / PUSH / PULL / FETCH = NOT PERFORMED
|
||
STOP. Следующий этап — согласование измерительной схемы и приборов;
|
||
никакого автоматического аппаратного продолжения.
|
||
```
|