本节主要介绍PBCH中循环冗余校验 (CRC,Cyclic Redundancy Check)的处理过程。
1. 前情提要:
物理广播信道(PBCH:Physical Broadcast Channel),为5G NR协议中使用的下行物理信道,主要用于通过广播的方式向所有用户(UE,User Equipment)发送全局信息。它能够为用户提供系统的基本信息,以便用户可以确定系统的频率范围、小区ID、帧结构等信息,从而可以正确地接收和解码其他物理信道。
PBCH主要用于初始接入阶段,其数据的主要处理流程为:MIB→PBCH负载生成→第一次加扰→CRC处理→POLAR编码→速率匹配→第二次加扰→信号调制→天线映射。PBCH处理流程如下图所示。
2. CRC处理:
根据之前获得的32bit第一次加扰后数据,可利用38.212-5.1中的生成多项式gCRC24C计算得到长度为24bit的CRC数据
。其中,A表示PBCH负载数据长度,L表示校验位长度。之后,将得到的24bit CRC数据附于32bit的第一次加扰数据后,得到长度为56bit的序列
,其中B=A+L。该处理过程如下图所示。[38.212-7.1.3]
CRC数据相关计算过程如下:首先将附加的24bit初始化为0,附于第一加扰后的32bit数据后。选择gCRC24C作为生成多项式。38.212-5.1中给出的各生成多项式如下:
- 当CRC长度L=24:
序号 | 类型 | gCRC24 |
1 | A | [D24+D23+D18+D17+D14+D11+D10+D7+D6+D5+D4+D3+D1+1] |
2 | B | [D24+D23+D6+D5+D1+1] |
3 | C | [D24+D23+D21+D20+D17+D15+D13+D12+D8+D4+D2+D+1] |
- 当CRC长度L=16:
gCRC16(D)=[D16+D12+D5+1]
- 当CRC长度L=11:
gCRC11(D)=[D11+D10+D9+D5+1]
- 当CRC长度L=6:
gCRC6(D)=[D6+D5+1]
之后,利用公式计算获得56bit的数据。实际上,该过程可视为各位异或的过程(也可表示为各位求和mod2)。该计算过程代码表示如下:
inputlen=32;
CRClen=24;
input=scrambled_data;
for(i=0;i<inputlen;i++)
{
if (input[i]==1)
{
for(j=0;j<=CRClen;j++)
{
input[i+j]=(input[i+j]+CRCpoly[j])%2
}
}
}
56bit数据的计算规则如下: