6.5 KiB
Lab059 — границы и заранее зафиксированный план
Цель
Lab059 проверяет только по сохранённым данным, достаточно ли 1280-символьной преамбулы для оценки остаточного частотного сдвига на весь burst длительностью около 0,2048 с. Штатный приёмник, формат пакета, преамбула, RRC, FEC и CRC не изменяются. Оборудование не опрашивается, аппаратные команды не выполняются, RF TX = 0.
Исходный HEAD после отдельной фиксации Lab058:
82f17499ace5e655991240348401b9700c7c3349.
Зафиксированные методы
- P0 CURRENT. Дословно воспроизводится активная ветвь штатного приёмника:
первые 1024 символа возводятся в квадрат, делятся на два блока по 512,
частота определяется по разности фаз центров блоков с делением на
4*pi. Последние 256 символов преамбулы в оценке частоты не участвуют. - P1 FULL PREAMBLE PHASE SLOPE. Известные BPSK-знаки удаляются на всей преамбуле. Фазы когерентных 20-символьных блоков аппроксимируются линейной моделью с заранее заданными Huber-весами.
- P2 SPLIT PREAMBLE. TRAIN заранее фиксирован как индексы 32…607, VALIDATION — 672…1247. Между ними оставлен разрыв 64 символа; по 32 символа у начала и конца преамбулы не используются. Частота и фаза оцениваются только по TRAIN, а VALIDATION проверяет экстраполяцию без переоценки.
- P3 SQUARED FULL PREAMBLE. Все 1280 символов возводятся в квадрат, фаза 20-символьных блоков аппроксимируется той же устойчивой моделью, частотный наклон делится на два из-за удвоения фазы BPSK.
P0 сохраняет точную активную ветвь, включая штатное удаление среднего DC по
всему переданному в неё фрагменту: это часть воспроизводимого baseline, а не
новое решение. Для P1 и P3 удаление DC и RRC-фильтрация ограничены RAW-опорой
полной преамбулы; для P2 — RAW-опорой только TRAIN. Поэтому полезная часть RAW
не влияет на вход новых оценивателей. Все методы получают Fs, Rs, RRC,
номинальную несущую и уже найденное начало кандидата. Для изоляции carrier
recovery timing остаётся штатным P0 и не подбирается отдельно по методу.
Начальная фаза относится к t=0; центр символа k расположен в
(k+0.5)/Rs.
Header, payload, magic, FEC и CRC не участвуют в оценке. Известные переданные биты подключаются только после заморозки параметров для подсчёта ошибок, EVM и matched/residual. Диагностическая оценка по всему burst служит только внешней справочной величиной после расчёта preamble-only оценки.
Baseline и реальные данные
До сравнения P1–P3 программа отдельно сохраняет P0 baseline для Lab056
A1/B1/A2/B2, 16 кадров Lab054 и 36 ранее принятых кадров Lab047. Lab047 служит
положительным контролем. Исторический результат Lab054 остаётся NOT_A, 0/16.
Сохранённые raw-файлы открываются только для чтения; их SHA-256 проверяются до и
после расчёта.
Synthetic Monte Carlo
Фиксированные частоты: 0, ±0.25, ±0.5, ±1, ±2, ±5, ±10, ±20, ±100 Гц.
Проверяются 20 и 500 ксимв/с, Fs = 8 Мвыб/с, действующие RRC и преамбула 1280
символов. Чистые точки решения формируются реальным TX/RX RRC-трактом, после
чего добавляется воспроизводимый комплексный гауссов шум на символьном выходе.
Уровни EVM заранее фиксированы: 0,317390 (качество A Lab058), 0,55 и 0,845350
(среднее физическое качество B Lab058). Последний уровень не подгоняется по
исходу оценивателя.
Для каждой комбинации используются 300 реализаций и фиксированная схема seed.
Катастрофическая ошибка заранее определена как |frequency error| > 1/(2T),
то есть фазовый уход более 180° за T = 0,2048 с; порог равен 2,44140625 Гц.
Публикуются bias, RMSE, median/P95/P99 абсолютной ошибки, катастрофическая доля
и вероятности ошибки не более 0,25/0,5/1,0 Гц.
Критерий вывода
PREAMBLE_ONLY_SUFFICIENT требует одновременно приблизить Lab056 B к
диагностическому результату, устойчиво пройти Monte Carlo, не ухудшить Lab056 A
и сохранить положительный контроль Lab047. Нестабильная субгерцовая точность
даёт PREAMBLE_ONLY_MARGINAL; принципиально недостаточная стабильность на
качестве B даёт PREAMBLE_ONLY_INSUFFICIENT.
Lab059 не коммитируется. Push не выполняется. Lab060 автоматически не создаётся.