Реализация HDL цифрового предыскажения с содействующей оценкой LMS

В этом примере показано, как реализовать цифровое предыскажение (DPD) с основанной на наименьшее количество средних квадратичных (LMS) содействующей оценкой, которая оптимизирована для генерации HDL-кода и аппаратной реализации. Этим примером является расширение Реализации HDL Цифрового примера Предыскажения для вычисления коэффициентов DPD на FPGA, а не на процессоре. Этот пример заменяет код C/C++ generatable RPEM Coeff Estimation подсистема Реализации HDL Цифрового примера Предыскажения с совместимым с HDL LMS Coefficient Estimator подсистема. Этот пример поддерживает благоприятный для оборудования интерфейс для оценочной платы Xilinx® Zynq® UltraScale™ RFSoC ZCU111, которая использует преобразователь данных RF. Эта модель в качестве примера поддерживает Normal и Accelerator режимы симуляции. Для получения дополнительной информации о DPD, см. Адаптивный Проект DPD.

Откройте высокоуровневую архитектуру HDL DPD с содействующей оценкой LMS.

modelname = 'HDLDPDwithLMSCoeffExample';
open_system(modelname);

Архитектура модели

Baseband OFDM Transmitter подсистема генерирует комплексный основополосный сигнал ортогонального деления частоты мультиплексируется (OFDM) на 16 битов на уровне частоты дискретизации 15,36 МГц. Устройству системы на чипе радиочастоты (RFSoC) соединили преобразователь данных RF с программируемой логикой. Преобразователь данных RF поддерживает 128 битов, синфазных слово квадратурной фазы (Q) и (I). Чтобы сгенерировать 128 битов I и слово Q, комплексный основополосный сигнал OFDM на 16 битов сгруппирован в 8 выборок и преобразован в 128 битов I и слово Q. Deserializer1D, Комплекс к Действительному-Imag, и блоки Bit Concat Simulink® выполняют эту операцию. Частота дискретизации выходных данных Битных блоков Concat составляет 1,92 МГц (15.36/8 МГц).

DPD_LMS подсистема HDL DPD with LMS подсистема принимает 128 битов I и слово Q, которое сгенерировано от Baseband OFDM Transmitter подсистема и 128 битов I и слово Q, которое сгенерировано от RF Subsystem подсистема. HDL DPD with LMS подсистема выполняет DPD использование основанной на LMS содействующей оценки и возвращается, 128 битов предварительно исказили меня и слово Q. Блок Upsample и 128 to 16 bit converter MATLAB® функциональное преобразование, 128 битов предварительно исказили меня и слово Q к комплексу на 16 битов, предварительно исказил данные. Частота дискретизации выходных данных 128 to 16 Bit Converter функция составляет 15,36 МГц (1.92 x 8 МГц).

Когда вы включаете DPDSwitch в модели, RF Subsystem подсистема принимает комплексные предварительно искаженные данные на 16 битов из 128 to 16 Bit Converter функция. В противном случае подсистема принимает данные из Baseband OFDM Transmitter подсистема, как введено I и выборки Q. Усилитель мощности (PA) принимает эти выборки I/Q, которые сверхдискретизированы к 2,4 ГГц. Усилитель мощности (УМ) предварительно загружен с матрицей коэффициентов на основе стандартно-совместимого сигнала LTE с частотой дискретизации 15,36 МГц. Эти коэффициенты усилителя мощности (УМ) хранятся в MAT-файле, и эти значения загружаются при инициализации примера.

В другом пути данные передаются через низкий шумовой усилитель (LNA) и вниз преобразованы прежде, чем обеспечить к DPD_LMS подсистема в HDL DPD with LMS подсистема. Baseband OFDM Receiver подсистема собирает вниз преобразованные данные и обеспечивает их как вход к OFDMRx функция.

В этом примере отключен readyForInput выходной порт. Можно использовать этот порт если предыдущая подсистема, управляющая HDL DPD with LMS подсистема имеет readyForOutput как сигнал элемента управления вводом. Кроме того, readyForOutput входным портом является true потому что последующий RF Subsystem подсистема принимает входные данные на каждом временном шаге. Можно использовать этот порт если последующая подсистема после HDL DPD with LMS подсистема имеет readyForInput как сигнал элемента управления выводом. validOut HDL DPD with LMS высок (1) когда readyForOutput и validOut DPD_LMS подсистема высока (1).

Для получения дополнительной информации о Baseband OFDM Transmitter, RF Subsystem, и Baseband OFDM Receiver подсистемы, смотрите Реализацию HDL Цифрового примера Предыскажения.

Откройте HDL DPD with LMS подсистема.

load_system(modelname);
open_system([modelname '/HDL DPD with LMS']);

HDL DPD с содействующей оценкой LMS

HDL DPD with LMS подсистема выполняет цифровое предварительное искажение на этих этапах.

1. Преобразуйте 128 битов I и вход Q Word к комплексным данным на 16 битов

HDL DPD with LMS подсистема принимает 128 битов I и слова входа Q, которые сгенерированы от Baseband OFDM Transmitter и RF Subsystem подсистемы. Поскольку Digital Predistorter и LMS Coefficient Estimator подсистемы работают с комплексными входными параметрами на 16 битов, 128 битов I и данные о слове входа Q повторно преобразован в комплексные данные на 16 битов с помощью блока Repeat и 128 to 16 Bit Converter Функция MATLAB. Частота дискретизации выходных данных 128 to 16 Bit Converter функция составляет 15,36 МГц (1.92 x 8 МГц).

