Декодирование символов модуляции PUSCH
[ возвращает мягкие биты cw,symbols] = nrPUSCHDecode(sym,mod,nid,rnti)cw и символы созвездия symbols в результате обратной операции обработки физического совместно используемого канала восходящей линии связи (PUSCH) из TS 38.211 раздел 6.3.1 [1]. Декодирование состоит из перепроверки уровней, демодуляции символов. sym со схемой модуляции modи дескремблирование с идентификацией скремблирования nid. Вход rnti - временный идентификатор радиосети (RNTI) пользовательского оборудования (UE). амортизация multi-input multi-output (MIMO) и преобразование deascoding отключены. При использовании этого синтаксиса функция предполагает, что входные символы содержат только символы данных.
[ указывает устаревшее преобразование как логическое значение и количество выделенных блоков ресурсов PUSCH. Укажите эти входные данные в дополнение к входным аргументам во втором синтаксисе. Когда cw,symbols] = nrPUSCHDecode(___,transformPrecode,mrb)transformPrecode имеет значение true, функция применяет обратное предварительное кодирование преобразования, определенное в TS 38.211 Раздел 6.3.1.4. mrb указывает назначенное количество блоков ресурсов PUSCH. Амортизация MIMO отключена. При использовании этого синтаксиса функция предполагает, что входные символы содержат только символы данных.
[ задает схему передачи в дополнение к входным аргументам в третьем синтаксисе. Когда cw,symbols] = nrPUSCHDecode(___,txScheme,nLayers,tpmi)txScheme имеет значение 'codebook', функция выполняет амортизацию MIMO на основе указанного количества уровней передачи nLayers и переданный индикатор матрицы предварительного кодирования (TPMI) tpmi. При использовании этого синтаксиса функция предполагает, что входные символы содержат только символы данных.
[ возвращает мягкие биты cw,symbols] = nrPUSCHDecode(carrier,pusch,sym,nVar)cw и символы созвездия symbols для указанной конфигурации несущей carrier и конфигурация PUSCH pusch. Вход sym - принятые символы PUSCH для каждого уровня и nVar задает коэффициент масштабирования дисперсии шума мягких битов. При использовании этого синтаксиса с предварительным кодированием преобразования функция предполагает, что входные символы содержат данные и символы PT-RS (если применимо), и использует только символы данных для дальнейшей обработки.
[ указывает целевую кодовую скорость cw,symbols] = nrPUSCHDecode(carrier,pusch,tcr,tbs,oack,ocsi1,ocsi2,sym,nVar)tcr, размер транспортного блока tbsи управляющую информацию восходящей линии связи. oack - длина полезной нагрузки гибридного автоматического подтверждения повторного запроса (HARQ-ACK). ocsi1 - длина полезной нагрузки части 1 информации о состоянии канала (CSI). ocsi2 - длина полезной нагрузки CSI part 2. При использовании этого синтаксиса с предварительным кодированием преобразования функция предполагает, что входные символы содержат данные и символы PT-RS (если применимо) и использует только символы данных для дальнейшей обработки. Функция также обрабатывает местозаполнители UCI при дескремблировании.
Укажите случайную последовательность двоичных значений, соответствующих кодовому слову 8064 бита.
cw = randi([0 1],8064,1);
Используя 256-QAM модуляцию, генерируйте символы модуляции PUSCH для заданного номера ячейки физического уровня, RNTI и двух уровней передачи. По умолчанию эта функция отключает предварительное кодирование преобразования и передачу на основе некодбука.
modulation = '256QAM';
nlayers = 2;
ncellid = 17;
rnti = 111;
sym = nrPUSCH(cw,modulation,nlayers,ncellid,rnti)sym = 504×2 complex
-0.9971 - 0.8437i 0.0767 + 0.2301i
0.3835 + 0.2301i 0.9971 - 0.5369i
-0.3835 - 1.1504i -0.3835 + 0.9971i
0.5369 + 0.0767i -0.9971 + 0.8437i
1.1504 - 0.9971i -0.8437 - 0.6903i
-0.6903 + 0.0767i 1.1504 - 0.3835i
0.8437 + 0.6903i 1.1504 + 0.2301i
-0.6903 - 0.2301i -0.8437 + 1.1504i
0.0767 + 0.8437i -0.0767 + 0.6903i
0.3835 - 0.8437i 0.3835 + 0.9971i
⋮
Декодировать символы модуляции PUSCH.
demod = nrPUSCHDecode(sym,modulation,ncellid,rnti)
demod = 8064×1
1010 ×
-1.1529
-0.8471
0.2118
-0.0941
-0.0235
0.0235
0.0235
-0.0235
-0.0235
-0.0941
⋮
Принятие жесткого решения по мягкой метрике.
rxcw = double(demod<0)
rxcw = 8064×1
1
1
0
1
1
0
0
1
1
1
⋮
Сравните результат с исходным кодовым словом.
isequal(cw,rxcw)
ans = logical
1
Укажите случайную последовательность двоичных значений, соответствующих кодовому слову 8064 бита.
cw = randi([0 1],8064,1);
Используя модуляцию QPSK, генерируйте символы модуляции PUSCH для указанного идентификационного номера ячейки физического уровня, RNTI, полосы пропускания и одного уровня передачи. Разрешить предварительное кодирование преобразования и передачу на основе кодовой книги на основе заданной полосы пропускания PUSCH, TPMI и четырех антенн.
modulation = 'QPSK'; ncellid = 17; rnti = 111; nlayers = 1; transformPrecode = true; txScheme = 'codebook'; mrb = 6; tpmi = 1; nports = 4; sym = nrPUSCH(cw,modulation,nlayers,ncellid,rnti,transformPrecode,mrb,txScheme,nports,tpmi)
sym = 4032×4 complex
0.0000 + 0.0000i -0.1667 + 0.0833i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.0632 - 0.2911i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.1519 - 0.0450i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.3677 + 0.3664i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.3079 - 0.5027i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.8082 - 0.1640i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.0640 - 0.2388i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.3936 - 0.4160i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0851 - 0.4625i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0345 - 0.3333i 0.0000 + 0.0000i 0.0000 + 0.0000i
⋮
Декодировать символы модуляции PUSCH, предполагая нулевую дисперсию шума.
nVar = 0; demod = nrPUSCHDecode(sym,modulation,ncellid,rnti,nVar,transformPrecode,mrb,txScheme,nlayers,tpmi)
demod = 8064×1
1010 ×
-2.0000
-2.0000
2.0000
-2.0000
-2.0000
2.0000
2.0000
-2.0000
-2.0000
-2.0000
⋮
Принятие жесткого решения по мягкой метрике.
rxcv = double(demod<0)
rxcv = 8064×1
1
1
0
1
1
0
0
1
1
1
⋮
Сравните результат с исходным кодовым словом.
isequal(cw,rxcv)
ans = logical
1
Создание объекта конфигурации несущей с идентификатором ячейки физического уровня 42.
carrier = nrCarrierConfig; carrier.NCellID = 42;
Создайте объект конфигурации PUSCH с этими свойствами.
pusch = nrPUSCHConfig; pusch.Modulation = '256QAM'; pusch.NumLayers = 2; pusch.RNTI = 111; pusch.TransformPrecoding = 0; pusch.TransmissionScheme = 'nonCodebook'; pusch.NID = []; % Use empty to be equal to NCellID of carrier pusch.NSizeBWP = 25; pusch.NStartBWP = 10; pusch.PRBSet = 0:pusch.NSizeBWP-1; % Occupy entire bandwidth part
Генерировать символы PUSCH для одного кодового слова 8064 биты с заданной конфигурацией несущей и конфигурацией общего канала восходящей линии связи.
cw = randi([0 1],8064,1); sym = nrPUSCH(carrier,pusch,cw)
sym = 504×2 complex
-0.3835 - 0.8437i -1.1504 - 0.3835i
0.6903 + 0.6903i 0.0767 + 0.3835i
-1.1504 - 0.2301i -1.1504 + 0.2301i
0.9971 - 0.6903i -0.2301 - 0.8437i
-0.0767 + 0.2301i 0.2301 + 0.8437i
-0.6903 + 1.1504i 0.8437 + 0.3835i
-0.0767 + 0.8437i -0.3835 + 0.5369i
0.3835 + 0.5369i -0.8437 - 1.1504i
0.3835 + 0.2301i -1.1504 - 0.8437i
0.2301 - 0.0767i -0.3835 + 1.1504i
⋮
Добавление дополнительного белого гауссова шума (AWGN) к символам PUSCH. Затем демодулируют для получения оценок мягких битов.
SNR = 30; % SNR in dB
rxsym = awgn(sym,SNR);
demod = nrPUSCHDecode(carrier,pusch,rxsym)demod = 8064×1
1010 ×
-0.2106
-0.8118
0.0949
-0.0824
-0.0231
0.0294
0.0239
-0.0176
-1.4404
-0.1963
⋮
Принятие жесткого решения по мягкой метрике.
rxcw = double(demod<0);
Сравните результат с исходным кодовым словом.
isequal(cw,rxcw)
ans = logical
1
Создайте объект конфигурации несущей с интервалом между поднесущими 15 кГц и полосой пропускания передачи 10 МГц.
carrier = nrCarrierConfig;
carrier.SubcarrierSpacing = 15;
carrier.CyclicPrefix = 'normal';
carrier.NSizeGrid = 52;Создание объекта конфигурации физического общего канала восходящей линии связи (PUSCH) со схемой модуляции QPSK и без скачкообразной перестройки частоты. Установите коэффициент бета-смещения для гибридного автоматического подтверждения повторного запроса (HARQ-ACK) равным 20 и установите коэффициент бета-смещения для части 1 информации о состоянии канала (CSI) и части 2 CSI равным 6,5. Укажите коэффициент масштабирования 0,8, который ограничивает количество элементов ресурса (RE), назначенных для UCI.
pusch = nrPUSCHConfig; pusch.Modulation = 'QPSK'; pusch.FrequencyHopping = 'neither'; pusch.BetaOffsetACK = 20; pusch.BetaOffsetCSI1 = 6.5; pusch.BetaOffsetCSI2 = 6.5; pusch.UCIScaling = 0.8;
Установите целевую кодовую скорость, длину полезной нагрузки данных общего канала восходящей линии связи (UL-SCH), HARQ-ACK, часть 1 CSI и часть 2 CSI.
tcr = 0.65; % Target code rate tbs = 900; % Payload length of UL-SCH data (transport block size) oack = 1; % Payload length of HARQ-ACK ocsi1 = 55; % Payload length of CSI part 1 ocsi2 = 72; % Payload length of CSI part 2
Получите длины данных, совпадающие со скоростью, HARQ-ACK, CSI часть 1 и CSI часть 2.
rmInfo = nrULSCHInfo(pusch,tcr,tbs,oack,ocsi1,ocsi2);
Создайте случайные биты полезной нагрузки для данных UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.
data = randi([0 1],tbs,1); ack = randi([0 1],oack,1); csi1 = randi([0 1],ocsi1,1); csi2 = randi([0 1],ocsi2,1);
Создайте системный object™ кодера UL-SCH.
encUL = nrULSCH;
Загрузите транспортный блок в кодер UL-SCH.
setTransportBlock(encUL,data);
Получение кодированных битов длины rmInfo.GULSCH путем вызова кодировщика.
rv = 0; % Redundancy version 0
culsch = encUL(pusch.Modulation,pusch.NumLayers,rmInfo.GULSCH,rv);Кодирование случайной полезной нагрузки HARQ-ACK, CSI части 1 и CSI части 2 для выходных длин, согласованных по скорости, полученных из rmInfo структура.
cack = nrUCIEncode(ack,rmInfo.GACK,pusch.Modulation); ccsi1 = nrUCIEncode(csi1,rmInfo.GCSI1,pusch.Modulation); ccsi2 = nrUCIEncode(csi2,rmInfo.GCSI2,pusch.Modulation);
Получают кодовое слово из кодированных битов UL-SCH и кодированных битов типов UCI.
[cw,info] = nrULSCHMultiplex(pusch,tcr,tbs,culsch,cack,ccsi1,ccsi2)
cw = 16224x1 int8 column vector
0
1
0
1
1
0
0
0
0
0
⋮
info = struct with fields:
ULSCHIndices: [3244x1 uint32]
ACKIndices: [338x1 uint32]
CSI1Indices: [7252x1 uint32]
CSI2Indices: [5390x1 uint32]
UCIXIndices: [0x1 uint32]
UCIYIndices: [169x1 uint32]
Получите символы PUSCH.
sym = nrPUSCH(carrier,pusch,cw);
Декодирование символов PUSCH.
rxcw = nrPUSCHDecode(carrier,pusch,tcr,tbs,oack,ocsi1,ocsi2,sym);
Проверьте, что принятые динамические биты равны в местоположениях, отличных от местозаполнителей UCI.
indNoPlaceHolder = setdiff(1:length(cw),[info.UCIXIndices;info.UCIYIndices]); isequal(cw(indNoPlaceHolder),int8(rxcw(indNoPlaceHolder)<0))
ans = logical
1
Демультиплексировать кодированные UL-SCH и кодированные типы UCI из принятого кодового слова.
[rxculsch,rxcack,rxccsi1,rxccsi2] = nrULSCHDemultiplex(pusch,tcr,tbs,oack,ocsi1,ocsi2,rxcw);
Декодируйте биты UL-SCH.
decUL = nrULSCHDecoder; decUL.TransportBlockLength = tbs; decUL.TargetCodeRate = tcr; [decULBits,blkErr] = decUL(rxculsch,pusch.Modulation,pusch.NumLayers,rv);
Декодирование битов HARQ-ACK, CSI-части 1 и CSI-части 2.
decack = nrUCIDecode(rxcack,oack,pusch.Modulation); deccsi1 = nrUCIDecode(rxccsi1,ocsi1,pusch.Modulation); deccsi2 = nrUCIDecode(rxccsi2,ocsi2,pusch.Modulation);
Проверьте декодированные биты UL-SCH, HARQ-ACK, CSI-части 1 и CSI-части 2.
isequal(data,decULBits)
ans = logical
1
isequal(decack,ack)
ans = logical
1
isequal(deccsi1,csi1)
ans = logical
1
isequal(deccsi2,csi2)
ans = logical
1
carrier - Параметры конфигурации несущейnrCarrierConfig объектПараметры конфигурации несущей для конкретной нумерации OFDM, определенные как nrCarrierConfig объект. Эта функция использует только эти nrCarrierConfig свойства объекта.
NCellID - Идентификация ячеек физического уровня1 (по умолчанию) | целое число от 0 до 1007Идентификатор ячейки физического уровня, указанный как целое число от 0 до 1007.
Типы данных: double
SubcarrierSpacing - Интервал между поднесущими в кГц15 (по умолчанию) | 30 | 60 | 120 | 240Интервал между поднесущими в кГц для всех каналов и опорных сигналов несущей, указанный как 15, 30, 60, 120, или 240.
Типы данных: double
CyclicPrefix - Длина циклического префикса'normal' (по умолчанию) | 'extended'Длина циклического префикса, указанная в качестве одной из этих опций.
'normal' - это значение используется для указания обычного циклического префикса. Эта опция соответствует 14 символам OFDM в слоте.
'extended' - это значение используется для указания расширенного циклического префикса. Эта опция соответствует 12 символам OFDM в слоте. Для нумерологии, указанной в TS 38.211 Раздел 4.2, расширенная длина циклического префикса применяется только для интервала поднесущих 60 кГц.
Типы данных: char | string
NSizeGrid - Количество БР в сетке ресурсов операторов связи52 (по умолчанию) | целое число от 1 до 275Количество RB в сетке ресурсов оператора связи, указанное как целое число от 1 до 275. Значение по умолчанию 52 соответствует максимальному количеству RB несущей 10 МГц с SCS 15 кГц.
Типы данных: double
NStartGrid - Начало сетки ресурсов перевозчика относительно CRB 00 (по умолчанию) | целое число от 0 до 2199Начало сетки ресурсов несущей относительно CRB 0, указанного как целое число от 0 до 2199. Это свойство является параметром более высокого уровня offsetToCarrier.
Типы данных: double
NSlot - Номер слота0 (по умолчанию) | неотрицательное целое числоНомер слота, заданный как неотрицательное целое число. Можно задать NSlot до значения, большего, чем количество слотов на кадр. Например, в моделировании MATLAB ® это значение можно задать с помощью счетчиков циклов передачи. В этом случае может потребоваться убедиться, что значение свойства по модулю соответствует количеству слотов на кадр в вызывающем коде.
Типы данных: double
pusch - Параметры конфигурации PUSCHnrPUSCHConfig объектПараметры конфигурации PUSCH для конкретной нумерации OFDM, определенные как nrPUSCHConfig объект. Эта функция использует только эти nrPUSCHConfig свойства объекта.
Modulation - Схема модуляции'QPSK' (по умолчанию) | 'pi/2-BPSK' | '16QAM' | '64QAM' | '256QAM' | строковый скалярСхема модуляции, указанная как 'QPSK', 'pi/2-BPSK', '16QAM', '64QAM', или '256QAM', строковый скаляр или символьный массив.
| Схема модуляции | Количество битов на символ |
|---|---|
'pi/2-BPSK' | 1 |
'QPSK' | 2 |
'16QAM' | 4 |
'64QAM' | 6 |
'256QAM' | 8 |
Типы данных: char | string
NumLayers - Количество уровней передачи1 (по умолчанию) | 2 | 3 | 4Количество уровней передачи, указанное как 1, 2, 3, или 4.
Типы данных: double
MappingType - Тип сопоставления'A' (по умолчанию) | 'B'Тип отображения физического совместно используемого канала, указанный как 'A' или 'B'.
Типы данных: char | string
SymbolAllocation - выделение символов OFDM[0 14] (по умолчанию) | двухэлементный вектор неотрицательных целых чиселВыделение символа OFDM физического совместно используемого канала, заданного как двухэлементный вектор неотрицательных целых чисел. Первый элемент этого свойства представляет начало выделения символов (на основе 0). Второй элемент представляет количество выделенных OFDM символов.
При установке для этого свойства значения [] или второй элемент вектора к 0, символ не выделен для канала.
Типы данных: double
PRBSet - распределение PRB[0:51] (по умолчанию) | вектор целых чисел от 0 до 274Выделение блока физических ресурсов (PRB) PUSCH внутри BWP, указанного как вектор целых чисел от 0 до 274.
Типы данных: double
TransformPrecoding - Преобразование предварительного кодирования0 или false (по умолчанию) | 1 или trueПреобразование предварительного кодирования, указанного как одно из этих значений.
0 (false) - Отключить предварительное кодирование преобразования. Тип сигнала представляет собой циклическое мультиплексирование с ортогональным частотным разделением (CP-OFDM).
1 (true) - Включить предварительное кодирование преобразования. Тип сигнала представляет собой мультиплексирование с расширенным ортогональным частотным разделением с дискретным преобразованием Фурье (DFT-s-OFDM).
Типы данных: double | logical
TransmissionScheme - Схема передачи PUSCH'nonCodebook' (по умолчанию) | 'codebook'Схема передачи PUSCH, указанная как 'nonCodebook' или 'codebook'.
Типы данных: char | string
TPMI - Индикатор переданной матрицы предварительного кодирования0 (по умолчанию) | целое число от 0 до 27Переданный индикатор матрицы предварительного кодирования, заданный как целое число от 0 до 27.
Это свойство применимо только в том случае, если TransmissionScheme имеет значение 'codebook'.
Типы данных: double
FrequencyHopping - Скачкообразная перестройка частоты'neither' (по умолчанию) | 'intraSlot' | 'interSlot'Скачкообразная перестройка частоты для физического общего канала восходящей линии связи, указанного как 'neither', 'intraSlot', или 'interSlot'.
Типы данных: char | string
BetaOffsetACK - Коэффициент бета-смещения HARQ-ACK20 (по умолчанию) | положительное целое числоКоэффициент бета-смещения HARQ-ACK, заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования HARQ-ACK. Номинальное значение - одна из записей из таблицы 9.3-1 ТУ 38.213.
Типы данных: double
BetaOffsetCSI1 - Коэффициент бета-смещения CSI, часть 16.25 (по умолчанию) | положительное целое числоКоэффициент бета-смещения части 1 информации о состоянии канала (CSI), заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования CSI, часть 1. Номинальное значение - одна из записей из таблицы 9.3-2 ТУ 38.213.
Типы данных: double
BetaOffsetCSI2 - Коэффициент бета-смещения CSI, часть 26.25 (по умолчанию) | положительное целое числоКоэффициент смещения бета части 2 CSI, заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования CSI, часть 2. Номинальное значение - одна из записей из таблицы 9.3-2 ТУ 38.213.
Типы данных: double
UCIScaling - Коэффициент масштабирования1 (по умолчанию) | скаляр между 0 и 1Коэффициент масштабирования для ограничения количества элементов ресурсов, выделенных для UCI на PUSCH, указанный как скаляр между 0 и 1. Номинальное значение - 0,5, 0,65, 0,8 или 1.
Типы данных: double
NID - Идентификация скремблирования[] (по умолчанию) | целое число от 0 до 1023Идентификатор скремблирования, заданный как целое число от 0 до 1023. Использовать [] для установки для этого свойства значения NCellID имущества nrCarrierConfig объект.
Типы данных: double
RNTI - Временный идентификатор радиосети1 (по умолчанию) | целое число от 0 до 65535Временный идентификатор радиосети пользовательского оборудования (UE), заданный как целое число от 0 до 65535.
Типы данных: double
DMRS - Параметры конфигурации PUSCH DM-RSnrPUSCHDMRSConfig объект (по умолчанию) | nrPUSCHDMRSConfig объектПараметры конфигурации PUSCH DM-RS, указанные как nrPUSCHDMRSConfig объект. Эта функция использует только эти nrPUSCHDMRSConfig свойства.
DMRSConfigurationType - Тип конфигурации DM-RS1 (по умолчанию) | 2Тип конфигурации DM-RS, указанный как 1 или 2. Это свойство является параметром более высокого уровня dmrs-Type.
Значение этого свойства должно быть 1 когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig с TransformPrecoding свойство имеет значение 1.
Типы данных: double
DMRSTypeAPosition - Положение первого символа OFDM DM-RS2 (по умолчанию) | 3Положение первого символа OFDM DM-RS, обеспечиваемое параметром более высокого уровня dmrs-TypeA-Position, указанное как 2 или 3.
Это свойство применимо, когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект с MappingType для значения свойства установлено значение 'A'.
Типы данных: double
DMRSAdditionalPosition - Максимальное количество дополнительных позиций DM-RS0 (по умолчанию) | 1 | 2 | 3Максимальное количество дополнительных позиций DM-RS, указанных как 0, 1, 2, или 3. Это свойство является параметром более высокого уровня dmrs-AdditityPosition.
Значение этого свойства должно быть 0 или 1 когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект с FrequencyHopping свойство имеет значение 'intraSlot'.
Типы данных: double
DMRSLength - Количество последовательных символов OFDM с фронтальной загрузкой DM-RS1 (по умолчанию) | 2Количество последовательных символов OFDM с фронтальной загрузкой DM-RS, указанных как 1 (односимвольный DM-RS) или 2 (двухсимвольный DM-RS).
Значение этого свойства должно быть 1 когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект с FrequencyHopping свойство имеет значение 'intraSlot'.
Типы данных: double
CustomSymbolSet - Местоположения символов OFDM DM-RS[] (по умолчанию) | целое число от 0 до 13 | вектор неотрицательных целых чиселМестоположения символов OFDM DM-RS, которые основаны на 0, определены как одна из этих опций.
Целое число от 0 до 13 - для одного символа DM-RS
Вектор неотрицательных целых чисел от 0 до 13 - Для нескольких символов DM-RS
Предполагается, что каждое местоположение входного символа является односимвольным DM-RS в пределах распределения символов физического совместно используемого канала.
Значение по умолчанию, [], соответствует местоположениям символов 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 в этих стандартных таблицах поиска.
Типы данных: double
DMRSPortSet - антенные порты DM-RS[] (по умолчанию) | целочисленный скаляр | вектор неотрицательных целых чиселАнтенные порты DM-RS, указанные в качестве одной из этих опций.
Целое число от 0 до 11 - для одного антенного порта
Вектор неотрицательных целых чисел от 0 до 11 - Для нескольких антенных портов
Поддерживаемые номинальные антенные порты зависят от DMRSLength и DMRSConfigurationType значения свойств, как показано в этой таблице.
DMRSLength Стоимость | DMRSConfigurationType Стоимость | Номинальный диапазон поддерживаемых антенных портов |
|---|---|---|
1 | 1 | [0, 3] |
2 | [0, 5] | |
2 | 1 | [0, 7] |
2 | [0, 11] |
Значение по умолчанию [] подразумевает, что антенный порт DM-RS равен 0.
Когда nrPUSCHDMRSConfig является свойством nrPUSCHConfig объект, [] подразумевает, что DMRSPortSet находится в диапазоне от 0 до NumLayers–1.
Типы данных: double
NumCDMGroupsWithoutData - Число групп МЧР, не имеющих данных2 (по умолчанию) | 1 | 3Количество групп CDM DM-RS без данных, указанных как 1, 2, или 3.
Каждое значение указывает на различный набор номеров групп CDM в соответствии с TS 38.214, раздел 6.2.2 [2].
1 - номер группы CDM 0
2 - номера групп МЧР 0 и 1
3 - номера групп CDM 0, 1 и 2
Когда TransformPrecoding имущества nrPUSCHConfig объект имеет значение 1, значение этого свойства должно быть 2.
Типы данных: double
EnablePTRS - Включение PT-RS0 или false (по умолчанию) | 1 или trueВключите PT-RS, указанный как одно из этих значений.
0 (false) - Деактивизация конфигурации СТ-RS.
1 (true) - активизируйте конфигурирование СТ-RS.
Типы данных: double | logical
PTRS - Параметры конфигурации PUSCH PT-RSnrPUSCHPTRSConfig объект (по умолчанию) | nrPUSCHPTRSConfig объект Конфигурация PUSCH PT-RS, заданная как nrPUSCHPTRSConfig объект. Эта функция использует только эти nrPUSCHPTRSConfig свойства.
TimeDensity - плотность времени PT-RS1 (по умолчанию) | 2 | 4Временная плотность PT-RS, указанная как 1, 2 или 4. Это свойство является параметром более высокого уровня timeDensity.
Типы данных: double
FrequencyDensity - плотность частоты PT-RS2 (по умолчанию) | 4Плотность частоты PT-RS, указанная как 2 или 4. Это свойство является параметром верхнего уровня frequencyDensity.
Это свойство применяется только в том случае, если nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установить в значение 0.
Типы данных: double
PTRSPortSet - Набор антенных портов PT-RS[] (по умолчанию) | неотрицательное целое | двухэлементный вектор неотрицательных целых чиселНабор антенных портов PT-RS, определяемый как двухэлементный вектор неотрицательных целых чисел. Определить [] чтобы установить для этого свойства наименьшее значение в DMRSPortSet имущество nrPUSCHDMRSConfig объект. Это использование [] значение применимо только тогда, когда nrPUSCHDMRSConfig используется в качестве свойства nrPUSCHConfig объект.
Это свойство применяется только в том случае, если nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установить в значение 0.
Типы данных: double
NumPTRSSamples - Количество образцов PT-RS2 (по умолчанию) | 4Количество выборок PT-RS на группу PT-RS, указанное как 2 или 4. Это свойство является параметром более высокого уровня sampleDensity.
Это свойство применяется только в том случае, если nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установить в значение 1.
Типы данных: double
NumPTRSGroups - Количество групп СТ-РС2 (по умолчанию) | 4 | 8Количество групп СТ-RS, указанных как 2, 4, или 8. Это свойство является параметром более высокого уровня sampleDensity.
Если для этого свойства установлено значение 8, количество выборок PT-RS, установленное NumPTRSSamples свойство должно иметь значение 4.
Это свойство применяется только в том случае, если nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установить в значение 1.
Типы данных: double
REOffset - Смещение элемента ресурса'00' (по умолчанию) | '01' | '10' | '11'Смещение элемента ресурса, указанное как '00', '01','10', или '11'. Это свойство является параметром более высокого уровня resoureElityOffset.
Это свойство применяется только в том случае, если nrPUSCHPTRSConfig является свойством nrPUSCHConfig с TransformPrecoding установить в значение 0.
Типы данных: char | string
tcr - Целевая кодовая скоростьЦелевая кодовая скорость для кодового слова в передаче UL-SCH, заданная как скаляр в диапазоне (0, 1).
Типы данных: double
tbs - Размер транспортного блокаРазмер транспортного блока, связанного с кодовым словом в передаче UL-SCH, заданный как неотрицательное целое число. Значение 0 указывает на отсутствие транспортного блока или передачи UL-SCH по PUSCH.
Типы данных: double
oack - Длина полезной нагрузки битов HARQ-ACKДлина полезной нагрузки битов HARQ-ACK, заданная как неотрицательное целое число. Значение 0 указывает на отсутствие передачи HARQ-ACK.
Типы данных: double
ocsi1 - Длина полезной нагрузки компонента CSI 1 битДлина полезной нагрузки компонента CSI 1 бит, указанная как неотрицательное целое число. Значение 0 указывает на отсутствие передачи CSI, часть 1.
Типы данных: double
ocsi2 - Длина полезной нагрузки компонента CSI 2 битаДлина полезной нагрузки компонента CSI 2 бита, заданная как неотрицательное целое число. Значение 0 указывает на отсутствие передачи CSI, часть 2. Номинально, часть 2 CSI присутствует только тогда, когда присутствует часть 1 CSI.
Типы данных: double
sym - Принятые символы модуляции PUSCHПринятые символы модуляции PUSCH, определенные как комплексная матрица.
Типы данных: single | double
Поддержка комплексного номера: Да
mod - Схема модуляции'pi/2-BPSK' | 'QPSK' | '16QAM' | '64QAM' | '256QAM'Схема модуляции, указанная как 'pi/2-BPSK', 'QPSK', '16QAM', '64QAM', или '256QAM'. Эта схема модуляции определяет тип модуляции и количество битов, используемых на символ модуляции.
| Схема модуляции | Количество битов на символ |
|---|---|
'pi/2-BPSK' | 1 |
'QPSK' | 2 |
'16QAM' | 4 |
'64QAM' | 6 |
'256QAM' | 8 |
Типы данных: char | string
nid - Идентификация скремблированияИдентификатор скремблирования, заданный как целое число от 0 до 1023. nid является параметром более высокого уровня dataScramedIdentityPUSCH в диапазоне от 0 до 1023, если настроен параметр более высокого уровня. В противном случае nid - идентификационный номер ячейки физического уровня NCellID в диапазоне от 0 до 1007. Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.1.
Типы данных: double
rnti - RNTI UERNTI UE, указанный как целое число от 0 до 65535.
Типы данных: double
nVar - Дисперсия шума1e-10 (по умолчанию) | неотрицательный числовой скалярДисперсия шума, заданная как неотрицательный числовой скаляр. Мягкие биты масштабируются с дисперсией аддитивного белого гауссова шума (AWGN). Значение по умолчанию соответствует SNR 100 дБ, предполагая единичную мощность сигнала.
Примечание
Значение по умолчанию предполагает, что декодер и кодер соединены с обратной связью, где дисперсия шума равна нулю. Избегать -Inf или +Inf значения в выходных данных, функция использует 1e-10 в качестве значения по умолчанию для дисперсии шума. Чтобы получить соответствующие результаты, когда сигнал передается по шумовому каналу, соответствующим образом отрегулируйте дисперсию шума.
Типы данных: double
transformPrecode - Преобразование устаревшего кодаfalse (по умолчанию) | trueПреобразовать устаревшее кодирование, указанное как false или true. Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.4.
Типы данных: double | logical
mrb - Количество выделенных блоков ресурсов PUSCHКоличество выделенных блоков ресурсов PUSCH, указанное как целое число от 1 до 275. Для получения дополнительной информации см. TS 38.214 Раздел 6.1.2.
Типы данных: double
txScheme - Схема передачи'nonCodebook' (по умолчанию) | 'codebook'Схема передачи, заданная как одно из следующих значений:
'nonCodebook' - Этот параметр используется для отключения устаревшего кода MIMO.
'codebook' - Используйте этот параметр для передачи на основе кодовой книги с использованием устаревшего кода MIMO.
Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.4.
Типы данных: char | string
nLayers - Количество уровней передачиКоличество уровней передачи, указанное как целое число от 1 до 4. Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.3.
Типы данных: double
tpmi - Индикатор переданной матрицы предварительного кодированияПереданный индикатор матрицы предварительного кодирования, заданный как целое число от 0 до 27. Допустимый диапазон tpmi зависит от указанного количества уровней передачи nLayers и количество портов. Для получения дополнительной информации см. таблицы TS 38.211 6.3.1.5-1 - 6.3.1.5-7.
Типы данных: double
cw - Примерные мягкие биты LLRМягкие биты приближенного логарифмического отношения правдоподобия (LLR), возвращаемые в виде вектора вещественного столбца. cw наследует тип данных sym. Знак представляет жесткие биты.
Типы данных: double | single
[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.