exponenta event banner

nrDCIDecode

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

Описание

dcibits = nrDCIDecode(softbits,K,L) декодирует входной сигнал softbits и возвращает декодированные разряды DCI длиной K. Функция реализует обратные функции, указанные в TS 38.212, разделы 7.3.4, 7.3.3 и 7.3.2 [1], такие как восстановление скорости, полярное декодирование и декодирование с циклическим избыточным кодом (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 до 65535.

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

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

свернуть все

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

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

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

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

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

развернуть все

В R2020a изменилось поведение