Нисходящий канал 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 и 1-е и 2-е смежные несущие UTRA с самое большее 85%-м заполнением полосы пропускания

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

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

  • UTRA ACLR вычисляется с помощью фильтра Корневого косинуса повышения (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 поднесущая имеет форму sinc в частотном диапазоне). Для того, чтобы достигнуть хорошей эффективности 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 и 1-е и 2-е смежные несущие UTRA; частота дискретизации, используемая внутренне для измерений ACLR, поддержит эту полосу пропускания с самое большее 85%-м заполнением полосы пропускания.

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

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

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

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

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

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

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

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

hACLRResults.m отображает ACLR и строит смежные степени канала. Согласно таблице 6.6.2.1-1 [1] TS 36.104, минимум потребовал, чтобы 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 как описано в таблице 6.2-1 TS 36.104 и степени установлен в 38.0dBm (~21.5dBm/100kHz). Соответствующая спектральная маска обеспечивается в таблице 6.6.3.2C-5 TS 36.104 "Средний диапазон BS операционная полоса нежелательные пределы эмиссии для 5, 10, полоса пропускания канала на 15 и 20 МГц, 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 см. Измерение Величины вектора ошибок (EVM) PDSCH. Согласно таблице 6.5.2-1 [1] TS 36.104, максимальный 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) и прием"