Цифровое предварительное искажение для компенсации нелинейности усилителя степени

Этот пример показывает, как использовать цифровое предварительное искажение (DPD) в передатчике, чтобы смещать эффекты нелинейности в усилителе степени. Мы используем модели усилителя мощности, которые были получены на примере Характеристики Усилителя Степени, чтобы симулировать два случая. В первой симуляции RF-передатчик отправляет два тональных сигнала. Во второй симуляции передатчик RF отправляет 5G-like сигнал OFDM с пропускной способностью 100 МГц.

DPD с двумя синусоидальными тестовыми сигналами

Откройте модель Simulink RF Blockset: Системная модель PA + DPD с двумя тонами.

Модель включает в себя двухтональный генератор сигнала, который используется для проверки выходной относящейся к третьему порядку точки точки пересечения системы. Модель включает преобразование вверх на частоту RF с помощью I-Q модулятора, модели PA, соединителя для обнуления выхода PA и блока S-параметра, представляющего эффект загрузки антенны. Цепь приемника выполняет преобразование вниз к низкой промежуточной частоте. Заметьте, что шумовая полоса симуляции этой системы составляет 107,52 МГц.

Модель может быть моделирована без DPD, когда тумблер находится в положении вверх.

model = 'simrfV2_powamp_dpd';
open_system(model)
sim(model)

Ручной переключатель переключается, чтобы включить алгоритм DPD. При переключении TOI (точка точки пересечения третьего порядка) значительно улучшается. Проверьте измерения искажений в анализаторе спектра, чтобы подтвердить эти результаты и увидеть, как уменьшается мощность гармоник благодаря линеаризации DPD.

Перед входом двухтонального сигнала в блок DPD или усилитель степени, он проходит конечную импульсную характеристику интерполятор, та же конечная импульсная характеристика интерполятор, используемый во время характеристики PA. Это необходимо, потому что модель усилителя степени была получена для частоты дискретизации после интерполяции, а не для исходной скорости дискретизации двухтонального сигнала, и для моделирования нелинейностей высокого порядка, введенных усилителем степени, требуется избыточная дискретизация сигнала.

Требуемый коэффициент усиления коэффициента DPD устанавливается на основе ожидаемого усиления усилителя степени (полученного во время характеристики PA), поскольку в дополнение к линеаризации общая цель состоит в том, чтобы сделать совокупный коэффициент усиления от входного сигнала DPD на выходе усилителя степени как можно ближе к ожидаемому усилению. Чтобы правильно оценить коэффициенты DPD, входные сигналы в блок оценки коэффициентов DPD, PA In и PA Out, должны быть выровнены во временном интервале. Это проверяется блоком Find Delay, который показывает, что задержка, введенная системой RF, равна 0. Кроме того, PA In и PA Out должны быть точными представлениями основной полосы входного сигнала усилителя степени и выходного сигнала, то есть без дополнительного усиления или сдвига фазы. В противном случае блок оценки коэффициентов DPD не наблюдал бы усилитель степени правильно и не производил бы правильные коэффициенты DPD. Это достигается путем обеспечения того, что как на этапах преобразования с повышением частоты, так и на этапах преобразования с понижением частоты коэффициент усиления равен 1, а потери и сдвиг фазы, вызванный соединителем, надлежащим образом компенсируются, прежде чем сигнал обратной связи достигает PA Out.

Цель фактора шкалы перед интерполятором конечной импульсной характеристики состоит в том, чтобы помочь эффективно использовать линеаризованный усилитель степени. Даже при включенном DPD могут возникнуть два нежелательных сценария. Двухтоновый сигнал может быть очень маленьким относительно входной области значений линеаризованной системы, следовательно, недостаточно используя усилительные возможности линеаризованной системы. Или двухтональный сигнал может быть настолько большим, что модель усилителя степени действует вне области значений, наблюдаемых во время характеристики PA, и, следовательно, модель усилителя степени может не быть точной моделью физического устройства. Мы используем следующий эвристический подход, чтобы задать коэффициент шкалы.

Принимая, что блок DPD идеально линеаризирует усилитель степени, чтобы достичь ожидаемого амплитудного усиления, тогда максимальная входная амплитуда, разрешенная блоком DPD, должна быть максимальной выходной амплитудой усилителя степени, наблюдаемой во время характеристики PA, разделенной на ожидаемый амплитудный коэффициент. Коэффициент шкалы перед блоком DPD должен быть максимальной амплитудой входа, допустимой блоком DPD, разделенной на максимальную амплитуду интерполированного сигнала, наблюдаемую во время характеристики PA.

Системная модель имеет блок, который вычисляет максимальную нормированную входную амплитуду PA. Если он равен 1, это означает, что сгенерированный модулированный сигнал, поступающий в систему RF, имеет максимальную амплитуду, равную максимальной входной амплитуде PA, наблюдаемой во время характеристики PA. Поэтому, если максимальная нормированная входная амплитуда PA меньше 1, масштабный коэффициент, заданный эвристическим подходом выше, может быть увеличен. Если максимальная нормированная амплитуда входа PA больше 1, коэффициент шкалы должен быть уменьшен.

set_param([model '/Manual Switch'], 'action', '1')
sim(model)

Изменяя степень и глубину памяти, определенные в блоке DPD Coefficient Estimator, можно найти наиболее подходящий компромисс между эффективностью и стоимостью реализации.

close_system(model,0)
close all; clear

DPD с 5G-like формой волны OFDM

Откройте модель Simulink RF Blockset: Системная модель PA + DPD с 5G-like формой волны OFDM.

Структура этой модели Simulink такая же, как и у предыдущей модели Simulink. Усиливаемый сигнал теперь является 5G-like формой волны OFDM, а не двухтональным сигналом. Спектральный анализатор измеряет ACPR вместо TOI, и мы добавляем подсистему для измерения EVM и MER усиленной формы волны OFDM.

Без линеаризации DPD система достигает среднего отношения ошибок модуляции 24,4 дБ, как видно из измерения графика созвездия.

model = 'simrfV2_powamp_dpd_comms';
open_system(model)
sim(model)

Ручной переключатель переключается, чтобы включить алгоритм DPD. При переключении среднее значение MER значительно улучшается.

set_param([model '/Manual Switch'], 'action', '1')
sim(model)

close_system(model,0)
close all; clear

Избранная библиография

  1. Морган, Деннис Р., Чжэнсян Ма, Джейхён Ким, Майкл Г. Зиердт и Джон Пасталан. «Обобщенная модель Полинома памяти для цифрового предварительного искажения Степени усилителей». Транзакции IEEE ® по обработке сигналов. Том 54, № 10, октябрь 2006, стр. 3852-3860.

  2. Ган, Ли и Эмад Абд-Эльради. «Цифровое предварительное искажение полиномиальных систем памяти с использованием архитектур прямого и косвенного обучения». В работе одиннадцатой Международной конференции IASTED по обработке сигналов и изображений (SIP) (Ф. Крус-Рольдан и Н. Б. Смит, эд.), № 654-802. Калгари, AB: ACTA Press, 2009.