Опорный сигнал позиционирования NR

Этот пример показывает, как сконфигурировать частотно-временные аспекты нового опорного сигнала позиционирования радио (NR) (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 Точки A: Абсолютная частота ссылки ресурсного блока или блока общих ресурсов. Самая низкая поднесущая этого опорного ресурсного блока известна как PRS Point A. Спецификация 5G определяет распределение частотных ресурсов PRS относительно PRS point A. Пример показывает, как сконфигурировать начало распределения частотного диапазона PRS с использованием 5G Toolbox™ функций и его связи со стандартным понятием.

5G Toolbox™ предлагает символы PRS и генерацию индексов с объектом строения nrPRSConfig и функции nrPRS и nrPRSIndices. The nrPRSConfig объект объединяет все параметры, относящиеся к набору ресурсов PRS.

Строение паза 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

Figure contains an axes. The axes with title PRS Slot Configuration contains 17 objects of type image, patch. These objects represent PRS resource #1, PRS resource #2.

PRS Muting Строения

Отключить ресурс PRS можно двумя способами:

  • Отключение образцов набора ресурсов PRS с помощью свойств MutingPattern1 и MutingBitRepetition от nrPRSConfig объект

  • Отключите индексы повторения ресурсов PRS с помощью свойства MutingPattern2 от nrPRSConfig объект

MutingPattern1: Двоичный вектор, который управляет мутированием образцов набора ресурсов PRS. Каждый элемент в двоичном векторе управляет мутированием всех ресурсов PRS в образце набора ресурсов PRS (один образец соответствует одному периоду набора ресурсов PRS). Первый элемент в двоичном векторе соответствует первому образцу набора ресурсов PRS, второй элемент соответствует второму образцу набора ресурсов PRS и так далее.

  • Двоичное значение 1 указывает, что все ресурсы PRS в образце набора ресурсов PRS передаются.

  • Двоичное значение 0 указывает, что все ресурсы PRS в образце набора ресурсов PRS заглушены.

Фигура иллюстрирует случай опции 1 битового шаблона мутации как [1 0] в дополнение к предыдущему строению паза PRS, которая показана на фигура. В этом случае эффективный параметр битового шаблона-1 на уровне образца набора ресурсов PRS является [1 0 1 0 1 0...], что является повторным шаблоном MutingPattern1.

Твердое заполнение рисунка представляет образцы набора ресурсов PRS, которые передаются, а шаблон заполнения рисунка представляет образцы набора ресурсов PRS, которые заглушены или не переданы.

MutingBitRepetition: Количество последовательных образцов набора ресурсов PRS (например, N), соответствующих одному элементу MutingPattern1 двоичный вектор. Первый элемент в MutingPattern1 двоичный вектор соответствует N последовательным образцам набора ресурсов PRS, второй элемент соответствует следующим N последовательным образцам набора ресурсов PRS и так далее.

Фигура иллюстрирует случай опции 1 шаблона мутации как [1 0] и коэффициента повторения битов мутации как 2 в дополнение к предыдущему строению паза PRS, которая показана на фигура. С этими параметрами эффективный битовый шаблон на уровне образца набора ресурсов PRS является [1 1 0 0 1 1 0 0...].

MutingPattern2: Двоичный вектор, который управляет мутированием индексов повторения ресурсов PRS во всех активных образцах набора ресурсов PRS. Первый элемент в двоичном векторе соответствует первому индексу повторения ресурса PRS, второй элемент соответствует второму индексу повторения ресурса PRS и так далее. Длина двоичного вектора равна значению PRSResourceRepetition свойство и тот же двоичный вектор применимы ко всем ресурсам PRS в наборе ресурсов PRS.

Фигура иллюстрирует случай опции 2 битового шаблона мутации как [0 1] в дополнение к предыдущему строению паза PRS, которая показана на фигура. В этом случае эффективный параметр битового шаблона-2 на уровне индекса повторения ресурса PRS является [0 1 0 1 0 1...], что является повторным шаблоном MutingPattern2.

Когда вы конфигурируете оба MutingPattern1 и MutingPattern2 свойства, эффективный мутирующий битовый шаблон равен битовой И опции мутирующего битового шаблона-1 и опции мутирующего битового шаблона-2.

Фигура иллюстрирует случай опции 1 битового шаблона мутации как [1 0], коэффициента повторения битов мутации как 2 и опции 2 битового шаблона мутации как [0 1] в дополнение к предыдущему строению паза PRS, которая показана на фигура. С этими параметрами эффективный параметр битового шаблона на уровне образца набора ресурсов PRS равен [1 1 0 0 1 1...], и эффективный параметр битового шаблона на уровне индекса повторения ресурса PRS равен [0 1 0 1 0 1...].

Для указанного строения, поскольку количество ресурсов PRS равно 2, а коэффициент повторения ресурсов PRS равен 2, один образец набора ресурсов PRS содержит четыре образцов ресурса. И ниже приведены опция мутирующего битового шаблона и опция мутирующего битового шаблона на уровне индекса повторения ресурса 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...].