2. Выполните цифровое предварительное искажение с содействующей оценкой LMS на комплексных данных на 16 битов

Чтобы выполнить цифровое предварительное искажение с коэффициентами LMS, используйте Цифровое Предыскажение и Наименьшее количество Среднеквадратических Содействующих подсистем Средства оценки. Следующие несколько разделов дают подробное объяснение об этих подсистемах.

3. Преобразуйте комплексные данные на 16 битов в 128 битов I и Q Выход Word

Чтобы сгенерировать 128 битов I и Q слово выхода, комплексные 16 битов, предварительно искаженный сигнал сгруппирован в 8 выборок и преобразован в 128 битов I и Q слово выхода. Эта операция выполняется с помощью Deserializer1D, Комплекса к Действительным-Imag, и Битным блокам Simulink Concat. Выходная частота дискретизации данных после использования Битных блоков Concat составляет 1,92 МГц (15.36/8 МГц).

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

Digital Predistorter подсистема искажает комплексные входные данные на 16 битов с помощью коэффициентов, которые оцениваются LMS Coefficient Estimator подсистема. Проект DPD в этом примере похож на Реализацию HDL Цифрового примера Предыскажения, который оптимизирован для глубины памяти 3 и полиномиальная степень 3. Входные данные помещаются в сдвиговый регистр и мультиплексируются, чтобы сформировать вектор на основе глубины памяти. Затем вектор конкатенирован с нелинейными продуктами данных в зависимости от полиномиальной степени. Эта конкатенация формирует вектор из 9 элементов, который равняется временам глубины памяти степень. Скалярное произведение полученного вектора и оцененных коэффициентов обеспечивает предварительно искаженный вход, который питается, как введено RF Subsystem подсистема, когда вы включаете DPDSwitch. Откройте Digital Predistorter подсистема.

load_system(modelname);
open_system([modelname '/HDL DPD with LMS/DPD_LMS/Digital Predistorter']);

Содействующее средство оценки LMS

Когда характеристики усилителя мощности (УМ) варьируются в зависимости от времени и различные условия работы, с помощью адаптивного алгоритма оценки, который работает на FPGA, чтобы оценить, что инверсия усилителя мощности (УМ) необходима. В этом примере благоприятный для оборудования алгоритм оценки на основе метода LMS рассматривается из-за его простой архитектуры и упрощенного внедрения на оборудовании с меньшим количеством ресурсов по сравнению с другими алгоритмами оценки, такими как рекурсивные наименьшие квадраты (RLS) и рекурсивный ошибочный метод предсказания (RPEM). LMS Coefficient Estimator подсистема оценивает коэффициенты DPD от выходных параметров Digital Predistorter подсистема (вход PA) и PA выход RF Subsystem подсистема. Подобно Digital Predistorter подсистема, LMS Coefficient Estimator подсистема также действует на уровне 15,36 МГц. Для глубины памяти 3 и полиномиальная степень 3, LMS Coefficient Estimator подсистема оценивает в общей сложности 9 коэффициентов. Откройте LMS Coefficient Estimator подсистема.

load_system(modelname);
open_system([modelname '/HDL DPD with LMS/DPD_LMS/LMS Coefficient Estimator']);

Выходные данные усилителя мощности (УМ) от RF Subsystem подсистема помещается в сдвиговый регистр на основе глубины памяти, которая равняется 3. Затем этот вектор конкатенирован с нелинейными продуктами выходных данных усилителя мощности (УМ) в зависимости от полиномиальной степени, которая равняется 3. Эта конкатенация формирует вектор из 9 элементов, который равняется временам глубины памяти степень. LMS подсистема оценивает коэффициенты, таким образом, что ошибка минимальна между входными данными усилителя мощности (УМ) и выходными данными усилителя мощности (УМ). Dot product подсистема выполняет скалярное произведение сопряженных из предполагаемых коэффициентов и конкатенированных выходных данных усилителя мощности (УМ). Чтобы отослать предполагаемые коэффициенты на основе усилителя мощности (УМ) В Допустимом, пример использует переключатель. Когда усилитель мощности (УМ) В Допустимом высок (1), эта подсистема отправляет текущие предполагаемые коэффициенты. В противном случае подсистема отправляет ранее предполагаемые коэффициенты.

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

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

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

 First four frames are used for carrier frequency offset estimation. 

 Estimated carrier frequency offset is 1.273773e+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™. Сгенерировать HDL-код и испытательный стенд для HDL DPD with LMS подсистема, используйте makehdl и makehdltb команды.

HDL DPD with LMS подсистема синтезируется на оценочной плате Xilinx® Zynq® Ultrascale RFSoC ZCU111. Частота, полученная после места и маршрута, составляет приблизительно 420 МГц. Составьте таблицу, которая отображает место сообщения и результаты использования ресурса маршрута для комплексного входа на 128 битов.

F = table(...
    categorical({'Slice LUT'; 'Slice Registers';'DSP'}), ...
    categorical({'3517'; '6583'; '90'}), ...
    categorical({'425280'; '850560'; '4272'}), ...
    categorical({'0.81'; '0.76'; '2.11'}), ...
    'VariableNames', ...
    {'Resources','Utilized','Available','Utilization (%)'});
disp(F);
       Resources       Utilized    Available    Utilization (%)
    _______________    ________    _________    _______________

    Slice LUT            3517       425280           0.81      
    Slice Registers      6583       850560           0.76      
    DSP                  90         4272             2.11      

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте