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

Этот пример демонстрирует ячейку New Radio (NR) 5G с несколькими - вводит, несколько - выводят (MIMO) настройку антенны, и оценивает производительность сети. Можно настроить стратегию планирования усилить нисходящие возможности MIMO и анализировать эффективность. Пример выполняет измерение на многопортовых опорных сигналах информации о состоянии канала (CSI-RS) который использование gNB принять решения планирования MIMO.

Введение

MIMO улучшает производительность сети путем улучшения пропускной способности ячейки и надежности. Пример выполняет отображение слоя и предварительное кодирование, чтобы использовать MIMO в нисходящем канале (DL) направление. Отчет CSI, отправленный UEs, служит входом, чтобы принять решения планирования MIMO.

Пример рассматривает эти операции в gNB и UEs, которые упрощают передачу DL и прием.

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

  • Single-codeword DL пространственное мультиплексирование, чтобы выполнить многоуровневую передачу. Одно кодовая комбинация ограничивает количество слоев передачи к 4.

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

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

  • Предварительное кодирование матричного индикатора (PMI) и качественная характеристика канала (CQI), сообщающая UEs. Пример не поддерживает оценку ранга и обеспечивает ранг, о котором сообщит UE как параметр конфигурации. UE сообщает о PMI и CQI относительно сконфигурированного ранга. Пример поддерживает книгу шифров одно панели Типа 1 для PMI.

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

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

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

DL MIMO

Это ключевые аспекты DL-MIMO.

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

Пространственное мультиплексирование использует MIMO, чтобы выполнить многоуровневую передачу. Минимум количества передающих и приемных антенн ограничивает количество слоев (или максимальный ранг). Слой, сопоставляющий карты процессов модулируемые символы кодовой комбинации на различные слои. Это сопоставляет каждый nth символ кодовой комбинации к nth слой. Например, этот рисунок показывает отображение кодовой комбинации на четыре слоя.

Предварительное кодирование

Предварительное кодирование, которое следует за отображением слоя, сопоставляет слои передачи с портами антенны. Предварительное кодирование применяет матрицу перед кодированием к слоям передачи и выходные потоки данных к портам антенны CSI-RS.

Создание отчетов CSI

Создание отчетов CSI является процессом, которым UE, для передач DL, советует подходящему количеству слоев передачи (ранг), PMI и значения CQI к gNB. UE оценивает эти значения путем выполнения измерений канала на его сконфигурированных ресурсах CSI-RS. Для получения дополнительной информации смотрите 5G пример Создания отчетов CSI Нисходящего канала NR. gNB планировщик использует этот совет решить количество слоев передачи DL, предварительно кодируя матрицу, модуляцию и кодируя схему (MCS).

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

Узел (gNB или UE) является составом слоев стека NR. Классы помощника hNRGNB.m и hNRUE.m создают gNB и узлы UE, соответственно, содержа управление линией радиосвязи (RLC), средний протокол доступа (MAC) и физический уровень (PHY). Для получения дополнительной информации смотрите Оценку результатов деятельности Ячейки NR с примером Интегрирования Физического уровня.

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

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

rng('default'); % Reset the random number generator
simParameters = []; % Clear the simParameters variable
simParameters.NumFramesSim = 10; % 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: simParameters.UEDistance, simParameters.DLPacketPeriodicityUEs, simParameters.DLPacketSizesUEs, simParameters.UERxAnts.

simParameters.NumUEs = 4;
simParameters.UEDistance = [450; 600; 1000; 1500];
% Validate the distance of UEs from the gNB
validateattributes(simParameters.UEDistance, {'numeric'}, {'nonempty', 'vector', 'finite', 'numel', simParameters.NumUEs, '>', 0}, 'simParameters.UEDistance', 'UEDistance');

Задайте количества антенны в gNB и UEs.

simParameters.GNBTxAnts = 16;
simParameters.UERxAnts = [2; 2; 2; 2];

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

simParameters.NumRBs = 52;
simParameters.SCS = 15; % kHz
simParameters.DLBandwidth = 10e6; % Hz
simParameters.DLCarrierFreq = 2.635e9; % Hz

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

