Измерение коэффициента Степени утечек соседнего канала LTE (ACLR)

Этот пример показывает, как Отношение Степени Смежного Канала (ACLR) может быть измерено в сигнале нисходящего Опорного Канала Измерения (RMC) с использованием LTE Toolbox™.

Введение

Этот пример выполняет измерения коэффициента утечки смежного канала (ACLR) в соответствии с TS36.104, раздел 6.6.2 [1] для формы волны нисходящего канала. ACLR используется как мера величины утечки степени в смежные каналы и определяется как отношение фильтрованной средней степени, центрированной на назначенной частоте канала, к фильтрованной средней степени, центрированной на смежной частоте канала. Минимальные требования соответствия ACLR приведены для несущих E-UTRA (LTE) и несущих UTRA (W-CDMA).

Пример структурирован следующим образом:

  • Нисходящая форма волны генерируется с помощью строения Опорного Канала Измерения (RMC)

  • Параметры для измерений ACLR вычисляются, включая необходимую скорость сверхчастоты дискретизации, чтобы гарантировать сигнал, способный представлять как E-UTRA, так и UTRA 1-й и 2-й смежные несущие с самое большее 85% заполнением полосы пропускания

  • Форма волны переизбирается по мере необходимости

  • E-UTRA ACLR вычисляется с помощью квадратного фильтра измерения

  • UTRA ACLR вычисляется с использованием фильтра Root Raise Cosine (RRC)

  • Отображаются измерения ACLR

Генерация сигналов

Нисходящий RMC используется для измерения ACLR и создается с использованием lteRMCDL и lteRMCDLTool.

% Generate the downlink configuration structure for RMC R.6
cfg = lteRMCDL('R.6');

% Generate the waveform which is a T-by-P matrix where T is the number of
% time-domain samples and P is the number of receive antennas
[waveform, ~, info] = lteRMCDLTool(cfg, [1; 0; 0; 1]);

% Write the sampling rate and chip rate to the configuration structure to
% allow the calculation of ACLR parameters
cfg.SamplingRate = info.SamplingRate;
cfg.UTRAChipRate = 3.84;              % UTRA chip rate in MCPS

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

Параметры, необходимые для измерения ACLR, вычисляются с помощью вспомогательной функции hACLRParameters.m

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

  • Определение параметров UTRA; скорости чипов и полосы пропускания.

% Calculate ACLR measurement parameters
[aclr, nRC, R_C, BWUTRA] = hACLRParameters(cfg);

Выполните фильтрацию формы волны, чтобы улучшить ACLR

Форма волны, сгенерированная выше, не имеет фильтрации, поэтому существуют значительные из полосы спектральных выбросов из-за неявного прямоугольного формирования импульса в модуляции OFDM (каждая поднесущая OFDM имеет форму синуса в частотный диапазон). В порядок достижения хорошей эффективности ACLR, фильтрация должна применяться к форме волны. Фильтр разработан с полосой переходов, которая начинается с ребра занятой полосы пропускания передачи (aclr.BandwidthConfig) и останавливается на краю общей полосы пропускания канала (aclr.Bandwidth). Этот фильтр не включает изменение скорости, он просто формирует спектр в пределах исходной полосы пропускания формы волны. Фильтр сначала проектируется, затем применяется к форме волны.

% Design filter
firFilter = dsp.LowpassFilter();
firFilter.SampleRate = info.SamplingRate;
firFilter.PassbandFrequency = aclr.BandwidthConfig/2;
firFilter.StopbandFrequency = aclr.Bandwidth/2;

% Apply filter
waveform = firFilter(waveform);

Вычисление E-UTRA и UTRA ACLR

ACLR для E-UTRA и UTRA измеряется с помощью двух вспомогательных функций:

  • hACLRMeasurementEUTRA.m измеряет E-UTRA ACLR с помощью квадратного окна на смежных каналах. Принимается ДПФ сигнала измерения и энергия соответствующих интервалов, используемых для вычисления степеней смежного канала.

  • hACLRMeasurementUTRA.m измеряет UTRA ACLR с помощью RRC фильтра на смежных каналах с коэффициентом отката 0,22 и пропускной способностью, равной скорости чипа.

% Apply required oversampling
resampled = resample(waveform,aclr.OSR,1);

% Calculate E-UTRA ACLR
aclr = hACLRMeasurementEUTRA(aclr, resampled);

% Calculate UTRA ACLR
aclr = hACLRMeasurementUTRA(aclr, resampled, nRC, R_C, BWUTRA);

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

