Моделирование интерференций NR с тороидальным обмоткой

Этот пример моделирует кластер с 19 ячейками с тороидальным обертыванием, как описано в M.2101-0 ITU-R. Обтекание обеспечивает равномерную интерференцию на краю кластера. Все камеры в кластере работают в одной полосе частот с обслуживающим gNB в центре камеры. Можно включить или отключить перенос, чтобы заметить, что при переносе метрики производительности пограничной ячейки становятся аналогичными центральной ячейке.

Введение

Пример рассматривает эти операции в пределах gNB и пользовательского оборудования (UE).

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

  • Совместная межкамера помехи с моделированием обтекания для удаления ребра эффектов

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

  • Измерение качества канала DL по UE на основе CSI-RS, полученного от gNB.

  • Однократный вход с одним выходом (SISO) строения с всенаправленными антеннами.

  • Потери при распространении в свободном пространстве (FSPL) и аддитивный белый Гауссовы шум (AWGN).

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

Моделирование тороидального обтекания

Чтобы симулировать поведение сотовой сети, не вводя ребра, этот пример моделирует бесконечную сотовую сеть с помощью тороидального обертывания. Этот рисунок показывает сетевую область 19 камер. В отсутствие обертывания камера 0 центрального кластера, показанная красным цветом, равномерно окружена и испытывает помехи со всех сторон. Такое ребро камеры как камера-15, испытывает сравнительно меньшую интерференцию. Обхват повторяет исходный кластер шесть раз, чтобы равномерно окружить центральный кластер .

Вся область сети, релевантная для симуляций, является кластером из 19 камер (показан жирным шрифтом).

В модели оборачивания сигнал или помеха от любого UE к камере обрабатывается так, как если бы это UE находилось в исходном кластере камеры и gNB в любом из семи кластеров, как указано в M.2101-0 ITU-R. Расстояния, используемые для вычисления потерь пути от узла передатчика на (a,b) к узлу приемника в (x,y) это минимум из этих семи расстояний.

  • Расстояние между ними (x,y) и (a,b)

  • Расстояние между ними (x,y) и (a-3D,b-4D), где D - расстояние между двумя соседними gNB (расстояние между узлами)

  • Расстояние между ними (x,y) и (a+3D,b+4D)

  • Расстояние между ними (x,y) и (a-32D,b+72D)

  • Расстояние между ними (x,y) и (a+332D,b-72D)

  • Расстояние между ними (x,y) и (a-532D,b-12D)

  • Расстояние между ними (x,y) и (a-532D,b-12D)

Чтобы вычислить измененные расстояния между узлами из-за переноса, функция использует класс помощи hNRNodeDistanceCalculator. Если вы отключаете перенос, то расстояние между узлами является нормальным евклидовым расстоянием.

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

Узел (gNB или UE) состоит из приложений, генерирующих трафик, уровня управления радиоканалом (RLC), уровня управления доступом к среде (MAC) и физического уровня (PHY). Классы helper hNRGNB и hNRUE создают узлы gNB и UE, соответственно, содержащие слои RLC, MAC и PHY. Для получения дополнительной информации о каждом слое см. раздел 'NR Protocol Stack' в примере оценки эффективности камер NR с интегрированием на физическом уровне.

Сценарные Строения

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

rng('default'); % Reset the random number generator
simParameters = []; % Clear the simParameters variable
simParameters.NumFramesSim = 5; % Simulation time, in number of 10 ms frames
simParameters.EnableWrapAround = true; % Enable wrap-around modeling
simParameters.SchedulingType = 0; % Slot-based scheduling

Укажите количество UE в каждой камере, принимая, что UE имеют последовательные временные идентификаторы радиосети (RNTI) от 1 на simParameters.NumUEsCell. Если вы измените количество UE, необходимо убедиться, что эти параметры симуляции являются массивами длины, равными значению simParameters.NumUEsCell: simParameters.UEDistance, ulPacketPeriodicity, ulPacketSizes, dlPacketPeriodicity, dlPacketSizes.

simParameters.NumUEsCell = 2; % Number of UEs in each cell
simParameters.UEDistance = [150; 250]; % Distance of UE from gNB in meters
simParameters.InterSiteDistance = 1732; % Distance between adjacent gNBs in meters

