exponenta event banner

Распределение ресурсов NR PUSCH и опорные сигналы DM-RS и PT-RS

Этот пример показывает частотно-временные аспекты нового общего физического канала восходящей линии связи (PUSCH), связанного опорного сигнала демодуляции (DM-RS) и опорного сигнала отслеживания фазы (PT-RS). В примере показано, как распределение ресурсов PUSCH влияет на частотно-временную структуру DM-RS и PT-RS.

Введение

В 5G НОМЕР, PUSCH - физический канал канала восходящей связи, который несет пользовательские данные. DM-RS и PT-RS являются опорными сигналами, связанными с PUSCH. DM-RS используется для оценки канала как часть когерентной демодуляции PUSCH. Для компенсации общей фазовой ошибки (CPE) 3GPP 5G NR ввел PT-RS. Фазовый шум, производимый в гетеродинах, приводит к значительному ухудшению на частотах mmWave. Он создает CPE и интерференцию между несущими (ICI). CPE приводит к идентичному повороту принятого символа в каждой поднесущей. ICI приводит к потере ортогональности между поднесущими. PT-RS используется главным образом для оценки и минимизации влияния CPE на производительность системы.

Частотно-временная структура опорных сигналов зависит от типа сигнала, сконфигурированного для PUSCH, как определено в TS 38.211 Разделы 6.4.1.1 и 6.4.1.2 [1]. Когда предварительное кодирование преобразования отключено, форма сигнала конфигурируется как мультиплексирование с циклическим префиксом и ортогональным частотным разделением (CP-OFDM). Когда предварительное кодирование преобразования разрешено, форма сигнала конфигурируется как мультиплексирование с дискретным фурьерным преобразованием и расширенным ортогональным частотным разделением (DFT-s-OFDM).

5G Toolbox™ предоставляет функции для моделирования физического (PHY) уровня с различными уровнями детализации. Уровни детализации варьируются от функций уровня канала PHY, которые выполняют обработку транспортного и физического каналов, до функций этапа обработки отдельных каналов, выполняющих кодирование с циклическим избыточным кодом (CRC), сегментацию кодовых блоков, кодирование канала с низкой плотностью контроля по четности (LDPC) и т.д. Панель инструментов обеспечивает функции опорных сигналов, связанные с PUSCH в качестве функций nrPUSCHDMRS, nrPUSCHDMRSIndices, nrPUSCHPTRS, и nrPUSCHPTRSIndices.

PUSCH

PUSCH - это физический канал, который переносит пользовательские данные. Ресурсы, выделенные для PUSCH, находятся в пределах полосы пропускания (BWP) несущей, как определено в TS 38.214 Раздел 6.1.2 [2]. Ресурсы во временной области для передачи PUSCH планируются посредством управляющей информации нисходящей линии связи (DCI) в поле Назначение ресурсов временной области. Это поле указывает K0 смещения слота, начальный символ S, длину L распределения и тип отображения PUSCH. Допустимые комбинации S и L показаны в таблице 1.

Ресурсы в частотной области для передачи PUSCH планируются DCI в поле Назначение ресурсов частотной области. Это поле указывает, является ли распределение ресурсов блоков ресурсов (RB) непрерывным или несмежным, на основе типа выделения. Выделенные RB находятся в пределах BWP.

5G Toolbox™ обеспечивает nrCarrierConfig и nrPUSCHConfig объекты для установки параметров, связанных с PUSCH в BWP.

% Setup the carrier with 15 kHz subcarrier spacing and 10 MHz bandwidth 
carrier = nrCarrierConfig;
carrier.SubcarrierSpacing = 15;
carrier.CyclicPrefix = 'normal';
carrier.NSizeGrid = 52;
carrier.NStartGrid = 0;

% Configure the physical uplink shared channel parameters
pusch = nrPUSCHConfig;
pusch.NSizeBWP = [];   % Empty implies that the value is equal to NSizeGrid
pusch.NStartBWP = [];  % Empty implies that the value is equal to NStartGrid
pusch.PRBSet = 0:25;   % Allocate half of the carrier bandwidth
pusch.SymbolAllocation = [0 14]; % Symbol allocation [S L]
pusch.MappingType = 'A'; % PUSCH mapping type ('A' or 'B')
pusch.TransmissionScheme = 'nonCodebook'; % ('codebook' or 'nonCodebook')
% The following parameters are applicable when TransmissionScheme is set
% to 'codebook'
pusch.NumAntennaPorts = 4;
pusch.TPMI = 0;

