Оценка результатов деятельности ячейки NR с интегрированием физического уровня

Этот пример демонстрирует интегрирование высокого качества физический уровень 5G Toolbox™ в узле Нового радио (NR) 5G. Пример демонстрирует ячейку NR 5G, состоящую из набора оборудования пользователя (UE), соединенного с gNB. Стек NR на узлах включает управление линией радиосвязи (RLC), среднее управление доступом (MAC) и физические слои (PHY). Пример также демонстрирует, образовывают канал ухудшения, которые можно настроить. Поскольку более быстрый MAC фокусировал симуляции, которые можно переключить на слой PHY передачи, или можно объединяться с пользовательским слоем PHY.

Введение

Пример рассматривает следующие операции в gNB и UEs, которые упрощают восходящий канал (UL) и передают в нисходящем направлении передачи (DL) и приемы.

Полный PUSCH или пакет PDSCH передаются в первом символе его выделенного набора символов. Приемник обрабатывает пакет в символе сразу после последнего символа в выделенном наборе символов.

Этот пример модели:

  • Паз базирующимся и символ базирующийся DL и планирование UL.

  • Конфигурируемое расстояние между поднесущими, приводящее к различной длительности паза.

  • Выделение, состоящее из нескольких несмежных участков, ресурсов частотного диапазона в терминах ресурса блокирует группы (RBGs).

  • Асинхронный адаптивный гибридный автоматический повторный запрос (HARQ) механизм в UL и DL.

  • Опорный сигнал демодуляции PUSCH (DM-RS) и PDSCH DM-RS.

  • Качественное измерение канала DL UEs на основе CSI-RS получено от gNB. По умолчанию элемент ресурса CSI-RS передается в каждом пазе для каждого блока ресурса (RB) в полосе пропускания DL для всего UEs. Та же настройка CSI-RS применима ко всему UEs. Пример не демонстрирует звучание опорным сигналом (SRS) для измерения качества канала UL. Качество канала UL принято эквивалентно качество канала DL, измеренное на CSI-RS.

  • Потери при распространении в свободном пространстве (FSPL), аддитивный белый Гауссов шум (AWGN) и распространение кластеризованной линии задержки (CDL) образовывают канал модель.

  • Настройка антенны одного входа одного выхода (SISO).

  • Одна часть полосы пропускания через целую несущую.

Управляйте пакетами, такими как присвоение UL, присвоение DL, буферный отчет о состоянии (BSR), обратная связь PDSCH и отчет качественной характеристики канала (CQI), приняты, чтобы быть отправленным из полосы, то есть, без потребности ресурсов для передачи и гарантировал безошибочный прием.

Стек протокола NR

Узел (gNB или UE) является составом слоев стека NR. Классы помощника hNRGNB.m и hNRUE.m создают gNB и узлы UE соответственно, содержа RLC, MAC и слои PHY.

Слой RLC

RLC действует в неподтвержденном режиме (UM) с одним логическим каналом (LCH). Для слоя RLC и hNRGNB.m и hNRUE.m используют hNRUMEntity.m, чтобы реализовать функциональность и передатчика RLC и приемника.

Слой MAC

Для слоя МАКа hNRGNB.m использует класс помощника hNRGNBMAC.m, чтобы реализовать функциональность gNB MAC, и hNRUE.m использует hNRUEMAC.m, чтобы реализовать функциональность УИ МАКА. gNB MAC имеет UL и планировщики DL, которые присваивают UL и ресурсы DL, соответственно к UEs. Для получения дополнительной информации о UL и DL, планирующем присваивать PUSCH и ресурсы PDSCH, смотрите, что NR FDD Планирует пример Оценки результатов деятельности. Планировщики реализованы в hNRSchedulerRoundRobin.m (Круговая стратегия), hNRSchedulerProportionalFair.m (Пропорциональная справедливая стратегия), и hNRSchedulerBestCQI.m (Лучшая стратегия CQI) классы помощника. Все эти планировщики наследованы от базового класса hNRScheduler.m, который содержит базовую функциональность планирования.

Слой PHY и моделирование канала

