Этот пример измеряет EVM в сигнале канала опорного измерения нисходящей линии связи (RMC) и сигнале тестовой модели нисходящей линии связи (E-TM) в соответствии с требованиями измерения EVM, указанными в TS 36.104, приложение E [1].
Этот пример создает сигнал RMC и применяет некоторый шум к передаче модели передатчика EVM. Также применяются сдвиг частоты и сдвиг IQ. Нарушенный сигнал затем обрабатывается в соответствии с требованиями к измерениям EVM, указанными в приложении E [1] к TS36.104. В этом примере измеряется пик и среднеквадратичное EVM, усредненное по 2 кадрам входного сигнала.
Среднее EVM измеряется во времени в двух местоположениях (низком и высоком), где низкое и высокое местоположения соответствуют выравниванию окна БПФ в начале и конце циклического префикса. LTE Toolbox™ требует, чтобы низкие и высокие местоположения были указаны как часть длины циклического префикса.
Следует отметить, что для многоантенных RMC измерение EVM предполагает, что каждая приемная сигнальная антенна непосредственно соединена с каждой передающей сигнальной антенной, как показано в TS36.141 Приложении I.1.1 [2]. В соответствии с требованиями к измерениям EVM, определенными в TS 36.104 Приложение E [1], декодирование PDSCH использует только выравнивание нулевого форсирования. Для иллюстрации приема PDSCH, который включает в себя полное декодирование MIMO, см. пример поиска ячеек, MIB и восстановления SIB1.
Наконец, измеряют EVM сигнала тестовой модели (E-TM), показывая, как синхронизировать сигнал E-TM, который был сгенерирован вне MATLAB ® или который был воспроизведен по воздуху после генерации внутри MATLAB.
Установка передатчик согласно TS36.101 RMC [3].
% eNodeB Configuration rng('default'); % Set the default random number generator rmc = lteRMCDL('R.5'); % Configure RMC rmc.PDSCH.RVSeq = 0; % Redundancy version indicator rmc.TotSubframes = 20; % Total number of subframes to generate % Create eNodeB transmission with random PDSCH data txWaveform = lteRMCDLTool(rmc,randi([0 1],rmc.PDSCH.TrBlkSizes(1),1));
Моделирование EVM передатчика и добавление смещений частоты и IQ.
% Model EVM with additive noise ofdmInfo = lteOFDMInfo(rmc); txEVMpc = 1.2; % Transmit EVM in per cent evmModel = txEVMpc/(100*sqrt(double(ofdmInfo.Nfft)))* ... complex(randn(size(txWaveform)),randn(size(txWaveform)))/sqrt(2); rxWaveform = txWaveform+evmModel; % Add frequency offset impairment to received waveform foffset = 33.0; % Frequency offset in Hertz t = (0:length(rxWaveform)-1).'/ofdmInfo.SamplingRate; rxWaveform = rxWaveform.*repmat(exp(1i*2*pi*foffset*t),1,rmc.CellRefP); % Add IQ offset iqoffset = complex(0.01,-0.005); rxWaveform = rxWaveform+iqoffset;
Приемник синхронизируется с принятым сигналом и вычисляет и отображает измеренное EVM.
% Apply frequency estimation and correction for the purposes of performing % timing synchronization foffset_est = lteFrequencyOffset(rmc,rxWaveform); rxWaveformFreqCorrected = lteFrequencyCorrect(rmc,rxWaveform,foffset_est); % Synchronize to received waveform offset = lteDLFrameOffset(rmc,rxWaveformFreqCorrected,'TestEVM'); rxWaveform = rxWaveform(1+offset:end,:); % Use 'TestEVM' pilot averaging cec.PilotAverage = 'TestEVM';
EVM PDSCH вычисляется путем вызова hPDSCHEVM.
Отображается среднее значение EVM для RMC нисходящей линии связи. Сначала вычисляются результаты для EVM низкого и высокого краев для каждого подкадра в кадре, и их средние значения отображаются в окне команд. Максимумом этих средних значений является EVM на кадр. Окончательное EVM для RMC нисходящей линии связи представляет собой среднее значение EVM по всем кадрам. Также производится ряд участков:
EVM в сравнении с символом OFDM
EVM в сравнении с поднесущей
EVM в сравнении с блоком ресурсов
EVM в сравнении с символом OFDM и поднесущей (т.е. сеткой ресурсов EVM)
Следует отметить, что измерение EVM, отображаемое в окне команд, вычисляется только для выделенных блоков ресурсов PDSCH в соответствии со стандартом LTE. Графики EVM показаны для всех блоков ресурсов (выделенных или нераспределенных), что позволяет измерять качество сигнала в более общем виде. В нераспределенных блоках ресурсов EVM вычисляется в предположении, что принятые элементы ресурсов имеют ожидаемое значение, равное нулю.
EVM каждой несущей E-UTRA для схем модуляции QPSK, 16QAM, 64QAM и 256QAM на PDSCH должно быть лучше требуемого EVM в 17,5%, 12,5%, 8% и 3,5% соответственно согласно TS 36.104 Таблица 6.5.2-1 [1].
% Compute and display EVM measurements
[evmmeas, plots] = hPDSCHEVM(rmc,cec,rxWaveform);
Low edge EVM, subframe 0: 1.287% High edge EVM, subframe 0: 1.289% Low edge EVM, subframe 1: 1.395% High edge EVM, subframe 1: 1.390% Low edge EVM, subframe 2: 1.330% High edge EVM, subframe 2: 1.324% Low edge EVM, subframe 3: 1.234% High edge EVM, subframe 3: 1.239% Low edge EVM, subframe 4: 1.235% High edge EVM, subframe 4: 1.229% Low edge EVM, subframe 6: 1.296% High edge EVM, subframe 6: 1.294% Low edge EVM, subframe 7: 1.350% High edge EVM, subframe 7: 1.344% Low edge EVM, subframe 8: 1.338% High edge EVM, subframe 8: 1.336% Low edge EVM, subframe 9: 1.331% High edge EVM, subframe 9: 1.319% Averaged low edge EVM, frame 0: 1.312% Averaged high edge EVM, frame 0: 1.308% Averaged EVM frame 0: 1.312% Low edge EVM, subframe 0: 1.241% High edge EVM, subframe 0: 1.243% Low edge EVM, subframe 1: 1.230% High edge EVM, subframe 1: 1.229% Low edge EVM, subframe 2: 1.219% High edge EVM, subframe 2: 1.220% Low edge EVM, subframe 3: 1.216% High edge EVM, subframe 3: 1.220% Low edge EVM, subframe 4: 1.239% High edge EVM, subframe 4: 1.239% Low edge EVM, subframe 6: 1.219% High edge EVM, subframe 6: 1.207% Low edge EVM, subframe 7: 1.247% High edge EVM, subframe 7: 1.246% Low edge EVM, subframe 8: 1.257% High edge EVM, subframe 8: 1.252% Low edge EVM, subframe 9: 1.249% High edge EVM, subframe 9: 1.246% Averaged low edge EVM, frame 1: 1.235% Averaged high edge EVM, frame 1: 1.234% Averaged EVM frame 1: 1.235% Averaged overall EVM: 1.274%




