本文参考3GPP TS 38.212 5.1 CRC calculation部分。
将输入位表示为CRC计算 a , a 1 , a 2 , . . . , a A − 1 a,a~1~,a~2~,...,a~A-1~ a,a 1 ,a 2 ,...,a A−1 和奇偶校验位p0,p1,p2,…,pL-1,这里 A A A是输入序列的大小, L L L是奇偶校验位的数量。奇偶校验位由一下循环生成多项式之一生成:
- 对于 L = 24 L=24 L=24的CRC长度, g C R C 24 A ( D ) = [ D 24 + D 23 + D 18 + D 17 + D 14 + D 11 + D 10 + D 7 + D 6 + D 5 + D 4 + D 3 + D + 1 ] g_{CRC24A}(D) = [D^{24}+D^{23}+D^{18}+D^{17}+D^{14}+D^{11}+D^{10}+D^{7}+D^{6}+D^{5}+D^{4}+D^{3}+D+1] gCRC24A(D)=[D24+D23+D18+D17+D14+D11+D10+D7+D6+D5+D4+D3+D+1];
- 对于 L = 24 L=24 L=24的CRC长度, g C R C 24 B ( D ) = [ D 24 + D 23 + D 6 + D 5 + D + 1 ] g_{CRC24B}(D) = [D^{24}+D^{23}+D^{6}+D^{5}+D+1] gCRC24B(D)=[D24+D23+D6+D5+D+1];
- 对于 L = 24 L=24 L=24的CRC长度, g C R C 24 C ( D ) = [ D 24 + D 23 + D 21 + D 20 + D 17 + D 15 + D 13 + D 12 + D 8 + D 4 + D 2 + D + 1 ] g_{CRC24C}(D) = [D^{24}+D^{23}+D^{21}+D^{20}+D^{17}+D^{15}+D^{13}+D^{12}+D^{8}+D^{4}+D^{2}+D+1] gCRC24C(D)=[D24+D23+D21+D20+D17+D15+D13+D12+D8+D4+D2+D+1];
- 对于 L = 16 L=16 L=16的CRC长度, g C R C 16 ( D ) = [ D 16 + D 12 + D 5 + 1 ] g_{CRC16}(D) = [D^{16}+D^{12}+D^{5}+1] gCRC16(D)=[D16+D12+D5+1];
- 对于 L = 11 L=11 L=11的CRC长度, g C R C 11 ( D ) = [ D 11 + D 10 + D 9 + D 5 + 1 ] g_{CRC11}(D) = [D^{11}+D^{10}+D^{9}+D^{5}+1] gCRC11(D)=[D11+D10+D9+D5+1];
- 对于 L = 6 L=6 L=6的CRC长度, g C R C 6 ( D ) = [ D 6 + D 5 + 1 ] g_{CRC6}(D) = [D^{6}+D^{5}+1] gCRC6(D)=[D6+D5+1]。
编码以系统形式执行,这意味着在GF(2)中,多项式:
a
0
D
A
+
L
−
1
+
a
1
D
A
+
L
−
2
+
.
.
.
+
a
A
−
1
D
L
+
p
0
D
L
−
1
+
p
1
D
L
−
2
+
.
.
.
+
p
L
−
2
D
1
+
p
L
−
1
a_0D^{A+L-1}+a_1D^{A+L-2}+...+a_{A-1}D^{L}+p_0D^{L-1}+p_1D^{L-2}+...+p_{L-2}D^{1}+p_{L-1}
a0DA+L−1+a1DA+L−2+...+aA−1DL+p0DL−1+p1DL−2+...+pL−2D1+pL−1
除以相应的CRC生成多项式时,产生等于0的余数。
完成CRC校验位添加的比特可以表示为
b
0
,
b
1
,
b
2
,
.
.
.
,
b
B
−
1
b_0,b_1,b_2,...,b_{B-1}
b0,b1,b2,...,bB−1,其中
B
=
A
+
L
B=A+L
B=A+L。其中
a
k
a_k
ak与
b
k
b_k
bk之间的关系为:
当
k
=
0
,
1
,
2
,
.
.
.
,
A
−
1
k = 0,1,2,...,A-1
k=0,1,2,...,A−1时,
b
k
=
a
k
b_k = a_k
bk=ak;
当
k
=
A
,
A
+
1
,
A
+
2
,
.
.
.
,
A
+
L
−
1
k = A,A+1,A+2,...,A+L-1
k=A,A+1,A+2,...,A+L−1时,
b
k
=
p
k
−
A
b_k = p_{k-A}
bk=pk−A。