DM-RS для CP-OFDM

DM-RS используется для оценки радиоканала. DM-RS присутствует только в RB, запланированных для PUSCH. Структура DM-RS предназначена для поддержки различных сценариев развертывания и сценариев использования.

Параметры, управляющие ресурсами времени

Параметры, управляющие временными ресурсами DM-RS:

  • Назначение символов PUSCH

  • Тип сопоставления

  • Скачкообразная перестройка частоты внутри слота

  • Положение DM-RS типа A

  • Длина DM-RS

  • Дополнительное положение DM-RS

Выделение символов PUSCH указывает местоположения символов OFDM, назначенные для передачи PUSCH в слоте. Тип отображения указывает первое местоположение символа OFDM DM-RS и длительность символов OFDM (ld). Для типа А отображения ld - это длительность между первым символом OFDM временного интервала и последним символом OFDM выделенных ресурсов PUSCH. Для типа отображения B ld - это длительность выделенных ресурсов PUSCH. Когда активизирована скачкообразная перестройка частоты внутри слота, ld является длительностью на скачок. Символы DM-RS присутствуют в каждом транзитном участке, когда включена скачкообразная перестройка частоты внутри слота. Когда включена скачкообразная перестройка частоты внутри слота, DM-RS является одним символом с максимальным количеством дополнительных позиций либо 0, либо 1. Местоположения символов DM-RS приведены в таблицах TS 38.211 6.4.1.1.3-3, 6.4.1.1.3-4 и 6.4.1.1.3-6. На фиг.1 показаны местоположения символов DM-RS для PUSCH, занимающего 14 символов, с типом А отображения PUSCH, разрешенной скачкообразной перестройкой частоты внутри слота и количеством дополнительных позиций DM-RS как 1. На рисунке показано, что DM-RS присутствует в каждом транзитном участке. Местоположения символов DM-RS в каждом транзитном участке зависят от количества символов OFDM, выделенных для PUSCH в каждом транзитном участке.

Для получения подробной информации о других параметрах DM-RS см. NR PDSCH Resource Allocation and DM-RS and PT-RS Reference Signals.

% Assign intra-slot frequency hopping for PUSCH
pusch.FrequencyHopping = 'intraSlot'; % 'neither', 'intraSlot', 'interSlot'
pusch.SecondHopStartPRB = 26;

% Set the parameters that control the time resources of DM-RS
pusch.DMRS.DMRSTypeAPosition = 2;      % 2 or 3
pusch.DMRS.DMRSLength = 1;             % 1 or 2 (single-symbol or double-symbol)
pusch.DMRS.DMRSAdditionalPosition = 1; % 0...3 (Number of additional DM-RS positions)

Параметры, управляющие частотными ресурсами

Параметрами, управляющими частотными ресурсами DM-RS, являются:

  • Тип конфигурации DM-RS

  • Антенные порты DM-RS

Тип конфигурации указывает плотность частоты DM-RS и сигнализируется сообщением RRC dmrs-Type. Тип конфигурации 1 определяет шесть поднесущих на блок физических ресурсов (PRB) на антенный порт, содержащий альтернативные поднесущие. Тип конфигурации 2 определяет четыре поднесущих на PRB на антенный порт, состоящий из двух групп из двух последовательных поднесущих. Различные дельта-сдвиги применяются к используемым наборам поднесущих в зависимости от ассоциированного антенного порта или группы мультиплексирования с кодовым разделением каналов (CDM). Для типа конфигурации 1 существуют две возможные группы/смещения CDM через восемь возможных антенных портов (p = 0... 7). Для типа конфигурации 2 существует три возможных группы/сдвига CDM по двенадцати антенным портам (p = 0... 11). Дополнительные сведения см. в разделах Распределение ресурсов NR PDSCH и Опорные сигналы DM-RS и PT-RS.

В случае обработки PUSCH на основе кодовой книги объединение местоположений поднесущих DM-RS, присутствующих на каждом уровне, проецируется на все антенные порты.

% Set the parameters that control the frequency resources of DM-RS
pusch.DMRS.DMRSConfigurationType = 1; % 1 or 2
pusch.DMRS.DMRSPortSet = 0;

