Преобразование коэффициента компенсатора в амплитуду и фазовый дисбаланс
Использовать iqcoef2imbal для оценки амплитуды и фазового дисбаланса для данного комплексного коэффициента. Коэффициенты являются выходными данными step функции IQImbalanceCompensator.
Создайте фильтр передачи с увеличенным косинусом для генерации 64-QAM сигнала.
M = 64; txFilt = comm.RaisedCosineTransmitFilter;
Модулировать и фильтровать случайные 64-арные символы.
data = randi([0 M-1],100000,1); dataMod = qammod(data,M); txSig = step(txFilt,dataMod);
Задание амплитуды и фазового дисбаланса.
ampImb = 2; % dB phImb = 15; % degrees
Примените указанный дисбаланс ввода/вывода.
gainI = 10.^(0.5*ampImb/20); gainQ = 10.^(-0.5*ampImb/20); imbI = real(txSig)*gainI*exp(-0.5i*phImb*pi/180); imbQ = imag(txSig)*gainQ*exp(1i*(pi/2 + 0.5*phImb*pi/180)); rxSig = imbI + imbQ;
Нормализация мощности принимаемого сигнала
rxSig = rxSig/std(rxSig);
Удалите дисбаланс ввода/вывода с помощью comm.IQImbalanceCompensator Системный объект. Задайте объект компенсатора таким образом, чтобы комплексные коэффициенты были доступны в качестве выходного аргумента.
hIQComp = comm.IQImbalanceCompensator('CoefficientOutputPort',true);
[compSig,coef] = step(hIQComp,rxSig);Оцените дисбаланс по последнему значению коэффициента компенсатора.
[ampImbEst,phImbEst] = iqcoef2imbal(coef(end));
Сравните расчетные значения дисбаланса с заданными. Обратите внимание, что есть хорошее согласие.
[ampImb phImb; ampImbEst phImbEst]
ans = 2×2
2.0000 15.0000
2.0178 14.5740
C - Коэффициент компенсатораКоэффициент, используемый для компенсации дисбаланса I/Q, определяемый как вектор с комплексными значениями.
Пример: 0.4+0.6i
Пример: [0.1+0.2i; 0.3+0.5i]
Типы данных: single | double
Функция iqcoef2imbal является вспомогательной функцией для comm.IQImbalanceCompensator object™ системы.
Учитывая коэффициент масштабирования и поворота, G, коэффициент компенсатора, C, и принятый сигнал, x, компенсированный сигнал, y, имеет вид
(x)].
В матричной форме это можно переписать как
,
где X - вектор 2 на 1, представляющий несбалансированный сигнал [XI, XQ], а Y - вектор 2 на 1, представляющий выходной сигнал компенсатора [YI, YQ].
Матрица R выражается как
} 1 − Re {C}]
Чтобы компенсатор полностью устранил дисбаланс I/Q, R = K-1, потому что S, где K - матрица 2 на 2, значения которой определяются амплитудным и фазовым дисбалансом, а S - идеальным сигналом. Определение матрицы M с помощью формы
αα1]
И M и M-1 могут считаться вычислением и матрицами вращения, которые соответствуют фактору G. Поскольку K = R-1, продуктом M-1 R K M является матрица идентичности, где M-1 R представляет продукцию компенсатора, и K M представляет неустойчивость I/Q. Коэффициент α выбран таким образом, что
Qгайнсин (startQ)]
где L - константа. Из этой формы мы можем получить Igain, Qgain, (I, и Q). Для данного фазового дисбаланса, Γ Imb, синфазный и квадратурный углы могут быть выражены как
(ΦImb/180)
Следовательно, cos (startQ) = sin (startI), а sin (startQ) = cos (startI), так что
startI) Qgaincos (startI)]
Дисбаланс I/Q может быть выражен как
Игаинсин (, I) Qgaincos ((, I)]
Поэтому
= sin (
Уравнение может быть записано как квадратичное уравнение для решения переменной α, то есть D1α2 + D2α + D3 = 0, где
Когда | C | ≤ 1, квадратичное уравнение имеет следующее решение:
4D1D32D1
В противном случае, когда | C | > 1, решение имеет следующий вид:
4D1D32D1
Наконец, получают амплитудный дисбаланс, AImb, и фазовый дисбаланс, ФImb.
) (180/δ)
Примечание
Если C вещественный и | C | ≤ 1, фазовый дисбаланс равен 0, а амплитудный дисбаланс равен 20log10 ((1-C )/( 1 + C))
Если C вещественный и | C | > 1, фазовый дисбаланс равен 180 ° и амплитудный дисбаланс равен 20log10 ((C + 1 )/( C − 1)).
Если C является мнимым, AImb = 0.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.