5G нисходящий канал NR измерение ACLR

В этом примере показано, как измерить смежное отношение утечки канала (ACLR) для 5G тестовые модели NR (NR-TMs) в частотном диапазоне 1 (FR1) и FR2 с помощью 5G Toolbox™.

Введение

ACLR является отношением отфильтрованной средней степени, сосредоточенной на присвоенной частоте канала к отфильтрованной средней степени, сосредоточенной на смежной частоте канала. Этот пример выполняет измерения ACLR для формы волны нисходящего канала NR, как задано в Разделе TS 38.104 6.6.3. Чтобы смоделировать эффект внеполосной спектральной эмиссии, пример применяет спектральный перерост на сверхдискретизированную форму волны при помощи модели мощного усилителя (HPA).

Сгенерируйте форму волны NR-TM

Используйте класс MATLAB hNRReferenceWaveformGenerator, чтобы сгенерировать 5G NR-TMs для FR1 и FR2. Можно сгенерировать формы волны NR-TM путем определения этих параметров:

  • Имя ТМ NR

  • Полоса пропускания канала

  • Расстояние между поднесущими

  • Режим Duplexing

Для получения дополнительной информации смотрите 5G NR-TM и пример Генерации сигналов FRC.

% Select the NR-TM waveform parameters
nrtm = "NR-FR1-TM1.2";  % NR-TM name and properties
bw = "20MHz";  % Channel bandwidth
scs = "15kHz";  % Subcarrier spacing
dm = "FDD";  % Duplexing mode

% Create generator object for the above NR-TM
tmWaveGen = hNRReferenceWaveformGenerator (nrtm, bw, scs, dm);

% Ensure no windowing to highlight impact of filtering on ACLR
tmWaveGen = makeConfigWritable (tmWaveGen);
tmWaveGen.Config.WindowingPercent = 0;    

% Generate waveform
[tmWaveform, tmWaveInfo] = generateWaveform (tmWaveGen);
samplingRate = tmWaveInfo.Info.SamplingRate;   % Waveform sampling rate (Hz)

% Visualize the associated PRB and subcarrier resource grids
displayResourceGrid (tmWaveGen);

Отображение результатов

  • Связанная сетка ресурса PRB (верхняя часть) изображает выделение различных компонентов (PDCCH, PDSCH, CORESET и Пакет SS) в каждом BWP. Сетка не строит амплитуду сигналов только местоположения сигнала в сетке.

  • SCS определенные сетки ресурса несущей (середина) наряду с минимальными защитными полосами, выровненными относительно полной полосы пропускания канала.

  • Сетка ресурса поднесущей (нижняя часть) указывает на амплитудные уровни сгенерированной формы волны. Если всего один цвет показывают, все компоненты имеют ту же амплитуду.

Вычислите параметры ACLR

Функция помощника hACLRParametersNR.m вычисляет параметры, требуемые для измерения ACLR.

Функция определяет необходимую сверхдискретизацию. Если входная частота дискретизации формы волны (samplingRate) не достаточно, чтобы охватить целую полосу пропускания (aclr.BandwidthACLR) из смежных каналов (обеспечение максимума 85%-го заполнения полосы пропускания), можно использовать сверхдискретизированную версию формы волны для вычислений ACLR. Фактором повышающей дискретизации является aclr.OSR.

aclrParameters = hACLRParametersNR(tmWaveGen.Config);
disp(aclrParameters);
            Bandwidth: 20000000
    SubcarrierSpacing: 15000
      BandwidthConfig: 19080000
        BandwidthACLR: 100000000
                  OSR: 4
         SamplingRate: 122880000

Отфильтруйте форму волны, чтобы улучшить ACLR

Сгенерированная форма волны не имеет никакой фильтрации, таким образом, существует значительная внеполосная спектральная эмиссия вследствие неявного формирования меандра в модуляции OFDM (каждая OFDM поднесущая имеет форму sinc в частотном диапазоне). Фильтрация формы волны улучшает производительность ACLR.

Спроектируйте фильтр с полосой перехода, которая запускается в ребре занятой полосы пропускания передачи (aclr.BandwidthConfig) и остановки в ребре полной полосы пропускания канала (aclr.Bandwidth). Этот фильтр не включает изменения уровня, он только формирует спектр в исходной полосе пропускания формы волны.

% Design filter
lpFilt = designfilt('lowpassfir',...
    'PassbandFrequency',aclrParameters.BandwidthConfig/2,...
    'StopbandFrequency',aclrParameters.Bandwidth/2,...
    'PassbandRipple',0.1,...
    'StopbandAttenuation',80,...
    'SampleRate',samplingRate);

