nrDCIDecode

Декодируйте управляющую информацию нисходящего канала (DCI)

Описание

dcibits = nrDCIDecode(softbits,K,L) декодирует входные softbits и возвращает декодированные биты DCI длины K. Функция реализует обратные функции, указанные в разделах 7.3.4, 7.3.3 и 7.3.2 [1] TS 38.212, такие как восстановление скорости, полярное декодирование и декодирование циклического контроля избыточности (CRC). L задает длину списка, используемую для полярного декодирования.

[dcibits,mask] = nrDCIDecode(softbits,K,L) также ищет ошибку проверки циклической избыточности (CRC) в декодировании DCI. Если mask не равно 0, произошла ошибка или входной CRC был маскирован. Когда нет ошибок CRC, mask - фактическое значение, используемое для маскировки бит CRC.

пример

[dcibits,mask] = nrDCIDecode(softbits,K,L,rnti) задает временный идентификатор радиосети (RNTI). Можно использовать этот синтаксис, когда значение rnti маскирует биты четности CRC на передающем конце. Когда вы задаете rnti и нет ошибок CRC, mask равно 0.

Примеры

свернуть все

Создайте случайную последовательность двоичных значений, соответствующих сообщению DCI в 32 бита. Закодируйте сообщение на основе заданного RNTI и согласованной со скоростью длины кодового слова DCI. RNTI маскирует биты четности CRC.

K = 32; 
rnti = 100; 
E = 240; 
dciBits = randi([0 1],K,1);
dcicw = nrDCIEncode(dciBits,rnti,E);

Декодируйте мягкие биты, представляющие кодовое слово DCI dcicw путем определения RNTI, используемого для маскировки CRC. Установите длину полярного списка декодирования равной 8.

L = 8;
[recBits,mask] = nrDCIDecode(1-2*dcicw,K,L,rnti)
recBits = 32x1 int8 column vector

   1
   1
   0
   1
   1
   0
   0
   1
   1
   1
      ⋮

mask = uint32
    0

Проверьте, что переданные и принятые биты сообщения идентичны.

isequal(recBits,dciBits)
ans = logical
   1

Проверьте, что декодирование выполняется без ошибок. Поскольку декодирование задало RNTI, используемый для маскирования, значение маски 0 указывает на отсутствие ошибки.

mask
mask = uint32
    0

Входные параметры

свернуть все

Закодированный блок мягких бит, заданный как вектор-столбец вещественных чисел.

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

Длина декодированного выхода в битах, заданная в виде целого числа от 12 до 140.

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

Длина полярного списка декодирования, заданная как степень двойки.

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

RNTI UE, заданный в виде целого числа от 0 до 65 535.

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

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

свернуть все

Декодированные биты сообщений DCI, возвращенные как K-by-1 вектора-столбца двоичных значений. Биты сообщений передали по одному физическому нисходящему каналу управления (PDCCH).

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

Результат декодирования CRC, возвращенный как неотрицательное целое число, меньше или равное 216–1. Если mask не равно 0, произошла ошибка или CRC был маскирован. Когда нет ошибок, mask - фактическое значение, используемое для маскировки бит CRC.

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

Вопросы совместимости

расширить все

Поведение изменено в R2020a

Ссылки

[1] 3GPP TS 38.212. "NR; Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

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

.

См. также

Функции

Введенный в R2018b