Установите пропускную способность канала на 5 МГц, а интервал между поднесущими (SCS) на 15 кГц, как определено в разделе 5.3.2 3GPP TS 38.104.

simParameters.NumRBs = 25;
simParameters.SCS = 15; % kHz
simParameters.DLCarrierFreq = 2.635e9; % Hz
simParameters.ULCarrierFreq = 2.515e9; % Hz

Предположим, что несущие UL и DL имеют одинаковую пропускную способность канала, и задайте степень передачи и коэффициент усиления антенны.

simParameters.DLBandwidth = 5e6; % Hz
simParameters.ULBandwidth = 5e6; % Hz
simParameters.UETxPower = 23; % Tx power for all the UEs in dBm
simParameters.GNBTxPower = 32; % Tx power for gNBs in dBm
simParameters.GNBRxGain = 8; % Receiver antenna gain at gNB in dBi

Задайте отношение сигнал-помеха-плюс-шум (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];

Укажите стратегию планирования и максимальный предел для RB, отведенных для PUSCH и PDSCH. Предел передачи применяется только к новым назначениям PUSCH и PDSCH, а не к повторным передачам.

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

Логирование и визуализация Строения

Укажите идентификатор интересующей камеры как целое число от 1 до 18 включительно. Пример показывает визуализацию и метрики для этой камеры и центральной камеры, камеры -0.

simParameters.CellOfInterest = 15; % Set a value from 1 to 18. Set the value to 0 to visualize cell-0 only.
validateattributes(simParameters.CellOfInterest, {'numeric'}, {'integer', 'scalar', '>=', 0, '<=', 18}, 'simParameters.CellOfInterest', 'CellOfInterest')

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

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

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

simParameters.NumMetricsSteps = 10;

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

simParameters.ParametersLogFile = 'simParameters'; % For logging the simulation parameters
simParameters.SimulationLogFile = 'simulationLogs'; % For logging the simulation logs

Строение трафика приложений

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

ulPacketPeriodicity = [10; 10]; % Periodicity, in ms, at which the UEs generate UL packets
ulPacketSize = [2e4; 2e4]; % Size of generated UL packets, in bytes
dlPacketPeriodicity = [10; 10]; % Periodicity, in ms, at which gNB generates DL packets
dlPacketSize = [2e4; 2e4]; % Size of generated DL packets, in bytes

Производные параметры

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

simParameters.DuplexMode = 0; % Frequency-division duplexing (FDD)
simParameters.NumClusters = 1;
simParameters.NumSitesPerCluster = 19; % Number of gNBs per cluster

Установите позиции UE и gNB.

simParameters.GNBPositions = hMacrocellTopology(simParameters);
simParameters.UEPositions = cell(simParameters.NumSitesPerCluster, 1);
for idx = 1:simParameters.NumSitesPerCluster
    theta = rand(simParameters.NumUEsCell, 1)*(2*pi);
    % Set the UE position with respect to the gNB location
    simParameters.UEPositions{idx} = simParameters.GNBPositions(idx, :) + simParameters.UEDistance.*[cos(theta) sin(theta) zeros(simParameters.NumUEsCell, 1)];
end
simParameters.NCellIDList = 0:simParameters.NumSitesPerCluster-1; % List of physical cell IDs

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

simParameters.CSIRSRowNumber = 2; % Possible row numbers for single transmit antenna case are 1 and 2
simParameters.SubbandSize = 8; % Size of sub-band for CQI reporting in terms of number of RBs

Вычислите длительность паза для выбранной 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 it does not exactly divide NumSlotsSim
    simParameters.NumMetricsSteps = floor(numSlotsSim / simParameters.MetricsStepSize);
end

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

numLogicalChannels = 1;
simParameters.LCHConfig.LCID = 4; % Logical channel ID (logical channel ID of data radio bearers starts from 4)

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

simParameters.RLCConfig.EntityDir = 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.EntityDir;
rlcChannelConfigStruct.LogicalChannelID = simParameters.LCHConfig.LCID;

Установите максимальную длину модуля служебных данных RLC (SDU) в байтах, как указано в 3GPP TS 38.323, и общее число узлов в симуляции.

