【学术论文】NB-IoT随机接入过程的分析与实现
随着物联网通信技术的快速发展,催生了低功耗广域(Low Power Wide Area,LPWA)技术的兴起。LPWA技术主要面向低功耗、广覆盖、远距离、低带宽的物联网业务,其种类繁多,其中具有代表性的技术主要包括基于非授权频谱的LoRa(Long Rang,LoRa)、Sigfox和基于授权频谱的窄带物联网(Narrow Band Internet of Things,NB-IoT)[1-3]。
NB-IoT是3GPP(3rd Generation Partnership Project,3GPP)为支持超低复杂性和低吞吐量物联网所引入蜂窝系统的一种LPWA蜂窝解决方案,其具有低成本、低功耗、大连接、广覆盖等优点[4-8]。NB-IoT作为蜂窝系统中的一种新兴的无线接入技术,为了满足时延不敏感、无最低速率要求、传输间隔大和传输频率低的业务需求,其在LTE的基础上对协议栈的各子层以及各子层的关键技术过程均进行了相应的简化,而其中用于实现用户设备(User Equipment,UE)初始接入网络和上行同步的随机接入过程也包含在内[9-10]。在NB-IoT系统中,使用随机接入的目的与LTE类似,同样是当UE建立无线链路时用于实现初始接入和上行同步。然而,由于NB-IoT这一技术所面向的业务需求,以至于随机接入过程的发起频率是非常低的。因此,为NB-IoT设计一个支持其业务需要的接入过程方案是非常有必要的。
在NB-IoT中,与LTE类似,UE同样是在空闲模式和连接模式下进行随机接入过程,但是NB-IoT在R13(Release 13)中仅支持基于竞争的随机接入以及在下行数据到达情况下由PDCCH order触发的随机接入[11]。除此之外,它还不支持PUCCH信道以及切换功能,因此在NB-IoT系统中触发随机接入的相关应用场景也被简化成如下4种[12-13]:(1)无线资源控制(Radio Resource Control,RRC)空闲状态下的初始接入过程;(2)RRC连接重建过程;(3)RRC连接状态下,接收下行数据时(上行失步);(4)RRC连接状态下,发送上行数据时(上行失步或者触发调度请求时)。
在上述应用场景中,仅只有第1种场景是在空闲模式下进行随机接入过程,余下的3种场景都是在连接模式下进行随机接入过程,并且4种场景触发的随机接入都是基于竞争的方式。
NB-IoT中基于竞争的随机接入过程与LTE类似,其仍由4个步骤组成[14-15]:(1)UE发送随机接入前导(消息1);(2)UE接收网络端发送的随机接入响应(消息2);(3)UE发送Msg3(消息3);(4)竞争解决(消息4)。但是为了支持NB-IoT的特性,随机接入的每个步骤都进行相应的优化,下面将针对NB-IoT优化的随机接入过程的每个步骤进行详细的分析。
2.1 随机接入PRACH资源和前导的选择与发送
在NB-IoT系统中,UE发送随机接入前导之前需先确定PRACH资源。而PRACH资源的选择可分为两种:一种是由基站(eNB)明确指示的PRACH资源;另一种是由UE所选择的PRACH资源。而由UE选择的PRACH资源不同于LTE,NB-IoT UE是根据其相应的覆盖等级而进行PRACH资源的选择,其中NB-IoT一共定义了3个覆盖等级,分别为level 0、level 1、level 2,并且每个覆盖等级配有相对应的PRACH资源配置参数,其中配置参数通过系统信息块中的SIB2-NB下发给UE,并提供在nprach-ParametersList中,主要包括[16]:PRACH重复次数(由参数numRepetitionsPerPreambleAttempt确定)、PRACH时域资源(包含周期:nprach-Periodicity、起始子帧位置:nprach-StartTime等参数)和PRACH频域资源(包含子载波偏置量:nprach-SubcarrierOffset、子载波个数:nprach-NumSubcarriers等参数)以及用于前导(preamble)重复传输的两个参数,即:发送preamble的最大次数(maxNumPreambleAttemptCE)、每个preamble的最大尝试次数(numRepetitionsPerPreamblePreambleAttempt),同时UE所处覆盖等级是基于下行链路测量(例如:参考信号接收功率(RSRP))以及其门限参数而进行判决的。
确定PRACH资源之后,进行随机接入前导的选择,而前导的选择与确定PRACH资源一样,同样也可分为eNB明确指示和UE选择。eNB明确指示的前导与LTE不同,由于NB-IoT目前在R13中不支持非竞争模式的随机接入,因此只有在上述提到的场景3的情况下由PDCCH order触发随机接入才会明确指示前导。如果前导是由eNB所指示的,则UE根据PDCCH order中携带基站所指定的子载波序号(ra-PreambleIndex)以及当前覆盖等级的基站指定的PRACH资源来设定前导。即前导被设为nprach-SubcarrierOffset+(ra-PreambleIndex modulo nprach-NumSubcarriers),其中nprach-SubcarrierOffset和nprach-NumSubcarriers是当前覆盖等级的基站指定的PRACH资源的参数。而由UE选择的前导也不同于LTE,在NB-IoT中的随机接入前导序列将没有组A和组B之分,并且不需要Zadoff-Chu序列来生成,而是由5个符号组成,并且含有4个由5个符号所组成的Symbol Groups,同时全部符号组的序列都采用默认全1的方式进行配置,因此选择的preamble时先选择符号组,然后在符号组中选择preamble,并且选择的preamble都将是为1的序列符号。随机接入资源选择的具体流程如图1所示。
图1所示的随机接入PRACH资源和前导的选择流程不同于LTE,图中所示的Multi-tone是一种在随机过程中的传输Msg3(消息3)的一种传输方式,在NB-IoT的上行中,它可分为两种传输方式,即:Single-tone和Multi-tone。不过,在早期NB-IoT现场试验和部署中,一些UE实现可能不支持Multi-tone,但是在调度上行链路传输之前,eNB应该知道NB-IoT UE是否支持Multi-tone传输方式。因此,UE应在随机接入消息1中通过发送preamble所占用的子载波索引来通知eNB指示其对Multi-tone的支持,以便于促进在Msg3中网络对上行链路传输的调度。为此,在PRACH资源的频域资源中引入了参数:nprach-SubcarrierMSG3-RangeStart,其参数取值为0、1/3、2/3、1,并通过公式:nprach-Subcarrier-Offset+(nprach-SubcarrierMSG3-RangeStart·nprachNum-Subcarriers)所计算的结果可以将频域中的NPRACH子载波划分为两个非重叠集合,UE可以选择两个集合中的一个集合来发送其随机接入前导码。但是,在R13 NB-IoT中,UE通常总是采用Single-tone方式来传输preamble,也就算说nprach-SubcarrierMSG3-RangeStart参数的取值总是为1,表示在传输Msg3时不支持Multi-tone。
NB-IoT UE选择PRACH资源和前导后,需进行目标前导传输功率(PREAMBLE_RECEIVED_TARGET_POWER)的设置,而其设置也不同于LTE。首先基于LTE计算目标前导传输功率的公式得出LET的目标前导传输功率的值,对于NB-IoT UE而言,在该公式中DELTA_PREAMBLE的取值为0;然后根据UE的覆盖等级的不同而进行设置,当覆盖等级为0时,目标前导传输功率设置为:PREAMBLE_RECEIVED_TARGET_POWER-10*log10(numRepetitionPerPreambleAtte-mpt),而当覆盖等级为1和2时,PREAMBLE_RECEIVED_TARGET_POWER设置为相应的最大UE输出功率。当设置完PREAMBLE_RECEIVED_TARGET_POWER后,则使用所选覆盖等级相应的已选PRACH资源、相应的RA-RATI、前导索引或NB-IoT子载波索引以及PREAMBLE_RECEIVED_TARGET_POWER去发送具有与所选前导组相应的前导传输所需的重复次数的前导。
2.2 随机接入响应
同样,在NB-IoT中,一旦随机接入前导发送出去,则不管测量间隙是否可能发生,UE中的媒体接入控制(Media Access Control,MAC)实体都将会在开启用于接收随机接入响应(Random Access Response,RAR)的RAR窗口中监视用于由式(1)定义的随机接入无线网络临时标识符(RA-RNTI)标识的RAR的PDCCH。由于NB-IoT中的特定上行链路传输方案,为了支持重复传输特性,其RAR窗口开启的位置将不同于LTE,则它与NPRACH重复次数有关,其分为两种情况:
(1)当NPRACH重复次数大于或等于64时,RAR窗口应在最后一个preamble重复传输的结束位置加上41个子帧开启,如图2所示。
(2)当NPRACH重复次数小于64时,此时的RAR窗口应在最后一个preamble重复传输的结束位置加上4个子帧开启,如图3所示。
在NB-IoT中,对图2、图3中的RAR窗口长度也进行了扩展,它并没有采用LTE中的10 ms的RAR窗口,而是使用PDCCH周期(PDCCH period,PP)作为RAR窗口的长度单位,其取值不变,同样RAR窗口最小定义为2(本文将窗口设为2个PP),最大为10。同时新定义了RA-RNTI,其公式定义如下:
式中,SFN_id是指定的PRACH的第一个无线帧的索引,其也与preamble发送的第一个无线帧的索引相对应。NB-IoT中,随机接入响应所接收到的MAC PDU的组成参数与LTE一样,但是需要指出的是,NB-IoT UE为了满足其业务需要,对PDU的组成参数中的退避标识(BI)所对应的退避参数值进行了大幅度的增加,其参数值最大值为524 288 ms,即用于重复传输preamble的延迟时间。同时由于UE使用都是相同的preamble,并且随机接入前导组的每个子载波对应一个随机接入前导,因此用于判断随机接入是否成功的随机接入前导标识(RAPID)只需对应于前导开始子载波索引,当RAPID与开始子载波索引相一致时,则认为随机接入响应接收成功,并停止监视PDCCH。随机接入响应的接收流程如图4所示。
如图4中所示,当收到的RAPID与其发送的不一致或者在RAR窗口内没有收到RAR时,则UE将进行preamble重复传输,但是在NB-IoT中,由于UE具有3个覆盖等级,因此对每个覆盖等级相对应的preamble重复传输计数器引入了一个新的参数,即:PREAMBLE_TRANSMISSIN_COUNTER_CE,并且该计数器在较低的覆盖等级达到其允许发送preamble的最大次数之后,UE仍没有接收到RAR或接收到的RAPID与发送的不一致时,UE将会跳到下一个更高的覆盖等级,则根据当前覆盖等级的允许发送preamble的最大次数对其相应的计数器进行判断。如果当前覆盖等级是最高覆盖等级,则停留在当前覆盖等级,并从PRACH资源重新尝试前导码传输。同时LTE中用于计数的参数PREAMBLE_TRANSMISSION_COUNTER将作为一个总的计数器,用于判断NB-IoT中的随机接入过程是否成功,当其达到最大值时,NB-IoT UE直接认为随机接入未成功完成。
2.3 消息3的发送
在NB-IoT中,Msg3同样用于RRC连接建立请求,但为了减少UE与eNB在空闲状态和连接状态之间切换的信令开销,则新增了Suspend-Resume过程以及一个新的RRC状态[17],即RRC-SUSPENDED。当UE在RRC-SUSPENDED状态进行数据传输时,需通过随机接入过程中的Msg3携带用于进入连接状态的Resume ID发送给eNB。因此在NB-IoT中的Msg3需要有足够的空间大小来容纳长度为40 bit的Resume ID,则将Msg3的传输块大小扩展至88 bit。同时,由于NB-IoT中新增加了用来传输少量数据的控制平面优化方案,而在此优化方案中,随机接入竞争解决之后UE可直接在消息5上传输业务数据,因此新增加了一个数据量和功率余量报告,通过在Msg3中以MAC控制元素的形式上报给eNB,以便eNB能够合理地分配资源给UE。
2.4 竞争解决
NB-IoT中,竞争解决与LTE一样,同样是一个为了解决冲突问题的过程,两者具体实现流程基本一致。不同的是,当NB-IoT UE发送Msg3后,需开启竞争解决定时器,而此时的竞争解决定时器与RAR窗口类似,它也并没有采用以子帧为长度单位,而是采用PDCCH周期作为其长度单位。同时,它的取值也进行了相应的调整,最小定义的长度为1个PP,最大定义为64个PP。如果在竞争解决定时器未超时的情况下,并且Msg3中包含C-RNTI MAC控制元素,则认为随机接入过程成功完成,但是值得注意的是,为了在anchor载波上更有效地利用其无线资源,在NB-IoT中需先判断是否配有non-anchor载波。因此当配有non-anchor载波时,在anchor载波上包含在PDCCH的上行授权和下行分配仅对non-anchor载波有效。如果竞争解决不成功,并且PREAMBLE_TRANSMISSION_COUNTER全局计数器达到最大值时,则在NB-IoT中会认为随机接入未成功完成。
协议测试的实现方式可有多种,其中TTCN-3测试语言被广泛地应用于标准的有效性验证和协议一致性测试中,它是一种可适用于多种测试场景的标准化测试语言。本文就NB-IoT的随机接入过程搭建了基于TTCN-3的一致性测试平台,并对其进行了一致性测试,同时生成了其仿真图,如图5所示。
本测试根据标准中规定的NB-IoT随机接入的一致性测试流程,最后通过TTCN-3平台的主控log分析模块输出的结果来判断随机接入过程测试的结果是否正确。首先通过图5(a)中函数f_RRM_NBIoT_UE_config(’06021104’O)和f_RRM_ReceiveReply(’-06021104’O)的结果来判断NB-IoT UE和基站是否能够正常通信。在验证了通信之后,则通过f_NBIoT_UE_Initial_RandomAccess()函数使得NB-IoT UE初始化,确保其进入状态2A-NB,并根据RSRP进行相应的覆盖等级配置以及根据配置的覆盖等级对NPRACH资源进行配置,然后根据随机接入的4个步骤对其进行了验证。同时,判断随机接入响应和竞争解决是否成功,其分别通过图5(a)中函数f_R-RM_RandomAccessResponseSuccess()和图5(b)中函数f_RRM_RandomAccessContentionResolution()中log输出的success和failure判断是否成功;当随机接入响应接收成功后,根据中log输出的T300可知定时器T300已开启,该定时器取值为2 500 ms;NB-IoT UE发起Msg3后并立即开启T300,如图5(b)所示。如果在T300未超时的情况下接收到了竞争解决,则关闭该定时器,并在主控log输出f_RRM_NBIoT_RandomAccess_sucess(),则表明随机接入过程成功完成,接着NB-IoT UE进入连接状态,该测试结果满足了协议测试的一致性要求。
本文简单介绍了基于授权频谱的NB-IoT,考虑到随机接入对于UE的初始接入与上行同步的重要性以及其在NB-IoT中进行了相应的优化,同时目前在R13的中NB-IoT仅支持基于竞争模式的随机接入过程,因此对其优化后的基于竞争模式的随机接入过程的4个步骤进行了详细的分析,并对其搭建了基于TTCN-3的一致性测试平台以及进行了一致性测试。