Пример использует 5G Toolbox™ для операций слоя PHY UE и gNB. На стороне Tx операции включают обработку физического уровня транспортного блока, полученного от MAC и его передачи. На стороне Rx, там обрабатывает принятой формы волны и отправляет декодируемую информацию в MAC. Для получения дополнительной информации о PDSCH и PUSCH обработка цепей, обратитесь к примеру Пропускной способности NR PDSCH и примеру Пропускной способности NR PUSCH, соответственно. Для слоя PHY hNRGNB.m использует класс помощника, hNRGNBPhy.m, чтобы реализовать функциональность gNB PHY слоя и hNRUE.m использует hNRUEPhy.m, чтобы реализовать функциональность слоя UE PHY. Для ухудшений канала модели FSPL в качестве примера, AWGN и распространение CDL образовывают канал модель.

Пример использует интерполяционную таблицу, чтобы сопоставить полученный сигнал с интерференцией плюс шумовое отношение (SINR) в индекс CQI для 0,1 частот появления ошибочных блоков (BLER). Интерполяционная таблица соответствует таблице CQI согласно 3GPP таблица 5.2.2.1-3 TS 38.214. Для получения дополнительной информации о процессе генерации этой интерполяционной таблицы, отошлите к 5G пример Создания отчетов CSI Нисходящего канала NR.

Интерфейс MAC-PHY

Следующее является главными интерфейсными вызовами между слоем MAC и слоем PHY. Для получения дополнительной информации обратитесь к hNRPhyInterface.m.

  • txDataRequest: Запрос от MAC до PHY, чтобы передать любого PDSCH (gNB) или PUSCH (UE). MAC вызывает этот запрос в начале времени Tx. Время вычислений PHY не моделируется в этом примере.

  • rxDataRequest: Запрос от MAC до PHY, чтобы принять любого PUSCH (gNB) или PDSCH (UE). MAC вызывает этот запрос в начале времени Rx.

  • dlControlRequest: Запрос от МАКа к PHY для неданных передает в нисходящем направлении передачи или приемы. Для gNB этот запрос отправлен gNB MAC для передач DL. Для UE это отправляется УИ МАКОМ за приемами DL. МАК отправляет запрос в начале паза DL для всей запланированной передачи DL или приемов в пазе. Этот интерфейс используется для всей передачи DL и приемов, кроме PDSCH. txDataRequest и rxDataRequest используются для PDSCH. В этом примере gNB MAC использует этот интерфейс, чтобы отправить CSI-RS, и УИ МАК использует его, чтобы получить CSI-RS.

  • registerMACInterfaceFcn: Одноразовая настройка вызывает, чтобы указать функции обратного вызова MAC в ФИ. ФИ Использует коллбэки, чтобы отправить информации стек к MAC. gNB PHY использует коллбэк, чтобы отправить декодируемые пакеты UL в MAC. УИ ФИ использует коллбэки, чтобы отправить декодируемые пакеты DL и качество канала DL, измеренное на CSI-RS к MAC.

Сменный PHY

Можно включить и использовать различные изменения слоя PHY в системе. В запущенной симуляции все узлы используют то же изменение слоя PHY. MAC не знает о типе слоя PHY внизу, потому что MAC использует интерфейс MAC-PHY, чтобы взаимодействовать со слоем PHY. По умолчанию пример использует 5G Toolbox™, чтобы смоделировать слой PHY. Чтобы использовать слой PHY передачи, обратитесь к Планированию NR PUSCH FDD, NR FDD, Планируя Оценку результатов деятельности и TDD NR основанные на символе примеры Оценки результатов деятельности Планирования. Слой PHY передачи не делает никакой обработки физического уровня пакетов.

Настройка сценария

Сконфигурируйте параметры симуляции в simParameters структура.

rng('default'); % Reset the random number generator
simParameters = []; % Clear the simParameters variable
simParameters.NumFramesSim = 30; % Simulation time in terms of number of 10 ms frames
simParameters.SchedulingType = 0; % Set the value to 0 (slot based scheduling) or 1 (symbol based scheduling)

Задайте количество UEs в ячейке, приняв, что UEs имеют последовательную радиосеть временные идентификаторы (RNTIs) от 1 к simParameters.NumUEs. Если вы изменяете количество UEs, гарантируете, что эти параметры симуляции являются массивами длины, равной значению simParameters.NumUEs: dlAppDataRate, ulAppDataRate

