Интерференция NR, моделирующая с тороидальным переносом

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

Введение

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

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

  • Интерференция межъячейки Co-канала со всеобъемлющим моделированием для удаления краевых эффектов

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

  • Качественное измерение канала DL UEs на основе CSI-RS получено от gNB.

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

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

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

Тороидальное всеобъемлющее моделирование

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

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

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

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

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

  • Расстояние между (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). 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

Задайте количество UEs в каждой ячейке, приняв, что UEs имеют последовательную радиосеть временные идентификаторы (RNTIs) от 1 к simParameters.NumUEsCell. Если вы изменяете количество UEs, необходимо гарантировать, что эти параметры симуляции являются массивами длины, равной значению 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];

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

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

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

Задайте ID ячейки интереса как целое число между 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')

CQIVisualization и RBVisualization параметры управляют отображением визуализации CQI RBS и визуализации присвоения 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 для UEs.

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, приняв, что все UEs измеряют качество канала на том же ресурсе 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 и установите логическую настройку канала для всех узлов (UEs и gNBs) в примере.

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;

Установите максимальную длину модуля эксплуатационных данных (SDU) RLC, в байтах, как задано в 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, инициализируйте информацию о качестве канала для UEs и настройте логический канал в gNB и UEs. 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 UEs

  • Регистрируйте и визуализируйте метрики для каждого слоя

  • Усовершенствуйте таймер для узлов и отправьте триггер в приложение и слои 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, Планируя пример.

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

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

  • Отображение DL и Частот появления ошибочных блоков UL: Для получения дополнительной информации смотрите 'Частоту появления ошибочных блоков (BLER) Визуализация' описание фигуры в Оценке результатов деятельности Ячейки NR с примером Интегрирования Физического уровня.

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

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

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

% 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) и прием”. Проект Партнерства третьего поколения; Сеть радиодоступа 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.

Похожие темы