% The read-only properties DeltaShifts and DMRSSubcarrierLocations of DMRS
% property of pusch object provides the values of delta shift(s) and DM-RS
% subcarrier locations in an RB for each antenna port configured.
pusch.DMRS.DeltaShifts
ans = 0
pusch.DMRS.DMRSSubcarrierLocations
ans = 6×1

     0
     2
     4
     6
     8
    10

Генерация последовательности

Псевдослучайная последовательность, используемая для DM-RS, представляет собой последовательность 231-1-длинного золота. Последовательность генерируется во всех общих блоках ресурсов (CRB) и передается только в RB, выделенных для данных, потому что последовательность не требуется для оценки канала вне частотной области, в которой данные не передаются. Генерация последовательности опорного сигнала по всем CRB гарантирует, что одна и та же лежащая в основе псевдослучайная последовательность используется для множества UE на перекрывающихся частотно-временных ресурсах в случае многопользовательского MIMO. Параметры, управляющие генерацией последовательности:

  • Идентификатор скремблирования DM-RS (NIDnSCID)

  • Инициализация скремблирования DM-RS (nSCID)

  • Количество символов OFDM в слоте

  • Номер слота в полке радиосвязи

  • Расположение символов DM-RS

  • Распределение PRB

Свойство SharingPrefix объекта несущей управляет количеством символов OFDM в слоте. Свойство NSlot объекта несущей управляет номером слота.

В случае обработки PUSCH на основе кодовой книги последовательность умножается на матрицу предварительного кодера, которая зависит от количества уровней, количества антенных портов и переданного индикатора матрицы предварительного кодера (TPMI).

% Set the parameters that only control the DM-RS sequence generation
pusch.DMRS.NIDNSCID = 1; % Use empty to set it to NCellID of the carrier
pusch.DMRS.NSCID = 0;    % 0 or 1

% Generate DM-RS symbols
pusch.NumLayers = numel(pusch.DMRS.DMRSPortSet);
dmrsSymbols = nrPUSCHDMRS(carrier,pusch);

% Plot the constellation
scatterplot(dmrsSymbols)
title('DM-RS Constellation')
xlabel('Real')
ylabel('Imaginary')

Figure Scatter Plot contains an axes. The axes with title DM-RS Constellation contains an object of type line. This object represents Channel 1.

% The read-only properties TimeWeights and FrequencyWeights of DMRS
% property of pusch object provides the values of time and frequency
% weights applied to the DM-RS symbols.
pusch.DMRS.TimeWeights
ans = 2×1

     1
     1

pusch.DMRS.FrequencyWeights
ans = 2×1

     1
     1

% Generate DM-RS indices
dmrsIndices = nrPUSCHDMRSIndices(carrier,pusch);

% Map the DM-RS symbols to the grid with the help of DM-RS indices
if strcmpi(pusch.TransmissionScheme,'codebook')
    nports = pusch.NumAntennaPorts;
else
    nports = pusch.NumLayers;
end
grid = zeros([12*carrier.NSizeGrid carrier.SymbolsPerSlot nports]);
grid(dmrsIndices) = dmrsSymbols;
figure
imagesc(abs(grid(:,:,1)));
axis xy;
xlabel('OFDM Symbols');
ylabel('Subcarriers');
title('DM-RS Time-Frequency Locations');

Figure contains an axes. The axes with title DM-RS Time-Frequency Locations contains an object of type image.

PT-RS для CP-OFDM

PT-RS - опорный сигнал отслеживания фазы. PT-RS используется главным образом для оценки и минимизации влияния CPE на производительность системы. Благодаря свойствам фазового шума сигнал PT-RS имеет низкую плотность в частотной области и высокую плотность во временной области. PT-RS всегда возникает в комбинации с DM-RS и только тогда, когда сеть сконфигурировала для присутствия PT-RS.

Параметры, управляющие ресурсами времени

PT-RS конфигурируется через параметр более высокого уровня DMRS-UplinkConfig для восходящего канала. Параметры, управляющие временными ресурсами PT-RS:

  • Расположение символов DM-RS

  • Временная плотность СТ-РС (ТНД-РС)

LPT-RS зависит от схемы планируемой модуляции и кодирования. Значение должно быть равно {1, 2, 4}. Параметры, управляющие местоположениями символов DM-RS, см. в разделе Параметры, управляющие временными ресурсами DM-RS (CP-OFDM).

% Set the EnablePTRS property in pusch to 1
pusch.EnablePTRS = 1;