simParameters.NumUEs = 4;
% Assign position to the UEs assuming that the gNB is at (0, 0, 0). N-by-3
% matrix where 'N' is the number of UEs. Each row has (x, y, z) position of a
% UE (in meters)
simParameters.UEPosition = [100 0 0;
                            600 0 0;
                            1500 0 0;
                            2500 0 0];
% Validate the UE positions
validateattributes(simParameters.UEPosition, {'numeric'}, {'nonempty', 'real', 'nrows', simParameters.NumUEs, 'ncols', 3, 'finite'}, 'simParameters.UEPosition', 'UEPosition')

Установите полосу пропускания канала на 5 МГц и расстояние между поднесущими (SCS) к 15 кГц, как задано в 3GPP Раздел TS 38.104 5.3.2. Полная полоса пропускания принята, чтобы быть выделенной для PUSCH/PDSCH.

simParameters.NumRBs = 25;
simParameters.SCS = 15; % kHz
simParameters.DLCarrierFreq = 2.635e9; % Hz
simParameters.ULCarrierFreq = 2.515e9; % Hz
% The UL and DL carriers are assumed to have symmetric channel
% bandwidth
simParameters.DLBandwidth = 5e6; % Hz
simParameters.ULBandwidth = 5e6; % Hz

Задайте степень передачи и усиление антенны.

simParameters.UETxPower = 23; % Tx power for all the UEs in dBm
simParameters.GNBTxPower = 29; % Tx power for gNB in dBm
simParameters.GNBRxGain = 10; % Receiver antenna gain at gNB

Укажите, что SINR к CQI индексируют таблицу отображения для BLER 0,1.

simParameters.SINR90pc = [-5.46 -0.46 4.54 9.05 11.54 14.04 15.54 18.04 ...
    20.04 22.43 24.93 25.43 27.43 30.43 33.43];

Задайте стратегию планирования и максимальный предел на RBS, выделенном для PDSCH и PUSCH. Предел передачи применяется только к новым передачам а не к повторным передачам.

simParameters.SchedulerStrategy = 'PF'; % Supported scheduling strategies: 'PF', 'RR', and 'BestCQI'
simParameters.RBAllocationLimitUL = 15; % For PUSCH
simParameters.RBAllocationLimitDL = 15; % For PDSCH

Логгирование и настройка визуализации

CQIVisualization и RBVisualization параметры управляют отображением визуализации CQI и визуализации присвоения RB соответственно. Чтобы включить график визуализации RB, установите RBVisualization поле к true.

simParameters.CQIVisualization = true;
simParameters.RBVisualization = false;

Установите enableTraces как true регистрировать трассировки. Если enableTraces установлен в false, затем CQIVisualization и RBVisualization отключены автоматически, и трассировки не зарегистрированы симуляция. Чтобы ускорить симуляцию, установите enableTraces к false.

enableTraces = true;

Пример периодически обновляет метрические графики. Определите номер обновлений во время симуляции.

simParameters.NumMetricsSteps = 20;

Запишите журналы в MAT-файлы. Пример использует эти журналы для постанализа методом моделирования и визуализации.

parametersLogFile = 'simParameters'; % For logging the simulation parameters
simulationLogFile = 'simulationLogs'; % For logging the simulation traces
simulationMetricsFile = 'simulationMetrics'; % For logging the simulation metrics

% Enable packet capture (PCAP)
simParameters.PCAPLogging = false; % Set the value to true to enable packet capture for UEofInterest
simParameters.UEofInterest = 1; % Log the packets of UE with this RNTI

Настройка трафика приложения

Установите DL и шаблон трафика приложения UL для UEs.

dlAppDataRate = [8e4; 12e4; 12e4; 16e4]; % DL application data rate in kilo bits per second (kbps)
ulAppDataRate = [8e4; 12e4; 12e4; 16e4]; % UL application data rate in kbps
% Validate the DL application data rate
validateattributes(dlAppDataRate, {'numeric'}, {'nonempty', 'vector', 'numel', simParameters.NumUEs, 'finite', '>', 0}, 'dlAppDataRate', 'dlAppDataRate')
% Validate the UL application data rate
validateattributes(ulAppDataRate, {'numeric'}, {'nonempty', 'vector', 'numel', simParameters.NumUEs, 'finite', '>', 0}, 'ulAppDataRate', 'ulAppDataRate')

