В этом примере показано, как моделировать и тестировать приемник LTE RF с использованием LTE Toolbox™ и RF Blockset™.
Сигнал LTE генерируется, фильтруется, передается через канал распространения и подается в модель приемника RF Blockset. Радиочастотная модель может быть собрана с использованием коммерчески доступных деталей. Измерения EVM выполняются на выходе РЧ приемника.
Этот пример реализован с использованием MATLAB ® и Simulink ®, которые взаимодействуют во время выполнения. Функциональный раздел:

Средства тестирования измерений реализованы со сценарием MATLAB, использующим объект RF System в качестве тестируемого устройства (DUT). Кадры LTE передаются между testbench и DUT.
В этом разделе мы генерируем сигнал LTE с помощью LTE Toolbox. Мы используем эталонный измерительный канал (RMC) R.6 как определено в TS 36.101 [1]. Этот RMC определяет полосу пропускания 25 элементов ресурса (RE), эквивалентную 5 МГц. Используется модуляция 64 QAM. Все RE присвоены. Кроме того, в неиспользуемых RE разрешен шум OCNG.
Генерируется только один кадр. Этот кадр будет затем повторяться несколько раз для выполнения измерений EVM.
% Configuration TS 36.101 25 REs (5 MHz), 64-QAM, full allocation rmc = lteRMCDL('R.6'); rmc.OCNGPDSCHEnable = 'On'; % Create eNodeB transmission with fixed PDSCH data rng(2); % Fixed random seed (arbitrary) data = randi([0 1], sum(rmc.PDSCH.TrBlkSizes),1); % Generate 1 frame, to be repeated to simulate a total of N frames [tx, ~, info] = lteRMCDLTool(rmc, data); % 1 frame % Calculate the sampling period and the length of the frame. SamplePeriod = 1/info.SamplingRate; FrameLength = length(tx);
В этом разделе инициализируются некоторые компоненты моделирования:
Количество кадров - это количество повторений сформированного кадра
Предварительно распределить векторы результатов
% Number of simulation frames N>=1 N = 3; % Preallocate vectors for results for N-1 frames % EVM is not measured in the first frame to avoid transient effects evmpeak = zeros(N,1); % Preallocation for results evmrms = zeros(N,1); % Preallocation for results
Первоначальная конструкция РЧ приемника выполняется с использованием RF Budget Analyzer app. Приемник состоит из LNA, демодулятора прямого преобразования и конечного усилителя. Все этапы включают шум и нелинейность.
load rfb;
Напечатать show(rfb) для отображения начального дизайна RF-приемника в приложении RF Budget Analyzer.

Из объекта бюджета РФ можно автоматически создать модель, которая может использоваться для моделирования оболочки цепи.
rfx = rfsystem(rfb); rfx.SampleTime = SamplePeriod; open_system(rfx);

Можно изменить модель, созданную в предыдущем разделе, для включения дополнительных РЧ-нарушений и компонентов. Можно изменить созданную модель RF Blocket, пока не будут изменены порты ввода/вывода. В этом разделе загружается измененная модель Simulink, которая выполняет следующие функции:
Модель канала: включает потерю пути свободного пространства
РЧ приемник: включает демодулятор прямого преобразования
Отмена смещения ADC и DC
Можно открыть и проверить измененную модель.
model = 'simrfV2_lte_receiver';
open_system(model);

