HDL- Реализации цифрового Предыскажения

Этот пример показывает реализацию модели цифрового предыскажения (DPD), которая оптимизирована для генерации HDL-кода и аппаратной реализации. Механизм предварительного искажения выполняется в два этапа. На первом этапе набор коэффициентов DPD оценивается на основе входных и выходных данных усилителя степени (PA). На втором этапе входные данные PA предварительно искажаются на основе оцененных коэффициентов DPD и предоставляются в качестве нового входа в PA. Этот пример демонстрирует симуляцию уровня системы, в которой подсистема Digital Predistorter генерирует HDL-код, в то время как оценка коэффициента DPD генерирует код C/C + +. Эта модель примера поддерживает только режимы симуляции Normal и Accelerator.

Цифровое предварительное искажение

Цифровое предварительное искажение является сгенерированным модулированным сигналом методом обработки, который используется для коррекции нарушений в усилителях радиочастоты (RF) степени. Эти нарушения вызывают внеполосные выбросы или спектральное возрождение и внутриполосное искажение, что приводит к увеличению частоты битовой ошибки (BER) и снижению пропускной способности системы. Усилители степени вызывают нежелательные эффекты в системе из-за их нелинейного поведения. Системы связи, использующие ортогональное частотное деление мультиплексирование (OFDM), такие как беспроводная локальная сеть (WLAN), глобальная совместимость для микроволнового доступа (WiMax), долгосрочная эволюция (LTE) и 5G новое радио (NR), уязвимы к этим нежелательным эффектам. На сигнал применяется предварительная коррекция, так что каскад DPD и PA близок к идеальной, линейной и незапоминающейся системе. Эта линеаризация может улучшить PA степени эффективности и может быть более эффективной по спектру. Этот рисунок показывает структуру верхнего уровня примера.

Запустите эту команду, чтобы открыть пример.

modelname = 'DPDHDLExample';
open_system(modelname);

Передатчик OFDM основной полосы частот

Подсистема передатчика OFDM основной полосы генерирует сгенерированный модулированный сигнал и подает этот сигнал в качестве входных данных в подсистему цифрового предыскажения. The OFDMTx функция в этой подсистеме генерирует сигнал передатчика OFDM с синхронизацией, ссылкой, заголовком, пилотами и сигналами данных и возвращает txWaveform, txGrid, и diagnostics использование набора параметров передатчика txParam. Для получения дополнительной информации о OFDMTx , см. пример HDL OFDM MATLAB References. Можно также заменить подсистему Baseband OFDM Transmitter на любой пользовательский передатчик, чтобы предоставить данные подсистеме Digital Predistorter. Этот рисунок показывает генерацию входного сигнала основной полосы для этого примера. Выполните эту команду, чтобы открыть подсистему Baseband OFDM Transmitter.

load_system(modelname);
open_system([modelname '/Baseband OFDM Transmitter']);

Оценка коэффициентов

Подсистема оценки Coeff RPEM оценивает набор коэффициентов путем сбора данных с входа и выхода PA. Эти коэффициенты используются для искажения сигнала перед усилителем степени. Характеристики PA варьируются с течением времени и условий работы, поэтому для оценки коэффициентов DPD используется алгоритм адаптивного рекурсивного метода ошибки предсказания (RPEM). Количество коэффициентов, которые будут оценены, зависит от глубины памяти и полиномиальной степени PA. В этом примере, поскольку общее количество коэффициентов, которые нужно оценить, составляет 25, глубина памяти и степень полинома PA установлены равными 5. Для получения дополнительной информации о RPEM см. раздел [1]. Чтобы сгенерировать код C/C + + для подсистемы оценки RPEM Coeff, используйте slbuild команда. Запустите эту команду, чтобы открыть подсистему оценки Coeff RPEM.

load_system(modelname);
open_system([modelname '/RPEM Coeff Estimation']);

Цифровое предыскажение