% Set the parameters that control the time resources of PT-RS
pusch.PTRS.TimeDensity = 2;

Параметры, управляющие частотными ресурсами

PT-RS занимает только одну поднесущую в RB для одного символа OFDM. Параметры, управляющие частотными ресурсами PT-RS:

  • Распределение PRB

  • Тип конфигурации DM-RS

  • Плотность частоты СТ-РС (КПТ-РС)

  • Временный идентификатор радиосети (nRNTI)

  • Смещение элемента ресурса

  • Антенные порты PT-RS

KPT-RS зависит от запланированной полосы пропускания. Значение равно 2 или 4. Значение указывает, присутствует ли PT-RS в каждых двух RB или в каждых четырех RB.

Дополнительные сведения см. в разделах Распределение ресурсов NR PDSCH и Опорные сигналы DM-RS и PT-RS.

% Set the parameters that control PT-RS subcarrier locations
pusch.RNTI = 1;
pusch.DMRS.DMRSConfigurationType = 1;
pusch.DMRS.DMRSPortSet = 0;
% Set the PT-RS parameters
pusch.PTRS.FrequencyDensity = 2; % 2 or 4
pusch.PTRS.REOffset = '10';      % '00', '01', '10', '11'
pusch.PTRS.PTRSPortSet = min(pusch.DMRS.DMRSPortSet);

Генерация последовательности

Последовательность, используемая для генерации PT-RS, является той же самой псевдослучайной последовательностью, которая используется для генерации последовательности DM-RS. При отсутствии скачкообразной перестройки частоты внутри слота значения последовательности PT-RS зависят от первого положения символа DM-RS. При наличии скачкообразной перестройки частоты внутри слота значения последовательности PT-RS зависят от первых положений символов DM-RS в каждом прыжке. Дополнительные сведения см. в разделе Формирование последовательности DM-RS (CP-OFDM).

В случае обработки PUSCH на основе кодовой книги последовательность умножается на матрицу предварительного кодера, которая зависит от количества уровней, количества антенных портов и переданного индикатора матрицы предварительного кодера (TPMI).

% Set the parameters that control the PT-RS sequence generation
pusch.DMRS.NIDNSCID = 1; % Use empty to set it to NCellID of the carrier
pusch.DMRS.NSCID = 0;    % 0 or 1

Создайте индексы элемента ресурса (RE) PUSCH, DM-RS и PT-RS. Кроме того, создайте символы DM-RS и PT-RS.

% Control the resource elements available for data in DM-RS OFDM symbol
% locations
pusch.DMRS.NumCDMGroupsWithoutData = 1;

% PUSCH, DM-RS and PT-RS indices
pusch.NumLayers = numel(pusch.DMRS.DMRSPortSet);
[puschIndices, puschInfo] = nrPUSCHIndices(carrier,pusch);
dmrsIndices = nrPUSCHDMRSIndices(carrier,pusch);
ptrsIndices = nrPUSCHPTRSIndices(carrier,pusch);

% DM-RS and PT-RS symbols
dmrsSymbols = nrPUSCHDMRS(carrier,pusch);
ptrsSymbols = nrPUSCHPTRS(carrier,pusch);

Сопоставьте индексы PUSCH, DM-RS и PT-RS RE с сеткой с масштабированными значениями для визуализации соответствующих местоположений на сетке.

chpLevel = struct;
chpLevel.PUSCH = 0.4;
chpLevel.DMRS = 1;
chpLevel.PTRS = 1.4;
gridCPOFDM = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot nports]));
gridCPOFDM(puschIndices) = chpLevel.PUSCH;
dmrsFactor = chpLevel.DMRS*(1/(max(abs(dmrsSymbols))));
gridCPOFDM(dmrsIndices) = dmrsFactor*dmrsSymbols;
ptrsFactor = chpLevel.PTRS*(1/(max(abs(ptrsSymbols))));
gridCPOFDM(ptrsIndices) = ptrsFactor*ptrsSymbols;
plotGrid(gridCPOFDM,1,chpLevel)

Figure contains an axes. The axes with title Carrier Grid Containing PUSCH, DM-RS and PT-RS contains 4 objects of type image, line. These objects represent PUSCH, DM-RS, PT-RS.

