主要内容

nrcrcdecode.

解码和删除循环冗余校验(CRC)

描述

例子

[布尔克] = nrcrcdecode(Blkcrc.poly检查输入数据Blkcrc.对于CRC错误。该功能假定输入数据包括与多项式相关联的CRC奇偶校验位poly。函数返回布尔克,这是输入的数据部分Blkcrc.。该功能也返回,这是CRC之间的逻辑差异(XOR),包括在输入中的CRC和CRC上跨越输入的数据部分重新计算。如果不等于0,发生错误或输入CRC已被屏蔽。有关相关多项式的详细信息,请参阅TS 38.212第5.1节[1]

例子

[布尔克] = nrcrcdecode(Blkcrc.poly面具XOR-Pasks与CRC差异面具在返回之前。这面具将值应用于最高有效位(MSB)最后到最低有效位(LSB)的CRC差异。

例子

全部收缩

检查CRC解码是否与掩模的效果。

定义与等于12的无线电网络临时标识符(RNTI)对应的掩模。将RNTI屏蔽的CRC奇偶校验位附加到一个数据块的全匹配矩阵。

rnti = 12;blkcrc = nrcrcencode(ofon(100,1),'24C',rnti);

当您在没有面具的情况下执行CRC解码时,err1等于RNTI,因为CRC在编码期间被屏蔽。原始CRC和重新计算CRC之间的逻辑差异是CRC掩模。

[BLK,ERR1] = NRCRCDECODE(BLKCRC,'24C');err1
err1 =UINT3212.

使用RNTI值作为掩码执行CRC解码,等于0。

[blk,err2] = nrcrcdecode(blkcrc,'24C',err1);err2.
err2 =UINT320.

输入参数

全部收缩

CRC编码数据,指定为实数的矩阵。矩阵的每列被认为是单独的CRC编码数据块。

数据类型:双倍的|INT8.|逻辑

CRC多项式,指定为'6''11''16''24A''24B', 要么'24C'。有关相关多项式的详细信息,请参阅TS 38.212第5.1节。

数据类型:char|细绳

XOR掩码,指定为非负整数。掩模通常是无线电网络临时标识符(RNTI)。

数据类型:双倍的

输出参数

全部收缩

CRC解码数据,作为实数的矩阵返回。布尔克是输入的仅限数据Blkcrc.

数据类型:双倍的|INT8.|逻辑

逻辑CRC差异,作为整数返回。CRC之间的逻辑差异是输入中的CRCBlkcrc.并且CRC在输入的数据部分中重新计算。如果指定了掩码,则函数XOR-MASK面具在返回之前。

数据类型:UINT32

参考

[1]3GPP TS 38.212。“nr;多路复用和信道编码。“第三代合作伙伴计划;技术规范集团无线电接入网络

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2018B中介绍