Этот пример измеряет EVM в нисходящем опорном канале измерения (RMC) и нисходящей экспериментальной модели (E-TM) в соответствии с требованиями к измерению EVM, указанными в TS 36.104, приложение E [1].
Этот пример создает сигнал RMC и применяет некоторый шум к передаче к передатчику модели EVM. Также применяются смещение частоты и смещение IQ. Ослабленный сигнал затем обрабатывается в соответствии с требованиями к измерению EVM, указанными в TS36.104, Приложение E [1]. Этот пример измеряет пик, и RMS EVM усреднено по 2 системам координат входного сигнала.
Среднее значение EVM измеряется в двух местоположениях во времени (низком и высоком), где низкое и высокое местоположения соответствуют выравниванию окна FFT в пределах начала и конца циклического префикса. Для LTE Toolbox™ требуется, чтобы низкое и высокое местоположения были заданы как часть длины циклического префикса.
Обратите внимание, что для RMC с несколькими антеннами, измерение EVM предполагает, что каждая антенна приемного сигнала непосредственно соединена с каждой антенной сигнала передачи, как показано TS36.141 приложении I.1.1 [2]. В соответствии с требованиями к измерению EVM, определенными в TS 36.104 Приложение E [1], в декодировании PDSCH используется только эквализация с нулевым принуждением. Для получения рисунка приема PDSCH, который включает полное декодирование MIMO, смотрите пример Камеры Search, MIB и SIB1 Recovery.
Наконец, измеряется 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 демодуляции формы волны. The resample
функция используется для повторной выборки захваченного сигнала с этой частотой дискретизации.
Выполните синхронизацию: Оценка смещения частоты и коррекция и временная синхронизация выполняются с использованием тех же шагов, которые показаны ранее в этом примере.
Измерение 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 TS 36.101 «Радиопередача и прием пользовательского оборудования (UE)»