Подсистема Digital Predistorter искажает входные данные с помощью коэффициентов, оцененных подсистемой оценки Coeff RPEM. Проект DPD в этом примере основан на полиноме памяти, который исправляет нелинейности и эффекты памяти в PA. Оцененные коэффициенты и сгенерированные входные данные предоставляются в качестве входных данных для DPD для применения предварительного искажения. Входные данные сначала помещаются в регистр сдвига на основе глубины памяти. Во-вторых, этот вектор конкатенируется с нелинейными продуктами данных в зависимости от полиномиальной степени. Эта конкатенация образует вектор 25, что означает, что значение глубины памяти умножается на элементы степени. Точечный продукт полученного вектора и оценочных коэффициентов обеспечивает предварительно искаженный вход, который подается как вход в PA после увеличения дискретизации. Запустите эту команду, чтобы открыть подсистему Digital Predistorter.

load_system(modelname);
open_system([modelname '/Digital Predistorter']);

Строение RF-блоков

Этот пример имеет переключатель управления, чтобы включить или отключить предварительное искажение и оценку коэффициента. Если вы активируете переключатель, то пример предоставляет выходные данные от подсистемы Digital Predistorter в качестве входных данных к блокам RF. В противном случае пример предоставляет выходные данные от подсистемы передатчика Baseband OFDM в качестве входных данных для RF блоков как синфазные (I), квадратурная фаза (Q) выборки. Эти I/Q выборки увеличены до 2,4 ГГц и предоставлены в качестве входных данных для PA. Матрица коэффициентов, требуемая PA, предварительно загружена на основе совместимого со стандартом сигнала LTE со скоростью дискретизации 15,36 МГц. Эти коэффициенты хранятся в файле MAT, и значения загружаются при инициализации примера. В другом пути данные передаются через усилитель с низким уровнем шума (LNA) и преобразуются с понижением частоты перед предоставлением их в подсистему оценки Coeff RPEM.

Приемник OFDM основной полосы частот

Подсистема приемника OFDM основной полосы собирает преобразованные с понижением частоты данные и предоставляет их как вход в OFDMRx функция. Эта функция выполняет оценку и коррекцию смещения несущей частоты, систему координат синхронизацию, демодуляцию OFDM, оценку канала, эквализацию канала, коррекцию смещения фазы и декодирует переданные биты. Для получения дополнительной информации о OFDMRx , см. пример HDL OFDM MATLAB References.

Верификация и результаты

Запустите модель. По умолчанию Digital Predistorter и RPEM Coeff Estimation включены. Если вы отключаете DPD, величина вектора ошибок (EVM) увеличивается, а спектральное восстановление в смежных каналах увеличивается. Схемы созвездия и спектрального анализатора показывают результаты запуска модели с включенным DPD.

sim(modelname);
 Estimating carrier frequency offset ... 

 First four frames are used for carrier frequency offset estimation. 

 Estimated carrier frequency offset is 3.252304e+00 Hz.

 Detected and processing frame 5
------------------------------------------

 Header CRC passed

 Modulation: 16QAM, codeRate=1/2 and FFT Length=128

 Data CRC passed

 Data decoding completed
------------------------------------------

 Detected and processing frame 6
------------------------------------------

 Header CRC passed

 Modulation: 16QAM, codeRate=1/2 and FFT Length=128

 Data CRC passed

 Data decoding completed
------------------------------------------

Результаты генерации и реализации HDL-кода

Чтобы проверить и сгенерировать HDL для этого примера, вы должны иметь HDL- Coder™. Используйте makehdl и makehdltb команды для генерации HDL-кода и испытательного стенда для подсистемы Digital Predistorter.

Подсистема Digital Predistorter синтезируется на плате оценки ZC706 Xilinx ® Zynq ® -7000. Частота, полученная после места и маршрута, составляет около 220 МГц. Создайте таблицу, в которой отображаются результаты использования ресурсов при размещении и маршрутизации для 16-битного сложного входа.

F = table(...
    categorical({'Slice LUT'; 'Slice Registers';'DSP'}), ...
    categorical({'6028'; '8115'; '160'}), ...
    categorical({'218600'; '437200'; '900'}), ...
    categorical({'2.75'; '1.85'; '17.78'}), ...
    'VariableNames', ...
    {'Resources','Utilized','Available','Utilization (%)'});
disp(F);
       Resources       Utilized    Available    Utilization (%)
    _______________    ________    _________    _______________

    Slice LUT            6028       218600           2.75      
    Slice Registers      8115       437200           1.85      
    DSP                  160        900              17.78     

Ссылки

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

Похожие темы