前两篇的关注点是MAC(Medium Access Control)层,这一篇我们进入到下一层 —— PHY(Physical)层。这一篇主要谈Preamble(随机接入前导码)和PRACH(Physical Random Access Channel,随机接入物理信道)。前面提到,随机接入的第一步,是UE在PRACH发送Preamble(MSG1),我们先看Preamble具体是什么,再看Preamble占用的时频资源(PRACH)。这里重点关注PRACH的大小,PRACH的位置(包括时域和频域)以后再谈。
在时域上,Preamble由两个部分构成:长度为TCP的CP(Cyclic Prefix,循环前缀),和长度为TSEQ(在NR中为NU)的Sequence(序列)。从Preamble包含CP可知,Preamble是OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)调制的信号 —— 在频域上,Preamble包含多个SC(subcarrier,子载波),但CP和SCS(subcarrier spacing,子载波间隔)是独立(于系统)的。
sequence是Preamble的“灵魂”,是区分不同Preamble的关键。在LTE和NR中,UE使用ZC序列(Zadoff-Chu Series)生成sequence。ZC序列是CAZAC(Constant Amplitude Zero Auto-Correlation)序列,即具有幅值恒定、零自相关的特点,十分适合用于随机接入。ZC序列的细节以后再谈,这里只要知道,在LTE和NR中,Preamble使用ZC序列的长度(NZC或LRA)为139或839。
不过,原始的ZC序列是离散的时域信号,不方便在无线信道“携带”。UE先对ZC序列进行DFT(Discrete Fourier Transformation,离散傅里叶变换),再进行OFDM调制 —— 由此,一个“横向”(时域)序列变成一个“竖向”(频域)序列(ZC序列进行FFT或IFFT后依然是ZC序列),序列的每一项对应一个子载波。接着,UE对OFDM输出信号在时域上进行复制(1~N次),基站接收Preamble可以获得时间分集增益(第三篇提到,增益会“反馈”到MSG1发送功率(PREAMBLE DELTA))。最后,UE在(Sequence)前面插入CP,就形成了Preamble。
因此,我们在描述Preamble时,需要包含两个维度:时域和频域。在时域上,Preamble占用时长是CP时长、Sequence时长和GT(Guard Time,细节请见下文)的叠加(TCP + TSEQ + TGT)。在频域上,Preamble占用带宽是子载波间隔(SCS)和子载波(SC)数量的乘积(SCS x NSC)。为了适应不同的覆盖需求和业务需求,LTE和NR定义了多种Preamble format,下面来具体看一下。
先看LTE。
在LTE中,协议(3GPP TS 36.211)定义了5种Preamble format。基站通过PRACH Configuration Index告知UE使用的Preamble format。format 0~3的LRA为839,适用于LTE-TDD和LTE-FDD;format 4的LRA为139,只适用于LTE-TDD(换句话说,LTE-FDD没有format 4)。format 4只能在LTE-TDD的特殊子帧的UpPTS(Uplink Pilot Time Slot)发送,且UpPTS长度需为4384 TS或5120 TS。篇幅关系(多好的借口),这里暂且忽略format 4。
在时域上,(LTE) Preamble的“计量单位”是子帧(subframe)。由于CP和Sequence时长不同,不同Preamble format占用的子帧数量也不同:format 0占用1个子帧;format 1和2占用2个子帧;format 3占用3个子帧。由图可见,无论哪种Preamble format,CP和sequence都没有占满整数子帧。以format 0为例,TS为LTE的基本时间单位。1 TS = 1 / ( 15000 x 2048 )秒,即1个子帧时长为30720 TS,而CP和Sequence只占用了3168 + 24576 = 27744 TS。
整数(1、2或3)子帧时长减去CP和Sequence时长,就是GT时长。依然以format 0为例,TGT = 30720 – 27744 = 2976 TS。可见,Preamble format不仅定义了CP和Sequence时长,还隐含了PRACH的“小尾巴”(GT)。GT不属于Preamble(UE只发送CP和Sequence),但属于PRACH的一部分,(其他)UE在GT范围内不应发送数据(否则会相互形成干扰),实际上,协议没有定义GT的大小,GT是通过基站的调度限制实现的 —— 如果调度预留更多资源,GT自然就变大了(但不一定有意义)。
GT是小区覆盖半径的限制因素之一。在初始接入场景中,UE在随机接入之前,还没有闭环定时控制,UE只能根据下行信号的定时,来确定上行信号(Preamble)的发送定时。问题是,UE在小区的位置(和基站天线的相对位置)是不确定的,中心用户(UE1)和边缘用户(UE2)发送的Preamble到达基站时间不一样,两者的最大允许差值,就是TGT —— 比UE2更远的用户(UE4)发送的Preamble,基站无法收到完整sequence,也无法识别Preamble。
以基站发送下行信号的定时为基准,基站接收Preamble时延为下行时延和上行时延的叠加,因而,由GT限制的小区半径为r = c * TGT / 2(c表示光速)。以format 0为例,TGT = 2976 TS,GT限制的小区半径为r= 299792458 * 2976 / ( 15000 x 2048 ) / 2 = 14521 m,即大约14.5公里。
CP也可视为一种保护间隔,用于消除(在时域上)相邻符号的ISI(Inter Symbol Interference,符号间干扰),不过,CP还有另一层作用。CP即Cyclic Prefix,在发送方,UE将符号尾巴(长度取决于TCP)复制放到符号前面,故名“循环前缀”。在接收方,不同子载波信号到达时延可能存在差异,只要时延不大于TCP,FFT(Fast Fourier Transformation,快速傅里叶变换)积分区间(绿色背景)内会包含各个子载波的整数周期,保证各子载波的“正交性”,消除(在频域上)不同子载波的ICI(Inter Carrier Interference,载波间干扰)。
打个比方,UE发送上行信号,就像指示F1赛车(上行信号)从维修站进入赛道(时域资源),并依次设定了相同的发车时间窗口。如果窗口大小正好满足(一辆车)出站,则发车效率最高(车辆头尾相接,就像火车一样) —— 不过,由于某些不确定因素(比如说,赛车离出站口的距离不同),需要为每台车预留一些时间,以避免发生追尾事故(ISI)。预留可以放在窗口尾部(类似GT),也可以放在窗口头部(类似CP),或两边都放,但都是以牺牲发车效率为代价的。
CP也是小区覆盖半径的限制因素。TCP应包含双向传输时延(TGT)和信道时延扩展(和信道特性相关),因而,TCP通常略大于TGT。当TCP小于TGT时(比如format 3),由GT决定的小区半径,边界用户的接入性能可能较差(正交性损失),此时采用TCP计算小区半径更为合适(所以单纯加大GT没有意义)。由CP限制的小区半径为r = c * ( TCP – t ) / 2(c表示光速,t表示时延扩展)。
附带提一下NR。在3GPP的RAN1 NR Ad-Hoc#2会议上,R1-1711875提案讨论了不同SCS的短前导码的时延扩展,确定了采用Path Profile(路径特性)替代时延扩展,并提供了不同短前导码的路径特性及覆盖距离,根据TCP、TGT和Path Profile计算小区半径的公式为(本质为分别计算CP和GT限制的小区半径,再取较小值):r = min ( TCP – Path Profile, TGT ) / 30.72 x 300 / 2 (m)。以上内容,引用自人民邮电出版社的《5G空口特性与关键技术》的4.3.1.3章节《PRACH前导格式的覆盖特性》。
在频域上,Preamble占用带宽和SC数量及SCS大小相关。format 0~3的SCS为1.25 KHz,LRA为839,对应839个SC,上下方各增加13和12个SC作为(频域)保护间隔。可以推算,format 0~3占用带宽为:1.25 KHz x ( 839 + 13 + 12) = 1.08 MHz。LTE系统SCS为15 KHz,因而,format 0~3占用带宽可折算为6 RB(PUSCH)。
format 4的SCS为7.5 KHz,LRA为139,对应139个SC,上下方各增加3和2个SC作为保护间隔。可以推算,format 4占用带宽为:7.5 KHz x ( 139 + 3 + 2 )= 1.08 MHz。可见,在LTE中,无论哪种Preamble format,PRACH占用带宽都是1.08 MHz,这恰好是LTE支持的最小系统带宽。
再看NR。
先说一下背景。和LTE相比,参数集(numerologies)可选是NR的一个重要特征。参数集的重点是SCS(只有SCS为60 KHz时可选择Normal CP或Extend CP)。LTE的系统SCS固定为15 KHz,而NR的系统SCS(系统SCS好像不是准确的说法,但我也不知道应该称为什么)。可为15 KHz、30 KHz、60 KHz(只用于数据)、120 KHz或240 KHz(只用于同步)。
相应的,NR的帧结构(frame structure)和LTE也稍有不同。在OFDM中,符号(和CP)时长和SCS大小成反比,SCS越大,符号时长越小。在NR中,1个时隙(slot)依然包含14个符号(Normal CP)或12个符号(Extend CP),但1个系统帧(frame,时长10 ms)包含的时隙(slot)数量取决于SCS大小 —— SCS越大,时隙数量越大,时隙时长(和符号时长)越小。利用SCS可变这个特点,Preamble format增加了很多可能性(或说灵活性)。
在NR中,协议(3GPP TS 38.211)定义了13种Preamble format。和LTE相似,基站通过PRACH Configuration Index告知UE使用的Preamble format。由于LRA为139的preamble format大幅扩充,协议根据LRA将Preamble format分为两个系列:4种长前导码(LRA为839):0~3;9种短前导码(LRA为139):A1、A2、A3、B1、B2、B3、B4、C0、C2。这回我们反过来,先看频域(就是这么任性)。
和LTE相似,NR长前导码的SCS是固定的,确定preamble format就确定SCS大小:format 0~2的SCS为1.25 KHz,format 3的SCS为5 KHz。事实上,部分长前导码(format 0~1)就源自于LTE,也只能用于FR1(6 GHz以下频段)。和LTE不同的是,NR的系统SCS不是固定的。如果将长前导码占用频宽用(PUSCH)RB表示,数值取决于系统SCS大小 —— format 0~2占用RB数量可能为6、3或2;format 3占用RB数量可能为24、12或6。
和长前导码不同,短前导码的SCS和preamble format没有对应关系,基站需要通过高层(RRC)参数Msg1 Subcarrier Spacing将短前导码的SCS告知UE。具体的说,短前导码的SCS和u取值相关(但独立于系统SCS对应的u):u取值为0、1、2、3时,SCS分别为15 KHz、30 KHz、60 KHz和120 KHz —— 15 KHz和30 KHz用于FR1,60 KHz和120 KHz用于FR2。如果将短前导码占用频宽用(PUSCH)RB表示,当短前导码SCS和系统SCS相同时,取值总是为12(144 / 12 = 12),其他组合也很容易推算。
短前导码SCS是15 KHz的整数倍数,15 KHz是长前导码SCS的整数倍数,而15 KHz正是数据符号(PUSCH)采用的最小SCS。PRACH这么设计可以减少频域(SCS)正交性的损失,并复用IFFT / FFT处理过程(以上内容,引用自人民邮电出版社的《5G空口特性与关键技术》的4.3.1.2章节《5G PRACH前导格式》)。
再来看时域。伴随帧结构的改变,NR引入了RACH时隙(PRACH slot)和RACH时机(PRACH Occasion)的概念 —— UE可以发送Preamble的时隙和机会。如果忽略PRACH的FDM(Frequency Division Multiplexing),如果使用长前导码,1个RACH时隙内只有1个RACH时机,如果使用短前导码,1个RACH时隙内可能有多个RACH时机。
长前导码的SCS是固定的,SO,占用时长也是固定的(和Preamble format对应的)。以SCS为15 KHz的PUSCH作为对照(1个时隙时长为1ms),format 0和format 3占用时长为1 ms,format 1占用时长为3 ms,format 2占用时长为3.5 ms —— 给大家留个问题:为什么format 2占用时长不是4 ms?
对照LTE的preamble format,可见NR的format 0、1和LTE的format 0、2对应(TC为NR的基本时间单位,k为NR的时间单位系数(64),TS = k x TC,LTE的3168 TS和NR的3168k TC时长是相同的)。由上可见,长前导码占用时长可能会超过1个RACH时隙,因而,RACH时隙不是表示只有这个时隙用于PRACH,只是表示发送Preamble的起始位置,后续的时隙是否用于其他传输,还要看长前导码的占用时长 —— Preamble format是基站指示UE的,基站当然也知道如何调度。
长前导码的优点,就在于“长”—— 不过,是时域的“长”:CP和GT更“长”,就可以支持更“大”的时延扩展和小区半径;Sequence更“长”(Nu更大,检测窗口更大),PRACH的解码能力就更“强”。但有的时候,我们并不关注小区半径和解码能力,而是更关注接入时延(比如说,URLLC(Ultra-Reliable Low Latency Communication)场景),固定时长的长前导码就不适用了。
反过来…
短前导码的优点,就在于“短”—— 不过,是时域的“短”。前面提到,SCS越大,符号时长越短。我们可以拉伸Preamble的频宽,来压缩Preamble的时长 —— 大丈夫,能屈能伸嘛。短前导码占用时长远小于长前导码,可适应动态TDD和自包含帧结构,更适用于时延敏感的业务。话说回来,短前导码的缺点,除了小区半径较小(因为TCP和TGT较小,反正FR2覆盖能力也有限)以外,主要是占用较多的频域资源 —— 这也不完全是缺点,SCS越大,对频偏(多普勒效应)和ICI的抑制就越好。
短前导码的占用时长都不超过1个RACH时隙(14个符号)。A1、A2、A3的占用时长和2、4、6个符号对齐;B1、B2、B3、B4的占用时长和2、4、6、12个符号对齐(示图未显示B2和B3)。C0、C2的占用时长和2、6个符号对齐。(示图假设PUSCH和PRACH的SCS相同,都为15 KHz。示图只表示PRACH时长,PRACH位置以后再谈)
A1和B1、A2和B2、A3和B3的占用时长相同(分别为2个符号、4个符号、6个符号),区别主要是A1、A2、A3没有定义GT(或说TGT为0),适用于覆盖半径较小(空口传输时延可忽略),UE位置集中的场景;B1、B2、B3适用于覆盖半径略大的场景。C0和C2的GT更长,适用于覆盖半径更大的场景。
短前导码还有一个优点:1个RACH时隙可以存在多个RACH时机。比如说,在1个RACH时隙内可以发送6个A1、3个A2或2个A3。另外,A格式和B格式还可以组合使用,如果PRACH Configuration Index指示preamble format为A1 / B1、A2 / B2或A3 / B3,RACH时隙内前面的RACH时机都使用A格式,只有最后一个RACH时机使用B格式 —— 这也是B2和B3唯一的露面机会,因为B2和B3不能单独配置,必须抱紧A2或A3的大腿。