Этот пример демонстрирует ячейку 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.
Пространственное мультиплексирование использует MIMO, чтобы выполнить многоуровневую передачу. Минимум количества передающих и приемных антенн ограничивает количество слоев (или максимальный ранг). Слой, сопоставляющий карты процессов модулируемые символы кодовой комбинации на различные слои. Это сопоставляет каждый символ кодовой комбинации к слой. Например, этот рисунок показывает отображение кодовой комбинации на четыре слоя.
Предварительное кодирование, которое следует за отображением слоя, сопоставляет слои передачи с портами антенны. Предварительное кодирование применяет матрицу перед кодированием к слоям передачи и выходные потоки данных к портам антенны CSI-RS.
Создание отчетов CSI является процессом, которым UE, для передач DL, советует подходящему количеству слоев передачи (ранг), PMI и значения CQI к gNB. UE оценивает эти значения путем выполнения измерений канала на его сконфигурированных ресурсах CSI-RS. Для получения дополнительной информации смотрите 5G пример Создания отчетов CSI Нисходящего канала NR. gNB планировщик использует этот совет решить количество слоев передачи DL, предварительно кодируя матрицу, модуляцию и кодируя схему (MCS).
Узел (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 и объекты 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
Пример показывает четыре визуализации во время выполнения:
Отображение значений 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.