Результаты ACLR возвращаются в структуре aclr. aclr содержит поля:

  • Bandwidth : Пропускная способность канала, сопоставленная с cfg.NDLRB или cfg.NULRB, в Герце. Это - общая полоса пропускания назначенного канала.

  • BandwidthConfig : Строение полосы пропускания передачи, сопоставленная с cfg.NDLRB или cfg.NULRB, в Герце. Это ширина полосы пропускания канала, которая содержит активные поднесущие.

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

  • OSR : Целое число коэффициента избыточной дискретизации входа waveform требуется для создания сигнала, способного представлять как E-UTRA, так и UTRA 1-ю и 2-ю смежные несущие, т.е. представлять aclr.BandwidthACLR с заполнением пропускной способности не более 85%.

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

  • EUTRAPowerdBm : Степень, в децибелах относительно 1mW в 1ОМ, вход в интересующем канале E-UTRA, т.е. в квадратном фильтре полосы пропускания aclr.BandwidthConfig с центром в 0Hz.

  • EUTRAdB : Вектор ACLR E-UTRA, в децибелах относительно aclr.EUTRAPowerdBm, измеренный для смежных каналов [-2, -1, 1, 2].

  • EUTRACenterFreq: Вектор центральных частот E-UTRA, в Герце, для смежных каналов [-2, -1, 1, 2].

  • UTRAPowerdBm Вектор степеней в децибелах относительно 1mW в 1ОМ входе в интересующем канале UTRA; каждый элемент вектора соответствует каждой из настроенных частот чипов UTRA, т.е. UTRAPowerdBm(i) обеспечивает степень входа в RRC-фильтре, предназначенном для R=cfg.UTRAChipRate(i) Mchips/s, alpha=0.22, с центром 0 Гц.

  • UTRAdB : Матрица ACLR UTRA, в децибелах относительно aclr.EUTRAPowerdBm. В столбцах приведены значения для смежных каналов [-2, -1, 1, 2], а в строках приведены значения для каждой из настроенных частот чипов UTRA. Обратите внимание, что, как требуется стандартом, эти ACLR относятся к aclr.EUTRAPowerdBm, не aclr.UTRAPowerdBm.

  • UTRACenterFreq : Матрица центральных частот UTRA, в Герце. В столбцах приведены значения для смежных каналов [-2, -1, 1, 2], а в строках приведены значения для каждой из настроенных частот чипов UTRA.

hACLRResults.m отображает ACLR и строит графики степеней смежных каналов. Согласно TS 36.104 Таблица 6.6.2.1-1 [1], минимальный необходимый ACLR для базовой станции в парном спектре составляет 45 дБ. Поскольку результаты ACLR превышают 45 дБ, они соответствуют требованиям.

minACLR = 45;
hACLRResults(aclr,minACLR);
          Bandwidth: 5000000
    BandwidthConfig: 4500000
      BandwidthACLR: 25000000
                OSR: 4
       SamplingRate: 30720000
    EUTRACenterFreq: [-10000000 -5000000 5000000 10000000]
      EUTRAPowerdBm: -0.5918
            EUTRAdB: [79.2357 72.1187 72.2046 79.2157]
       UTRAPowerdBm: -1.3397
             UTRAdB: [80.3117 72.5323 72.5011 80.3540]
     UTRACenterFreq: [-10000000 -5000000 5000000 10000000]

Рабочая полоса нежелательных выбросов (спектральная маска)

Спектр формы волны отображается в сочетании с передающей спектральной маской, определенной в TS 36.104. Этот пример принимает, что форма волны соответствует BS средней области значений, как описано в таблице 36,104 TS 6,2-1 и степень устанавливается на 38 0 д Бм (~ 21 5 д Бм/100 кГц). Соответствующая спектральная маска приведена в TS 36.104 Таблица 6.6.3.2C-5 «Пределы нежелательной эмиссии рабочей полосы BS средней области значений для 5, 10, 15 и 20MHz полосы пропускания канала, 31 < P_max,c < = 38dBm.»

% Adjust waveform power to maximum rated output power
P_max = 38.0; % TS 36.104 Table 6.2-1
bsWaveform = resampled * 10^((P_max-aclr.EUTRAPowerdBm)/20);