simParameters.maxRLCSDULength = 9000;
simParameters.MaxReceivers = simParameters.NumSitesPerCluster*(simParameters.NumUEsCell + 1);

if ~isfield(simParameters, 'SchedulingType') || simParameters.SchedulingType == 0 % No scheduling type or slot-based scheduling
    rbAssignmentPlotPeriodicity = numSlotsFrame; % Update RB assignment visualization every frame (10 ms)
    tickGranularity = 14;
    simParameters.PUSCHMappingType = 'A';
    simParameters.PDSCHMappingType = 'A';
else % Symbol-based scheduling
    rbAssignmentPlotPeriodicity = 1; % Update RB assignment visualization every slot
    tickGranularity = 1;
    simParameters.PUSCHMappingType = 'B';
    simParameters.PDSCHMappingType = 'B';
end

Многоядерный Setup

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

gNB = cell(simParameters.NumSitesPerCluster, 1);
UEs = cell(simParameters.NumSitesPerCluster, simParameters.NumUEsCell);

Создайте объекты распределения пакетов DL и UL и инициализируйте объект калькулятора расстояния обхода.

dlPacketDistributionObj = hNRPacketDistribution(simParameters, 0); % 0 for DL
ulPacketDistributionObj = hNRPacketDistribution(simParameters, 1); % 1 for UL
distCalc = hNRNodeDistanceCalculator(simParameters);
for siteIdx = 1:simParameters.NumSitesPerCluster
    simParameters.NCellID = simParameters.NCellIDList(siteIdx); % Cell ID
    simParameters.Position = simParameters.GNBPositions(siteIdx, :);
    simParameters.NumUEs = simParameters.NumUEsCell; % Number of UEs in a cell
    % 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
    
    % Create gNB
    gNB{siteIdx} = hNRGNB(simParameters);
    addScheduler(gNB{siteIdx}, scheduler); % Add scheduler to gNB
    gNB{siteIdx}.PhyEntity = hNRGNBPhy(simParameters); % Create PHY layer instance
    configurePhy(gNB{siteIdx}, simParameters); % Configure PHY layer
    % Register distance calculator for wrap-around distance computations
    gNB{siteIdx}.DistanceCalculatorFcn = @distCalc.getDistance;
    setPhyInterface(gNB{siteIdx}); % Set up the interface to PHY layer

    for ueIdx = 1:simParameters.NumUEsCell
        simParameters.Position = simParameters.UEPositions{siteIdx}(ueIdx, :); % Position of UE in (x,y,z) coordinates
        UEs{siteIdx, ueIdx} = hNRUE(simParameters, ueIdx);
        UEs{siteIdx, ueIdx}.PhyEntity = hNRUEPhy(simParameters, ueIdx); % Create PHY layer instance
        configurePhy(UEs{siteIdx, ueIdx}, simParameters); % Configure PHY layer
        % Register distance calculator for wrap-around distance computations
        UEs{siteIdx, ueIdx}.DistanceCalculatorFcn =  @distCalc.getDistance;
        setPhyInterface(UEs{siteIdx, ueIdx}); % Set up the interface to PHY

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

        % Add data traffic pattern generators to gNB and UE nodes
        % Calculate the data rate (in kbps) of On-Off traffic pattern using
        % packet size (in bytes) and packet interval (in ms)
        ulDataRate = ceil(1000/ulPacketPeriodicity(ueIdx)) * ulPacketSize(ueIdx) * 8e-3;
        % Limit the size of the generated application packet to the maximum RLC
        % SDU size. The maximum supported RLC SDU size is 9000 bytes
        if ulPacketSize(ueIdx) > simParameters.maxRLCSDULength
            ulPacketSize(ueIdx) = simParameters.maxRLCSDULength;
        end

        % 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('PacketSize', ulPacketSize(ueIdx), 'GeneratePacket', true, ...
            'OnTime', simParameters.NumFramesSim/100, 'OffTime', 0, 'DataRate', ulDataRate);
        UEs{siteIdx, ueIdx}.addApplication(ueIdx, simParameters.LCHConfig.LCID, ulApp);
        dlDataRate = ceil(1000/dlPacketPeriodicity(ueIdx)) * dlPacketSize(ueIdx) * 8e-3;
        if dlPacketSize(ueIdx) > simParameters.maxRLCSDULength
            dlPacketSize(ueIdx) = simParameters.maxRLCSDULength;
        end
        % 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('PacketSize', dlPacketSize(ueIdx), 'GeneratePacket', true, ...
            'OnTime', simParameters.NumFramesSim/100, 'OffTime', 0, 'DataRate', dlDataRate);
        gNB{siteIdx}.addApplication(ueIdx, simParameters.LCHConfig.LCID, dlApp);
    end
    % Setup the UL and DL packet distribution mechanism
    hNRSetUpPacketDistribution(simParameters, gNB{siteIdx}, UEs(siteIdx, :), dlPacketDistributionObj, ulPacketDistributionObj);
