lteCRCDecode

Циклическое декодирование и удаление проверки избыточности

Описание

пример

[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) проверяет вектор входных данных на наличие ошибки CRC XOR-ing со скаляром mask параметр перед возвращением в err. The 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, является XOR с самим собой.

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

свернуть все

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. "Evolved Universal Terrestrial Radio Access (E-UTRA); Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ. URL-адрес: https://www.3gpp.org.

Введенный в R2014a