В этом разделе моделируется указанное количество кадров. Объект RF-системы моделирует модель оболочки цепи в Accelerator режим уменьшения времени выполнения. После обработки первого кадра моделью Simulink его состояние сохраняется и автоматически передается последовательному кадру.
Выходные данные модели Simulink хранятся в переменной rx, которая доступна в рабочей области. Любые задержки, вносимые в этот сигнал, удаляются после выполнения синхронизации. EVM измеряется на результирующей форме сигнала.
load rfs; EVMalg.EnablePlotting = 'Off'; cec.PilotAverage = 'TestEVM'; for n = 1:N [I, Q]=rfs(tx); rx = complex(I,Q); % Synchronize to received waveform if n==1 Offset = lteDLFrameOffset(rmc,squeeze(rx),'TestEVM'); end % Compute and display EVM measurements evmmeas = simrfV2_lte_receiver_evm_cal(rmc,cec,squeeze(rx),EVMalg); evmpeak(n) = evmmeas.Peak; evmrms(n) = evmmeas.RMS; end
Low edge EVM, subframe 0: 2.999% High edge EVM, subframe 0: 3.002% Low edge EVM, subframe 1: 2.969% High edge EVM, subframe 1: 2.993% Low edge EVM, subframe 2: 2.809% High edge EVM, subframe 2: 2.811% Low edge EVM, subframe 3: 2.789% High edge EVM, subframe 3: 2.779% Low edge EVM, subframe 4: 2.835% High edge EVM, subframe 4: 2.843% Low edge EVM, subframe 6: 3.001% High edge EVM, subframe 6: 2.988% Low edge EVM, subframe 7: 2.863% High edge EVM, subframe 7: 2.870% Low edge EVM, subframe 8: 2.740% High edge EVM, subframe 8: 2.747% Low edge EVM, subframe 9: 2.789% High edge EVM, subframe 9: 2.798% Averaged low edge EVM, frame 0: 2.866% Averaged high edge EVM, frame 0: 2.870% Averaged EVM frame 0: 2.870% Averaged overall EVM: 2.870% Low edge EVM, subframe 0: 3.108% High edge EVM, subframe 0: 3.116% Low edge EVM, subframe 1: 3.125% High edge EVM, subframe 1: 3.128% Low edge EVM, subframe 2: 2.960% High edge EVM, subframe 2: 2.954% Low edge EVM, subframe 3: 2.844% High edge EVM, subframe 3: 2.848% Low edge EVM, subframe 4: 2.797% High edge EVM, subframe 4: 2.799% Low edge EVM, subframe 6: 2.946% High edge EVM, subframe 6: 2.939% Low edge EVM, subframe 7: 2.987% High edge EVM, subframe 7: 2.976% Low edge EVM, subframe 8: 2.960% High edge EVM, subframe 8: 2.958% Low edge EVM, subframe 9: 2.910% High edge EVM, subframe 9: 2.914% Averaged low edge EVM, frame 0: 2.959% Averaged high edge EVM, frame 0: 2.958% Averaged EVM frame 0: 2.959% Averaged overall EVM: 2.959% Low edge EVM, subframe 0: 2.796% High edge EVM, subframe 0: 2.788% Low edge EVM, subframe 1: 2.811% High edge EVM, subframe 1: 2.798% Low edge EVM, subframe 2: 2.801% High edge EVM, subframe 2: 2.803% Low edge EVM, subframe 3: 2.785% High edge EVM, subframe 3: 2.791% Low edge EVM, subframe 4: 2.807% High edge EVM, subframe 4: 2.821% Low edge EVM, subframe 6: 2.780% High edge EVM, subframe 6: 2.783% Low edge EVM, subframe 7: 2.837% High edge EVM, subframe 7: 2.828% Low edge EVM, subframe 8: 2.819% High edge EVM, subframe 8: 2.815% Low edge EVM, subframe 9: 2.821% High edge EVM, subframe 9: 2.803% Averaged low edge EVM, frame 0: 2.807% Averaged high edge EVM, frame 0: 2.804% Averaged EVM frame 0: 2.807% Averaged overall EVM: 2.807%
В этом разделе показаны измеренный пик и среднеквадратичное значение EVM для каждого моделируемого кадра.
hf(1) = figure; plot((1:N), 100*evmpeak,'o-') title('EVM peak %'); xlabel('Number of frames'); hf(2) = figure; plot((1:N), 100*evmrms,'o-'); title('EVM RMS %'); xlabel('Number of frames');


Закройте модель Simulink и удалите созданные файлы.
release(rfs); %close_system(rfs); bdclose all;
В этом примере используется следующая вспомогательная функция:
3GPP ТС 36.101 «Радиопередача и прием пользовательского оборудования (UE)»
Усилитель | Конфигурация | Inport | Вспомогательный порт | VGA