Выведенные параметры

Вычислите выведенные параметры на основе первичных параметров конфигурации, заданных в предыдущем разделе, и установите некоторые специфичные для примера константы.

simParameters.DuplexMode = 0; % FDD
simParameters.NCellID = 1; % Physical cell ID
simParameters.Position = [0 0 0]; % Position of gNB in (x,y,z) coordinates

Задайте настройку ресурса CSI-RS, приняв, что все UEs измеряют качество канала на том же ресурсе CSI-RS.

csirsConfig = nrCSIRSConfig('NID', simParameters.NCellID, 'NumRB', simParameters.NumRBs, 'RowNumber', 2, 'SubcarrierLocations', 1, 'SymbolLocations', 0);
simParameters.CSIRSConfig = {csirsConfig};

Задайте настройку отчета CSI.

csiReportConfig = struct('SubbandSize', 8, 'CQIMode', 'Subband');
simParameters.CSIReportConfig = {csiReportConfig};

Сконфигурируйте модель канала.

channelModelUL = cell(1, simParameters.NumUEs);
channelModelDL = cell(1, simParameters.NumUEs);
waveformInfo = nrOFDMInfo(simParameters.NumRBs, simParameters.SCS);
for ueIdx = 1:simParameters.NumUEs
    % Configure the uplink channel model
    channel = nrCDLChannel;
    channel.DelayProfile = 'CDL-C';
    channel.DelaySpread = 300e-9;
    channel.CarrierFrequency = simParameters.ULCarrierFreq;
    channel.TransmitAntennaArray.Size = [1 1 1 1 1];
    channel.ReceiveAntennaArray.Size = [1 1 1 1 1];
    channel.SampleRate = waveformInfo.SampleRate;
    channelModelUL{ueIdx} = channel;

    % Configure the downlink channel model
    channel = nrCDLChannel;
    channel.DelayProfile = 'CDL-C';
    channel.DelaySpread = 300e-9;
    channel.CarrierFrequency = simParameters.DLCarrierFreq;
    channel.TransmitAntennaArray.Size = [1 1 1 1 1];
    channel.ReceiveAntennaArray.Size = [1 1 1 1 1];
    channel.SampleRate = waveformInfo.SampleRate;
    channelModelDL{ueIdx} = channel;
end

Установите время для подготовки PUSCH для UEs. gNB гарантирует, что присвоение PUSCH получено в PUSCHPrepTime UEs перед временем передачи.

simParameters.PUSCHPrepTime = 200; % In microseconds

Вычислите длительность паза для выбранного SCS и количества пазов в системе координат на 10 мс.

slotDuration = 1/(simParameters.SCS/15); % In ms
numSlotsFrame = 10/slotDuration; % Number of slots in a 10 ms frame
numSlotsSim = simParameters.NumFramesSim * numSlotsFrame; % Number of slots in the simulation

Установите интервал, в котором пример обновляет метрическую визуализацию в терминах количества пазов. Поскольку этот пример использует гранулярность времени одного паза, MetricsStepSize поле должно быть целым числом.

simParameters.MetricsStepSize = ceil(numSlotsSim / simParameters.NumMetricsSteps);
if mod(numSlotsSim, simParameters.NumMetricsSteps) ~= 0
    % Update the NumMetricsSteps parameter if numSlotsSim is not
    % completely divisible by it
    simParameters.NumMetricsSteps = floor(numSlotsSim / simParameters.MetricsStepSize);
end

Задайте один логический канал для каждого UE и установите логическую настройку канала для всех узлов (UEs и gNBs) в примере.

numLogicalChannels = 1; % Only 1 logical channel is assumed in each UE in this example
% Logical channel id (logical channel ID of data radio bearers starts from 4) 
simParameters.LCHConfig.LCID = 4;

Задайте тип сущности RLC в области значений [0, 3]. Значения 0, 1, 2, и 3 указывают на RLC UM однонаправленная сущность DL, RLC UM однонаправленная сущность UL, RLC UM двунаправленная сущность и сущность RLC AM, соответственно.