Наконец, измеряют EVM сигнала тестовой модели (E-TM), показывая, как синхронизировать сигнал E-TM, который был сгенерирован вне MATLAB или который был воспроизведен по воздуху после генерирования внутри MATLAB. Выполняются следующие шаги:
Захватываемый сигнал нагрузки: Внутри генерируется сигнал hGetTestModelWaveform для моделирования эфирного сигнала E-TM, захваченного с частотой возвращенной выборки. Для получения более подробной информации о передаче по воздуху и анализе форм сигналов тестовой модели см. следующий пример: Генерация и передача сигналов с использованием LTE Toolbox с испытательным и измерительным оборудованием.
Создание конфигурации локальной тестовой модели: Затем с помощью функции создается структура конфигурации, представляющая содержимое формы сигнала E-TM lteTestModel. Для создания конфигурации должны быть известны номер тестовой модели и полоса пропускания.
Повторная выборка ожидаемой частоты дискретизации: Функция lteOFDMInfo вызывается для получения некоторой информации о модуляции/демодуляции OFDM, используемой в LTE Toolbox для конфигурации тестовой модели tmconfig. Самая важная информация здесь ofdmInfo.SamplingRate которая дает частоту дискретизации, ожидаемую для демодуляции сигнала OFDM. resample используется для повторной выборки захваченной формы сигнала для этой частоты дискретизации.
Выполнение синхронизации: Оценка и коррекция сдвига частоты и синхронизация по времени выполняются с использованием тех же шагов, что и в этом примере.
Measure EVM: EVM измеряется вызовом hPDSCHEVM. Для E-TM с несколькими PDSCH эта функция возвращает составное EVM всех PDSCH, присутствующих в сигнале.
% Load the captured Test Model waveform [tmsignal,SR] = hGetTestModelWaveform(); % Create a local Test Model configuration, corresponding to the known E-TM % number and bandwidth tmconfig = lteTestModel('1.1','5MHz'); ofdmInfo = lteOFDMInfo(tmconfig); % Resample the captured waveform to match the expected sampling rate used % by LTE Toolbox for the Test Model bandwidth tmsignal = resample(tmsignal,ofdmInfo.SamplingRate,SR); % Apply frequency estimation and correction for the purposes of performing % timing synchronization foffset_est = lteFrequencyOffset(tmconfig,tmsignal); tmsignalFreqCorrected = lteFrequencyCorrect(tmconfig,tmsignal,foffset_est); % Synchronize the captured waveform offset = lteDLFrameOffset(tmconfig,tmsignalFreqCorrected,'TestEVM'); tmsignal = tmsignal(1+offset:end,:); % Compute EVM measurements, with plotting disabled cec.PilotAverage = 'TestEVM'; alg.EnablePlotting = 'Off'; evm_tm = hPDSCHEVM(tmconfig,cec,tmsignal,alg);
Low edge EVM, subframe 0: 2.166% High edge EVM, subframe 0: 1.922% Low edge EVM, subframe 1: 2.010% High edge EVM, subframe 1: 1.904% Low edge EVM, subframe 2: 2.060% High edge EVM, subframe 2: 1.915% Low edge EVM, subframe 3: 1.988% High edge EVM, subframe 3: 1.910% Low edge EVM, subframe 4: 2.074% High edge EVM, subframe 4: 1.920% Low edge EVM, subframe 5: 2.010% High edge EVM, subframe 5: 1.913% Low edge EVM, subframe 6: 2.082% High edge EVM, subframe 6: 1.912% Low edge EVM, subframe 7: 2.047% High edge EVM, subframe 7: 1.920% Low edge EVM, subframe 8: 1.989% High edge EVM, subframe 8: 1.905% Low edge EVM, subframe 9: 2.022% High edge EVM, subframe 9: 1.905% Averaged low edge EVM, frame 0: 2.044% Averaged high edge EVM, frame 0: 1.912% Averaged EVM frame 0: 2.044% Averaged overall EVM: 2.044%
В этом примере используются следующие вспомогательные функции:
3GPP TS 36.104 «Радиопередача и прием базовой станции (BS)»
3GPP TS 36.141 «Тестирование соответствия базовой станции (BS)»
3GPP ТС 36.101 «Радиопередача и прием пользовательского оборудования (UE)»