% Create a spectrum analyzer, configure it for the waveform sampling rate
% and a resolution bandwidth of 100kHz, configure and display the spectral
% mask in TS 36.104 Table 6.6.3.2C-5, and perform spectrum analysis of the
% waveform
rbw = 100e3; % resolution bandwidth
vbw = 30e3;  % video bandwidth
spectrumAnalyzer = dsp.SpectrumAnalyzer;
spectrumAnalyzer.Name = 'Operating Band Unwanted Emissions';
spectrumAnalyzer.Title = spectrumAnalyzer.Name;
spectrumAnalyzer.SampleRate = info.SamplingRate * aclr.OSR;
spectrumAnalyzer.RBWSource = 'Property';
spectrumAnalyzer.RBW = rbw;
spectrumAnalyzer.AveragingMethod = 'Exponential';
spectrumAnalyzer.ForgettingFactor = hvbw2ff(vbw,spectrumAnalyzer.SampleRate);

spectrumAnalyzer.ShowLegend = true;
spectrumAnalyzer.ChannelNames = {'Transmit waveform'};
spectrumAnalyzer.YLimits = [-120 40];

% "Frequency offset of measurement filter center frequency" in table
f_offset = [0.05; 5.05; 10.05; 10.05] * 1e6;

% "Minimum requirement" in table (dBm/100kHz)
mask_power = [(P_max-53); (P_max-60)*[1; 1]; min(P_max-60,-25)*[1; 1];];
% Add vertical mask segment at the band edge; no particular in-band power
% mask is required to be met for this test
f_offset = [repmat(f_offset(1),2,1); f_offset];
mask_power = [NaN; spectrumAnalyzer.YLimits(2); mask_power];

% Extend mask to analysis bandwidth edge, assumed to be closer to the edge
% frequency of the carrier of interest than f_offset_max (the offset to the
% frequency 10MHz outside the downlink operating band)
mask_freq = [f_offset + aclr.Bandwidth/2; spectrumAnalyzer.SampleRate/2];

% Add a mirrored version of the mask to cover negative frequencies, and
% enable the mask
mask_power = [flipud(mask_power); mask_power];
mask_freq = [-flipud(mask_freq); (mask_freq)];
spectrumAnalyzer.SpectralMask.EnabledMasks = 'Upper';
spectrumAnalyzer.SpectralMask.UpperMask = [mask_freq, mask_power];

% Perform spectrum analysis
spectrumAnalyzer(bsWaveform);

Выполните понижающую дискретизацию и измерьте EVM

Наконец, форма волны уменьшается и повторно синхронизируется, и выполняется измерение EVM. Для получения дополнительной информации о выполнении измерений EVM, смотрите Измерение величины вектора ошибок PDSCH (EVM). Согласно TS 36.104 Таблица 6.5.2-1 [1], максимальное значение EVM при 64QAM созвездия составляет 8%. Поскольку общее значение EVM, около 0,78%, ниже 8%, это измерение соответствует требованиям.

downsampled = resample(resampled,1,aclr.OSR);
offset = lteDLFrameOffset(cfg,downsampled,'TestEVM');
cec.PilotAverage = 'TestEVM';
evmsettings.EnablePlotting = 'Off';
evm = hPDSCHEVM(cfg,cec,downsampled(1+offset:end,:),evmsettings);
Low edge EVM, subframe 0: 0.741%
High edge EVM, subframe 0: 0.707%
Low edge EVM, subframe 1: 0.885%
High edge EVM, subframe 1: 0.789%
Low edge EVM, subframe 2: 0.785%
High edge EVM, subframe 2: 0.699%
Low edge EVM, subframe 3: 0.698%
High edge EVM, subframe 3: 0.667%
Low edge EVM, subframe 4: 0.817%
High edge EVM, subframe 4: 0.640%
Low edge EVM, subframe 6: 0.840%
High edge EVM, subframe 6: 0.747%
Low edge EVM, subframe 7: 0.732%
High edge EVM, subframe 7: 0.696%
Low edge EVM, subframe 8: 0.742%
High edge EVM, subframe 8: 0.745%
Averaged overall EVM: 0.783%

Дальнейшие исследования

Можно изменить части этого примера, чтобы вычислить ACLR (согласно TS36.101, раздел 6.6.2.3 [2]) для восходящего канала при помощи lteRMCUL на месте lteRMCDL чтобы сгенерировать форму волны.

Приложение

В этом примере используются следующие вспомогательные функции:

Избранная библиография

  1. 3GPP TS 36.104 «Радиопередача и прием базовой станции (BS)»

  2. 3GPP TS 36.101 «Радиопередача и прием пользовательского оборудования (UE)»