На предыдущем чертеже PT-RS располагается от начала символа OFDM в физическом распределении совместно используемого канала восходящей линии связи. Символы присутствуют на каждом интервале перехода LPT-RS друг от друга или от символов DM-RS. Разница в последовательных местоположениях поднесущих PT-RS составляет 24, что является количеством поднесущих в RB (12), умноженным на плотность частот PT-RS (2).

DM-RS для DFT-s-OFDM

DFT-s-OFDM поддерживает только одноуровневую передачу и в первую очередь используется для сценариев с низким уровнем покрытия. Частотно-временные ресурсы DM-RS в DFT-s-OFDM структурированы таким образом, чтобы достичь низкой кубической метрики и высокой эффективности усилителя мощности. Передача частоты опорного сигнала, мультиплексированного с другими передачами данных восходящей линии связи, сильно влияет на эффективность усилителя мощности из-за увеличенной кубической метрики. Опорные сигналы мультиплексируются во времени с передачами по восходящей линии связи, тем самым блокируя все элементы ресурсов для передачи данных в символах OFDM, несущих DM-RS.

Параметры, управляющие ресурсами времени

Параметрами, которые управляют временными ресурсами DM-RS в DFT-s-OFDM, являются:

  • Назначение символов PUSCH

  • Тип сопоставления

  • Скачкообразная перестройка частоты внутри слота

  • Положение DM-RS типа A

  • Длина DM-RS

  • Дополнительное положение DM-RS

Эти параметры являются теми же параметрами, которые управляют временными ресурсами DM-RS в CP-OFDM. Дополнительные сведения см. в разделе Параметры, управляющие временными ресурсами DM-RS (CP-OFDM).

% Set the TransformPrecoding property in pusch to 1
pusch.TransformPrecoding = 1;

% Parameters that control the time resources
pusch.DMRS.DMRSTypeAPosition = 2;
pusch.DMRS.DMRSLength = 1;
pusch.DMRS.DMRSAdditionalPosition = 0;

Параметры, управляющие частотными ресурсами

Параметрами, которые управляют частотными ресурсами DM-RS в DFT-s-OFDM, являются:

  • Тип конфигурации DM-RS

  • Антенный порт DM-RS

Эти два параметра совпадают с параметрами CP-OFDM. Тип конфигурации DM-RS всегда устанавливается равным 1. Антенный порт DM-RS номинально является скаляром со значением 0.

Нет необходимости поддерживать многопользовательские ситуации MIMO, поскольку DFT-s-OFDM предназначен для сценариев с ограниченным охватом. При отсутствии ситуаций MIMO опорный сигнал генерируется только для переданных PRB, а не CRB, как в OFDM. Из-за одного уровня и одного типа конфигурации, разрешенных в DFT-s-OFDM, количество местоположений поднесущих, используемых для DM-RS в RB, является постоянным. Фиг.2 иллюстрирует местоположения поднесущих DM-RS в DFT-s-OFDM для отображения типа А с символами OFDM, назначенными для PUSCH, охватывающего весь временной интервал.

% Set the DM-RS antenna port
pusch.DMRS.DMRSPortSet = 0;

Генерация последовательности

Последовательность DM-RS является последовательностью ZadoffChu в DFT-s-OFDM. Ортогональные последовательности генерируются с различными циклическими сдвигами для номера группы и номера последовательности. Параметры, управляющие генерацией последовательности:

  • Распределение PRB

  • Групповая скачкообразная перестройка

  • Скачкообразная перестройка последовательности

  • Идентификатор скремблирования DM-RS (NIDRS)

  • Расположение символов DM-RS

% Parameters that control the sequence generation
pusch.DMRS.SequenceHopping = 0; % Sequence hopping (0 or 1)
pusch.DMRS.GroupHopping = 1;    % Group hopping (0 or 1)
pusch.DMRS.NRSID = 1;           % Use empty to set it to NCellID of carrier

% Generate the DM-RS symbols and indices
pusch.NumLayers = numel(pusch.DMRS.DMRSPortSet);
dmrsSymbols = nrPUSCHDMRS(carrier,pusch);
dmrsIndices = nrPUSCHDMRSIndices(carrier,pusch);
dmrsFactor = chpLevel.DMRS*(1/(max(abs(dmrsSymbols))));
% Map DM-RS onto the grid
grid = complex(zeros([12*carrier.NSizeGrid carrier.SymbolsPerSlot nports]));
grid(dmrsIndices) = dmrsFactor*dmrsSymbols;