simParameters.RLCConfig.EntityType = 2;

Создайте конфигурационную структуру канала RLC.

rlcChannelConfigStruct.LCGID = 1; % Mapping between logical channel and logical channel group ID
rlcChannelConfigStruct.Priority = 1; % Priority of each logical channel
rlcChannelConfigStruct.PBR = 8; % Prioritized bitrate (PBR), in kilobytes per second, of each logical channel
rlcChannelConfigStruct.BSD = 10; % Bucket size duration (BSD), in ms, of each logical channel
rlcChannelConfigStruct.EntityType = simParameters.RLCConfig.EntityType;
rlcChannelConfigStruct.LogicalChannelID = simParameters.LCHConfig.LCID;

Установите гранулярность метки деления симуляции (в терминах символов OFDM) и тип отображения согласно сконфигурированному типу планирования.

if ~isfield(simParameters, 'SchedulingType') || simParameters.SchedulingType == 0 % If no scheduling type is specified or slot based scheduling is specified
    tickGranularity = 14;
    simParameters.PUSCHMappingType = 'A';
    simParameters.PDSCHMappingType = 'A';
else % Symbol based scheduling
    tickGranularity = 1;
    simParameters.PUSCHMappingType = 'B';
    simParameters.PDSCHMappingType = 'B';
end

gNB и Setup UEs

Создайте gNB и объекты UE, инициализируйте информацию о качестве канала для UEs и настройте логический канал в gNB и UE. Классы помощника hNRGNB.m и hNRUE.m создают gNB узел и узел UE соответственно, содержа RLC, слои MAC и PHY.

gNB = hNRGNB(simParameters); % Create gNB node
% Create scheduler
switch(simParameters.SchedulerStrategy)
    case 'RR' % Round robin scheduler
        scheduler = hNRSchedulerRoundRobin(simParameters);
    case 'PF' % Proportional fair scheduler
        scheduler = hNRSchedulerProportionalFair(simParameters);
    case 'BestCQI' % Best CQI scheduler
        scheduler = hNRSchedulerBestCQI(simParameters);
end
addScheduler(gNB, scheduler); % Add scheduler to gNB
simParameters.ChannelModel = channelModelUL;                       
gNB.PhyEntity = hNRGNBPhy(simParameters); % Create the PHY layer instance
configurePhy(gNB, simParameters); % Configure the PHY layer
setPhyInterface(gNB); % Set the interface to PHY layer

% Create the set of UE nodes
UEs = cell(simParameters.NumUEs, 1);
for ueIdx=1:simParameters.NumUEs
    ueParam = simParameters;
    ueParam.Position = simParameters.UEPosition(ueIdx, :); % Position of the UE
    ueParam.ChannelModel = channelModelDL{ueIdx};
    ueParam.CSIReportConfig = csiReportConfig;
    UEs{ueIdx} = hNRUE(ueParam, ueIdx);
    UEs{ueIdx}.PhyEntity = hNRUEPhy(ueParam, ueIdx); % Create the PHY layer instance
    configurePhy(UEs{ueIdx}, ueParam); % Configure the PHY layer
    setPhyInterface(UEs{ueIdx}); % Set up the interface to PHY layer

    % Setup logical channel at gNB for the UE
    configureLogicalChannel(gNB, ueIdx, rlcChannelConfigStruct);
    % Setup logical channel at UE
    configureLogicalChannel(UEs{ueIdx}, ueIdx, rlcChannelConfigStruct);

    % Create an object for On-Off network traffic pattern and add it to the
    % specified UE. This object generates the uplink data traffic on the UE
    ulApp = networkTrafficOnOff('GeneratePacket', true, ...
        'OnTime', simParameters.NumFramesSim*10e-3, 'OffTime', 0, 'DataRate', ulAppDataRate(ueIdx));
    UEs{ueIdx}.addApplication(ueIdx, simParameters.LCHConfig.LCID, ulApp);

    % Create an object for On-Off network traffic pattern for the specified
    % UE and add it to the gNB. This object generates the downlink data
    % traffic on the gNB for the UE
    dlApp = networkTrafficOnOff('GeneratePacket', true, ...
        'OnTime', simParameters.NumFramesSim*10e-3, 'OffTime', 0, 'DataRate', dlAppDataRate(ueIdx));
    gNB.addApplication(ueIdx, simParameters.LCHConfig.LCID, dlApp);