end

Настройте логгирование и визуализацию, указав центральную камеру (камеру 0) и интересующую камеру.

cellsOfInterest = unique([0; simParameters.CellOfInterest]);
numCellsOfInterest = length(cellsOfInterest); % Number of cells that the example logs and visualizes

Визуализация топологии сети

hTopologyVisualizer(simParameters);          

Figure Topology Visualization contains an axes. The axes with title Network Topology Visualization contains 76 objects of type line, text. This object represents UE Positions.

Логгирование и визуализация метрик PHY и MAC в массивах ячеек.

simSchedulingLogger = cell(numCellsOfInterest, 1);
% Cell array for PHY metrics logging and visualization
simPhyLogger = cell(numCellsOfInterest, 1);
visualizer = cell(numCellsOfInterest, 1);

for siteIdx = 1:numCellsOfInterest
    simParameters.NCellID = cellsOfInterest(siteIdx);
    simParameters.CellOfInterest = simParameters.NCellID;
    % Create an object for MAC scheduling information visualization and logging
    simSchedulingLogger{siteIdx} = hNRSchedulingLogger(simParameters); 
    % Create an object for PHY layer metrics logging
    simPhyLogger{siteIdx} = hNRPhyLogger(simParameters);
    % Create visualization object for MAC and PHY metrics 
    visualizer{siteIdx} = hNRMetricsVisualizer(simParameters, 'MACLogger', simSchedulingLogger{siteIdx}, 'PhyLogger', simPhyLogger{siteIdx});
end

Цикл обработки

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

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

  • Запуск слоев MAC и PHY UE

  • Логгирование и визуализация метрик для каждого слоя

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

slotNum = 0;
numSymbolsSim = numSlotsSim * 14; % Simulation time in units of symbol duration
% Run processing loop
for symbolNum = 1 : tickGranularity : numSymbolsSim
    if mod(symbolNum - 1, 14) == 0
        slotNum = slotNum + 1;
    end
    % Because all the cells operate on the same SCS, slot durations do not vary
    for siteIdx = 1:simParameters.NumSitesPerCluster % For each site
        run(gNB{siteIdx});

        % Run MAC and PHY layers of UEs
        for ueIdx = 1:simParameters.NumUEsCell
            run(UEs{siteIdx, ueIdx});
        end

        cellIdx = find((siteIdx-1) == cellsOfInterest, 1);
        if ~isempty(cellIdx)
            % MAC logging
            logCellSchedulingStats(simSchedulingLogger{cellIdx}, symbolNum, gNB{siteIdx}, UEs(siteIdx, :));

            % PHY logging
            logCellPhyStats(simPhyLogger{cellIdx}, symbolNum, gNB{siteIdx}, UEs(siteIdx, :));
        end
    end
    
    for siteIdx = 1:simParameters.NumSitesPerCluster
        % Advance timer ticks for gNB and UEs by the number of symbols per slot
        advanceTimer(gNB{siteIdx}, tickGranularity);
        for ueIdx = 1:simParameters.NumUEsCell
            advanceTimer(UEs{siteIdx, ueIdx}, tickGranularity);
        end
    end
    
    for idx = 1:numCellsOfInterest
        % Visualization
        % Check slot boundary
        if symbolNum > 1 && ((simParameters.SchedulingType == 1 && mod(symbolNum, 14) == 0) || (simParameters.SchedulingType == 0 && mod(symbolNum-1, 14) == 0))
            % RB assignment visualization (if enabled)
            if simParameters.RBVisualization
                if mod(slotNum, rbAssignmentPlotPeriodicity) == 0
                    % Plot at slot boundary, if the update periodicity is reached
                    plotRBGrids(simSchedulingLogger{idx});
                end
            end
            % CQI grid visualization (if enabled)
            if simParameters.CQIVisualization
                if mod(slotNum, numSlotsFrame) == 0 % Plot at frame boundary
                    plotCQIRBGrids(simSchedulingLogger{idx});
                end
            end
            % If the update periodicity is reached, plot scheduler metrics and PHY metrics visualization
            % at slot boundary
            if mod(slotNum, simParameters.MetricsStepSize) == 0
                plotMetrics(visualizer{idx}, slotNum);
            end
        end
    end
