1.语法
(1)blkcrc = nrCRCEncode(blk,poly)
blkcrc = nrCRCEncode(blk,poly)计算多项式poly为输入数据blk定义的CRC。该函数返回CRC编码的数据,该数据是输入数据的副本,其中附加了CRC奇偶校验位。有关相关多项式的详细信息,请参见TS 38.212第5.1节[1]
(2)blkcrc = nrCRCEncode(blk,poly,mask)
blkcrc = nrCRCEncode(blk,poly,mask)使用掩码的整数值对附加的CRC位应用逻辑差(XOR)掩码。将blkcrc中附加的CRC比特与最高有效位(MSB)首先到最低有效位(LSB)进行XOR屏蔽。掩码的CRC格式为(p0 xor m0),(p1 xor m1),…,(pL-1 xor mL-1),其中L是奇偶校验位的数量,p0和m0是二进制文件中的MSB。分别表示CRC和掩码。如果掩码值大于(2^L)-1,则将L、LSB用于掩码。
例:(1)计算并附加CRC
计算CRC奇偶校验位并将其附加到两个数据块的全零矩阵中。结果是大小为124 x 2的全零矩阵。
blkcrc = nrCRCEncode(zeros(100,2),‘24C’);
any(blkcrc(:,1:2));
(2)计算并附加掩码的CRC
计算掩码的CRC奇偶校验位并将其附加到两个数据块的全零矩阵中。附加的CRC位用指定的掩码进行XOR掩码,从MSB首到LSB末,结果是除最后位置的元素以外的全零矩阵。
mask = 1;
blkcrc = nrCRCEncode(zeros(100,2),‘24C’,mask);
blkcrc(end-5:end,1:2)
2.输入参数
(1)blk-输入数据
输入数据,指定为实数矩阵。矩阵的每一列都被视为一个单独的数据块。
数据类型:双精度/8位整数/逻辑型
(2)poly — CRC多项式
CRC多项式,指定为“ 6”,“ 11”,“ 16”,“ 24A”,“ 24B”或“ 24C”。有关相关多项式的详细信息,请参见TS 38.212第5.1节。
数据类型:字符/字符串
(3)mask-XOR掩码
XOR掩码,指定为非负整数。该掩码通常是无线电网络临时标识符(RNTI)
数据类型:双精度
3.输出参数
(1)blkcrc — CRC编码的数据
CRC编码数据,以实数矩阵形式返回。 blkcrc是输入blk的副本,其中附加了CRC奇偶校验位。每列对应一个单独的CRC编码代码块。 blkcrc从输入blk继承其数据类型。
数据类型:双精度/8位整数/逻辑型
4.参考文献
[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.