1.什么是MIB
为了能正常接入小区,UE在完成扫频(无论是指定频点扫频还是全频段扫频,目的都是为了找到合适的中心载波频点,参考《LTE物理传输资源(3)-时频资源》)和小区同步之后(参考《LTE小区搜索-物理小区ID和同步信号PSS、SSS》),还需要继续读取小区的系统信息。系统信息是由网侧不断的重复广播的,这样无论UE什么时候开机,都能及时的获取到系统信息。
LTE的系统信息被分为两大类:MasterInformationBlock(MIB)消息和多个SystemInformationBlocks(SIBs)消息。MIB消息在PBCH中传输,不使用RNTI加扰;而SIB消息是在PDSCH中传输,使用SI-RNTI加扰。
(图1 )
当网侧设备开机后,会先发送MIB消息,然后再发送一系列的SIB消息。MIB消息中承载的是最基本的信息,这些信息涉及到PDSCH信道的解码,UE只有先解码到MIB,才能利用MIB中的参数去继续解码PDSCH中的数据,包括解码SIB信息。MIB消息包含的参数如图2所示。
(图2 MIB消息携带的参数)
(1)dl-Bandwidth:下行带宽参数,指示当前下行链路的带宽大小。取值范围是n6(对应1.4MHz)、n15(对应3MHz)、n25(对应5MHz)、n50(对应10MHz)、n75(对应15MHz)、n100(对应20MHz),分别表示当前带宽占用的RB个数,如n6表示带宽占用6个RB。因为下行带宽大小影响了PDSCH的解码,因此必须要将下行带宽dl-Bandwidth参数放到MIB中。本字段只需要3个bit就可以完成编码。
(2)phich-Config:PHICH配置参数,包括phich-Duration和phich-Resource这两个参数。phich-Config用于计算PHICH信道的位置(请参考《LTE下行物理层传输机制(3)-PHICH信道》),而PHICH信道的位置会影响PDCCH和PDSCH的解码,因此PHICH的配置参数需要在MIB中传输。本字段只需要3个bit就可以完成编码。
(图3)
(3)systemFrameNumber:系统帧号,用于UE和网侧的帧同步。之前在《LTE小区搜索-物理小区ID和同步信号PSS、SSS》里提到的是子帧的同步,UE只有成功解码了MIB,才能完成系统帧号的同步。需要注意的是,因为帧号的范围是0~1023,需要10个bit才能完整的编码1024个数据,但本字段并不能使用10个bit,而只能传输系统帧号的高8位(MSB)。至于为什么系统帧号的低2位不能在本字段中发送,后文在讲到MIB周期发送的时候会解释。
这里说明一下MIB占用的bit位个数以及原因:上述三个字段的有效信息只需要14bits(=3+3+8)就可以完成编码,考虑ASN1编码实现的时候需要字节对齐,所以MIB最低可以使用16bits的空间。但如果MIB占16bits,那么此时预留的bit位(图2中的spare字段)个数只有2个(=16-14),以后扩展的时候会很受限,所以这里协议为MIB分配了24bits的空间,预留的bit位是10bits(=24-14)。
2.MIB的周期发送
MIB在时域上是周期发送的,周期固定是40ms,且所有的MIB消息都只在0号子帧发送,如图4所示。如果系统帧号SFN满足(SFN mod 4 = 0)条件,那么该系统帧的0号子帧是第一次传输(first transmission )MIB消息,同一个MIB周期内的其他3个0子帧时刻则是重复发送(repetitions),也就是说eNB侧的物理层是每10ms发送一次MIB的。UE只要收到任何一个0子帧中的MIB消息,就可以独立解码,不需要等待收齐全部4个MIB块才能解码。
3.MIB的时频位置
时域上,MIB消息被固定映射到0号子帧第2个时隙的前4个符号中,频域上,MIB消息被映射到带宽中间的72个子载波中(不包括直流子载波),如上文的图4所示。因为下行带宽参数dl-bandwidth是被放在MIB消息中传输的,因此UE在成功解码MIB之前,是不知道当前的下行带宽但知道中心载波频点的。所以MIB消息需要映射在整个带宽的最中间位置,这样UE就可以在不需要知道具体带宽的情况下,解码得到MIB消息。另外,由于LTE支持的最小带宽是1.4MHz,只包括了72个子载波,所以MIB块也不能映射到超过72个子载波上。
在博客《LTE下行物理层传输机制(1)-天线端口Antenna Port和小区特定参考信号CRS》里已经提到天线端口的概念,承载MIB的PBCH信道所使用的CRC掩码,是根据天线端口数目来选择的。UE可以依次尝试不同的CRC掩码序列,从而在解码出MIB的时候,就能得到小区特定参考信号对应的天线端口数。
4.为什么协议规定在收到SIB2之前ul-bandwidth的值等于dl-bandwidth
上行带宽参数ul-bandwidth是放在SIB2字段中传输的,如图6所示。前文已经说过,MIB是在SIB消息之前发送的,UE在解码SIB的时候已经知道dl-bandwidth但还不知道ul-bandwidth,那么UE在解码SIB2的时候需不需要用到ul-bandwidth参数?
(图6)
在考虑这个问题之前,我们先看下解码SIB2的过程:UE盲检测CCE,获取DCI,然后根据DCI中的RB/MCS等信息解码PDSCH中的SIB2。《LTE下行物理层传输机制(5)-DCI格式的选择和DCI1A》中已经提到,承载SIB2的PDSCH信道使用SI-RNTI加扰,采用的DCI格式是DCI1A或DCI1C。如果eNB采用DCI1A格式,且生成的DCI1A的码流长度小于DCI0的码流长度,则需要在DCI1A的末尾补0,而计算DCI0码流的长度是需要用到ul-bandwidth参数的(关于DCI0格式的详细内容以后再写)。
基于此,在收到SIB2之前,UE侧在编写代码计算DCI1A长度的时候,需要先计算DCI0格式的长度,而计算DCI0格式的长度必须需要提供ul-bandwidth参数的一个默认值,因而协议规定:UE在收到SIB2之前,ul-bandwidth的值等于dl-bandwidth的值。
参考资料:
(1)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)
(2)3GPP TS 36.300 V9.10.0 (2012-12) Overall description
(3)《4G LTE/LTE-Advanced for Mobile Broadband》
(4)http://www.sharetechnote.com
(5)3GPP TS 36.211 V9.1.0 (2010-03) Physical Channels and Modulation
(6)3GPP TS 36.212 V9.4.0 (2011-09) Multiplexing and channel coding