% Generate PUSCH indices and map onto the grid
puschIndices = nrPUSCHIndices(carrier,pusch);
grid(puschIndices) = chpLevel.PUSCH;

% Plot the grid
titleText = 'Carrier Grid Containing PUSCH and DM-RS';
plotGrid(grid,1,struct('PUSCH',chpLevel.PUSCH,'DMRS',chpLevel.DMRS),titleText,{'PUSCH','DM-RS'})

Figure contains an axes. The axes with title Carrier Grid Containing PUSCH and DM-RS contains 3 objects of type image, line. These objects represent PUSCH, DM-RS.

Местоположения поднесущих в символах OFDM, занимающих DM-RS, не выделяются для PUSCH.

PT-RS для DFT-s-OFDM

PT-RS в DFT-s-OFDM вставляется с данными на этапе предварительного кодирования преобразования.

Параметры, управляющие ресурсами времени

Параметры, которые управляют временными ресурсами PT-RS в DFT-s-OFDM, аналогичны параметрам, которые управляют временными ресурсами PT-RS в CP-OFDM. Значение LPT-RS равно 1 или 2 в DFT-s-OFDM. Дополнительные сведения см. в разделе Параметры управления временными ресурсами PT-RS (CP-OFDM).

% Generate a grid with shared channel allocation for an RB in a single slot
% with complete symbol allocation of 14 symbols for a single layer

% Set the carrier resource grid with one RB
carrier.NSizeGrid = 1;

% Configure PUSCH with DFT-s-OFDM and no frequency hopping
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'neither';

% Set the parameter that control PT-RS time resources
pusch.EnablePTRS = 1;
pusch.PTRS.TimeDensity = 2;

Параметры, управляющие частотными ресурсами

Шаблон PT-RS в частотной области сильно отличается от CP-OFDM. Выборки PT-RS вставляют в виде порций или групп (NgroupPT-RS). Каждая группа состоит из конечного числа выборок (Nsampgroup) в запланированной полосе пропускания для каждого символа OFDM, где присутствует PT-RS.

Параметрами, которые управляют частотными ресурсами PT-RS в DFT-s-OFDM, являются:

  • Распределение PRB

  • Количество образцов PT-RS в группе (Nsampgroup)

  • Количество групп PT-RS (NgroupPT-RS)

Допустимыми комбинациями плотности образцов PT-RS ([NsampgroupNgroupPT-RS]) являются {[2 2], [2 4], [4 2], [4 4], [4 8]}. Количество выборок PT-RS в символе OFDM фиксируется в DFT-s-OFDM на основе количества выборок PT-RS во всех группах PT-RS. Это число отличается от CP-OFDM, в котором количество выборок PT-RS увеличивается на основании количества RB в PUSCH.

Фиг.3 показывает местоположения поднесущих символов PT-RS для RB с количеством выборок PT-RS, установленным на 2, и количеством групп PT-RS, установленным на 2 для символа OFDM, несущего PT-RS.

Плотность выборки PT-RS [2 2] подразумевает наличие двух групп PT-RS в запланированной полосе пропускания с двумя символами каждая.

PT-RS вставляется с многоуровневыми символами на вход предварительного кодирования преобразования. После предварительного кодирования преобразования как многоуровневые символы, так и PT-RS обрабатываются как данные. Поэтому PT-RS не отображается непосредственно в сетке.

% Set the parameters that control PT-RS frequency resources
pusch.PRBSet = 0:carrier.NSizeGrid-1;
pusch.PTRS.NumPTRSSamples = 2; % 2, 4
pusch.PTRS.NumPTRSGroups = 2;  % 2, 4, 8

Генерация последовательности

PT-RS последовательность в DFT-s-OFDM является модифицированной pi/2-BPSK последовательностью. Параметры, управляющие генерацией последовательности:

  • Запуск символа OFDM выделения PUSCH

  • Количество символов OFDM в слоте

  • Номер слота в полке радиосвязи

  • Идентификатор скремблирования PT-RS (NID)

  • Местоположения поднесущих PT-RS

% Set the parameters that control PT-RS sequence generation
pusch.DMRS.NRSID = 1;
pusch.PTRS.NID = 10; % Use empty to set it to NRSID of DMRS configuration

Формирование индексов PUSCH и PT-RS RE.

% PUSCH, and PT-RS indices
[puschIndices, puschInfoDFTsOFDM] = nrPUSCHIndices(carrier,pusch);
ptrsIndices = nrPUSCHPTRSIndices(carrier,pusch);