simParameters.CSIRSRowNumber = 11; % CSI-RS row number as per 3GPP TS 38.211 Table 7.4.1.5.3-1
simParameters.CSIRSSubcarrierLocation = [1 3 5 7];
simParameters.CSIRSSymbolLocation = 0;
simParameters.CSIRSPeriod = [10 2];  % Slot periodicity and offset

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

simParameters.PMIMode = 'Subband';  % 'Wideband' or 'Subband'
simParameters.CQIMode = 'Subband';  % 'Wideband' or 'Subband'
simParameters.PanelDimensions = [8 1]; % [N1 N2] as per 3GPP TS 38.214 Table 5.2.2.2.12
simParameters.SubbandSize = 4; % Refer TS 38.214 Table 5.2.1.4-2 for valid subband sizes
simParameters.CodebookMode = 1; % 1 or 2

Установите ранг рекомендоваться UEs в отчете CSI. Пример не поддерживает оценку ранга, таким образом, UEs используют этот ранг для совета подходящая PMI и CQI. Для каждого UE определенного, номер, меньше чем или равный минимуму антенн передачи gNB и UE's, получает антенны. Это - только рекомендуемый ранг, и можно настроить gNB планировщик, чтобы использовать различный ранг для передачи PDSCH.

simParameters.RankIndicator = [2 2 2 2]; 

Укажите, что сигнал к интерференции плюс шумовое отношение (SINR) к CQI индексирует таблицу отображения для частоты появления ошибочных блоков (BLER) 0,1.

simParameters.SINR90pc = [-7.46 -2.46 2.54 7.05 9.54 12.04 13.54 16.04 ...
   18.04 20.43 22.93 23.43 25.43 28.43 31.43];

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

simParameters.GNBTxPower = 35; % Tx power for gNB in dBm

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

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

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

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

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

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

simParameters.NumMetricsSteps = 20;

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

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

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

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

simParameters.DLPacketPeriodicityUEs = [2; 2; 3; 3]; % Periodicity (in ms) at which gNB generates the DL packets
simParameters.DLPacketSizesUEs = [10000; 9000; 7500; 7500]; % Size of the generated DL packets (in bytes)
% Validate the DL traffic periodicity
validateattributes(simParameters.DLPacketPeriodicityUEs, {'numeric'}, {'nonempty', 'integer', 'vector', 'numel', simParameters.NumUEs, 'finite', '>', 0}, 'simParameters.DLPacketPeriodicityUEs', 'DLPacketPeriodicityUEs');
% Validate the size of DL packet generated by gNBs for UEs
validateattributes(simParameters.DLPacketSizesUEs, {'numeric'}, {'nonempty', 'integer', 'nrows', simParameters.NumUEs, 'finite', '>=', 0}, 'simParameters.DLPacketSizesUEs', 'DLPacketSizesUEs');

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

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

simParameters.DuplexMode = 0; % FDD (Value as 0) or TDD (Value as 1)
simParameters.NCellID = 1; % Physical cell ID
simParameters.Position = [0 0 0]; % Position of gNB in (x,y,z) coordinates
simParameters.ChannelModelType = 'CDL'; % To model CDL propagation channel
simParameters.ULBandwidth = simParameters.DLBandwidth; % Hz
simParameters.ULCarrierFreq = 2.6454e9; % Hz

Вычислите длительность паза для выбранного 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; 
simParameters.LCHConfig.LCID = 4;

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

simParameters.RLCConfig.EntityDir = 0;

Создайте конфигурационную структуру канала 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;

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

if ~isfield(simParameters, 'SchedulingType') || simParameters.SchedulingType == 0 % If no scheduling type is specified or slot based scheduling is specified
    rbAssignmentPlotPeriodicity = numSlotsFrame; % Update RB assignment visualization every frame (10 ms)
    simParameters.PDSCHMappingType = 'A';
else % Symbol based scheduling
    rbAssignmentPlotPeriodicity = 1; % Update RB assignment visualization every slot
    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

