勘误:由于我们的视频是手机随机一次录制成型,没有NG的机会,难免一些口误,比如视频最后说multi-tone包含3,6,9三种子载波模式,其实应该为3,6,12,造成不便,敬请谅解
阅读提要:
前三期连载文章从物联网的接入网技术,核心网流程以及下行物理层技术进行了解读,详情请戳
解读物联网(1)-接入网协议流程
解读物联网(2)-核心网关键技术流程
解读物联网(3) NB-IoT下行物理层技术
本期我们从物联网重要技术标准分支NB-IoT的上行物理层结构与技术继续解读。
相比LTE的上行物理信道,NB-IoT的上行物理信道可谓简化了很多,因此一些流程机制也改变很多。由于不需要在上行信道中传输CSI或者SR,因此在上行信道结构设计中也不需要专门保留上行控制共享信道。NB-IoT上行信道包含两种物理信道,一个是窄带物理上行共享信道(NPUSCH),另外一个是窄带物理随机接入信道(NPRACH),控制信息可以通过NPUSCH复用传输,这意味着NPUSCH不仅承载上行数据业务,同时也肩负了类似LTE中PUCCH承载一些上行反馈信息的功能。另外,由于没有了上行资源调度的概念,同时为了简化帧结构,作为全频段信道估计用的Sounding Reference Signal(SRS)也被省略掉了,上行物理信号只保留了窄带解调参考信号,这样不仅简化了物理层流程,同时也将有限的带宽资源尽可能预留给了数据传输。
NPUSCH(Narrowband Physical uplink shared channel)
上行传输有两种模式,一种是single-tone,另一种是multi-tone。对于single-tone传输模式,可以有两种子载波间隔3.75kHz和15kHz,资源块在这里并没有定义,这意味着并不以资源块作为基本调度单位。如果子载波间隔是15kHz,那么上行包含连续12个子载波,如果子载波间隔是3.75kHz,那么上行包含连续48个子载波。我们知道,对于通过OFDM调制的数据信道,如果在同样的带宽下,子载波间隔越小,相干带宽越大,那么数据传输抗多径干扰的效果越好,数据传输的效率更高,当然,考虑到通过IFFT的计算效率,子载波也不能设置的无限小。同时,也要考虑与周围LTE大网的频带兼容性,选取更小的子载波也需要考虑与15kHz的兼容性。当上行采取single tone 3.75kHz模式传输数据时,物理层帧结构最小单位为基本时长2ms时隙,该时隙与FDD LTE子帧保持对齐。每个时隙包含7个OFDM符号,每个符号包含8448个Ts(时域采样),其中这8448个Ts含有256Ts个循环校验前缀(这意味着IFFT的计算点数是8448-256=8192个,恰好是2048(15kHz)的4倍),剩下的时域长度(2304Ts)作为保护带宽。single-tone和multi-tone的15kHz模式与FDD LTE的帧结构是保持一致的,最小单位是时长为0.5ms的时隙。而区别在于NB-IoT没有调度资源块,single-tone以12个连续子载波进行传输,multi-tone可以分别按照3,6,12个连续子载波分组进行数据传输。
相比LTE中以PRB对进行基本资源调度单位,NB-IoT的上行共享物理信道NPUSCH的资源单位是以灵活的时频资源组合进行调度的,调度的基本单位称作资源单位(Resource Unit)。NPUSCH有两种传输格式,两种传输格式对应的资源单位不同,传输的内容也不一样。NPUSCH格式1用来承载上行共享传输信道UL-SCH,传输用户数据或者信令,UL-SCH传输块可以通过一个或者几个物理资源单位进行调度发送。所占资源单位包含single-tone和multi-tone两种格式。其中
single-tone 3.75kHz 32ms, 15kHz 8ms;
multi-tone 15kHz 3子载波 4ms,6子载波 2ms,12子载波 1ms。
NPUSCH格式2用来承载上行控制信息(物理层),例如ACK/NAK应答。根据3.75kHz 8ms或者15kHz 2ms分别进行调度发送的。
NPUSCH信道基本调度资源单位(Resource Unit)
NB-IoT没有特定的上行控制信道,控制信息也复用在上行共享信道(NPUSCH)中发送。所谓的控制信息指的是与NPDSCH对应的ACK/NAK的消息,并不像LTE大网那样还需要传输表征信道条件的CSI以及申请调度资源的SR(Scheduling Request)。
NB-IoT上行物理信道进行了简化
NPUSCH目前只支持天线单端口,NPUSCH可以包含一个或者多个RU。这个分配的RU资源单位数量由NPDDCH承载的针对NPUSCH的DCI格式N0(format N0)来指明。这个DCI格式N0包含分配给RU的连续子载波数量nsc,分配的RU数量NRU,重复发送的次数NRep。UE通过解读DCI格式N0获取相关NPUSCH上行传输的时间起点以及所占用的视频资源,上行共享信道子载波间隔与解码随机接入grant指示Msg3发送采用的子载波间隔保持一致。另外NPUSCH上行具体的对应取值在协议中有明确的定义(见36.213 R13 16.5.1.1&16.5.1.2)。在子载波上映射的NPUSCH符号应该与上行参考信号错开。在映射了Nslots个时隙后,为了提升上行软覆盖,保证数据传输质量,这Nslots个时隙需要被重复次。具体的计算公式如下(36.211 R13 10.1.3.6)
我们进行一点简单的计算。
对于NPUSCH格式1中子载波间隔3.75kHz,RU频域子载波数为1的情况,查表计算得出每个传输的时隙不需要重复。这样NPUSCH的待发符号会映射满一个RU(1个子载波,8个时隙,持续32ms),之后再重复次;
对于NPUSCH格式2中子载波间隔15kHz,RU频域子载波数为1的情况,查表计算出每2个时隙需要被重复发送,而RU内部重复次数为1,其实意味着和前一种情况一致了。NPUSCH的待发信号映射满一个RU(1个子载波,4个时隙,持续2ms),之后再重复次;
对于NPUSCH格式1中子载波间隔15kHz,RU频域子载波数为6的情况,查表计算出每2个时隙需要被重复发送,假设通过解码DCI获得的值为4,那么经计算为2,那么实际情况是在该RU持续的4个时隙内,NPUSCH符号先映射满2个时隙,然后RU内部一重复,这种映射方式直到NPUSCH符号被完全发送完,之后NPUSCH重复3次,也就是说每映射2个时隙的NPUSCH符号,实际总共需要16个时隙重传来保障上行数据接受的可靠性。
通过这些例子的简单计算,我们可以摸清NPUSCH映射传输的一些规律,NPUSCH采取“内部切片重传”与“外部整体重传”的机制保证上行信道数据的可靠性。对于格式2承载的一些控制信息,由于数据量较小,就没有采取内部分割切片的方式,而是数据NPUSCH承载的控制信息传完以后再重复传输保证质量。NPUSCH在传输过程中需要与NPRACH错开,NPRACH优先程度较高,如果与NPRACH时隙重叠,NPUSCH需要延迟一定的时隙传输(36.211 R13 10.1.3.6)。在传输完NPUSCH或者NPUSCH与NPRACH交叠需要延迟256ms传输,需要在传输完NPUSCH或者NPRACH之后加一个40ms的保护间隔,而被延迟的NPUSCH与40ms保护间隔交叠的数据部分则认为是保护带的一部分了,换言之,这部分上传数据被废弃掉了。在NPUSCH的上行信道配置中还同时考虑了与LTE上行参考信号SRS的兼容问题,这里通过SIB2-NB里面的NPUSCH-ConfigCommon-NB信息块中的npusch-AllSymbols和srs-SubframeConfig参数共同控制,如果npusch-AllSymbols设置为false,那么SRS对应的位置记作NPUSCH的符号映射,但是并不传输,如果npusch-AllSymbols设置为true,那么所有的NPUSCH符号都被传输。对于需要兼容SRS进行匹配的NPUSCH,意味着一定程度上的信息损失,这也是与LTE采取带内模式组网时需要考虑的。
NB-IoT上行共享信道具有功控机制,通过“半动态”调整上行发射功率使得信息能够成功在基站侧被解码。之所以说上行功控的机制属于“半动态”调整(这里与LTE功控机制比较类似),是由于在功控过程中,目标期望功率在小区级是不变的,UE通过接入小区或者切换至新小区通过重配消息获取,功控中进行调整的部分只是路损补偿。UE需要检测NPDCCH中的UL grant以确定上行的传输内容(NPUSCH格式1,2或者Msg3),不同内容路损的补偿的调整系数有所不同,同时上行期望功率的计算也有差异,具体计算公式可以参见36.213 R13 16.2.1.1.1。上行功控以时隙作为基本调度单位,值得注意的是在如果NPUSCH的RU重传次数大于2,那么意味着此时NB-IoT进行深度覆盖受限环境,上行信道不进行功控,采取最大功率发射,该值不超过UE的实际最大发射功率能力,对于class3UE最大发射功率能力是23dBm,class5UE最大发射功率能力20dBm。
DMRS(Demodulation reference signal)
不同格式的RU对应产生不同的解调参考信号。主要按照(一个RU包含的子载波数量)和两类来计算。另外NPUSCH两种格式的解调参考信号也不一样,格式1每个NPUSCH传输时隙包含一个解调参考信号,而格式2每个传输时隙则包含3个解调参考信号,这种设计可能源于承载控制信息的NPUSCH的RU中空闲位置较多,而且分配给控制信息的RU时域资源相对较少,因此每个传输时隙通过稍多的解调参考信号予以进行上行控制信息的解调保障。对于包含不同子载波的RU而言(当然我们也可以按照single-tone,multi-tone分类)需要保证每个子载波至少一个DMRS参考信号以确定信道质量,同时DMRS的功率与所在NPUSCH信道的功率保持一致。对于multi-tone中如何生成参考信号,既可以通过解读系统消息SIB2-NB中的NPUSCH-ConfigCommon-NB信息块中的参数(可选)获取,也可以根据小区ID通过既定公式计算获取(36.211 R13 36.211)。解调参考信号可以通过序列组跳变(Group hopping)的方式避免不同小区间上行符号的干扰。序列组跳变并不改变DMRS参考信号在不同子帧的位置,而是通过编码方式的变化改变DMRS参考信号本身。对于的RU,RU内部的每个时隙中的序列组跳变是一样的,而对于的RU,RU内部每个偶数时隙的序列组的计算方式就要重新变化一次。DMRS映射到物理资源的原则是确保RU内每个时隙的每个子载波至少一个参考信号,这个也很好理解,通俗的说就说保证每个时隙上的子载波能够被正确解调,同时又不由于过多的分配DMRS导致资源消耗够多,物理层设计的时候也进行了相应的权衡。当然在物理资源映射分配上格式1与格式2的DMRS还是有些差异。格式1在每个时隙每个子载波上只分配1个DMRS参考信号,格式2在每个时隙每个子载波上分配3个DMRS参考信号。
NB-IoT上行SC-FDMA基带信号对于单子载波RU模式需要区分BPSK,QPSK模式,即基于不同的调制方式和不同的时隙位置进行相位偏置,这一点与LTE是不同的,LTE上行的SC-FDMA主要是由于考虑到终端上行的PAPR问题采取在IFFT前加DFT变换,同时分配给用户频域资源中不同子载波功率是一致的,这样PAPR问题得到了有效的缓解。而对于NB-IoT而言,对于single-tone的这种单子载波传输的方式,功率谱密度更高,对带外旁瓣泄露更加敏感,另外相比multi-tone传输方式,单DFT抽头抑制PAPR效果相对较弱,因此通过基于不同调制方式数据的相位偏置可以进行相应的削峰处理,同时又不会像简单clipping技术一样使得频域旁瓣产生泄漏,产生带外干扰。
NPRACH(Narrowband physical random access channel)
窄带随机接入信道顾名思义就是传输随机接入请求的。随机接入过程是UE从空闲态获取专用信道资源转变为连接态的重要方法手段。在NB-IoT中没有了同步状态下的SR流程对于调度资源的申请,NB-IoT主要靠随机接入流程申请调度资源。随机接入使用的3.75kHz子载波间隔,同时采取在单子载波跳频符号组的方式发送不同循环前缀的preamble。随机接入符号组如图所示,它由5个相同的OFDM符号与循环前缀拼接而成。随机接入前导序列只在前面加循环前缀,而不是在每个OFDM符号前都加(如NB-IoT的NPUSCH上行共享信道),主要原因是由于其并不是多载波调制,因此不用通过CP保持子载波之间的正交性,节省下CP的资源可以承载更多的前导码信息,基站侧通过检测最强径的方式确认随机接入前导码。随机接入前导码包含两种格式,两种格式的循环前缀不一样。
随机接入符号组
前导码参数配置
一个前导码(preamble)包含了4个符号组,同时被连续传输。通过一些列的时频资源参数配置,随机接入前导码占据预先分配的时频资源进行传输。UE通过解读SIB2-NB消息获取这些预配置参数。
如何通过这些配置参数确定前导码的起始位置?为了避免枯燥的参数解读与描述,我们通过简单的计算来说明。
起始
假设nprach-Periodicity=1280ms,那么发起随机接入的无线帧号应该是0,128,256....(128的整数倍),当然随着这个取值越大,随机接入延迟越大,但是这对于物联网NB-IoT来说并不太敏感,基于抄水表的物联网终端更需要保证的是数据传递准确性,对于延迟可以进行一定的容忍。nprach-StartTime决定了具体的起始时刻,假设nprach-StartTime=8,那么前导码可以在上述无线帧的第4号时隙上发送(8ms/2ms=4)。这两组参数搭配取值也有一定的潜规则,如果nprach-Periodicity取值过小,nprach-StartTime取值过大,建议可以进行适当的调整。
重复
一个前导码占用4个符号组,假设numRepetitionsPerPreambleAttempt=128(最大值),意味前导码需要被重复传递128次,这样传输前导码实际占用时间为4*128*(TCP+TSEQ)TS(时间单位),而协议规定,每传输4*64(TCP+TSEQ)TS,需要加入40*30720TS间隔(36.211 R13 10.1.6.1),假设采取前导码格式0进行传输,那么传输前导码实际占用时间为796.8ms,相比LTE的随机接入,这是一个相当大的时间长度,物联网终端随机接入需要保证用户的上行同步请求被正确解码,而对于接入时延来讲依然不那么敏感。
频域位置
分配给preamble的频域资源不能超过频域最大子载波数,即nprach-SubcarrierOffset+nprach-NumSubcarriers<=48,超过48意味着参数配置无效。这两个参数,决定了每个符号(注:我们这里并没有用OFDM符号这个词,由于随机接入前导码并没有采取OFDM调制技术,只是占用了ODFM符号的位置而已)中NPRACH的起始位置,NPRACH采取在不同的符号的不同单子载波跳频,但是有一个限制条件,就是在起始位置以上的12个子载波内进行跳频,具体的跳频位置计算比较复杂,可参见(36.311 R13 10.1.6.1)
nprach-NumCBRA-StartSubcarriers和nprach-SubcarrierMSG3-RangeStart这两个参数决定了随机过程竞争阶段的起始子帧位置,如果nprach-SubcarrierMSG3-RangeStart取值为1/3或者2/3,那么指示UE网络侧支持multi-tone方式的msg3传输。
基带导频信号生成
基带导频信号的生成和每个符号组跳频的偏置相关,是个复信号,具体计算公式参见36.311 R13 10.1.6.2。
随机接入过程
UE在发起非同步随机接入之前,需要通过高层获取NPRACH的信道参数配置。在物理层的角度看来,随机接入过程包含发送随机接入前导码和接收随机接入响应两个流程。其余的消息,比如竞争解决及响应(msg3,ms4),认为在共享信道传输,因此不认为是物理层的随机接入过程。
过程1:发送随机接入前导码(发送Msg1)
随机接入信道为每个连续的前导码符号占用一个子载波。层1的随机过程是由高层的接入请求触发的,随机接入的发射目标功率(随机信道受高层控制有功率抬升机制),对应的RA-RNTI和NPRACH资源分配也是由高层决定的。
过程2:接收随机接入响应获取uplink grant(解码Msg2,RAR)
UE通过RA-RNTI解码下行NPDCCH获取被对应RA-RNTI加扰的DCI,通过DCI获取对应DL-SCH资源传输块,将资源块传递高层,高层解析资源块,并向物理层指明Nr-bit的上行授权(uplink grant)。Nr=15,这15bit包含了如下的相关信息(从左至右)
通过解读NPDCCH中DCI获得随机接入响应资源预留,规定了Msg3发送占用的资源以及调制方式
为了更直观的说明物理层随机接入过程,我们用流程图的方式进行了整理