Muting bit шаблона option-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

Figure contains an axes. The axes with title PRS Slot and Muting Configurations contains 17 objects of type image, patch. These objects represent Transmitted instance of PRS resource #1, Transmitted instance of PRS resource #2, Muted instance of PRS resource #1, Muted instance of PRS resource #2.

Выделение PRS во временной и частотной областях

Эти свойства nrPRSConfig объект управляет выделением ресурсов PRS во временной области.

  • NumPRSSymbols (LPRS): Количество последовательных символов OFDM в пазе, которые выделяются для каждого ресурса PRS в наборе ресурсов PRS.

  • SymbolStart (lstartPRS): Запуск символа OFDM (на основе 0) каждого ресурса PRS в наборе ресурсов PRS. Это свойство задано относительно первого символа OFDM паза (символа # 0).

Символы OFDM, выделенные для ресурса PRS, определяются как l=lstartPRS,lstartPRS+1,,lstartPRS+LPRS-1.

Фигура иллюстрирует случай, когда количество символов OFDM, выделенных для ресурса PRS, составляет 6, а начальный символ OFDM выделения ресурса PRS равен 3 (на основе 0).

Эти свойства nrPRSConfig объект управляет выделением частотного диапазона ресурса PRS с гранулярностью уровня RB.

  • NumRB: Количество физических ресурсных блоков (PRB), выделенных для всех ресурсов PRS в наборе ресурсов PRS.

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

Фигура иллюстрирует выделение частотного диапазона ресурса PRS и несущей.

Эти свойства nrPRSConfig объект управляет выделением частотного диапазона ресурса PRS с гранулярностью уровня RE.

  • CombSize (KcombPRS): Плотность RE всех ресурсов PRS в наборе ресурсов PRS. Для примера, если вы конфигурируете значение как i{2,4,6,12}, каждый iRE в PRB выделяется для PRS.

  • REOffset (koffsetPRS): Запуск смещения 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 из таблицы на фигура.

Для заданного строения номера символов OFDM в рамках распределения ресурсов PRS: l-lstartPRS=0,,5 (на основе 0).

Из таблицы в Фигуру 8, относительный RE смещений (k) в PRS OFDM символы [0 2 1 3 0 2]. Стрелы на фигуре 9 подсвечивают эти относительные смещения. Рисунок показывает один PRB в одном пазе, чтобы выделить шаблон уровня RE.

Эффективные смещения RE (второй член k расчет, как определено в TS 38.211 Раздел 7.4.1.7.3 [2]) в PRS OFDM символы: mod(koffsetPRS+k,KcombPRS)=mod([243524],4)=[203120] (на основе 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;

Figure contains an axes. The axes with title PRS Resource Elements Configuration contains 2 objects of type image, line. This object represents PRS resource #1.

Тождества последовательности PRS

The NPRSID свойство nrPRSConfig объект используется в инициализации псевдослучайной двоичной последовательности для генерации символов PRS, как определено в TS 38.211 Раздел 7.4.1.7.2 [2].

Резюме и дальнейшие исследования

В примере показано, как сконфигурировать частотно-временные аспекты PRS и как различные строения набора ресурсов PRS влияют на частотно-временную структуру PRS.

Сконфигурируйте несколько ресурсов PRS с различными аспектами распределения времени и частоты и аспектами строения пазов, а затем наблюдайте изменения в позициях распределения пазов и RE. Попробуйте различные строения мутации (различные комбинации опции мутирующего битового шаблона и опции-2), а затем посмотрите изменения в сетке.

Ссылки

  1. 3GPP TR 22.872. «Исследование вариантов использования позиционирования». 3-ья Генерация проект партнерства; Технические спецификации Групповые услуги и системные аспекты.

  2. 3GPP TS 38.211. "NR; Физические каналы и модуляция (Release 16). Группа технических спецификаций Радиосеть доступ.

Локальные функции

Этот пример использует эти локальные функции для построения графика частотно-временных аспектов всех ресурсов 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

См. также

Объекты

Функции