exponenta event banner

nrCRCEncode

Вычисление и добавление контроля циклическим избыточным кодом (CRC)

Описание

пример

blkcrc = nrCRCEncode(blk,poly) вычисляет CRC, определенный полиномом poly для входных данных blk. Функция возвращает кодированные данные CRC, которые являются копией входных данных с добавленными битами контроля четности CRC. Дополнительные сведения о связанных многочленах см. в TS 38.212 Раздел 5.1 [1].

пример

blkcrc = nrCRCEncode(blk,poly,mask) применяет маску логического различия (XOR) к добавленным битам CRC с интегральным значением mask. Добавленные биты CRC в blkcrc являются XOR-маскированными с самым старшим битом (MSB) сначала до последнего младшего бита (LSB). Маскированный CRC имеет вид (p0 xor m0), (p1 xor m1),…, (pL-1 xor mL-1), где L - количество битов четности, и p0 и m0 являются MSB в двоичном представлении CRC и maskсоответственно. Если значение маски больше 2L - 1, L Для маски рассматриваются LSB.

Примеры

свернуть все

Вычислите и добавьте биты контроля четности CRC в матрицу всех нулей двух блоков данных. Результатом является матрица всех нулей размером 124 на 2.

blkcrc = nrCRCEncode(zeros(100,2),'24C');
any(blkcrc(:,1:2));

Вычислите и добавьте маскированные биты контроля четности CRC в матрицу всех нулей двух блоков данных. Добавленные биты CRC маскируются XOR указанным mask, от MSB первым до LSB последним. Результатом является матрица всех нулей, за исключением элементов в последней позиции.

mask = 1;
blkcrc = nrCRCEncode(zeros(100,2),'24C',mask);
blkcrc(end-5:end,1:2)
ans = 6×2

     0     0
     0     0
     0     0
     0     0
     0     0
     1     1

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

свернуть все

Входные данные, определенные как матрица вещественных чисел. Каждый столбец матрицы обрабатывается как отдельный блок данных.

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

Многочлен CRC, указанный как '6', '11', '16', '24A', '24B', или '24C'. Дополнительные сведения о связанных многочленах см. в TS 38.212 Раздел 5.1.

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

XOR-маска, заданная как неотрицательное целое число. Маска обычно является временным идентификатором радиосети (RNTI).

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

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

свернуть все

Кодированные данные CRC возвращаются в виде матрицы вещественных чисел. blkcrc является копией входных данных blk с добавленными битами контроля четности CRC. Каждый столбец соответствует отдельному кодированному кодовому блоку CRC. blkcrc наследует тип данных из входных данных blk.

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

Ссылки

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

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

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

.
Представлен в R2018b