Перейти к содержанию

Лабораторная 6.5 — Калибровка RF-искажений приёмника (DC, дисбаланс IQ, утечка LO)

Цель

Построить воспроизводимую процедуру калибровки типичных искажений RF-приёмника:

  • смещение по постоянному току (DC offset);
  • рассогласование усиления и фазы I/Q;
  • утечка гетеродина (LO leakage) на нулевой частоте основной полосы.

Зачем это нужно

Идеальный приёмник с нулевой ПЧ выдавал бы чистую комплексную основную полосу. Реальный добавляет три артефакта, которые легко принять за сигнал: смещение DC (пик на 0 Гц от смещений АЦП и смесителя), утечку LO (сам гетеродин просачивается в тракт сигнала, а у приёмника с нулевой ПЧ она тоже попадает на 0 Гц) и дисбаланс I/Q (два плеча смесителя никогда не равны по усилению и не сдвинуты ровно на 90°), из-за которого каждый реальный сигнал отражается зеркальной копией на отрицательной частоте. Если вы их не узнаёте, вы будете гоняться за фантомными тонами, читать неверный SNR и терять несколько дБ качества созвездия во всех последующих работах. Эта работа делает каждый артефакт измеримым, чтобы вы могли его увидеть, убрать и узнать, сколько осталось.

Инженерный вопрос

Можно ли количественно измерить метрики искажений до и после калибровки и показать измеримое улучшение на спектре и созвездии?

Исполняемый файл

Файл Назначение
blocks/block_06_rf_frontend_and_ad9363/python/lab_6_5_rf_impairment_calibration.py синтез искажений, калибровка, метрики, графики

Запуск из корня репозитория:

python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_5_rf_impairment_calibration.py

Сгенерированные артефакты

docs/assets/lab65_rf_impairment_spectrum_before_after.png
docs/assets/lab65_rf_impairment_constellation_before_after.png
docs/assets/lab65_rf_impairment_calibration_metrics.json

Метрики

Метрика Смысл
dc_offset_rms модуль комплексного среднего IQ-отсчётов
iq_gain_mismatch_db разница RMS I и Q в дБ
iq_cross_correlation остаточная неортогональность I и Q
image_rejection_db мощность полезного тона относительно мощности зеркального тона
lo_leakage_dbfs уровень утечки LO/DC относительно пика тона

Этапы калибровки

  1. Удалить комплексную составляющую DC.
  2. Выровнять RMS-амплитуды I/Q.
  3. Ортогонализовать Q относительно I (в стиле Грама–Шмидта).
  4. Удалить остаточный DC ещё раз.

Чего ожидать

С синтетическими искажениями по умолчанию (DC = 0,085 − j0,052, рассогласование усиления I/Q 1,7 дБ, перекос фазы 6,5°, утечка LO 0,14 при −30°, шум rms 0,015, тон 180 кГц при 2,4 МС/с):

DC offset RMS before/after: 0.239629 / 0.000000
Image rejection (dB) before/after: 19.16 / 78.77
IQ cross-correlation before/after: 0.1131 / 0.0000

а из lab65_rf_impairment_calibration_metrics.json видно, что утечка LO улучшается с −10,2 дБFS до −86,1 дБFS, а рассогласование усиления I/Q с −1,64 дБ до 0 дБ.

Как читать эти числа:

  • Подавление зеркального канала 19 дБ: именно то, что предсказывают такие дисбалансы. Оценка первого порядка IRR ≈ 10·log10(4 / (ε² + φ²)) при амплитудной ошибке ε ≈ 0,22 (1,7 дБ) и фазовой ошибке φ ≈ 0,11 рад (6,5°) даёт около 18–19 дБ. На практике это значит: сильный сигнал на +180 кГц виден и на −180 кГц всего на ~19 дБ слабее, достаточно, чтобы сымитировать помеху.
  • DC и утечка LO схлопываются вместе, потому что в приёмнике с нулевой ПЧ обе сидят ровно на 0 Гц; вычитание комплексного среднего убирает обе.
  • Числа «после» нереалистично хороши (78,8 дБ подавления зеркала, −86 дБFS утечки, DC порядка 1e-17). Причина: этот компактный метод оценивает каждую поправку по той же почти безшумной синтетической записи из 65 536 отсчётов, которую затем и корректирует, поэтому оценка практически точна. На реальном железе оценка ограничена шумом, дрейфом температуры и усиления, а также тем, что дисбаланс меняется с частотой по полосе. Ожидайте от реальной калибровки десятки дБ, а не 78, и необходимость повторять её.

Упражнения

  1. Поставьте iq_gain_mismatch_db в 0 и оставьте перекос 6,5°. Сколько зеркала осталось? Затем сделайте наоборот. Какое искажение важнее для этого тона?
  2. Уменьшите noise_rms вдвое и перезапустите. Изменилось ли подавление зеркала «после»? Почему да или почему нет?
  3. Сдвиньте тон с 180 кГц на 5 кГц. Что происходит с тоном, пиком DC и зеркалом и что это говорит о сигналах вблизи 0 Гц в приёмнике с нулевой ПЧ?
Ответы (проверены запуском скрипта лабораторной)
  1. Без рассогласования усилений (только перекос) подавление зеркального канала 24,9 дБ; без перекоса (только рассогласование): 20,2 дБ. Устранение рассогласования 1,7 дБ помогает больше, поэтому здесь оно вносит больший вклад, как и предсказывает формула первого порядка: ε ≈ 0,22 против φ ≈ 0,11 рад.
  2. Подавление «до» не меняется (19,2 дБ): его задают искажения. Подавление «после» меняется: 87,9 дБ при половинном шуме и 68,2 дБ при двойном против 78,8 дБ по умолчанию. После калибровки остаточный образ определяется тем, насколько точно коррекция оценена по зашумлённым отсчётам, и шумом в бине образа, а не самим искажением.
  3. На 5 кГц тон, пик постоянной составляющей/утечки гетеродина и образ лежат в пределах ±5 кГц от 0 Гц (тон 0 дБ, DC −9,2 дБ, образ −19,2 дБ). Длинная синтетическая запись ещё разделяет их, и калибровка работает (образ −74,7 дБ, DC −51,6 дБ после). На реальном оборудовании здесь и болит zero-IF: фильтр удаления постоянной составляющей, задевающий 5 кГц, уносит и сигнал (случай DC-блокера блока 11, Лабораторная 11.41), а образ всего, что рядом с 0 Гц, ложится вплотную к нему. Поэтому приёмники настраивают нужный сигнал в стороне от 0 Гц (Лабораторная 6.7).

Чек-лист отчёта

  • Показаны спектр и созвездие до и после.
  • Указаны все пять метрик до и после калибровки.
  • Объяснено, какая метрика улучшилась сильнее всего и почему.
  • Указаны ограничения этого компактного метода калибровки для реального железа.