lteCRCDecode

Декодирование контроля циклическим избыточным кодом и удаление

Синтаксис

[blk,err] = lteCRCDecode(blkcrc,poly)
[blk,err] = lteCRCDecode(blkcrc,poly,mask)

Описание

пример

[blk,err] = lteCRCDecode(blkcrc,poly) проверяет вектор входных данных на ошибку CRC, принимающую, что вектор включает блок данных со связанными присоединенными битами CRC. Часть данных входа возвращена в векторном blk. Логическое различие (XOR) между присоединенным CRC и CRC, повторно вычисленным через часть данных входа, возвращено в скаляре uint32 err. Если err не равен 0, или ошибка произошла или вход CRC, был замаскирован. Логическая маска может также быть применена непосредственно к err. Смотрите TS 36.212 [1], Раздел 5.1.1 для связанных полиномов.

пример

[blk,err] = lteCRCDecode(blkcrc,poly,mask) проверяет вектор входных данных на ошибочный XOR-луг CRC со скалярным параметром mask, прежде чем это будет возвращено в err. Значение mask применяется к битам CRC со старшим значащим битом (MSB) сначала и младшим значащим битом (LSB) в последний раз.

Примеры

свернуть все

Проверяйте эффект CRC, декодирующего блок данных с и без маски.

CRC кодирует присоединение '24A' маскированного - CRC типа к вектору все-единиц длины 100.

rnti = 8;
blkcrc = lteCRCEncode(ones(100,1),'24A',rnti);

CRC декодирует с блоком данных, не используя маску.

[blk1,err1] = lteCRCDecode(blkcrc,'24A');
err1
err1 = uint32
    8

Логическое различие между исходным CRC и повторно вычисленным CRC равняется маске CRC. Поскольку CRC был замаскирован, декодируя, не задавая маску, возвратил err1 = 8, который является значением rnti.

CRC декодирует использование RNTI как маска.

[blk2,err2] = lteCRCDecode(blkcrc,'24A',rnti);
err2
err2 = uint32
    0

Возвращенный выходной параметр, err2, 0, потому что исходная маска, rnti, является XORed с собой.

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

свернуть все

Битовый вектор входных данных CRC, заданный как числовой вектор-столбец. Функция проверяет входной битовый вектор на ошибку CRC, принимающую, что данные состоят из блока данных с присоединенными битами CRC.

Полином CRC, заданный как '8', '16', '24A' или '24B'. Смотрите TS 36.212 [1], Раздел 5.1.1 для связанных полиномов.

Маска XOR, заданная как скалярное целое число. Различием в CRC является XOR-редактор с mask, прежде чем err будет возвращен.

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

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

свернуть все

Вектор бита данных, возвращенный как вектор-столбец. blk является частью только для данных входа blkcrc.

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

Логическое различие, возвращенное как целое число. err является логическим различием между CRC и CRC, повторно вычисленным через часть данных входа.

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

Ссылки

[1] 3GPP TS 36.212. “Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: http://www.3gpp.org.

Введенный в R2014a