gNB.PhyEntity = hNRGNBPhy(simParameters); % Create the PHY instance
configurePhy(gNB, simParameters); % Configure the PHY
setPhyInterface(gNB); % Set the interface to PHY

% Create the set of UE nodes
UEs = cell(simParameters.NumUEs, 1);
for ueIdx=1:simParameters.NumUEs
    simParameters.Position = [simParameters.UEDistance(ueIdx) 0 0]; % Position of UE
    UEs{ueIdx} = hNRUE(simParameters, ueIdx);
    ueParam = simParameters;
    ueParam.UERxAnts = simParameters.UERxAnts(ueIdx);
    ueParam.RankIndicator = simParameters.RankIndicator(ueIdx);
    UEs{ueIdx}.PhyEntity = hNRUEPhy(ueParam, ueIdx); % Create the PHY instance
    configurePhy(UEs{ueIdx}, ueParam); % Configure the PHY
    setPhyInterface(UEs{ueIdx}); % Set up the interface to PHY
    
    % Set up logical channel at gNB for the UE
    configureLogicalChannel(gNB, ueIdx, rlcChannelConfigStruct);
    % Set up logical channel at UE
    configureLogicalChannel(UEs{ueIdx}, ueIdx, rlcChannelConfigStruct);
    % Add DL data traffic pattern generators to gNB for the UEs
    dlPacketSize = simParameters.DLPacketSizesUEs(ueIdx);
    dlDataRate = ceil(1000/simParameters.DLPacketPeriodicityUEs(ueIdx)) * dlPacketSize *8e-3;
    if dlPacketSize > simParameters.maxRLCSDULength
        dlPacketSize = 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, 'GeneratePacket', true, ...
        'OnTime', simParameters.NumFramesSim/100, 'OffTime', 0, 'DataRate', dlDataRate);
    gNB.addApplication(ueIdx, simParameters.LCHConfig.LCID, dlApp);
end

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

simParameters.MaxReceivers = simParameters.NumUEs;
% Create DL packet distribution object
dlPacketDistributionObj = hNRPacketDistribution(simParameters, 0); % 0 for DL
% Create UL packet distribution object
ulPacketDistributionObj = hNRPacketDistribution(simParameters, 1); % 1 for UL
hNRSetUpPacketDistribution(simParameters, gNB, UEs, dlPacketDistributionObj, ulPacketDistributionObj);

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

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

  • Запустите gNB.

  • Запустите UEs.

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

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

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

simSchedulingLogger = hNRSchedulingLogger(simParameters, 0); % 0 for DL
simPhyLogger = hNRPhyLogger(simParameters, 0); % 0 for DL
visualizer = hNRMetricsVisualizer(simParameters, 'MACLogger', simSchedulingLogger, 'PhyLogger', simPhyLogger, 'VisualizationFlag', 0);

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

slotNum = 0;
numSymbolsSim = numSlotsSim * 14; % Simulation time in units of symbol duration
tickGranularity = 1;
% Execute all the symbols in the simulation
for symbolNum = 1 : tickGranularity : numSymbolsSim
    
    if mod(symbolNum - 1, 14) == 0
        slotNum = slotNum + 1;
    end
    % Run the gNB
    run(gNB);
    
    % Run the UEs
    for ueIdx = 1:simParameters.NumUEs
        run(UEs{ueIdx});
    end
    
    % MAC logging
    logCellSchedulingStats(simSchedulingLogger, symbolNum, gNB, UEs, 0); % For DL
    % PHY logging
    logCellPhyStats(simPhyLogger, symbolNum, gNB, UEs);
    
    % 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);
            end
        end
        % CQI grid visualization (if enabled)
        if simParameters.CQIVisualization
            if mod(slotNum, numSlotsFrame) == 0 % Plot at frame boundary
                plotCQIRBGrids(simSchedulingLogger);
            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, slotNum);
        end
    end
    
    % Advance timer ticks for gNB and UEs
    advanceTimer(gNB, tickGranularity);
    for ueIdx = 1:simParameters.NumUEs
        advanceTimer(UEs{ueIdx}, tickGranularity);
    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 - 1 contains 80 objects of type rectangle.

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

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

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

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

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

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

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

