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. "NR; Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2018b