AD9361 ловит зеркало после Fast Lock: LO уже захвачен, приёмник ещё нет
Синтезатор уже пришёл на нужную частоту, FPGA уже готова собирать отсчёты, а спектр внезапно получает второго, зеркального собеседника. Такой кейс появился 28 августа на EngineerZone у владельца AD9361. Он разбил диапазон 3–6 ГГц на 75 окон по 40 МГц, заранее сохранил для их центральных частот Fast Lock-профили и перед каждым захватом вызвал recall. При немедленном старте FPGA-DMA возникал сильный image; задержка 50 мс заметно уменьшала эффект.
В этом и состоит ловушка Fast Lock. Профиль хранит параметры RF-синтезатора и результат VCO-калибровки. После recall они переносятся в PLL, который должен захватиться на новом LO. Внутри AD9361 доступно по восемь таких профилей для RX и TX, поэтому частоты можно обходить существенно быстрее полной перенастройки. Но возврат функции recall сообщает о запуске этой последовательности, а не о качестве первых IQ-отсчётов на выходе приёмника.
Автор отдельно проверил одиночную перестройку через ad9361_set_rx_lo_freq() и загрузку с recall одной частоты: в его установке зеркальность тогда не проявилась. Это ещё не доказывает, что виноват именно Fast Lock и что обычная перестройка свободна от артефакта. Разница находится в полной цепочке: серии прыжков, моменте старта DMA, состояниях gain control и калибровочных контуров. На форуме нет спектрограмм с уровнями, RBW, полосой RX, sample rate, режимом усиления и временными метками. Технического диагноза от ADI также пока нет.
Сама физика подозрения хорошо понятна. Image rejection требует, чтобы I- и Q-ветви совпадали по амплитуде и фазе. В AD9361 есть RX quadrature tracking, который подстраивает это соответствие по принимаемому сигналу. Отдельно работают RF- и baseband-компенсации DC offset; их поведение связано с усилением и переходами состояний RX. PLL может давно показать lock, пока эти процессы, AGC или внешняя логика запуска захвата ещё оставляют след в первых буферах.
Официальный пример hopping от ADI именно поэтому не считает весь интервал после команды полезным. Он запускает захват в dwell period после частотного перехода. Для Fast Lock там приводится ориентир порядка 15–25 мкс до lock LO, зависящий от частоты и настройки. Наблюдаемые в кейсе 50 мс на три порядка длиннее. Такая пауза почти наверняка скрывает совокупность причин, а не измеряет один PLL.
Проверка здесь начинается с временной диаграммы recall → PLL lock → DMA start и sweep задержки в микросекундах. Сигнал lock стоит вывести на CTRL_OUT или GPIO, первые отсчёты после прыжка стоит отбрасывать, а image rejection измерять как функцию времени после каждого hop. Затем фиксируют manual gain, по очереди переключают quadrature tracking, RF DC и BB DC tracking, удерживают одинаковыми входной тон и уровень. Полезно сравнить SPI recall с pin-controlled Fast Lock: так можно отделить состояние радиотракта от задержек управляющего пути.
Это пока живой инженерный сигнал, не известный дефект микросхемы. Но он точно показывает, где ломается привычная ментальная модель SDR: быстрый LO — только одна часть быстрого приёмника. Измерение начинается в момент, который должна явно определить вся система, от синтезатора до DMA.