end

Figure Channel Quality Visualization contains an axes and other objects of type uicontrol. The axes with title Channel Quality Visualization for Cell ID - 0 contains 40 objects of type rectangle.

Figure Channel Quality Visualization contains an axes and other objects of type uicontrol. The axes with title Channel Quality Visualization for Cell ID - 15 contains 40 objects of type rectangle.

for idx = 1:numCellsOfInterest
    [dlStats, ulStats] = getPerformanceIndicators(simSchedulingLogger{idx});
    [logInfo.BLERLogs, logInfo.AvgBLERLogs] = getBLERLogs(simPhyLogger{idx}); % Block Error rate logs
    fprintf('\n\nMetrics for cell %d :\n\n', cellsOfInterest(idx));
    fprintf('Peak UL throughput: %0.2f Mbps. Achieved average UL Throughput: %0.2f Mbps', ulStats(1, 1), ulStats(2, 1));
    fprintf('\nPeak DL throughput: %0.2f Mbps. Achieved average DL Throughput: %0.2f Mbps', dlStats(1, 1), dlStats(2, 1));
    fprintf('\nAchieved average UL Goodput: %0.2f Mbps. Achieved average DL Goodput: %0.2f Mbps', ulStats(5, 1), dlStats(5, 1));
    fprintf('\nPeak UL spectral efficiency: %0.2f bits/s/Hz. Achieved average UL spectral efficiency: %0.2f bits/s/Hz ', ulStats(3, 1), ulStats(4, 1));
    fprintf('\nPeak DL spectral efficiency: %0.2f bits/s/Hz. Achieved average DL spectral efficiency: %0.2f bits/s/Hz', dlStats(3, 1), dlStats(4, 1));
    disp(['Block error rate for each UE in the uplink direction: [' num2str(round(logInfo.AvgBLERLogs(:, 2)', 2)) ']']);
    disp(['Block error rate for each UE in the downlink direction: [' num2str(round(logInfo.AvgBLERLogs(:, 1)', 2)) ']']);
end
Metrics for cell 0 :
Peak UL throughput: 31.11 Mbps. Achieved average UL Throughput: 2.48 Mbps
Peak DL throughput: 31.11 Mbps. Achieved average DL Throughput: 3.19 Mbps
Achieved average UL Goodput: 2.48 Mbps. Achieved average DL Goodput: 3.10 Mbps
Peak UL spectral efficiency: 6.22 bits/s/Hz. Achieved average UL spectral efficiency: 0.50 bits/s/Hz 
Peak DL spectral efficiency: 6.22 bits/s/Hz. Achieved average DL spectral efficiency: 0.64 bits/s/Hz
Block error rate for each UE in the uplink direction: [0  0]
Block error rate for each UE in the downlink direction: [0.04        0.04]
Metrics for cell 15 :
Peak UL throughput: 31.11 Mbps. Achieved average UL Throughput: 2.69 Mbps
Peak DL throughput: 31.11 Mbps. Achieved average DL Throughput: 3.33 Mbps
Achieved average UL Goodput: 2.68 Mbps. Achieved average DL Goodput: 3.24 Mbps
Peak UL spectral efficiency: 6.22 bits/s/Hz. Achieved average UL spectral efficiency: 0.54 bits/s/Hz 
Peak DL spectral efficiency: 6.22 bits/s/Hz. Achieved average DL spectral efficiency: 0.67 bits/s/Hz
Block error rate for each UE in the uplink direction: [0        0.05]
Block error rate for each UE in the downlink direction: [0.04        0.06]

Симуляционная визуализация

Для центральной камеры (камера 0) и интересующей камеры визуализация во время запуска показывает:

  • Отображение значений CQI: Для получения дополнительной информации смотрите описание рисунка «Визуализация качества канала» в примере планирования NR PUSCH FDD.

  • Отображение назначения ресурсной сетки для UE: 2D частотно-временная сетка показывает распределение ресурсов для UE. Эту визуализацию можно включить в разделе Logging and Visualization Configuration. Для получения дополнительной информации см. описание рисунка «Распределение ресурсной сетки» в примере планирования FDD PUSCH NR.

  • Отображение графиков метрик планирования DL и UL: Для получения дополнительной информации смотрите описание рисунка «Метрики эффективности планировщика нисходящего канала» в примере оценки эффективности планирования FDD NR.

  • Отображение частот ошибок блоков DL и UL: Для получения дополнительной информации смотрите описание рисунка «Block Error Rate (BLER) Visualization» в примере оценки эффективности камер NR с интегрированием физического слоя.

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

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

Параметры, используемые для симуляции и журналов симуляции, сохраняются в MAT-файлах для постсимуляционного анализа и визуализации. Параметры симуляции сохраняются в MAT-файле с именем файла в качестве значения параметра конфигурации simParameters.ParametersLogFile. Для получения дополнительной информации см. пример моделирования интерференций NR Intercell.

% Get the logs
if(simParameters.DuplexMode == 0) % FDD
    logInfo = struct('NCellID', [], 'DLTimeStepLogs', [], 'ULTimeStepLogs', [], 'SchedulingAssignmentLogs', [], 'BLERLogs', [], 'AvgBLERLogs', []);
else
    logInfo = struct('TimeStepLogs', [], 'SchedulingAssignmentLogs', [], 'BLERLogs', [], 'AvgBLERLogs', []);
end
simulationLogs = cell(simParameters.NumSitesPerCluster, 1);
for siteIdx = 1:numCellsOfInterest
    logInfo.NCellID = cellsOfInterest(siteIdx);
    if(simParameters.DuplexMode == 0) % FDD
        [logInfo.DLTimeStepLogs, logInfo.ULTimeStepLogs] = getSchedulingLogs(simSchedulingLogger{siteIdx});
    else % TDD
        logInfo.TimeStepLogs = getSchedulingLogs(simSchedulingLogger{siteIdx});
    end
    logInfo.SchedulingAssignmentLogs = getGrantLogs(simSchedulingLogger{siteIdx}); % Scheduling assignments log
    [logInfo.BLERLogs, logInfo.AvgBLERLogs] = getBLERLogs(simPhyLogger{siteIdx}); % Block error rate logs
    simulationLogs{siteIdx, 1} = logInfo;
end
save(simParameters.ParametersLogFile, 'simParameters'); % Save simulation parameters in a MAT-file
save(simParameters.SimulationLogFile, 'simulationLogs'); % Save simulation logs in a MAT-file

Ссылки

[1] 3GPP TS 38.104. "NR; радиопередача и прием базовой станции (BS). "3-ья Генерация партнерский проект; Группа технических спецификаций Радиосеть доступ.

[2] 3GPP TS 38.214. "NR; Процедуры физического слоя данных ". 3-ья Генерация проект Партнерства; Группа технических спецификаций Радиосеть доступ.

[3] 3GPP TS 38.321. "NR; Спецификация протокола управления средним доступом (MAC). "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[4] 3GPP TS 38.322. "NR; Спецификация протокола Radio Ссылки Control (RLC). "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[5] 3GPP TS 38.323. "NR; Спецификация протокола сходимости пакетных данных (PDCP). "3-ья Генерация проект партнерства; Группа технических спецификаций Радиосеть доступ.

[6] 3GPP TS 38.331. "NR; Спецификация протокола управления радиоресурсами (RRC). "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[7] 3GPP TR 37,910. «Исследование по самооценке к IMT-2020 представлению». Третья Генерация проект партнерства; Группа технических спецификаций Радиосеть доступ.

Похожие темы