Этот пример показывает процедуру измерения CSI-RSRP, CSI-RSSI и CSI-RSRQ для тестовой среды, как описано в приложении A.4.6.3.3 TS 38.133, при помощи сигнала ссылки информации о состоянии канала от 5G Toolbox™.
В 5G NR три типа основанных на CSI-RS ссылочных измерений сигнала, как задано в Разделах TS 38.215 5.1.2 и 5.1.4, включают:
CSI-RSRP (ссылка CSI сигнализируют о мощности приемника): CSI-RSRP задан как линейное среднее значение по вкладам степени элементов ресурса портов антенны, которые несут CSI-RS, сконфигурированный для измерений RSRP. Это измерение выполняется через количество N блоков ресурса (пропускная способность измерения). Для этого измерения используется CSI-RS, переданный на порте (портах) антенны 3000 или 3000 и 3001.
CSI-RSSI (CSI полученный индикатор силы сигнала): CSI-RSSI задан как линейное среднее значение общей мощности приемника, наблюдаемой только в символах OFDM, в которых присутствует CSI-RS. Это измерение также выполняется через количество N блоков ресурса (пропускная способность измерения). CSI-RSSI включает степень из источников, таких как co-канал служащие и неслужащие ячейки, смежная интерференция канала и тепловой шум. Для этого измерения используется CSI-RS, переданный на порте антенны 3000.
CSI-RSRQ (ссылка CSI сигнализируют о полученном качестве): CSI-RSRQ задан как, .
Цели этих измерений включают:
Выбор ячейки и повторный выбор
Мобильность и управление передачей
Излучите управление (корректировка луча и излучите восстановление),
Этот пример конфигурирует только CSI-RS от тестовой среды.
Настройка поставщика услуг
Создайте объект настройки поставщика услуг занятие пропускной способности на 10 МГц с интервалом поднесущей на 15 кГц согласно настройке 1 в таблице A.4.6.3.3.1-1 TS 38.133.
carrier = nrCarrierConfig; carrier.NSlot = 1; carrier.NSizeGrid = 52;
Настройка CSI-RS
Согласно таблице A.4.6.3.3.2-1 TS 38.133 тестовой среды, оборудование пользователя (UE) сконфигурировано с одним набором ресурсов CSI-RS (CSI-RS 1.2 FDD), состоя из 2 ресурсов CSI-RS.
csirs = nrCSIRSConfig; % CSI-RS resource #0 #1 csirs.CSIRSType = {'nzp', 'nzp'}; csirs.CSIRSPeriod = {[10 1], [10 1]}; csirs.RowNumber = [1 1]; % Single port (3000) CSI-RS resources csirs.Density = {'three', 'three'}; csirs.SymbolLocations = {6, 10}; csirs.SubcarrierLocations = {0, 0}; csirs.NumRB = [52, 52]; % Measurement bandwidth in terms of number of resource blocks
Сгенерируйте символы CSI-RS и индексы для заданного поставщика услуг и параметров конфигурации CSI-RS с выходным форматом ресурса как 'ячейка'. Этот выходной формат ресурса обеспечивает способ идентифицировать выходные параметры исключительно для каждого ресурса CSI-RS в наборе ресурсов. Можно также применить различные уровни мощности к каждому ресурсу CSI-RS.
ind = nrCSIRSIndices(carrier,csirs,'OutputResourceFormat','cell'); sym = nrCSIRS(carrier,csirs,'OutputResourceFormat','cell');
Настройте и шумовые степени сигнала как описано в таблице A.4.6.3.3.2-2 TS 38.133. Согласно примечанию 2 в таблице A.4.6.3.3.2-2 TS 38.133, интерференции от других ячеек и шуме из других источников моделируется как аддитивный белый Гауссов шум (AWGN) соответствующей степени Noc
.
SINRdB0 = 0; % For CSI-RS #0 SINRdB1 = 3; % For CSI-RS #1 NocdBm = -94.65; NocdB = NocdBm - 30; Noc = 10^(NocdB/10);
Вычислите масштабирование степени ресурсов CSI-RS при помощи значений SINR.
% Power scaling of CSI-RS resource #0 SINR0 = 10^(SINRdB0/10); % linear Es/Noc Es0 = SINR0*Noc; % Power scaling of CSI-RS resource #1 SINR1 = 10^(SINRdB1/10); % linear Es/Noc Es1 = SINR1*Noc;
Вычислите размерности сетки поставщика услуг и создайте пустую сетку для одного паза.
ports = max(csirs.NumCSIRSPorts); gridSize = [carrier.NSizeGrid*12 carrier.SymbolsPerSlot ports]; grid = zeros(gridSize);
Примените значения масштабирования степени к ресурсам CSI-RS и сопоставьте их на сетку.
grid(ind{1}) = sqrt(Es0)*sym{1};
grid(ind{2}) = sqrt(Es1)*sym{2};
% Plot the carrier grid for two CSI-RS resources
plotGrid(gridSize,ind)
Получите сопутствующую информацию модуляции OFDM и выполните модуляцию OFDM, чтобы сгенерировать форму волны временного интервала.
% Get OFDM modulation related information gnb.NRB = carrier.NSizeGrid; gnb.SubcarrierSpacing = carrier.SubcarrierSpacing; gnb.CyclicPrefix = carrier.CyclicPrefix; OFDMInfo = hOFDMInfo(gnb); % Perform OFDM modulation txWaveform = hOFDMModulate(gnb,grid);
Рассмотрите условие распространения как AWGN, как задано в таблице A.4.6.3.3.2-1 TS 38.133.
% Generate the noise rng('default'); % Set RNG state for repeatability N0 = sqrt(Noc/(2*double(OFDMInfo.Nfft))); noise = N0*complex(randn(size(txWaveform)),randn(size(txWaveform))); % Add AWGN to the transmitted waveform rxWaveform = txWaveform + noise;
Выполните демодуляцию OFDM на полученной форме волны временного интервала, чтобы получить полученный массив элемента ресурса.
rxGrid = hOFDMDemodulate(gnb,rxWaveform);
Наконец, выполните CSI-RSRP, CSI-RSSI и измерения CSI-RSRQ на ресурсах CSI-RS, существующих в полученной сетке, при помощи файла помощника hCSIRSMeasurements.
meas = hCSIRSMeasurements(carrier,csirs,rxGrid)
meas = struct with fields:
RSRPPerAntennaPerResource: [3.8391e-13 7.4765e-13]
RSSIPerAntennaPerResource: [2.7356e-10 3.1971e-10]
RSRQPerAntennaPerResource: [0.0730 0.1216]
RSRP: [3.8391e-13 7.4765e-13]
RSSI: [2.7356e-10 3.1971e-10]
RSRQ: [0.0730 0.1216]
RSRPdBm: [-94.1578 -91.2630]
RSSIdBm: [-65.6295 -64.9524]
RSRQdB: [-11.3682 -9.1506]
% Plot RSRPdBm, RSSIdBm and RSRQdB measurements for all CSI-RS resources
hPlotCSIRSMeasurements(meas)
Можно сравнить измеренные значения CSI-RSRP двух ресурсов CSI-RS, представленных выходным полем RSRPdBm
к стандартным заданным значениям, данным в таблице A.4.6.3.3.2-2 TS 38.133.
function plotGrid(gridSize,csirsInd) % plotGrid(GRIDSIZE,CSIRSIND) plots the carrier grid of size GRIDSIZE % by populating the grid with CSI-RS symbols of multiple resources % indicated by a cell array of CSI-RS indices CSIRSIND. figure() cmap = colormap(gcf); % Considering the following values for two CSI-RS resources and they need % to be updated based on the number of CSI-RS resources names = {'CSI-RS resource #0','CSI-RS resource #1'}; chpval = {20,2}; chpscale = 0.25*length(cmap); % Scaling factor tempGrid = zeros(gridSize); tempGrid(csirsInd{1}) = chpval{1}; tempGrid(csirsInd{2}) = chpval{2}; image(chpscale*tempGrid(:,:,1)); % Multiplied with scaling factor for better visualization axis xy; clevels = chpscale*[chpval{:}]; N = length(clevels); L = line(ones(N),ones(N),'LineWidth',8); % Generate lines % Index the color map and associate the selected colors with the lines set(L,{'color'},mat2cell(cmap( min(1+clevels,length(cmap) ),:),ones(1,N),3)); % Set the colors according to cmap % Create legend legend(names{:}); title('Carrier Grid Containing CSI-RS') xlabel('OFDM Symbols'); ylabel('Subcarriers'); end
[1] 3GPP TS 38.133. “NR; Требования для поддержки радио-управления ресурсами”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
[2] 3GPP TS 38.215. “NR; измерения Физического уровня”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.