Выполните данные UL-SCH и демультиплексирование управления
[ возвращает демультиплексированный закодированный вектор данных culsch,cack,ccsi1,ccsi2] = nrULSCHDemultiplex(pusch,tcr,tbs,oack,ocsi1,ocsi2,cw)culsch, и закодированные векторы восходящей управляющей информации (UCI) cack, ccsi1, и ccsi2 отправьте демультиплексирование полученной кодовой комбинации cw. Это демультиплексирование инвертирует обработку, заданную в Разделе TS 38.212 6.2.7 [1]. pusch физический восходящий канал совместно использованный канал (PUSCH) настройка. tcr целевой уровень кода. tbs транспортный размер блока для восходящего канала совместно использованный канал (UL-SCH) передача. oack количество гибридного автоматического повторного подтверждения запроса (HARQ-ACK) биты полезной нагрузки. ocsi1 количество битов полезной нагрузки части 1 информации о состоянии канала (CSI) и ocsi2 количество битов полезной нагрузки части 2 CSI. cw вектор-столбец полученного отношения логарифмической правдоподобности (LLR) мягкие биты.
Создайте объект настройки PUSCH с pi/2-BPSK схема модуляции и никакое скачкообразное движение частоты. Установитесь бета коэффициент смещения для HARQ-ACK к 20 и бета фактор смещения для части 1 CSI и части 2 CSI к 6,25 каждый. Задайте масштабный коэффициент как 1, который ограничивает количество элементов ресурса (REs), присвоенный для UCI.
pusch = nrPUSCHConfig; pusch.Modulation = 'pi/2-BPSK'; pusch.FrequencyHopping = 'neither'; pusch.BetaOffsetACK = 20; pusch.BetaOffsetCSI1 = 6.25; pusch.BetaOffsetCSI2 = 6.25; pusch.UCIScaling = 1;
Установите целевой уровень кода, длины полезной нагрузки данных UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.
tcr = 0.5; % Target code rate tbs = 3848; % Payload length of UL-SCH data (transport block size) oack = 8; % Payload length of HARQ-ACK ocsi1 = 88; % Payload length of CSI part 1 ocsi2 = 100; % Payload length of CSI part 2
Доберитесь уровень совпадал с длинами данных UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.
rmInfo = nrULSCHInfo(pusch,tcr,tbs,oack,ocsi1,ocsi2);
Создайте случайным образом закодированные биты UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.
culsch = randi([0 1],rmInfo.GULSCH,1); cack = randi([0 1],rmInfo.GACK,1); ccsi1 = randi([0 1],rmInfo.GCSI1,1); ccsi2 = randi([0 1],rmInfo.GCSI2,1);
Получите кодовую комбинацию от случайным образом закодированных битов UL-SCH и закодированных битов типов UCI.
cw = nrULSCHMultiplex(pusch,tcr,tbs,culsch,cack,ccsi1,ccsi2);
Получите демультиплексированный UL-SCH и биты UCI от кодовой комбинации.
[rxculsch,rxcack,rxccsi1,rxccsi2] = nrULSCHDemultiplex(pusch,tcr,tbs,oack,ocsi1,ocsi2,1-2*cw);
Проверьте, что случайным образом закодированные биты и демультиплексировали закодированные биты UL-SCH, и закодированные типы UCI идентичны.
isequal(rxculsch<0,culsch)
ans = logical
1
isequal(rxcack<0,cack)
ans = logical
1
isequal(rxccsi1<0,ccsi1)
ans = logical
1
isequal(rxccsi2<0,ccsi2)
ans = logical
1
pusch — Параметры конфигурации PUSCHnrPUSCHConfig объектПараметры конфигурации PUSCH в виде nrPUSCHConfig объект. Эта функция использует только их nrPUSCHConfig свойства объектов.
Modulation — Схема Modulation'QPSK' (значение по умолчанию) | 'pi/2-BPSK' | '16QAM' | '64QAM' | '256QAM' | строковый скалярСхема Modulation в виде 'QPSK', 'pi/2-BPSK', '16QAM', '64QAM', или '256QAM', строковый скаляр или символьный массив.
| Схема модуляции | Количество битов на символ |
|---|---|
'pi/2-BPSK' | 1 |
'QPSK' | 2 |
'16QAM' | 4 |
'64QAM' | 6 |
'256QAM' | 8 |
Типы данных: char | string
NumLayers — Количество слоев передачи (значение по умолчанию) | 2| 3 | 4 Количество слоев передачи в виде 1, 2, 3, или 4.
Типы данных: double
MappingType — Отображение типа'A' (значение по умолчанию) | 'B'Отображение типа физического разделяемого канала в виде 'A' или 'B'.
Типы данных: char | string
SymbolAllocation — Выделение символа OFDM (значение по умолчанию) | двухэлементный вектор из неотрицательных целых чиселВыделение символа OFDM физического разделяемого канала в виде двухэлементного вектора из неотрицательных целых чисел. Первый элемент этого свойства представляет запуск выделения символа (на основе 0). Второй элемент представляет количество выделенных символов OFDM.
Когда это свойство установлено в [] или вторым элементом в этом двухэлементном векторе из неотрицательных целых чисел является 0, выделение символа пусто.
Типы данных: double
PRBSet — Выделение PRB (значение по умолчанию) | вектор из неотрицательных целых чисел от 0 до 274Выделение физического блока ресурса (PRB) PUSCH в BWP в виде вектора из неотрицательных целых чисел от 0 до 274.
Типы данных: double
TransformPrecoding — Преобразуйте флаг перед кодированием (значение по умолчанию) | 1Преобразуйте флаг перед кодированием в виде одного из этих значений.
0 — Предварительное кодирование преобразования отключено, и тип формы волны является циклически-префиксным ортогональным делением частоты, мультиплексирующим (CP-OFDM).
1 — Предварительное кодирование преобразования включено, и тип формы волны является ортогональным делением частоты распространения дискретного преобразования Фурье, мультиплексирующим (DFT-s-OFDM).
Типы данных: double | logical
FrequencyHopping — Скачкообразное движение частоты'neither' (значение по умолчанию) | 'intraSlot' | 'interSlot'Частота, скачкообразно двигающаяся для физического восходящего канала совместно использованный канал в виде одной из этих опций.
'neither'
'intraSlot'
'interSlot'
Если вы указываете, что скачкообразное движение частоты внутрипаза и закодированные биты входа не удовлетворяют уравнениям Раздела TS 38.212 6.2.7, функция возвращает кодовую комбинацию, принимающую, что никакое скачкообразное движение частоты не присутствует.
Типы данных: char | string
BetaOffsetACK — Бета фактор смещения HARQ-ACK (значение по умолчанию) | положительное целое числоБета фактор смещения гибридного автоматического повторного подтверждения запроса (HARQ-ACK) в виде положительного целого числа. Это свойство используется, чтобы определить количество ресурсов для мультиплексирования HARQ-ACK. Номинальная стоимость является одной из записи из Таблицы 9.3-1 TS 38.213.
Типы данных: double
BetaOffsetCSI1 — Бета фактор смещения части 1 CSI (значение по умолчанию) | положительное целое числоБета фактор смещения части 1 информации о состоянии канала (CSI) в виде положительного целого числа. Это свойство используется, чтобы определить количество ресурсов для мультиплексирования части 1 CSI. Номинальная стоимость является одной из записи из Таблицы 9.3-2 TS 38.213.
Типы данных: double
BetaOffsetCSI2 — Бета фактор смещения части 2 CSI (значение по умолчанию) | положительное целое числоБета фактор смещения части 2 CSI в виде положительного целого числа. Это свойство используется, чтобы определить количество ресурсов для мультиплексирования части 2 CSI. Номинальная стоимость является одной из записи из Таблицы 9.3-2 TS 38.213.
Типы данных: double
UCIScaling — Масштабный коэффициент (значение по умолчанию) | скаляр в области значений (0, 1)Масштабный коэффициент, чтобы ограничить количество элементов ресурса, выделенных для восходящей информации о канале (UCI) на PUSCH в виде скаляра в области значений (0, 1). Номинальная стоимость 0.5, 0.65, 0.8, или 1.
Типы данных: double
RNTI — Радиосеть временный идентификатор (значение по умолчанию) | целое число от 0 до 65 535Радиосеть временный идентификатор оборудования пользователя (UE) в виде целого числа от 0 до 65 535.
Типы данных: double
DMRS — Параметры конфигурации PUSCH DM-RSnrPUSCHDMRSConfig объект со свойствами по умолчанию (значение по умолчанию) | nrPUSCHDMRSConfig объект Опорный сигнал демодуляции PUSCH (DM-RS) параметры конфигурации в виде nrPUSCHDMRSConfig объект настройки. Это свойство относится к настройке опорного сигнала демодуляции и содержит все свойства заданного nrPUSCHDMRSConfig объект.
EnablePTRS — Включите PT-RS (значение по умолчанию) | 1Включите PT-RS в виде одного из этих значений.
0 — Отключите настройку PT-RS.
1 — Включите настройку PT-RS.
Типы данных: double | logical
PTRS — Параметры конфигурации PUSCH PT-RSnrPUSCHPTRSConfig объект со свойствами по умолчанию (значение по умолчанию) | nrPUSCHPTRSConfig объект Опорный сигнал отслеживания фазы PUSCH (PT-RS) настройка в виде nrPUSCHPTRSConfig объект настройки. Это свойство относится к фазе, отслеживающей настройку опорного сигнала, и содержит все свойства заданного nrPUSCHPTRSConfig объект.
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 не указывает ни на какую передачу части 1 CSI.
Типы данных: double
ocsi2 — Длина полезной нагрузки части CSI 2 битаДлина полезной нагрузки части CSI 2 бита в виде неотрицательного целого числа. Значение 0 не указывает ни на какую передачу части 2 CSI. Номинально, часть 2 CSI присутствует только, когда часть 1 CSI присутствует.
Типы данных: double
cw — Полученные мягкие биты LLR[]Полученное логарифмическое отношение правдоподобия (LLR) мягкие биты, возвращенные как вектор-столбец с действительным знаком или []. Длина cw должно быть равно емкости в битах PUSCH.
Типы данных: single | double
culsch — Закодированный UL-SCH LLR мягкие битыЗакодированный UL-SCH LLR мягкие биты в виде вектор-столбца с действительным знаком. Если входной параметр cw пусто, затем выходной аргумент culsch также пусто. Тип выходных данных culsch соответствия тот из входного параметра cw.
Типы данных: single | double
cack — Закодированный HARQ-ACK LLR мягкие битыЗакодированный HARQ-ACK LLR мягкие биты в виде вектор-столбца с действительным знаком. Если входной параметр cw пусто, затем выходной аргумент cack также пусто. Тип выходных данных cack соответствия тот из входного параметра cw.
Типы данных: single | double
ccsi1 — Закодированная часть 1 CSI LLR мягкие битыЗакодированная часть 1 CSI LLR мягкие биты в виде вектор-столбца с действительным знаком. Если входной параметр cw пусто, затем выходной аргумент ccsi1 также пусто. Тип выходных данных ccsi1 соответствия тот из входного параметра cw.
Типы данных: single | double
ccsi2 — Закодированная часть 2 CSI LLR мягкие битыЗакодированная часть 2 CSI LLR мягкие биты в виде вектор-столбца с действительным знаком. Если входной параметр cw пусто, затем выходной аргумент ccsi2 также пусто. Тип выходных данных ccsi2 соответствия тот из входного параметра cw.
Типы данных: single | double
[1] 3GPP TS 38.212. “NR; Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
[2] 3GPP TS 38.213. “NR; процедуры Физического уровня для управления”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.