В этом примере показано, как сконфигурировать частотно-временные аспекты нового опорного радиосигнала позиционирования (PRS). В примере показано, как различные конфигурации набора ресурсов PRS влияют на частотно-временную структуру PRS с использованием функций 5G Toolbox™.
В соответствии с TR 22.872 [1] эти 5G случая использования требуют нахождения точного местоположения узлов в беспроводной сети в реальном времени:
Услуги на основе местоположения, такие как точное позиционирование для общих велосипедов и локационная реклама
Отраслевые сценарии использования, такие как утилизация и сбор отходов
Связанные с электронным здравоохранением случаи использования, такие как размещение медицинского оборудования в больницах и размещение пациентов за пределами больниц
Сценарии использования, связанные с чрезвычайными ситуациями и критически важными задачами
Связанные с дорогами сценарии использования, такие как взимание платы с пользователей дорог
Случаи использования железнодорожного и морского транспорта, такие как отслеживание активов и грузов
Случаи использования воздушных средств, такие, как полеты и операции беспилотных летательных аппаратов
Для определения местоположения узла на стороне пользовательского оборудования (UE) используются опорные сигналы нисходящей линии связи. Существующие опорные сигналы нисходящей линии связи, такие как опорный сигнал информации о состоянии канала и сигналы синхронизации, не используются для оценки местоположения из-за этих ограничений:
Эти опорные сигналы не способны обнаруживать достаточное количество соседних узлов сети доступа (gNB) из-за помех от соседних сот, когда сигналы от множества сот сталкиваются как во временной, так и в частотной области. Из-за этой помехи сигналы от близлежащих ячеек затеняют слабые сигналы от дальних ячеек, вызывая трудности для UE в обнаружении дальних ячеек или gNB. Эта трудность приводит к потере слышимости.
Эти опорные сигналы также имеют слабые корреляционные свойства из-за низкой плотности элемента ресурса (RE), и их шаблон RE может не распространяться по всем поднесущим в частотной области.
Чтобы преодолеть эти ограничения, 3GPP ввел новый опорный сигнал, называемый PRS в версии 16 5G спецификации, с высокой плотностью RE и с корреляционными свойствами, лучшими, чем у существующих опорных сигналов, из-за диагональной или шахматной структуры PRS RE. Слышимость 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.
PRS Point A: Абсолютная частота опорного ресурсного блока или общего ресурсного блока. Самый низкий подперевозчик этого справочного блока ресурса известен как Пункт 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:
Параметр бита «Muting bit pattern» -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...].
Параметр bit pattern-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 является битовая AND 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, определяются как LPRS-1.
Фиг.6 иллюстрирует случай, когда количество символов OFDM, выделенных для ресурса PRS, равно 6, а начальный символ OFDM распределения ресурсов PRS равен 3 (на основе 0).

Эти свойства nrPRSConfig объект управляет выделением частотной области ресурса PRS на уровне RB.
NumRBКоличество блоков физических ресурсов (PRB), выделенных для всех ресурсов PRS в наборе ресурсов PRS.
RBOffset: Запуск индекса PRB (на основе 0) всех ресурсов PRS в наборе ресурсов PRS. Это свойство определяется относительно сетки ресурсов несущей, но спецификация определяет это смещение относительно блока 0 общих ресурсов (CRB 0) (на фиг.7 выделены эти обозначения).
Фиг.7 иллюстрирует распределение ресурсов PRS и несущей в частотной области.

Эти свойства nrPRSConfig объект управляет распределением ресурса PRS в частотной области на уровне детализации RE.
CombSize (): плотность RE всех ресурсов PRS в наборе ресурсов PRS. Например, при настройке значения как каждый i-й 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). Для размера 4 гребенки PRS относительные смещения RE следующих символов PRS OFDM вычисляются на основе строки 2 из таблицы на фиг.8.
Для указанной конфигурации номера символов OFDM в пределах распределения ресурсов PRS являются .., 5 (на основе 0).
Из таблицы на фиг.8 относительные смещения RE (′) в символах PRS OFDM равны [0 2 1 3 0 2]. Стрелки на рис. 9 выделяют эти относительные смещения. На рисунке показан один PRB в одном слоте для выделения шаблона уровня RE.
Эффективные смещения RE (второй член вычисления k, как определено в TS 38,211 Section 7,4,1,7,3 [2]) в символах PRS OFDM являются 2 0 3 1 2 0] (на основе 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 ТР 22.872. «Исследование вариантов использования позиционирования». Проект партнерства 3-го поколения; Услуги и системные аспекты группы технических спецификаций.
3GPP ТС 38.211. "НР; Физические каналы и модуляция (выпуск 16). "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
В этом примере эти локальные функции используются для построения графика частотно-временных аспектов всех ресурсов 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