В этом примере показано, как использовать блок компенсатора дисбаланса I/Q для устранения влияния амплитудного и фазового дисбаланса на модулированный сигнал.
model = 'doc_iqimbcomp'; impconstell = [model,'/Signal with I//Q Imbalance']; compconstell = [model,'/Compensated Signal']; open_system(model); close_system(impconstell) close_system(compconstell)

Модель добавляет амплитуду I/Q и фазовый дисбаланс к сигналу 8-PSK, а затем применяет компенсацию дисбаланса I/Q для коррекции нарушений. Добавление ослабления и компенсация, выполняемые для сигнала с использованием блоков I/Q Дисбаланс и I/Q Дисбаланс к Коэффициенту Компенсатора, соответственно. Блок I/Q дисбаланса устанавливает амплитудный дисбаланс в 5 дБ, фазовый дисбаланс в 7 градусов и смещение постоянного тока в 0.
Блоки диаграммы созвездия отображают совокупность сигналов до и после коррекции ухудшения.
sim(model) open_system(impconstell) open_system(compconstell)


Модель работает в течение 20 секунд. На диаграмме созвездия сигнала с I/Q дисбалансом наблюдайте влияние амплитудного дисбаланса и фазового дисбаланса на 8-PSK сигнал. На диаграмме скомпенсированного созвездия сигналов обратите внимание, что сигнал плохо выровнен с опорным созвездием (показано красным цветом).
set_param(bdroot,'Stoptime','100') sim(model) open_system(impconstell) open_system(compconstell)


Алгоритм компенсации является адаптивным и требует времени для точной оценки дисбаланса I/Q. Увеличьте время моделирования до 100 секунд и повторно запустите модель. Видно, что теперь созвездие хорошо выровнено с опорным созвездием.
Вы можете попробовать изменить другие параметры моделирования, такие как размер шага в блоке компенсатора дисбаланса I/Q, амплитуда и фазовый дисбаланс в блоке дисбаланса I/Q, тип модуляции и т.д. Просмотрите влияние на диаграмму совокупности скомпенсированных сигналов.
close_system(model,0)