# Lab064: подготовка и RX-only preflight 14 сентября 2026 года завершена программная подготовка измерения уровня и линейности текущего OTA-тракта. Затем выполнена одна аппаратная проверка общей опоры и RX-фона. Preflight прошёл. Передатчик не запускался: `RF TX = 0`. ## Условия | Параметр | Значение | |---|---| | Центральная частота | 1400000000 Гц | | Скорость символов | 20000 символов/с | | Частота дискретизации | 8000000 комплексных отсчётов/с | | Цифровая несущая | +50000 Гц | | TX VGA | 10 дБ | | RX LNA / VGA | 24 / 24 дБ | | RF amplifier / Bias-Tee | выключены | | Расстояние TX–RX | примерно 1,2 м | | Геометрия | прямая видимость, помещение | | TX | плата и антенна возле окна | | RX | плата и антенна на столе пользователя | | Антенны | имеющиеся антенны на 1400 МГц | | Поляризация | одинаковая | | Общая опора | 10 МГц TCXO → MASTER → MASTER CLKOUT → SLAVE CLKIN | Антенны, платы, длинный кабель общей опоры, USB-подключение и остальные кабели не перемещались. Усиления не менялись. ## Измерительный TX-файл Подготовлен один детерминированный PRBS7/BPSK/RRC-сигнал с уровнями −18, −12, −6 и 0 дБ относительно номинального waveform. Он состоит из 100 мс начальных нулей, четырёх участков по 100 мс, трёх промежутков по 50 мс и 100 мс конечных нулей. Полная длительность равна 0,75 с, длина составляет 6000000 комплексных отсчётов и 12000000 байт. | Уровень | TX RMS, код | max \|I\| / \|Q\|, код | Фактический уровень, дБ | Шаг, дБ | |---|---:|---:|---:|---:| | L0 | 5,556137 | 9 / 9 | −17,973685 | — | | L1 | 11,056978 | 17 / 17 | −11,996415 | +5,977270 | | L2 | 22,056892 | 34 / 35 | −5,998257 | +5,998157 | | L3 | 44,000457 | 69 / 69 | 0 | +5,998257 | Цифрового clipping нет. SHA-256: `fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9`. Синтетический линейный канал с известным комплексным коэффициентом, DC и шумом прошёл software gate. После независимой проверки анализатор изменён так, чтобы промежуточный ненулевой счётчик нельзя было скрыть финальным нулём. При любой потере сохраняются диагностические метрики, но A/B/C-классификация запрещается и результат получает статус `INVALID_CAPTURE`. ## Common clock Свежая инвентаризация подтвердила две HackRF One r9 с firmware/libhackrf 2024.02.1. Роли сохранены: - MASTER `000000000000000097c063dc323b97d3`; - SLAVE `000000000000000097c063dc2e5327d3`. Аппаратная проверка получила: ```text MASTER reg29 = 0x26 SLAVE reg29 = 0x26 SLAVE CLKIN = DETECTED CLKIN query = 1 time to detect = 66.793 ms ``` ## RX-only фон SLAVE записал 800000 комплексных отсчётов, 0,1 с, при 1400 МГц и RX LNA/VGA 24/24 дБ. | Метрика | Значение | |---|---:| | Полный RMS IQ | 2,193193 кода | | AC RMS после удаления среднего | 0,832038 кода | | Средние I / Q | 0,933738 / 1,801650 кода | | max \|I\| / \|Q\| | 4 / 5 кодов | | Максимальная комплексная амплитуда | 5,385165 кода | | Clipping | 0 / 800000 отсчётов | | RX overruns | 0, максимум и финальное значение | | Неожиданно сильный сигнал | нет | Порог STOP для неожиданно сильного цифрового фона: AC RMS не менее 20 кодов или max |I|/|Q| не менее 100 кодов. Измеренные значения значительно ниже. Отсутствие rail-кодов не доказывает отсутствие аналоговой компрессии при будущей передаче. Абсолютная RF-мощность без измерительного прибора неизвестна. SHA-256 RX-only записи: `02d87adcbb621027290a77d5f8fd3190c299d13e89f887cd294d4af352a6ef52`. Процессы до и после preflight имели состояние `CLEAR`. Оба CLKOUT выключены, ошибок очистки нет. Preflight сохранил все две строки счётчика RX overruns; обе равны нулю. Вызовов `hackrf_transfer -t` не было, `rf_tx_count = 0`. ## Проверки и артефакты - quick gate: 984 теста ядра, 37 функциональных проверок, 13 пропусков; - pytest: 984 passed, 0 failed; - целевые тесты Lab064: 13 passed; - `git diff --check`: PASS; - независимая read-only проверка: чисто. Артефакты: - [подготовка](../data/processed/lab064/preparation.json); - [software gate](../data/processed/lab064/software_gate.json); - [preflight](../data/processed/lab064/preflight_result.json); - CS8 и исходные аппаратные журналы находятся в `data/raw/lab064/` и в Git не входят. `READY FOR SINGLE LAB064 TX = YES` означает техническую готовность только этой конфигурации. Передача требует отдельного явного разрешения пользователя. `RF TX = 0`. STOP. Lab064 не коммитируется до аппаратного результата. Push не выполняется. Lab065 автоматически не начинается.