end

Настройте пакетный механизм распределения.

simParameters.MaxReceivers = simParameters.NumUEs + 1; % Number of nodes
% Create packet distribution object
packetDistributionObj = hNRPacketDistribution(simParameters);
hNRSetUpPacketDistribution(simParameters, gNB, UEs, packetDistributionObj);

% Enable PCAP logging
if simParameters.PCAPLogging
    % To generate unique file name for every simulation run
    ueCapturefileName = strcat('CellID-', num2str(simParameters.NCellID), '_ue-',num2str(simParameters.UEofInterest), '_', num2str(now));
    enablePacketLogging(UEs{simParameters.UEofInterest}.PhyEntity, ueCapturefileName);
    
    % Uncomment the below code to enable packet capture at gNB
    % gnbCapturefileName = strcat('CellID-', num2str(simParameters.NCellID), '_gNB-', num2str(now));
    % enablePacketLogging(gNB.PhyEntity, gnbCapturefileName);
end

Обработка цикла

Симуляция является пазом запуска пазом. В каждом пазе выполняются эти операции:

  • Запустите слои MAC и PHY gNB

  • Запустите слои MAC и PHY UEs

  • Специфичное для слоя логгирование и визуализация

  • Усовершенствуйте таймер для узлов. Каждый 1 мс это также отправляет триггер в слои RLC и приложение. Прикладной уровень и слой RLC выполняют их запланированные операции на основе триггера таймера на 1 мс.

Создайте объекты регистрировать и визуализировать трассировки MAC и трассировки PHY.

if enableTraces
    % Create an object for MAC traces logging
    simSchedulingLogger = hNRSchedulingLogger(simParameters);
    % Create an object for PHY traces logging
    simPhyLogger = hNRPhyLogger(simParameters);
    % Create an object for CQI and RB grid visualization
    if simParameters.CQIVisualization || simParameters.RBVisualization
        gridVisualizer = hNRGridVisualizer(simParameters, 'MACLogger', simSchedulingLogger);
    end
end

Создайте объект для MAC и метрической визуализации PHY

nodes = struct('UEs', {UEs}, 'GNB', gNB);
metricsVisualizer = hNRMetricsVisualizer(simParameters, 'Nodes', nodes, 'EnableSchedulerMetricsPlots', true, 'EnablePhyMetricsPlots', true);

Запустите цикл обработки.

slotNum = 0;
numSymbolsSim = numSlotsSim * 14; % Simulation time in units of symbol duration (assuming normal cyclic prefix)

% Execute all the symbols in the simulation
for symbolNum = 1 : tickGranularity : numSymbolsSim
    if mod(symbolNum - 1, 14) == 0
        slotNum = slotNum + 1;
    end
    
    % Run MAC and PHY of gNB
    run(gNB);
    
    % Run MAC and PHY of UEs
    for ueIdx = 1:simParameters.NumUEs
        run(UEs{ueIdx});
    end
    
    if enableTraces
        % MAC logging
        logCellSchedulingStats(simSchedulingLogger, symbolNum, gNB, UEs);

        % PHY logging
        logCellPhyStats(simPhyLogger, symbolNum, gNB, UEs);
    end
    
    % Visualization    
    % Check slot boundary
    if symbolNum > 1 && ((simParameters.SchedulingType == 1 && mod(symbolNum, 14) == 0) || (simParameters.SchedulingType == 0 && mod(symbolNum-1, 14) == 0))
        % If the update periodicity is reached, plot scheduler metrics and PHY metrics at slot boundary
        if mod(slotNum, simParameters.MetricsStepSize) == 0
            plotLiveMetrics(metricsVisualizer);
        end
    end
    
    % Advance timer ticks for gNB and UEs by 14 symbols
    advanceTimer(gNB, tickGranularity);
    for ueIdx = 1:simParameters.NumUEs
        advanceTimer(UEs{ueIdx}, tickGranularity);
    end
