博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接
本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。
博客内容主要围绕:
5G/6G协议讲解
算力网络讲解(云计算,边缘计算,端计算)
高级C语言讲解
Rust语言讲解
文章目录
PBCH和PBCH的DMRS
UE搜索完PSS和SSS之后,就获得了PCI,接下来需要解调PBCH。由于NR中没有小区专用参考信号(Cell-specific Reference Signal,CRS),要解调PBCH信道,UE必须先获得PBCH的DMRS的位置。
PBCH的DMRS在时域上的位置和PBCH相同,即占用SS/PBCH块的第2~4个OFDM符号;频域上的位置间隔4个子载波,也即每个RB上有3个DMRS,频域偏移由PCI确定,即根据 v = N I D C E L L m o d 4 v=N_{ID}^{CELL} mod 4 v=NIDCELLmod4 确定频域偏移,同频邻区设置不同的频域偏移有利于降低不同小区之间的干扰。
NR的PCI规划原则与LTE相类似,也要满足以下原则:相同PCI的复用距离足够远,避免同一个基站的小区以及该基站的邻区列表出现PCI相同的情况,保留适量的PCI用于室分规划、位置边界规划和网络的扩展。由于PSS只有3个,为了避免PSS的干扰,NR的PCI也要考虑模3干扰。NR的PCI规划与LTE的PCI规划的主要差异是:LTE的PCI数量是504个,而NR的PCI数量是1008个,PCI发生冲突的概率会降低,与NR的小区覆盖范围较小、PCI需要较大的复用距离相适应。
一、PBCH的DMRS序列
PBCH的DMRS序列通过下面的公式定义
r ( m ) = 1 2 ( 1 − 2 × c ( 2 m ) ) + j 1 2 ( 1 − 2 × c ( 2 m + 1 ) ) r(m)=\frac{1}{\sqrt{2}}(1-2×c(2m))+j\frac{1}{\sqrt{2}}(1-2×c(2m+1)) r(m)=2 1(1−2×c(2m))+j2 1(1−2×c(2m+1))
其中
-
c(n)是伪随机序列,其公式定义为
c ( n ) = ( x 1 ( n + N c ) + x 2 ( n + N c ) ) m o d 2 c(n)=(x_1(n+N_c)+x_2(n+N_c))mod2 c(n)=(x1(n+Nc)+x2(n+Nc))mod2
x 1 ( n + 31 ) = ( x 1 ( n + 3 ) + x 1 ( n ) ) m o d 2 x_1(n+31)=(x_1(n+3)+x_1(n))mod2 x1(n+31)=(x1(n+3)+x1(n))mod2
x 2 ( n + 31 ) = ( x 2 ( n + 3 ) + x 2 ( n + 2 ) + x 2 ( n + 1 ) + x 2 ( n ) ) m o d 2 x_2(n+31)=(x_2(n+3)+x_2(n+2)+x_2(n+1)+x_2(n))mod2 x2(n+31)=(x2(n+3)+x2(n+2)+x2(n+1)+x2(n))mod2其中 N c N_c Nc=1600,第1个m序列通过 x 1 ( 0 ) x_1(0) x1(0)=1, x 1 ( n ) x_1(n) x1(n)=0,n∈{1,2,...,30}进行初始化,第2个m序列 x 2 ( n ) x_2(n) x2(n)通过 c i n i t = ∑ i = 0 30 x 2 ( i ) × 2 i c_{init}=\sum_{i=0}^{30}x_2(i)×2^i cinit=∑i=030x2(i)×2i。
-
对于PBCH的DMRS来说,相关的 c i n i t c_{init} cinit公式定义如下
c i n i t = 2 11 ( i ‾ S S B + 1 ) ( ⌊ N I D c e l l / 4 ⌋ + 1 ) + 2 6 ( i ‾ S S B + 1 ) + ( N I D c e l l m o d 4 ) c_{init}=2^{11}(\overline{i}{SSB}+1)(\lfloor{N{ID}^{cell}/4}\rfloor+1)+2^6(\overline{i}{SSB}+1)+(N{ID}^{cell} mod 4) cinit=211(iSSB+1)(⌊NIDcell/4⌋+1)+26(iSSB+1)+(NIDcellmod4)
i ‾ S S B = i S S B + 4 n h f \overline{i}{SSB}=i{SSB}+4n_{hf} iSSB=iSSB+4nhf- n h f n_{hf} nhf是PBCH所在的半帧号
- i S S B i_{SSB} iSSB是SSB块的索引
n h f n_{hf} nhf和 i S S B i_{SSB} iSSB的具体取值与半帧(5ms)内的SSB的最大数量 L m a x L_{max} Lmax有关。对于 L m a x L_{max} Lmax=4, i S S B i_{SSB} iSSB是SSB块索引的2个比特位,如果PBCH在无线帧的第1个半帧,则 n h f n_{hf} nhf=0,如果PBCH在无线帧的第2个半帧,则 n h f n_{hf} nhf=1;对于 L m a x L_{max} Lmax=8或者=64, i S S B i_{SSB} iSSB是SSB索引的3个最低比特位, n h f n_{hf} nhf=0。- 对于 L m a x L_{max} Lmax=4,用2个bit表示SSB索引,1个bit表示所在的半帧号;
- 对于 L m a x L_{max} Lmax=8, n h f n_{hf} nhf=0,正好用 i ‾ S S B = i S S B \overline{i}{SSB}=i{SSB} iSSB=iSSB表示SSB的索引,也即用3个bit表示SSB的索引;
- 对于 L m a x L_{max} Lmax=64, n h f n_{hf} nhf=0, i ‾ S S B \overline{i}{SSB} iSSB是SSB的低3个bit,高3个bit为 a ‾ A ‾ + 5 \overline{a}{\overline{A}+5} aA+5, a ‾ A ‾ + 6 \overline{a}{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}{\overline{A}+7} aA+7,即用DMRS承载的3个bit和PBCH编码时增加的 a ‾ A ‾ + 5 \overline{a}{\overline{A}+5} aA+5, a ‾ A ‾ + 6 \overline{a}{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7联合表示SSB的索引;
在DMRS公式定义中, N I D c e l l N_{ID}^{cell} NIDcell是已知的, i ‾ S S B \overline{i}_{SSB} iSSB的取值有8种可能,也即UE在初始小区搜索的时候,使用8个DMRS初始化序列,通过盲检的方式,确定PBCH使用的是哪一个DMRS。
二、PBCH信道功能
PBCH信道发送的信息包括两部分:
- 高层产生的主消息块(Master Information Block,MIB)消息;
- 额外增加的与定时相关的信息。
MIB包含了一些极其重要的信息,以便UE能够获得其他的系统消息,MIB主要包括的信息如下:
systemFrameNumber
:系统帧号(System Frame Number,SFN)的高6个bit,SFN的低4个bit在PBCH的信道编码中传输(SFN共10个bit);subCarrierSpacingCommon
:初始接入、寻呼和广播系统消息SIB1、Msg2、Msg4的子载波间隔,共1个bit,取值为"scs 15 or 60"或"scs 30 or 120"。如果UE在FR1的载波频率上读取MIB,"scs 15 or 60"对应的子载波间隔是15kHz,"scs 30 or 120"对应的子载波间隔是30kHz;如果UE在FR2的载波频率上读取MIB,"scs 15 or 60"对应的子载波间隔是60kHz,"scs 30 or 120"对应的子载波间隔是120kHz;ssb-SubcarrierOffset
:SSB子载波偏移,对应着图5-2中的kSSB,也即从公共资源块的子载波0到SSB的子载波0之间偏移的子载波数量。ssb-SubcarrierOffset共有4个bit,4个bit可以表示0~15。对于FR2,kSSB的取值是0~11,只用ssb-SubcarrierOffset即可指示;对于FR1,kSSB的取值是0~23,只用ssb-SubcarrierOffset不足以指示,还需要在PBCH的信道编码中额外增加1个bit;dmrs-TypeA-Position
:PDSCH的DM-RS(Type A)在时隙内开始的位置,共1个bit,取值为"pos2"或"pos3","pos2"表示DM-RS的开始位置在一个时隙内的OFDM符号2(即第3个OFDM符号),"pos3"表示DM-RS的开始位置在一个时隙内的OFDM符号3(即第4个OFDM符号),有关PDSCH的DM-RS的内容参见本书5.3.4节;pdcch-ConfigSIB1
:共8个bit,对应着RMSI-PDCCH-Config,其中,前面的4个bit用于指示初始DL BWP的公共CORESET 0的配置,后面的4个bit指示初始DL BWP的Type0-PDCCH公共搜索空间的配置(参见本书5.2.5节)。如果ssb-SubcarrierOffset指示SIB1不存在,则pdcch-ConfigSIB1可以通知UE在哪个频率上搜索到"携带"有SIB1的SS/PBCH块或在某个频率范围内没有"携带"SIB1的SS/PBCH块;pdcch-ConfigSIB1
:共8个bit,对应着RMSI-PDCCH-Config,其中,前面的4个bit用于指示初始DL BWP的公共CORESET 0的配置,后面的4个bit指示初始DL BWP的Type0-PDCCH公共搜索空间的配置(参见本书5.2.5节)。如果ssb-SubcarrierOffset指示SIB1不存在,则pdcch-ConfigSIB1可以通知UE在哪个频率上搜索到"携带"有SIB1的SS/PBCH块或在某个频率范围内没有"携带"SIB1的SS/PBCH块;pdcch-ConfigSIB1
:共8个bit,对应着RMSI-PDCCH-Config,其中,前面的4个bit用于指示初始DL BWP的公共CORESET 0的配置,后面的4个bit指示初始DL BWP的Type0-PDCCH公共搜索空间的配置(参见本书5.2.5节)。如果ssb-SubcarrierOffset指示SIB1不存在,则pdcch-ConfigSIB1可以通知UE在哪个频率上搜索到"携带"有SIB1的SS/PBCH块或在某个频率范围内没有"携带"SIB1的SS/PBCH块;
PBCH除了传递MIB信息外,还通过PBCH信道编码额外增加8个与定时相关的信息。PBCH信道编码的处理过程如下:
- a ‾ 1 \overline{a}{1} a1, a ‾ 2 \overline{a}{2} a2,......, a ‾ A ‾ − 1 \overline{a}_{\overline{A}-1} aA−1是物理层接收到的PBCH传输块,也即MIB;
- a ‾ A ‾ \overline{a}{\overline{A}} aA, a ‾ A ‾ + 1 \overline{a}{\overline{A}+1} aA+1,......, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7是8个与定时相关的信息;
- a ‾ 1 \overline{a}{1} a1, a ‾ 2 \overline{a}{2} a2,......, a ‾ A ‾ + 6 \overline{a}{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}{\overline{A}+7} aA+7附加上24个bit的CRC编码,再经过信道编码、速率匹配、调制后映射到物理资源上,最后映射到天线端口上进行传输。PBCH的信道编码采用Polar码,调制采用QPSK调制。
额外增加的8个与定时相关的比特含义如下:
- a ‾ A ‾ \overline{a}{\overline{A}} aA, a ‾ A ‾ + 1 \overline{a}{\overline{A}+1} aA+1, a ‾ A ‾ + 2 \overline{a}{\overline{A}+2} aA+2, a ‾ A ‾ + 3 \overline{a}{\overline{A}+3} aA+3:SFN的低4位,SFN的高6位在MIB中;
- a ‾ A ‾ + 4 \overline{a}{\overline{A}+4} aA+4:半帧标志位 a ‾ H R F \overline{a}{HRF} aHRF;
- a ‾ A ‾ + 5 \overline{a}{\overline{A}+5} aA+5, a ‾ A ‾ + 6 \overline{a}{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7:分为两种情况:
- 如果 L m a x L_{max} Lmax=64,表示SSB索引的高3位;
- 如果是 L m a x L_{max} Lmax=4或者 L m a x L_{max} Lmax=8,则 a ‾ A ‾ + 5 \overline{a}{\overline{A}+5} aA+5是kSSB的高1位, a ‾ A ‾ + 6 \overline{a}{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7用做保留;
PBCH信道上承载的信息(含CRC):
信息 | FR1(bit) | FR2(bit) |
---|---|---|
SFN | 10 | 10 |
SIB1的子载波间隔(参数集) | 1 | 1 |
SSB的子载波偏移 | 5 | 4 |
PDSCH的第1个DMRS的时域位置 | 1 | 1 |
与SIB1相关的PDCCH配置 | 8 | 8 |
小区禁止标志 | 1 | 1 |
同频小区重选标志 | 1 | 1 |
SSB索引 | 0 | 3 |
半帧指示 | 1 | 1 |
Choice(是否为扩展MIB) | 1 | 1 |
保留位 | 3 | 1 |
CRC | 24 | 24 |
合计 | 56 | 56 |
UE解码PBCH信道后,即可得到SSB块的索引信息,也就获得了时序的完整信息,包括帧号、子帧号和时隙号。需要注意的是,PBCH的周期固定为80ms,但是可以在80ms内重复多次传输,PBCH重复多次传输可以压制相邻小区的干扰,提高合并性能,重复的次数与SSB的周期有关。