В этом примере показано, как сконфигурировать аспекты частоты времени расположения опорного сигнала (PRS) нового радио (NR). Пример показывает, как различные настройки набора ресурсов PRS влияют на структуру частоты времени PRS, использующего функции 5G Toolbox™.
Согласно TR 22.872 [1], эти варианты использования 5G требуют нахождения точного и местоположения в реальном времени узлов в беспроводной сети:
Услуги на основе определения местоположения, такие как точное расположение для разделяемых велосипедов и основанная на местоположении реклама
Связанные с промышленностью варианты использования, такие как утилизация отходов и набор
eHealth-связанные варианты использования, такие как местоположение медицинского оборудования в больницах и терпеливое местоположение за пределами больниц
Связанные с чрезвычайной ситуацией и связанные критически важный для миссии варианты использования
Связанные с дорогой варианты использования, такие как водитель, заряжающийся
Направляющая - и морские связанные варианты использования, такие как актив и грузовое отслеживание
Связанные с антенной варианты использования, такие как беспилотные воздушные миссии транспортного средства и операции
Чтобы найти положение узла, нисходящие опорные сигналы используются в стороне оборудования пользователя (UE). Существующие нисходящие опорные сигналы, как опорный сигнал информации о состоянии канала и сигналы синхронизации, не используются для оценки положения из-за этих ограничений:
Эти опорные сигналы не способны к обнаружению достаточного числа соседних узлов сети доступа (gNBs) из-за интерференции от соседних элементов, когда сигналы от нескольких ячеек сталкиваются и во временном интервале и в частотном диапазоне. Из-за этой интерференции, сигналов от соседней тени ячеек слабые сигналы от далеко ячеек, заставляя трудность для UE обнаружить далеко ячейки или gNBs. Эта трудность приводит к потере в hearability.
Эти опорные сигналы также имеют слабые свойства корреляции из-за низкой плотности элемента ресурса (RE), и их шаблон RE не может распространиться через все поднесущие в частотном диапазоне.
Преодолеть эти ограничения, 3GPP ввело новый опорный сигнал, названный PRS в Релизе 16 спецификации 5G с высокой плотностью RE и со свойствами корреляции лучше, чем тот из существующих опорных сигналов из-за диагонального или ступенчатого PRS шаблон RE. Hearability PRS достигается с концепцией, названной, отключая звук. С отключением звука PRS несколько ячеек передают PRS скоординированным способом путем отключения звука соответствующих случаев передачи PRS, чтобы избежать интерференции от соседних элементов. Этот пример демонстрирует аспекты частоты времени PRS и показывает, как сконфигурировать отключение звука PRS.
Согласно 3GPP стандарт, можно сконфигурировать UE с одним или несколькими нисходящими PRS, располагающими настройки слоя частоты. PRS, располагающий слой частоты, задан как набор наборов ресурсов PRS с каждым набором ресурсов PRS, задающим набор ресурсов PRS. Все наборы ресурсов PRS, заданные в PRS, располагающем слой частоты, сконфигурированы этими общими параметрами:
Расстояние между поднесущими: Расстояние между поднесущими для всех наборов ресурсов PRS в PRS, располагающем слой частоты в виде 15, 30, 60, или 120. Используйте SubcarrierSpacing
свойство nrCarrierConfig
установить расстояние между поднесущими набора ресурсов PRS.
Циклический Префикс: Циклический префикс для всех наборов ресурсов PRS в PRS, располагающем слой частоты в виде 'normal'
или 'extended'
. Используйте CyclicPrefix
свойство nrCarrierConfig
возразите, чтобы установить циклический префикс набора ресурсов PRS.
Точка A PRS: Абсолютная частота ссылочного ресурса блокируется или общий блок ресурса. Самая низкая поднесущая этого ссылочного блока ресурса известна как Точку A PRS. Спецификация 5G задает распределение ресурсов частоты PRS относительно точки A PRS. Пример показывает, как сконфигурировать запуск выделения частотного диапазона PRS, использующего функции 5G Toolbox™ и его отношение со стандартным понятием.
5G Toolbox™ предлагает генерацию символов и индексов PRS с объектом nrPRSConfig
настройки и функции
nrPRS
и nrPRSIndices
. nrPRSConfig
возразите связывает все параметры, связанные с набором ресурсов PRS.
Эти свойства nrPRSConfig
возразите управляют конфигурацией слота PRS.
PRSResourceSetPeriod
: Периодичность паза и смещение (на основе 0) из набора ресурсов PRS
PRSResourceOffset
: Паз возместил (на основе 0) из каждого ресурса PRS, заданного относительно смещения паза набора ресурсов PRS
PRSResourceRepetition
: Фактор повторения всех ресурсов PRS в наборе ресурсов PRS
PRSResourceTimeGap
: Паз возмещен между двумя последовательными индексами повторения всех ресурсов PRS в наборе ресурсов PRS
Рисунок 1 иллюстрирует случай набора ресурсов PRS с 2 ресурсами PRS. Период набора ресурсов PRS является 10 пазами, и смещение набора ресурсов PRS является 3 пазами (на основе 0). Первое смещение ресурса PRS является 1 пазом (на основе 0), и второе смещение ресурса PRS является 4 пазами (на основе 0). Фактор повторения ресурса PRS равняется 2 (что означает, что каждый ресурс PRS повторяется дважды во всех экземплярах набора ресурсов PRS), и разрыв времени ресурса PRS равняется 2 (что означает смещение 2 пазов).
Сконфигурируйте параметры конфигурации слота PRS и постройте сетку несущей на уровне паза, чтобы подсветить пазы, в которых присутствуют ресурсы PRS.
% Set carrier parameters carrier = nrCarrierConfig; carrier.SubcarrierSpacing = 15; carrier.CyclicPrefix = 'Normal'; % Set parameters related to PRS slot configuration prs = nrPRSConfig; prs.PRSResourceSetPeriod = [10 3]; prs.PRSResourceOffset = [1 4]; prs.PRSResourceRepetition = 2; prs.PRSResourceTimeGap = 2; numSlots = 43; % Consider 43 slots to compare the plot with Figure 1 plotTitle = 'PRS Slot Configuration'; plotGrid(carrier,prs,numSlots,'SlotFill',plotTitle); % Slot numbers on the x-axis of the MATLAB plot are 1-based
Можно отключить звук ресурса PRS двумя способами:
Отключите звук экземпляров набора ресурсов PRS с помощью свойств MutingPattern1
и MutingBitRepetition
из nrPRSConfig
объект
Отключите звук индексов повторения ресурса PRS с помощью свойства MutingPattern2
из nrPRSConfig
объект
MutingPattern1
: Бинарный вектор, который управляет отключением звука экземпляров набора ресурсов PRS. Каждый элемент в бинарном векторе управляет отключением звука всех ресурсов PRS в экземпляре набора ресурсов PRS (один экземпляр соответствует одному периоду набора ресурсов PRS). Первый элемент в бинарном векторе соответствует первому экземпляру набора ресурсов PRS, второй элемент соответствует второму экземпляру набора ресурсов PRS и так далее.
Двоичное значение 1 указывает, что все ресурсы PRS в экземпляре набора ресурсов PRS передаются.
Двоичное значение 0 указывает, что все ресурсы PRS в экземпляре набора ресурсов PRS отключены звук.
Рисунок 2 иллюстрирует случай отключения звука опции 1 комбинации двоичных разрядов как [1 0] в дополнение к предыдущей конфигурации слота PRS, которую показывают в рисунке 1. В этом случае эффективная опция 1 комбинации двоичных разрядов отключения звука на уровне экземпляра набора ресурсов PRS [1 0 1 0 1 0...], который является повторным шаблоном MutingPattern1
.
Тело заполняет фигуру, представляет экземпляры набора ресурсов PRS, которые передаются, и трафаретная заливка на рисунке представляет экземпляры набора ресурсов PRS, которые отключены звук или не переданы.
MutingBitRepetition
: Количество последовательных экземпляров набора ресурсов PRS (говорят N), соответствие одному элементу MutingPattern1
бинарный вектор. Первый элемент в MutingPattern1
бинарный вектор соответствует последовательным экземплярам N набора ресурсов PRS, второй элемент соответствует следующим последовательным экземплярам N набора ресурсов PRS и так далее.
Рисунок 3 иллюстрирует случай отключения звука опции 1 шаблона как [1 0] и отключения звука битного фактора повторения как 2 в дополнение к предыдущей конфигурации слота PRS, которую показывают в рисунке 1. Этими параметрами эффективная комбинация двоичных разрядов отключения звука на уровне экземпляра набора ресурсов PRS [1 1 0 0 1 1 0 0...].
MutingPattern2
: Бинарный вектор, который управляет отключением звука индексов повторения ресурса PRS во всех активных экземплярах набора ресурсов PRS. Первый элемент в бинарном векторе соответствует первому индексу повторения ресурса PRS, второй элемент соответствует второму индексу повторения ресурса PRS и так далее. Длина бинарного вектора равна значению PRSResourceRepetition
свойство и тот же бинарный вектор применимы ко всем ресурсам PRS в наборе ресурсов PRS.
Рисунок 4 иллюстрирует случай отключения звука опции 2 комбинации двоичных разрядов как [0 1] в дополнение к предыдущей конфигурации слота PRS, которую показывают в рисунке 1. В этом случае эффективная опция 2 комбинации двоичных разрядов отключения звука на уровне индекса повторения ресурса PRS [0 1 0 1 0 1...], который является повторным шаблоном MutingPattern2
.
Когда вы конфигурируете обоих MutingPattern1
и MutingPattern2
свойства, эффективная комбинация двоичных разрядов отключения звука равна побитовому И отключения звука опции 1 комбинации двоичных разрядов и отключения звука опции 2 комбинации двоичных разрядов.
Рисунок 5 иллюстрирует случай отключения звука опции 1 комбинации двоичных разрядов как [1 0], отключение звука битного фактора повторения как 2 и отключение звука опции 2 комбинации двоичных разрядов как [0 1] в дополнение к предыдущей конфигурации слота PRS, которую показывают в рисунке 1. Этими параметрами эффективная опция 1 комбинации двоичных разрядов отключения звука на уровне экземпляра набора ресурсов PRS [1 1 0 0 1 1...], и эффективная опция 2 комбинации двоичных разрядов отключения звука на уровне индекса повторения ресурса PRS [0 1 0 1 0 1...].
Для заданной настройки, когда количество ресурсов PRS равняется 2 и фактору повторения ресурса PRS, 2, один экземпляр набора ресурсов PRS содержит четыре экземпляра ресурса. И ниже опция 1 комбинации двоичных разрядов отключения звука и опция 2 комбинации двоичных разрядов отключения звука на уровне индекса повторения ресурса PRS:
Отключение звук опции 1 комбинации двоичных разрядов при повторении ресурса PRS индексирует уровень, binaryVec1 = [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1...].
Отключение звук опции 2 комбинации двоичных разрядов при повторении ресурса PRS индексирует уровень, binaryVec2 = [0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1...].
Эффективная комбинация двоичных разрядов отключения звука на уровне индекса повторения ресурса PRS является побитовым И binaryVec1 и binaryVec2, который равен [0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1...]. Можно наблюдать этот шаблон в рисунке 5.
Сконфигурируйте шаблоны отключения звука PRS в дополнение к предыдущей конфигурации слота PRS в prs
. Код MATLAB генерирует ресурсы PRS как пустые для пазов, которые отключены звук. Этот пример подсвечивает пазы с отключенным звуком с легким оттенком в сгенерированных графиках для легкого сравнения с рисунками 2 - 5.
prs.MutingPattern1 = [1 0]; % Use [] to disable the muting bit pattern option-1 prs.MutingBitRepetition = 2; prs.MutingPattern2 = [0 1]; % Use [] to disable the muting bit pattern option-2 plotTitle = 'PRS Slot and Muting Configurations'; plotGrid(carrier,prs,numSlots,'SlotFill',plotTitle); % Slot numbers on the x-axis of the MATLAB plot are 1-based
Эти свойства nrPRSConfig
возразите управляют выделением временного интервала ресурса PRS.
NumPRSSymbols
(): Количество последовательных символов OFDM в пазе, которые выделяются для каждого ресурса PRS в наборе ресурсов PRS.
SymbolStart
(): Запуск символ OFDM (на основе 0) из каждого ресурса PRS в наборе ресурсов PRS. Это свойство задано относительно первого символа OFDM паза (символ № 0).
Символы OFDM, выделенные для ресурса PRS, заданы как .
Рисунок 6 иллюстрирует случай, где количество символов OFDM, выделенных для ресурса PRS, равняется 6 и запуску, символ OFDM распределения ресурсов PRS равняется 3 (на основе 0).
Эти свойства nrPRSConfig
возразите управляют выделением частотного диапазона ресурса PRS при гранулярности уровня RB.
NumRB
: Количество физических блоков ресурса (PRBs) выделяется для всех ресурсов PRS в наборе ресурсов PRS.
RBOffset
: Запуск индекс PRB (на основе 0) из всех ресурсов PRS в наборе ресурсов PRS. Это свойство задано относительно сетки ресурса несущей, но спецификация задает это смещение относительно общего блока 0 ресурса (CRB 0) (рисунок 7 подсвечивает эти обозначения).
Рисунок 7 иллюстрирует выделение частотного диапазона ресурса PRS и несущей.
Эти свойства nrPRSConfig
возразите управляют выделением частотного диапазона ресурса PRS при гранулярности уровня RE.
CombSize
(): Плотность RE всех ресурсов PRS в наборе ресурсов PRS. Например, если вы конфигурируете значение как , каждый th RE в PRB выделяется для PRS.
REOffset
(): Запуск RE возместил (на основе 0) в первом символе OFDM каждого ресурса PRS в наборе ресурсов PRS. Относительные смещения RE следующего или следующего PRS символы OFDM заданы относительно этого REOffset
значение, как показано в таблице в рисунке 8.
Считайте количество символов OFDM выделенным для ресурса PRS как 6, запуск символ OFDM распределения ресурсов PRS как 3 (на основе 0), размер расчески PRS как 4, и смещение RE в первом символе OFDM как 2 (на основе 0). Для размера расчески PRS 4, относительные смещения RE следующего PRS символы OFDM вычисляются на основе строки 2 из таблицы в рисунке 8.
Для заданной настройки числа символа OFDM в рамках распределения ресурсов PRS (на основе 0).
Из таблицы в рисунке 8, относительные смещения RE () в PRS символы OFDM [0 2 1 3 0 2]. Стрелки в рисунке 9 подсвечивают эти относительные смещения. Рисунок показывает один PRB в одном пазе, чтобы подсветить шаблон уровня RE.
Эффективные смещения RE (второй термин вычисление, как задано в Разделе TS 38.211 7.4.1.7.3 [2]) в PRS символы OFDM (на основе 0).
Сконфигурируйте RE и выделение уровня символа PRS. Чтобы наблюдать шаблон частотного диапазона на уровне RE, этот код использует один PRB в одном пазе.
carrier.NSizeGrid = 1; prs = nrPRSConfig; prs.NumPRSSymbols = 6; prs.SymbolStart = 3; prs.NumRB = 1; prs.RBOffset = 0; prs.CombSize = 4; prs.REOffset = 2; numSlots = 1; % Consider one slot to highlight the RE pattern in the MATLAB plot plotTitle = 'PRS Resource Elements Configuration'; plotGrid(carrier,prs,numSlots,'REFill',plotTitle); % OFDM symbol and subcarrier numbers in the MATLAB plot are 1-based grid on; grid minor;
NPRSID
свойство nrPRSConfig
объект используется в инициализации псевдослучайной двоичной последовательности, чтобы сгенерировать символы PRS, как задано в Разделе TS 38.211 7.4.1.7.2 [2].
Пример показывает, как сконфигурировать аспекты частоты времени PRS и как различные настройки набора ресурсов PRS влияют на структуру частоты времени PRS.
Сконфигурируйте несколько ресурсов PRS с различным временем и аспектами выделения частоты и аспектами конфигурации слота, и затем наблюдайте изменения положений RE и назначения слотов. Попробуйте различные настройки отключения звука (различные комбинации отключения звука опции 1 комбинации двоичных разрядов и опции 2), и затем смотрите изменения сетки.
3GPP TR 22.872. "Исследование расположения вариантов использования". Проект Партнерства третьего поколения; Technical Specification Group Services И Системные Аспекты.
3GPP TS 38.211. "NR; Физические каналы и модуляция (Релиз 16)". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
Этот пример использует эти локальные функции, чтобы построить аспекты частоты времени всех ресурсов PRS, сконфигурированных в наборе ресурсов PRS.
function plotGrid(carrier,prs,numSlots,flag,imTitle) % plotGrid(CARRIER,PRS,NUMSLOTS,FLAG,IMTITLE) plots the carrier grid by % considering these inputs: % % CARRIER - Carrier specific configuration object % PRS - Positioning reference signal configuration object % NUMSLOTS - Number of slots over which the function plots the % carrier grid % FLAG - Flag to consider the plot style, specified as % 'SlotFill' or 'REFill'. The 'SlotFill' option highlights the % slots in which the PRS is present. The 'REFill' option % highlights the REs in which the PRS is present. % IMTITLE - Title for the plot [transmittedSlots,mutedSlots] = getTransmittedAndMutedSlots(carrier,prs,numSlots); % Of size numSlots-by-numRes numRes = size(transmittedSlots,2); rng(37); % Set RNG state for repeatability tempColors = reshape(rand((numRes-2)*3,1),[],3); map = [1 1 1;... % White color 0 0 0.6667;... % Blue color 1 0 0;... % Red color tempColors]; resScalings = 1:numRes+1; % 1 for white color, 2 for blue color, and 3 for red color, and so on prsREGrid = zeros(carrier.NSizeGrid*12,carrier.SymbolsPerSlot*numSlots); prsSlotGrid = resScalings(1)*ones(carrier.NSizeGrid*12,numSlots); % For white background figure(); % Plot PRS slot grid image(abs(prsSlotGrid)); % Apply colormap to image colormap(map); for slotIdx = 0:numSlots-1 if strcmpi(flag,'REFill') carrier.NSlot = slotIdx; ind = nrPRSIndices(carrier,prs,'OutputResourceFormat','cell'); sym = nrPRS(carrier,prs,'OutputResourceFormat','cell'); slotGrid = nrResourceGrid(carrier); for resIdx = 1:numel(ind) slotGrid(ind{resIdx}) = resScalings(resIdx+1)*abs(sym{resIdx}); end prsREGrid(:,(1:carrier.SymbolsPerSlot)+carrier.SymbolsPerSlot*slotIdx) = slotGrid; % Replace all zero values of carrier grid with proper scaling % for white background prsREGrid(prsREGrid == 0) = resScalings(1); % Plot carrier grid image(abs(prsREGrid)); axis xy; % Apply colormap to image colormap(map); % Add labels to x-axis and y-axis xlabel('OFDM Symbols'); ylabel('Subcarriers'); % Generate lines L = line(ones(numRes),ones(numRes),'LineWidth',8); % Index color map and associate selected colors with lines set(L,{'color'},mat2cell(map(resScalings(2:end),:),ones(1,numRes),3)); % Create legend legendNames = cell(1,numRes); for resIdx = 1:numRes legendNames{resIdx} = ['PRS resource #' num2str(resIdx)]; end legend(legendNames{:}); else % 'SlotFill' axis xy; hold on; for resIdx = 1:numRes ismuted = mutedSlots(slotIdx+1,resIdx); isTransmitted = transmittedSlots(slotIdx+1,resIdx); temp = [slotIdx+1 slotIdx+1]; color = map(resIdx+1,:); if isTransmitted hT(resIdx) = patch([temp(1)-0.5 temp(1)-0.5 temp(end)+0.5 temp(end)+0.5],[1 624 624 1],... color,'LineStyle','none'); %#ok<AGROW> end if ismuted hM(resIdx) = patch([temp(1)-0.5 temp(1)-0.5 temp(end)+0.5 temp(end)+0.5],[1 624 624 1],... color,'LineStyle','none','FaceAlpha',0.5); %#ok<AGROW> end end end end % Add title to image title(imTitle); if strcmpi(flag,'SlotFill') % Add labels to x-axis and y-axis xlabel('Slots'); ylabel('Subcarriers'); % Create legend legendNames = cell(1,numRes); legendNamesTxRes = cell(1,numRes); legendNamesMutedRes = cell(1,numRes); for resIdx = 1:numRes legendNames{resIdx} = ['PRS resource #' num2str(resIdx)]; legendNamesTxRes{resIdx} = ['Transmitted instance of PRS resource #' num2str(resIdx)]; legendNamesMutedRes{resIdx} = ['Muted instance of PRS resource #' num2str(resIdx)]; end if sum(mutedSlots(:)) > 0 legend([hT hM],[legendNamesTxRes legendNamesMutedRes]); else legend(hT,legendNames); end end end function [transmittedSlots,mutedSlots] = getTransmittedAndMutedSlots(carrier,prs,numSlots) % [TRANSMITTEDSLOTS,MUTEDSLOTS] = getTransmittedAndMutedSlots(CARRIER,PRS,NUMSLOTS) % returns logical arrays to give information about transmitted slots % TRANSMITTEDSLOTS and muted slots MUTEDSLOTS for all PRS resources by % considering these inputs: % % CARRIER - Carrier specific configuration object % PRS - Positioning reference signal configuration object % NUMSLOTS - Number of slots for which the output is returned % Take copy of input PRS configuration to retain input muting % configuration unchanged for further processing prs1 = prs; % Extract PRS configuration without considering muting aspects prs1.MutingPattern1 = []; prs1.MutingBitRepetition = 2; prs1.MutingPattern2 = []; numResOffVal = numel(prs1.PRSResourceOffset); numSymStartVal = numel(prs1.SymbolStart); numPRSSymVal = numel(prs1.NumPRSSymbols); numREOffVal = numel(prs1.REOffset); numNPRSIDVal = numel(prs1.NPRSID); % Calculate the number of PRS resources configured in a PRS % resource set numRes = max([numResOffVal, numSymStartVal, numPRSSymVal, ... numREOffVal, numNPRSIDVal]); PRSPresenceWithOutMuting = zeros(numSlots,numRes); for slotIdx = 0:numSlots-1 carrier.NSlot = slotIdx; [~,PRSPresence] = nr5g.internal.validateAndSchedulePRS(carrier,prs1); PRSPresenceWithOutMuting(slotIdx+1,:) = PRSPresence; end % Consider PRS configuration with muting aspects prs1.MutingPattern1 = prs.MutingPattern1; prs1.MutingBitRepetition = prs.MutingBitRepetition; prs1.MutingPattern2 = prs.MutingPattern2; PRSPresenceWithMuting = zeros(numSlots,numRes); for slotIdx = 0:numSlots-1 carrier.NSlot = slotIdx; [~,PRSPresence] = nr5g.internal.validateAndSchedulePRS(carrier,prs1); PRSPresenceWithMuting(slotIdx+1,:) = PRSPresence; end % Identify transmitted and muted slots based on PRS scheduling transmittedSlots = PRSPresenceWithMuting; % Of size numSlots-by-numRes mutedSlots = PRSPresenceWithOutMuting ~= PRSPresenceWithMuting; % Of size numSlots-by-numRes end