end

Figure Channel Quality Visualization contains objects of type heatmap, uigridlayout. The chart of type heatmap has title Channel Quality Visualization for Cell ID - 1.

Получите метрики симуляции и сохраните его в MAT-файле. Метрики симуляции сохранены в MAT-файле с именем файла как simulationMetricsFile.

metrics = getMetrics(metricsVisualizer);
save(simulationMetricsFile, 'metrics');

В конце симуляции достигнутое значение для индикаторов производительности системы сравнивается с их теоретическими пиковыми значениями (рассматривающий нулевые издержки). Отображенные показатели эффективности являются достигнутой скоростью передачи данных (UL и DL), достиг спектрального КПД (UL и DL), и BLER, наблюдаемый для UEs (DL и UL). Пиковые значения вычисляются согласно 3GPP TR 37.910.

displayPerformanceIndicators(metricsVisualizer)
Peak UL Throughput: 31.11 Mbps. Achieved Cell UL Throughput: 20.59 Mbps
Achieved UL Throughput for each UE: [5.84        5.68        4.86         4.2]
Achieved Cell UL Goodput: 18.99 Mbps
Achieved UL Goodput for each UE: [5.68        5.44        4.39        3.47]
Peak UL spectral efficiency: 6.22 bits/s/Hz. Achieved UL spectral efficiency for cell: 3.80 bits/s/Hz 

Peak DL Throughput: 31.11 Mbps. Achieved Cell DL Throughput: 20.15 Mbps
Achieved DL Throughput for each UE: [5.85        5.62        4.68           4]
Achieved Cell DL Goodput: 20.04 Mbps
Achieved DL Goodput for each UE: [5.81        5.59        4.65           4]
Peak DL spectral efficiency: 6.22 bits/s/Hz. Achieved DL spectral efficiency for cell: 4.01 bits/s/Hz

Block error rate for each UE in the uplink direction: [0.027       0.047       0.099       0.143]
Block error rate for each UE in the downlink direction: [0.007       0.007       0.007           0]

Визуализация симуляции

Пять типов показанной визуализации во время выполнения:

  • Отображение значений CQI для UEs по полосе пропускания PUSCH/PDSCH: Для получения дополнительной информации см. 'Качественное описание' Визуализации Канала фигуры в NR PUSCH FDD, Планируя пример.

  • Отображение присвоения сетки ресурса на UEs: 2D сетка частоты времени показывает распределение ресурсов UEs. Можно включить эту визуализацию в разделе 'Scenario Configuration'. Для получения дополнительной информации см. 'описание' Выделения Сетки Ресурса фигуры в NR PUSCH FDD, Планируя пример.

  • Отображение UL планирование метрических графиков: Для получения дополнительной информации см. 'Восходящее описание' показателей производительности Планировщика фигуры в NR FDD, Планируя пример Оценки результатов деятельности.

  • Отображение DL планирование метрических графиков: Для получения дополнительной информации см. 'Нисходящее описание' показателей производительности Планировщика фигуры в NR FDD, Планируя пример Оценки результатов деятельности.

  • Отображение DL и Частот появления ошибочных блоков UL: Эти два подграфика, отображенные в 'Частоте появления ошибочных блоков (BLER), который Визуализация' показывает BLER (для каждого UE) наблюдаемый в восходящих и нисходящих направлениях как симуляция, прогрессируют. График обновляется каждый metricsStepSize пазы.

Журналы симуляции

Параметры, используемые для симуляции и журналов симуляции, сохранены в MAT-файлах для анализа методом моделирования сообщения и визуализации. Параметры симуляции сохранены в MAT-файле с именем файла как значение параметра конфигурации parametersLogFile. На журналы временного шага, планируя журналы присвоения и журналы BLER сохранены в MAT-файле simulationLogFile. После симуляции откройте файл, чтобы загрузить DLTimeStepLogs, ULTimeStepLogs SchedulingAssignmentLogs, и RLCLogs в рабочей области.

Журналы временного шага: И DL и журналы временного шага UL следуют за тем же форматом. Для получения дополнительной информации формата журнала, смотрите раздел 'Simulation Logs' Планирования NR PUSCH FDD.