% Apply filter
filtTmWaveform = filter(lpFilt,tmWaveform);

Сверхдискретизация и модель нелинейности HPA

Создать сигнал, способный к представлению 1-х и 2-х смежных несущих, например, представлять aclr.BandwidthACLR с самое большее 85%-м заполнением полосы пропускания сверхдискретизируйте форму волны NR. После сверхдискретизации сигнала используйте модель HPA, чтобы сгенерировать внеполосное искажение. Например, чтобы симулировать поведение HPA, можно использовать метод Rapp, который широко используется в приложениях беспроводной связи, чтобы сгенерировать искажение AM. В MATLAB® можно использовать объект Memoryless Nonlinearity смоделировать метод Rapp. Чтобы подсветить удар фильтрации на измерениях ACLR, примените сверхдискретизацию и нелинейность HPA сначала к отфильтрованному сигналу NR и затем к тому же сигналу NR без фильтрации.

% Apply required oversampling
resampled = resample(tmWaveform,aclrParameters.OSR,1);           % Not filtered
filtResampled = resample(filtTmWaveform,aclrParameters.OSR,1);   % Filtered

% Create and configure a memoryless nonlinearity to model the amplifier
nonLinearity = comm.MemorylessNonlinearity;
nonLinearity.Method = 'Rapp model';
nonLinearity.Smoothness = 3;              % p parameter          
nonLinearity.LinearGain = 0.5;            % dB
nonLinearity.OutputSaturationLevel = 2;   % It limits the output signal level  

% Signal conditioning to control the HPA input back-off level
resampled = resampled/max(abs(resampled));                % Not filtered
filtResampled = filtResampled/max(abs(filtResampled));    % Filtered

% Apply the amplifier model to the NR waveforms
txWaveform = nonLinearity(resampled);           % Not filtered
txFiltWaveform = nonLinearity(filtResampled);   % Filtered

Вычислите NR ACLR

hACLRMeasurementNR.m функция помощника измеряет NR ACLR с помощью квадратного окна на смежных каналах. Эта функция берет ДПФ сигнала измерения и использует энергию соответствующих интервалов вычислить смежные степени канала.

% Calculate NR ACLR
aclr = hACLRMeasurementNR(aclrParameters,txWaveform);           % Not filtered
filtAclr = hACLRMeasurementNR(aclrParameters,txFiltWaveform);   % Filtered

hACLRMeasurementNR.m функция помощника возвращает измерения ACLR в структуре с этими полями:

  • Bandwidth: полоса пропускания канала сопоставлена с tmWaveform, в Герц. Это - полная полоса пропускания присвоенного канала.

  • SubcarrierSpacing: расстояние между поднесущими сопоставлено с tmWaveform, в Герц.

  • BandwidthConfig: настройка полосы пропускания передачи сопоставлена с tmWaveform, в Герц. Это - полоса пропускания в полосе пропускания канала, которая содержит активные поднесущие.

  • BandwidthACLR: полоса пропускания, требуемая представлять 1-е и 2-е смежные несущие; частота дискретизации, используемая внутренне для измерений ACLR, поддержит эту полосу пропускания с самое большее 85%-м заполнением полосы пропускания.

  • OSR: целочисленное отношение сверхдискретизации входа tmWaveform требуемый создать сигнал, способный к представлению 1-х и 2-х смежных несущих.

  • SamplingRate: частота дискретизации внутреннего измерения сигнализирует, от которого вычисляется ACLR. Если OSR = 1, этот сигнал является входной формой волны; если OSR > 1, этот сигнал является входной формой волны, сверхдискретизированной OSR. Поэтому: aclr.SamplingRate = OSR*samplingRate.

  • CarrierFrequency: вектор из NR сосредотачивает частоты, в Герц, для смежных каналов [-2,-1,1,2].

  • SignalPowerdBm: степень, в децибелах относительно 1 мВт в 1 Оме, входа в канале NR интереса, например, в квадратном фильтре полосы пропускания aclr.BandwidthConfig сосредоточенный на уровне 0 Гц.

  • ACLRdB: вектор из NR ACLRs, в децибелах относительно aclr.SignalPowerdBm, измеренный для смежных каналов [-2,-1,1,2].

Вычислите величину вектора ошибок

hNRPDSCHEVM.m функция помощника измеряет величину вектора ошибок (EVM) форм волны фиксированного ссылочного канала (FRC) или NR-TM. Функция вычисляет среднеквадратичное значение (RMS) и пиковый EVMs на символ OFDM, паз, поднесущую и полный EVM.

