Этот пример показывает частотно-временные аспекты нового общего канала физического восходящего канала (PUSCH), связанного опорного сигнала демодуляции (DM-RS) и опорного сигнала отслеживания фазы (PT-RS). Пример показывает, как распределение ресурсов PUSCH влияет на частотно-временную структуру DM-RS и PT-RS.
В 5G NR PUSCH является физическим каналом восходящей линии связи, который содержит пользовательские данные. DM-RS и PT-RS являются опорными сигналами, сопоставленными с PUSCH. DM-RS используется для оценки канала как часть когерентной демодуляции PUSCH. Чтобы компенсировать общую фазовую ошибку (CPE), 3GPP 5G NR ввел PT-RS. Фазовый шум, создаваемый в локальных генераторах, вносит значительное ухудшение на частотах ммВолны. Он создает CPE и интерференцию между несущими (ICI). CPE ведет к идентичному повороту принятого символа в каждой поднесущей. ICI приводит к потере ортогональности между поднесущими. PT-RS используется в основном для оценки и минимизации эффекта CPE на производительность системы.
Частотно-временная структура опорных сигналов зависит от типа формы волны, настроенной для ПУСК, как определено в ТС 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, находятся в пределах части полосы пропускания (BWP) оператора связи, как определено в TS 38.214 Раздел 6.1.2 [2]. Ресурсы во временном интервале для передачи PUSCH планируются посредством информации управления нисходящей линии связи (DCI) в поле Назначение ресурса временного интервала. Это поле указывает смещение паза , начальный символ 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 используется для оценки радиоканала. DM-RS присутствует только в RB, запланированных для PUSCH. Структура DM-RS предназначена для поддержки различных сценариев развертывания и сценариев использования.
Параметры, которые управляют временными ресурсами DM-RS:
Назначение символа PUSCH
Тип отображения
Внутрипозиционное скачкообразное изменение частоты
Положение типа A DM-RS
Длина DM-RS
Дополнительное положение DM-RS
Выделение символа PUSCH указывает местоположение символа OFDM, выделенное для передачи PUSCH в пазе. Тип отображения указывает первое местоположение символа OFDM DM-RS и длительность символов OFDM (). Для отображения типа A, - длительность между первым символом OFDM паза и последним символом OFDM выделенных ресурсов PUSCH. Для отображения типа B, - длительность выделенных ресурсов PUSCH. Когда включено скачкообразное изменение частоты внутри внутрипаза, - длительность каждого скачка. Символы DM-RS присутствуют в каждом скачке, когда включено скачкообразное изменение частоты внутри внутрипаза. Когда включено скачкообразное изменение частоты внутри внутрипаза, DM-RS является односимвольным с максимальным количеством дополнительных положений либо 0, либо 1. Расположение символа ДМ-РС определяется ТС 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 и Опорных сигналов DM-RS и PT-RS.
% 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, последовательность золота длины. Последовательность генерируется по всем общим ресурсным блокам (CRB) и передается только в RB, выделенных для данных, потому что последовательность не требуется для оценки канала вне частотной области, в которой данные не передаются. Сгенерирование последовательности опорного сигнала через все CRB гарантирует, что та же самая базовая псевдослучайная последовательность используется для нескольких UE на перекрывающихся частотно-временных ресурсах в случае многопользовательского MIMO. Параметры, которые управляют генерацией последовательности:
Скремблирующие тождества DM-RS ()
Инициализация скремблирования DM-RS ()
Количество символов OFDM в пазе
Паз номер в радиочастотной системе координат
Расположение символов DM-RS
Распределение PRB
Свойство CyclicPrefix объекта поставщика услуг управления количеством символов 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')
% 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');
PT-RS является опорным сигналом отслеживания фазы. PT-RS используется в основном для оценки и минимизации эффекта CPE на производительность системы. Из-за фазы шумовых свойств сигнал PT-RS имеет низкую плотность в частотный диапазон и высокую плотность в временной интервал. PT-RS всегда происходит в сочетании с DM-RS и только тогда, когда сеть сконфигурировала PT-RS, чтобы присутствовать.
PT-RS конфигурируется посредством параметра более высокого слоя DMRS-UplinkConfig для восходящего канала. Параметры, которые управляют временными ресурсами PT-RS:
Расположение символов DM-RS
Временная плотность PT-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
Частотная плотность PT-RS ()
Временный идентификатор радиосети ()
Смещение ресурсного элемента
Порты антенны PT-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 с сеткой с масштабированными значениями, чтобы визуализировать соответствующие местоположения в сетке.
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)
На предыдущем рисунке PT-RS расположен от начала символа OFDM в физическом распределении общего канала восходящей линии связи. Символы присутствуют на каждом интервал скачка друг от друга или от символов DM-RS. Значение различия в последовательных местоположениях поднесущих PT-RS составляет 24, что является количеством поднесущих в RB (12), умноженным на частотную плотность PT-RS (2).
DFT-s-OFDM поддерживает только передачу с одним слоем и в основном используется для сценариев с низким уровнем покрытия. Частотно-временные ресурсы DM-RS в DFT-s-OFDM структурированы таким образом, чтобы достичь низкой кубической и высокой степени эффективности усилителя. Передача частоты опорного сигнала, мультиплексированной с другими передачей данных восходящей линии связи, сильно влияет на эффективность усилителя степени из-за увеличения кубической метрики. Опорные сигналы мультиплексированы по времени с передачей по восходящей линии связи, таким образом блокируя все ресурсные элементы для передачи данных в символах OFDM, несущих DM-RS.
Параметрами, которые управляют временными ресурсами DM-RS в DFT-s-OFDM, являются:
Назначение символа PUSCH
Тип отображения
Внутрипозиционное скачкообразное изменение частоты
Положение типа A DM-RS
Длина 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, является постоянным. Фигура иллюстрирует местоположения поднесущей DM-RS в DFT-s-OFDM для отображения типа A с символами OFDM, выделенными для PUSCH, охватывающего полный паз.
% Set the DM-RS antenna port
pusch.DMRS.DMRSPortSet = 0;
Последовательность DM-RS является последовательностью ZadoffChu в DFT-s-OFDM. Ортогональные последовательности генерируются с различными циклическими сдвигами для номера группы и порядкового номера. Параметры, которые управляют генерацией последовательности:
Распределение PRB
Скачкообразное изменение группы
Скачкообразное изменение последовательности
Скремблирующие тождества DM-RS ()
Расположение символов 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'})
Местоположения поднесущих в символах OFDM, занимающих DM-RS, не назначаются для PUSCH.
PT-RS в DFT-s-OFDM вставляется с данными на этапе предварительного кодирования преобразования.
Параметры, которые управляют временными ресурсами PT-RS в DFT-s-OFDM, совпадают с параметрами, которые управляют временными ресурсами PT-RS в CP-OFDM. Значение 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 вставляются как фрагменты или группы (). Каждая группа состоит из конечного числа выборок () в запланированной полосе для каждого символа OFDM, где PT-RS присутствует.
Параметры, которые управляют частотными ресурсами PT-RS в DFT-s-OFDM:
Распределение PRB
Количество выборок PT-RS в группе ()
Количество групп PT-RS ()
Допустимые комбинации плотности выборки PT-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 ()
Местоположения поднесущих 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)
Можно попробовать изменить параметры, которые влияют на временные и частотные ресурсы опорных сигналов и наблюдают изменения в позициях RE для соответствующих сигналов.
Попробуйте изменить количество портов антенны, настроенных для DM-RS и PT-RS, затем наблюдайте изменения опорных сигналов и данных через порты. Например, попробуйте сконфигурировать DM-RS для двух портов антенны 0 и 2, тип строения 1 и PT-RS для порта антенны 0. Сгенерируйте индексы PUSCH, сигнал DM-RS (индексы и символы) и сигнал PT-RS (индексы и символы). Сопоставьте их с сеткой и визуализируйте сетку для обоих портов.
Попробуйте выполнить оценку канала и отслеживание фазы, используя символы и индексы PT-RS. Вычислите пропускную способность путем выполнения шагов, описанных в NR PUSCH Through.
В этом примере показано, как сгенерировать последовательности DM-RS и PT-RS и как сопоставить последовательности с ресурсной сеткой несущей OFDM. В нем освещаются свойства, которые управляют частотно-временной структурой опорных сигналов для различных форм волны. Для примера, частотно-временной шаблон для опорных сигналов в CP-OFDM и DFT-s-OFDM и изменение в последовательностях, сгенерированных для опорных сигналов в различных формах волны.
3GPP TS 38.211. "NR; Физические каналы и модуляция (Release 15). Группа технических спецификаций Радиосеть доступ.
3GPP TS 38.214. "NR; Процедуры физического уровня для данных (Release 15). Группа технических спецификаций Радиосеть доступ.
3GPP TS 38.212. "NR; Мультиплексирование и канальное кодирование (Release 15). Группа технических спецификаций Радиосеть доступ.
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