Планирование журналов присвоения: информация всех присвоений планирования и сопутствующей информации зарегистрирована этот файл. Для получения дополнительной информации формата журнала, смотрите раздел 'Simulation Logs' NR FDD, Планируя пример Оценки результатов деятельности.

Журналы BLER: информация о Блочной ошибке, наблюдаемая в восходящих и нисходящих направлениях, зарегистрирована этот файл. Эта таблица показывает демонстрационные записи в журнале.

Каждая строка журнала представляет один паз. Столбец содержит информационный вектор из длины, равной количеству UEs. Информация о UE в индексе, равном его RNTI.

if enableTraces
    simulationLogs = cell(1,1);
    % Read the logs and save them in MAT-files
    if simParameters.DuplexMode == 0 % FDD
        logInfo = struct('DLTimeStepLogs', [], 'ULTimeStepLogs', [], 'SchedulingAssignmentLogs', [], 'BLERLogs', [], 'AvgBLERLogs', []);
        [logInfo.DLTimeStepLogs, logInfo.ULTimeStepLogs] = getSchedulingLogs(simSchedulingLogger);
    else % TDD
        logInfo = struct('TimeStepLogs', [], 'SchedulingAssignmentLogs', [], 'BLERLogs', [], 'AvgBLERLogs', []);
        logInfo.TimeStepLogs = getSchedulingLogs(simSchedulingLogger);
    end
    [logInfo.BLERLogs, logInfo.AvgBLERLogs] = getBLERLogs(simPhyLogger); % BLER logs
    logInfo.SchedulingAssignmentLogs = getGrantLogs(simSchedulingLogger); % Scheduling assignments log
    simulationLogs{1} = logInfo;
    save(parametersLogFile, 'simParameters'); % Save simulation parameters in a MAT-file
    save(simulationLogFile, 'simulationLogs'); % Save simulation logs in a MAT-file
end

Можно запустить скрипт NRPostSimVisualization, чтобы получить визуализацию постсимуляции журналов. Для получения дополнительной информации об опциях, чтобы запустить этот скрипт, обратитесь к NR FDD, Планируя пример Оценки результатов деятельности

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

Можно использовать этот пример, чтобы далее исследовать эти опции.

Пользовательское планирование

Можно изменить существующую стратегию планирования реализовать пользовательскую. Включите Пользовательский Планировщик в примере Симуляции Уровня системы, объясняет, как создать пользовательскую стратегию планирования и включить ее в симуляцию уровня системы.

Используйте физический уровень передачи

Поскольку MAC фокусировал симуляции, можно использовать слой PHY передачи путем установки передачи расположенный на слое объект PHY на узлах. Поскольку gNB создают объект типа hNRGNBPassthroughPhy, и для UE создают объект типа hNRUEPassthroughPhy. Для получения дополнительной информации см. раздел 'gNB and UEs setup' NR FDD, Планируя пример Оценки результатов деятельности.

На основе описанных параметров симуляции пример оценивает эффективность системы, измеренной в терминах различных метрик. Различная визуализация показывает эффективность времени выполнения системы. Более полный анализ методом моделирования сообщения при помощи сохраненных журналов дает подробное изображение операций на на базис паза.

Используйте RLC AM

Можно также переключить рабочий режим сущности RLC от UM до подтвержденного режима (AM) путем изменения входных полей EntityType структуры и SeqNumFieldLength в configureLogicalChannel функция hNRNode.m. Для получения дополнительной информации смотрите раздел 'Further Exploration' NR FDD, Планируя Оценку результатов деятельности.

Ссылки

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

[2] 3GPP TS 38.214. “NR; процедуры Физического уровня для данных”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[3] 3GPP TS 38.321. “NR; спецификация протокола Среднего управления доступом (MAC)”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[4] 3GPP TS 38.322. “NR; спецификация протокола Управления линией радиосвязи (RLC)”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[5] 3GPP TS 38.323. “NR; спецификация Пакетного протокола сходимости данных (PDCP)”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[6] 3GPP TS 38.331. “NR; спецификация протокола Радио-управления ресурсами (RRC)”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[7] 3GPP TR 37.910. “Исследование сам оценка к представлению IMT-2020”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

Похожие темы