Пример сохраняет параметры симуляции и журналы как MAT-файлы для постанализа методом моделирования и визуализации. Пример сохраняет параметры симуляции в MAT-файле с именем файла как значение параметра конфигурации, simParameters.ParametersLogFile. Это также сохраняет журналы на временной шаг, планируя журналы присвоения, и BLER входит в систему MAT-файл, названный как значение simParameters.SimulationLogFile. После симуляции откройте файл, чтобы загрузить DLTimeStepLogs, SchedulingAssignmentLogs в рабочей области.

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

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

Журналы Частоты появления ошибочных блоков: информация о Блочной ошибке наблюдается в направлении DL. Для получения дополнительной информации формата журнала, смотрите раздел 'Simulation Logs' в Оценке результатов деятельности Ячейки NR с примером Интегрирования Физического уровня.

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

simulationLogs = cell(1,1);
if(simParameters.DuplexMode == 0) % FDD
    logInfo = struct('DLTimeStepLogs',[], 'SchedulingAssignmentLogs',[],'BLERLogs',[]);
else
    logInfo = struct('TimeStepLogs',[], 'SchedulingAssignmentLogs',[],'BLERLogs',[]);
end
dlStats = getPerformanceIndicators(simSchedulingLogger);
[logInfo.BLERLogs, logInfo.AvgBLERLogs] = getBLERLogs(simPhyLogger); % Block Error rate logs
fprintf('\nPeak DL throughput: %0.2f Mbps. Achieved average DL Throughput: %0.2f Mbps', dlStats(1, 1), dlStats(2, 1));
Peak DL throughput: 129.40 Mbps. Achieved average DL Throughput: 52.01 Mbps
fprintf('\nAchieved average DL Goodput: %0.2f Mbps', dlStats(5, 1));
Achieved average DL Goodput: 51.95 Mbps
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));
Peak DL spectral efficiency: 12.94 bits/s/Hz. Achieved average DL spectral efficiency: 5.20 bits/s/Hz
disp(['Block error rate for each UE in the downlink direction: [' num2str(round(logInfo.AvgBLERLogs(:, 1)', 2)) ']']);
Block error rate for each UE in the downlink direction: [0.01           0           0           0]

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

% Read the logs and save them in MAT-files
if(simParameters.DuplexMode == 0) % FDD
    logInfo.DLTimeStepLogs = getSchedulingLogs(simSchedulingLogger);
else % TDD
    logInfo.TimeStepLogs = getSchedulingLogs(simSchedulingLogger);
end
logInfo.SchedulingAssignmentLogs = getGrantLogs(simSchedulingLogger); % Scheduling assignments log
simulationLogs{1} = logInfo;
save(simParameters.ParametersLogFile, 'simParameters'); % Save simulation parameters in a MAT-file
save(simParameters.SimulationLogFile, 'simulationLogs'); % Save simulation logs in a MAT-file

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

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

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

Можно изменить существующую стратегию планирования реализовать пользовательскую стратегию. Выполните шаги в разделе 'Further Exploration' NR FDD, Планируя пример Оценки результатов деятельности, который объясняет шаги, чтобы записать пользовательскую стратегию планирования настройки одно входа одно выхода (SISO). Кроме того, настройка MIMO добавляет больше полей к структуре присвоения планирования. Заполните поля планирования присвоений со значениями для предварительного кодирования матрицы, количества слоев согласно вашей пользовательской стратегии планирования. Для получения дополнительной информации об информационных полях присвоения планирования, см. описание scheduleDLResourcesSlot функция в hNRScheduler.m файле помощника.

Планировщик в примере выбирает ранг и предварительно кодирующий матрицу, о которой UE сообщает в CSI. Можно также настроить это поведение, чтобы выбрать любой ранг и матрицу перед кодированием путем переопределения функционального selectRankAndPrecodingMatrix в вашем пользовательском планировщике. Для получения дополнительной информации см. описание selectRankAndPrecodingMatrix функция в hNRScheduler.m файле помощника

Ссылки

[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.

Похожие темы