% EVM configuration parameters  
evmCfg.PlotEVM = false;
evmCfg.SampleRate = aclrParameters.SamplingRate;
evmCfg.Label = tmWaveGen.ConfiguredModel{1};

% Measure the EVM related statistics for the transmitted waveform without filtering
evmInfo = hNRPDSCHEVM(tmWaveGen.Config,txWaveform,evmCfg)
 RMS EVM, Peak EVM, slot 0: 0.105 0.217%
 RMS EVM, Peak EVM, slot 1: 0.106 0.223%
 RMS EVM, Peak EVM, slot 2: 0.105 0.219%
 RMS EVM, Peak EVM, slot 3: 0.105 0.217%
 RMS EVM, Peak EVM, slot 4: 0.105 0.215%
 RMS EVM, Peak EVM, slot 5: 0.105 0.221%
 RMS EVM, Peak EVM, slot 6: 0.105 0.216%
 RMS EVM, Peak EVM, slot 7: 0.106 0.222%
 RMS EVM, Peak EVM, slot 8: 0.105 0.219%
 RMS EVM, Peak EVM, slot 9: 0.103 0.216%
Averaged RMS EVM frame 0: 0.105%
Averaged overall RMS EVM: 0.105%
Overall Peak EVM = 0.22297%
evmInfo = struct with fields:
     SubcarrierRMS: [1272×1 double]
    SubcarrierPeak: [1272×1 double]
         SymbolRMS: [140×1 double]
        SymbolPeak: [140×1 double]
           SlotRMS: [10×1 double]
          SlotPeak: [10×1 double]
           EVMGrid: [1272×140 double]
        OverallEVM: [1×1 struct]

% Measure the EVM related statistics for the transmitted waveform with filtering
evmInfoFilt = hNRPDSCHEVM(tmWaveGen.Config,txFiltWaveform,evmCfg);
 RMS EVM, Peak EVM, slot 0: 0.242 0.624%
 RMS EVM, Peak EVM, slot 1: 0.252 0.626%
 RMS EVM, Peak EVM, slot 2: 0.238 0.653%
 RMS EVM, Peak EVM, slot 3: 0.230 0.663%
 RMS EVM, Peak EVM, slot 4: 0.259 0.600%
 RMS EVM, Peak EVM, slot 5: 0.273 0.761%
 RMS EVM, Peak EVM, slot 6: 0.245 0.616%
 RMS EVM, Peak EVM, slot 7: 0.246 0.662%
 RMS EVM, Peak EVM, slot 8: 0.230 0.617%
Averaged overall RMS EVM: 0.246%
Overall Peak EVM = 0.76051%

Отображение результатов

hACLRResultsNR.m функция помощника отображает NR ACLR и строит спектр NR и смежные отношения утечки канала.

Не фильтрованный

Согласно Разделу TS 38.104 6.6.3.2, минимум потребовал, чтобы ACLR для проводимых измерений составил 45 дБ. Когда некоторые из этих значений ACLR ниже, чем 45 дБ, они не находятся в пределах требований.

hACLRResultsNR(aclr,txWaveform,'(not Filtered)');
            Bandwidth: 20000000
    SubcarrierSpacing: 15000
      BandwidthConfig: 19080000
        BandwidthACLR: 100000000
                  OSR: 4
         SamplingRate: 122880000
     CarrierFrequency: [-40000000 -20000000 20000000 40000000]
       SignalPowerdBm: 19.3990
               ACLRdB: [78.2467 40.8353 40.3653 79.5133]

Фильтрованный

Эффективность улучшается, когда сгенерированная форма волны отфильтрована. Результаты ACLR с отфильтрованной формой волны выше, чем минимальное необходимое значение.

hACLRResultsNR(filtAclr,txFiltWaveform,'(Filtered)');
            Bandwidth: 20000000
    SubcarrierSpacing: 15000
      BandwidthConfig: 19080000
        BandwidthACLR: 100000000
                  OSR: 4
         SamplingRate: 122880000
     CarrierFrequency: [-40000000 -20000000 20000000 40000000]
       SignalPowerdBm: 19.3963
               ACLRdB: [78.2486 71.8595 71.7697 79.5098]

Приложение

Этот пример использует следующие функции помощника и классы:

  • hACLRMeasurementNR.m

  • hACLRParametersNR.m

  • hACLRResultsNR.m

  • hNRReferenceWaveformGenerator.m

Ссылки

[1] 3GPP TS 38.104. “NR; передача радио Базовой станции (BS) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

Похожие темы