Установите постоянные значения для элементов ресурсов PUSCH и PT-RS.

% Insert PT-RS along with the PUSCH data
GdPTRS = size(reshape(ptrsIndices,[],pusch.NumLayers),1);
dataWithPTRS = chpLevel.PUSCH*ones(puschInfoDFTsOFDM.Gd+GdPTRS,1);
dataWithPTRS(ptrsIndices(:,1)) = chpLevel.PTRS;

Постройте график проекций PT-RS на сетку.

gridDFTsOFDM = zeros(numel(pusch.PRBSet)*12, carrier.SymbolsPerSlot);
% Map the grid with data and reference signals
gridDFTsOFDM(:,puschInfoDFTsOFDM.DMRSSymbolSet+1) = chpLevel.DMRS;
gridDFTsOFDM(~(gridDFTsOFDM==chpLevel.DMRS)) = dataWithPTRS;

% Plot the projections of data, DM-RS and PT-RS on grid before transform
% precoding
fNames = {'PUSCH','DM-RS+Res','PT-RS'};
titleText = 'Projection of Data, DM-RS, and PT-RS before Transform Precoding';
plotGrid(gridDFTsOFDM,1,chpLevel,titleText,fNames)

Figure contains an axes. The axes with title Projection of Data, DM-RS, and PT-RS before Transform Precoding contains 4 objects of type image, line. These objects represent PUSCH, DM-RS+Res, PT-RS.

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

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

Попробуйте изменить количество антенных портов, настроенных для DM-RS и PT-RS, затем просмотрите изменения опорных сигналов и данных между портами. Например, попробуйте сконфигурировать DM-RS для двух антенных портов 0 и 2, тип конфигурации 1 и PT-RS для антенного порта 0. Сформировать индексы PUSCH, сигнал DM-RS (индексы и символы) и сигнал PT-RS (индексы и символы). Сопоставьте их с сеткой и визуализируйте сетку для обоих портов.

Попробуйте выполнить оценку канала и отслеживание фазы с использованием символов и индексов PT-RS. Вычислите пропускную способность, выполнив шаги, описанные в разделе Пропускная способность NR PUSCH.

Этот пример показывает, как генерировать последовательности DM-RS и PT-RS и как отображать последовательности на сетку ресурсов несущей OFDM. Он выделяет свойства, которые управляют частотно-временной структурой опорных сигналов для различных форм сигнала. Например, частотно-временная комбинация для опорных сигналов в CP-OFDM и DFT-s-OFDM и изменение последовательностей, генерируемых для опорных сигналов в различных формах сигнала.

Ссылки

  1. 3GPP ТС 38.211. "НР; Физические каналы и модуляция (выпуск 15). "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

  2. 3GPP TS 38.214. "НР; Процедуры физического уровня для данных (версия 15). "Проект партнерства третьего поколения; Техническая спецификация на сеть радиодоступа группы.

  3. 3GPP TS 38.212. "НР; мультиплексирование и канальное кодирование (выпуск 15). "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

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

function plotGrid(grid,nLayer,chpLevel,titleText,names)
% plotGrid Display resource grid GRID of the layer number NLAYER with the
% legend containing physical channel and associated reference signals, at
% different power levels CHPLEVEL with title TITLETEXT. Legend is created
% using a cell array of character vectors NAMES.

    if nargin < 4
        titleText = 'Carrier Grid Containing PUSCH, DM-RS and PT-RS';
    end

    if nargin < 5
        names = {'PUSCH', 'DM-RS', 'PT-RS'};
    end

    map = parula(64);
    cscaling = 40;
    im = image(1:size(grid,2),1:size(grid,1),cscaling*abs(grid(:,:,nLayer)));
    colormap(im.Parent,map);

    % Add legend to the image
    chpval = struct2cell(chpLevel);
    clevels = cscaling*[chpval{:}];
    N = length(clevels);
    L = line(ones(N),ones(N), 'LineWidth',8); % Generate lines
    % Index the color map and associated the selected colors with the lines
    set(L,{'color'},mat2cell(map( min(1+clevels,length(map) ),:),ones(1,N),3)); % Set the colors according to map
    % Create legend
    legend(names{:});
    axis xy;
    ylabel('Subcarriers');
    xlabel('OFDM Symbols');
    title(titleText);
end

См. также

Функции

Объекты

Связанные темы