exponenta event banner

nrUCIEncode

Кодирование управляющей информации восходящей линии связи (UCI)

Описание

пример

codeduci = nrUCIEncode(ucibits,E) кодирует биты сообщения UCI ucibits и возвращает конкатенированные, сопоставленные по скорости и кодированные блоки UCI длины E. Возвращенные блоки могут быть преобразованы либо в физический канал управления восходящей линии связи (PUCCH), либо в физический общий канал восходящей линии связи (PUSCH). Функция реализует ТС 38.212 Разделы 6.3.1.2-6.3.1.5 для PUCCH и Разделы 6.3.2.2-6.3.2.5 для PUSCH [1]. Кодирование состоит из сегментации кодового блока, присоединения контроля циклическим избыточным кодом (CRC), канального кодирования, согласования скорости и конкатенации кодового блока. Функция поддерживает полярное кодирование и малые длины блоков. Конкретная схема кодирования, которую реализует функция, зависит от длины входного сообщения UCI. Дополнительные сведения см. в разделе Алгоритмы.

пример

codeduci = nrUCIEncode(ucibits,E,mod) также определяет схему модуляции для кодирования. Указанная схема модуляции применяется только тогда, когда длина ucibits равно 1 или 2. Если не указано, схема модуляции по умолчанию принимает значение QPSK. В выходных данных -1 и -2 представляют заполнители x и y соответственно в таблицах 5.3.3.1-1 и 5.3.3.2-1.

Примеры

свернуть все

Создайте случайную последовательность двоичных значений, соответствующих UCI-сообщению в 32 бита.

ucibits = randi([0 1],32,1,'int8');

Закодируйте сообщение для заданной длины вывода, соответствующей скорости.

E = 120;
codeduci = nrUCIEncode(ucibits,E)
codeduci = 120x1 int8 column vector

   1
   1
   1
   0
   1
   0
   1
   0
   0
   0
      ⋮

Создайте случайную последовательность двоичных значений, соответствующих двухразрядному UCI-сообщению.

ucibits = randi([0 1],2,1,'int8');

Кодирование сообщения для заданной длины выходного сигнала, согласованной по скорости, и схемы модуляции 16-QAM.

E = 12;
codeduci = nrUCIEncode(ucibits,E,'16QAM')
codeduci = 12x1 int8 column vector

    1
    1
   -1
   -1
    0
    1
   -1
   -1
    1
    0
      ⋮

Входные аргументы

свернуть все

Биты сообщения UCI, заданные как вектор столбца двоичных значений. ucibits - информационные биты, закодированные перед передачей по PUCCH или PUSCH.

Типы данных: double | int8

Длина кодового слова UCI, соответствующего скорости, в битах, заданная как положительное целое число. Допустимый диапазон E зависит от А, длины входа ucibits, как показано в этой таблице.

AДопустимый диапазон E
1EA
2–11E > A
12–19E > A + 9
20–1706E > A + 11

Типы данных: double

Схема модуляции, указанная как 'QPSK', 'pi/2-BPSK', '16QAM', '64QAM', или '256QAM'. Эта схема модуляции определяет тип модуляции и количество битов, используемых на символ модуляции, как показано в этой таблице.

Схема модуляцииКоличество битов на символ
'pi/2-BPSK'1
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8

Этот входной аргумент применяется только при вводе ucibits равно одному или двум битам.

Типы данных: char | string

Выходные аргументы

свернуть все

Кодированные биты UCI, возвращенные как E-by-1 вектор-столбец целых чисел от -2 до 1. codeduci наследует тип данных из входных данных ucibits. Значения элементов -1 и -2 представляют заполнители x и y соответственно в таблицах 5.3.3.1-1 и 5.3.3.2-1.

Типы данных: double | int8

Алгоритмы

Кодирование UCI состоит из сегментации кодовых блоков, присоединения контроля циклическим избыточным кодом (CRC), канального кодирования, согласования скорости и конкатенации кодовых блоков. Конкретная схема кодирования UCI, которая nrUCIEncode реализации зависят от А, длина входа ucibits.

AСегментация кодовых блоковБиты CRCКодировка
1Н/ДН/ДПовторение
2Н/ДН/ДСимплекс
3–11Н/ДН/ДРид-Мюллер
12–19Н/Д6Проверка четности полярная
20–1706

Возникает только в случае A ≥ 1013 или A ≥ 360 и E ≥ 1088

11Полярный

Ссылки

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

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Функции

Представлен в R2019a