Модуляция OFDM выборок сетки ресурса LTE

Этот пример показывает, как использовать блок OFDM Modulator, чтобы модулировать выборки сетки ресурса LTE к эквивалентному сигналу временного интервала вывод. Можно сгенерировать HDL-код от этого блока.

Сгенерируйте входную сетку ресурса с помощью LTE Toolbox™.

enb = lteRMCDL('R.6');
enb.CyclicPrefix='Normal';
enb.TotSubframes = 1;
% --------------------------------------------------------------
%      NDLRB              |   Sampling Rate (MHz)
% --------------------------------------------------------------
%       6                  |   R.4
%       15                 |   R.5
%       25                 |   R.6
%       50                 |   R.7
%       75                 |   R.8
%       100                |   R.9
% --------------------------------------------------------------

[~,LTEGrid,info] = lteRMCDLTool(enb,[1;0;0;1]);
[eNodeBOutput,~] = lteOFDMModulate(enb,LTEGrid);

Преобразуйте демонстрационные кадры LTEGrid в поток выборок с управляющими сигналами для входа к модели Simulink®.

NDLRB=info.NDLRB;
if strcmp(enb.CyclicPrefix,'Normal')
    CPType=false;
else
    CPType=true;
end

sampling_time=1/30.72e6;
stoptime=enb.TotSubframes*(30720+4137+2048*2)*sampling_time;

idlecyclesbetweensamples = 0;
idlecyclesbetweenframes  = 0;

[dataIn,ctrl] = ltehdlFramesToSamples(mat2cell(LTEGrid(:),numel(LTEGrid),1),...
    idlecyclesbetweensamples,idlecyclesbetweenframes);
validIn = logical(ctrl(:,3));

Запустите модель Simulink.

modelname = 'OFDMModulatorModelExample';
open_system(modelname);
sim(modelname);

Сохраните вывод модели Simulink. Затем сравните вывод модели против вывода функции lteOFDMModulate.

rxgridSimulink=dataOut(validOut);

figure('units','normalized','outerposition',[0 0 1 1])
subplot(2,1,1);
plot(real(eNodeBOutput));
hold on
plot(squeeze(real(rxgridSimulink)));
legend('Real part of behavioral waveform','Real part of HDL-optimized waveform');
title('Comparison of LTE Time-Domain Downlink Waveforms from Behavioral and HDL-Optimized Algorithms');
xlabel('OFDM subcarriers');
ylabel('Real part of the time-domain waveform');

subplot(2,1,2)
plot(imag(eNodeBOutput))
hold on
plot(squeeze(imag(rxgridSimulink)))
legend('Imag part of behavioral waveform','Imag part of HDL-optimized waveform');
title('Comparison of LTE Time-Domain Downlink Waveforms from Behavioral and HDL-Optimized Algorithms');
xlabel('OFDM subcarriers');
ylabel('Imag part of the time-domain waveform');

Смотрите также

Блоки