1、PRACH原理及其规划方法Physical Random Access Channel物理随机接入信道PRACH的规划概述作用:PRACH信道用作随机接入,是用户进行初始连接、切换、连接重建立,重新恢复上行同步的唯一途径。UE通过上行RACH来达到与LTE系统之间的上行接入和同步。原理:用户使用PRACH信道上的Preamble码接入,每个小区的Preamble码为64个。 Preamble由ZC根序列(长度839)循环移位产生,PRACH信道的规划主要规划Ncs的大小(循环移位长度)、起始/终止根序列逻辑编号。Preamble的sequence序列的产生过程Preamble序列承载在接入信道
2、中,preamle序列是有ZC序列推出来的,推导公式如下:其中Nzc 839,该序列实际是一个虚数数列,简单理解用序列的每个单元是32bit的一个数,该数表示的虚数,高16为实部,低16位为虚部,整个理解成一个数也行。每个小区使用64个preamble,使用时在其中选取一个进行接入,64个preamble的产生是首先使用一个ZC根产生一个839的序列,然后通过Ncs参数对这个序列进行循环移位,如果移位步长较大而不够64个preamble,则再拿一个根序列的ZC序列进行循环移位,直到满足个数要求。这么做的原因是不同的循环位移步长和小区接入半径有关,所以有不同的Ncs参数,Ncs是通过系统消息广播
3、下来的。最初选择的根也是通过配置下来的。简单理解:例如 01011100110表示0号preamble,往右循环移位1位00101110011表示1号,往右循环移位1位10010111001表示2号PRACH规划步骤:(华为)Step1:根据小区半径决定Ncs取值;按小区接入半径10km来考虑,Ncs取值为93;其中Ncs与小区半径的约束关系为:Step2: 839/93结果向下取整结果为9,这意味着每个索引可产生9个前导序列,64个前导序列就需要8个根序列索引;Step3:这意味着可供的根序列索引为0,8,16832共104个可用根序列索引;Step4:根据可用的根序列索引,在所有小区之间进
4、行分配,原理类似于PCI分配方法Ncs configurationvalue低速小区Unrestricted set高速小区Restricted set00151131821522318264223252638632467385584668959821076100119312812119158131672021427923715419-表1 Ncs可取值(前导格式0-3)LTE中的PRACH在FDD模式下(以下若未特别指出,均是对FDD模式而言)PRACH的大小为6个RB,每个子帧中,至多有一个PRACH(36.211,Section 5.7.1)。TDD模式下,允许一个子帧中存在多个频分的P
5、RACH。PRACH中的前导序列,包含长度为 的循环前缀(CP)和长度为 的序列。如下图所示:为了适应不同的小区大小,LTE FDD中的PRACH定义了四种类型,上面的图中,格式1和格式3使用了较长的CP,适用于小区半径较大的情况。格式2和格式3中重复的前导序列适用于路损较大的小区环境。格式0占据一个子帧的长度,格式1和格式2占据两个连续子帧的长度,格式3占据3个连续子帧的长度。从上图可以看出,PRACH中的CP和前导序列并没有占满整个子帧的时间,剩余的部分即为保护时间(Guard Period),这对非同步的上行PRACH来说是必要的。由MAC层触发的随机接入前导序列,只能在特定的时频资源上
6、发送。PRACH在频域上的位置由上层半静态设定的,通过SIB2中的参数prach-FreqOffset广播,prach-FreqOffset的值代表的是物理块资源的号码,满足 ,取值范围在0到94之间,PRACH上不存在跳频。SIB2中的参数prach-ConfigIndex(0到63之间取值)决定了小区中PRACH可以出现的帧和子帧的位置以及所使用的PRACH的类型。在3GPP 36.211 Table 5.7.1-2中定义。Table 5.7.1-2: Frame structure type 1 random access configuration for preamble forma
7、ts 0-3.PRACHConfigurationPreambleSystem frame numberSubframe numberPRACH ConfigurationPreambleSystem frame numberSubframe numberIndexFormatIndexFormat00Even1322Even110Even4332Even420Even7342Even730Any1352Any140Any4362Any450Any7372Any760Any1, 6382Any1, 670Any2 ,7392Any2 ,780Any3, 8402Any3, 890Any1, 4
8、, 7412Any1, 4, 7100Any2, 5, 8422Any2, 5, 8110Any3, 6, 9432Any3, 6, 9120Any0, 2, 4, 6, 8442Any0, 2, 4, 6, 8130Any1, 3, 5, 7, 9452Any1, 3, 5, 7, 9140Any0, 1, 2, 3, 4, 5, 6, 7, 8, 946N/AN/AN/A150Even9472Even9161Even1483Even1171Even4493Even4181Even7503Even7191Any1513Any1201Any4523Any4211Any7533Any7221An
9、y1, 6543Any1, 6231Any2 ,7553Any2 ,7241Any3, 8563Any3, 8251Any1, 4, 7573Any1, 4, 7261Any2, 5, 8583Any2, 5, 8271Any3, 6, 9593Any3, 6, 9281Any0, 2, 4, 6, 860N/AN/AN/A291Any1, 3, 5, 7, 961N/AN/AN/A30N/AN/AN/A62N/AN/AN/A311Even9633Even9PRACH中的前导序列是由ZadoffChu序列经过循环移位生成的,它们源自一个或多个ZadoffChu序列的根序列,序列长度为839,
10、PRACH中子载波的间隔为1.25K。一个小区中有64个前导序列,网络侧配置小区内可以使用的前导序列,并通过SIB2中的参数rootSequenceIndex(在0到837之间取值)来广播第一个ZC根序列,对根序列按一定的规则循环移位,生成相应的PRACH前导序列。由于PRACH上行传输的不同步以及不同的传输延迟,相应的循环移位之间需要有足够的间隔,并非所有的循环移位都能够作为正交序列使用。如果可用的循环移位的前导序列数目不够64个,则按一定的规则选择下一个ZC根序列,通过循环移位生成新的PRACH前导序列。对于高速移动环境下的UE,由于Doppler效应,会破坏ZC序列不同循环移位之间的正交
11、性,此时,LTE中定义了特殊的规则来生成ZC序列的移位。SIB2中的highSpeedFlag来指明小区是否支持高速移动下ZC序列循环移位的选择。时频域资源对于格式1到3,频域间隔1.25k,占用864个子载波(ZC序列长度839,剩余25个子载波两边保护)。格式4,频域讲7.5k,占用144个子载波(ZC序列139,剩余5个两边保护)。对于TDD,格式有4种,和TDD上下行帧划分和prach-ConfigIndex有关,见211表Table 5.7.1-3。prach-ConfigIndex确定了四元结构体 ,决定了prach发送的时频位置。在211表Table 5.7.1-4中配置。其中
12、是频率资源索引。 分别表示资源是否在所有的无线帧,所有的偶数无线帧,所有的奇数无线帧上重现。 表示随机接入资源是否位于一个无线帧的前半帧或者后半帧。 表示前导码开始的上行子帧号,其计数方式为在连续两个下行到上行的转换点间的第一个上行子帧作为0进行计数。但对于前导码格式4, 表示为(*)。前导序列产生每个基站下有64个preamble序列,怎么产生呢?由逻辑根序列号RACH_ROOT_SEQUENCE查表Table 5.7.2-4得到物理根序列号。用zeroCorrelationZoneConfig以及highSpeedFlag(如果为高速,则是限制级)查211表格Table 5.7.2-2得到
13、循环位移NCS;用循环位移NCS与根序列,得到64个preamble序列。1个根序列可能无法生产64个preamle序列,则取下一个根序列继续生成,直到得到64个preambleMAC层处理触发条件RRC信令触发。包括切换,初始入网,idle醒来需要做随机接入。此时没有C-RNTI,msg3在CCCH中发送,在msg4中会携带msg3的内容作为UE标识让UE知道是否该msg4是针对自己的。UE MAC层触发:此时已经有了C-RNTI,不是为了入网而是为了2种情况:a、UE自己发现好久没有调整ul timing了需要重新调整;b、没有SR资源但需要BSRPDCCH DCI formart 1A触
14、发:基站发现UE的ul timing老不对了,可能是“Timing Advance Command MAC Control Element”老调整不好了(该方式时相对值调整),基站复位一下UE的timing调整参数(随机接入的timing调整时绝对值调整,做完后应当复位一下相对值参数,以后用MAC控制元素相对值调整) 。基站通过1个特殊的DCI format 1a告知UE开始随机接入,该DCI并不分配下行带宽,只是指示随机接入。RNTI用C-RNTI加扰;字段“Localized/Distributed VRB assignment flag”设置为0Resource block assign
15、ment bits设置为全1Preamble Index 6 bitsPRACH Mask Index 4 bits剩下的bits全填0。按照是否竞争,又分Contention based和Non-contention based。非竞争的消息如果Preamble Index(码索引)填为全0则表示使用竞争的。如果Preamble Index不为0,但PRACH Mask Index(时频资源索引)为0也是可以的,说明码资源基站单独分配UE了,但时频资源UE还是要自己竞争(感觉这样做很无聊,一般实现应该是都一起分配了吧)。发送preamble(MSG1)发送Preamble先必须得到一些PRA
16、CH和RACH的配置参数,才能发起随机接入。确定时频资源。prach-ConfigIndex确定码资源。先从RACH_ROOT_SEQUENCE查表确定根序列,zeroCorrelationZoneConfig以及highSpeedFlag确定了循环位移,则可以从根序列确定64个preamble序列。把这64个序列取一部分(RRC配置numberOfRA-Preambles),取的这部分又分为2组(组A和组B),RRC配置了numberOfRA-Preambles,则组B大小为numberOfRA-Preambles - numberOfRA-Preambles。确定功率资源。组B用来传大数据
17、的msg3,但由于RB多了多功率有要求。计算组B传输的功率不能大于最大功率,用到参数deltaPreambleMsg3。确定RAR响应窗口ra-ResponseWindowSize;每次preamble不成功后重发增加的功率。powerRampingStepPreamble最大重传此时。preambleTransMax初始功率。preambleInitialReceivedTargetPowerPreamble功率偏移。DELTA_PREAMBLEMSG3的HARQ重传次数。maxHARQ-Msg3Tx发送组B的preamble需要用到的功率参数messagePowerOffsetGroupB
18、等待msg4成功完成的定时器mac-ContentionResolutionTimer。参数得到后,清空msg3 buff,设置preamble传输次数为1(PREAMBLE_TRANSMISSION_COUNTER=1),设置backoff参数为0,选择随机接入资源。注明:如果已经开始了随机接入,基站又指示开始新的一个,UE选哪个由UE厂家自己决定。 RRC配置参数PRACH-Config field descriptionshighSpeedFlagParameter: High-speed-flag, see TS 36.211, 21, 5.7.2.TRUE corresponds t
19、o Restricted set and FALSE to Unrestricted set.产生序列时用,如果为高速,则用限制级的序列偏移。prach-ConfigIndexParameter: prach-ConfigurationIndex, see TS 36.211 21, 5.7.1.确定时频位置时用,确定帧号、子帧号、时隙号,即确定时域位置。prach-FreqOffsetParameter: prach-FrequencyOffset, see TS 36.211, 21, 5.7.1. For TDD the value range is dependent on the v
20、alue of prach-ConfigIndex.确定时频位置时用,确定频域位置,相对顶部(或底部)多少个RB。rootSequenceIndexParameter: RACH_ROOT_SEQUENCE, see TS 36.211 21, 5.7.1.根序列逻辑索引,产生序列时用,zeroCorrelationZoneConfigParameter: NCS configuration, see TS 36.211, 21, 5.7.2: table 5.7.2-2 for preamble format 0.3 and TS 36.211, 21, 5.7.2: table 5.7.2
21、-3 for preamble format 4.产生序列时用,觉得序列偏移。发送preamble(MSG1)mac-ContentionResolutionTimerTimer for contention resolution in TS 36.321 6. Value in subframes. Value sf8 corresponds to 8 subframes, sf16 corresponds to 16 subframes and so on.maxHARQ-Msg3TxMaximum number of Msg3 HARQ transmissions in TS 36.32
22、1 6, used for contention based random access. Value is an integer.MSG3的最大HARQ传输次数messagePowerOffsetGroupBThreshold for preamble selection in TS 36.321 6. Value in dB. Value minusinfinity corresponds to infinity. Value dB0 corresponds to 0 dB, dB5 corresponds to 5 dB and so on.用组B时,UE发送时功率需要大几个DBmess
23、ageSizeGroupAThreshold for preamble selection in TS 36.321 6. Value in bits. Value b56 corresponds to 56 bits, b144 corresponds to 144 bits and so on.用组A时,MSG3的最大的消息大小。numberOfRA-PreamblesNumber of non-dedicated random access preambles in TS 36.321 6. Value is an integer. Value n4 corresponds to 4,
24、n8 corresponds to 8 and so on.Preamble总共的个数powerRampingStepPower ramping factor in TS 36.321 6. Value in dB. Value dB0 corresponds to 0 dB, dB2 corresponds to 2 dB and so on.UE重发preamble时,每次功率增加的步长preambleInitialReceivedTargetPowerInitial preamble power in TS 36.321 6. Value in dBm. Value dBm-120 co
25、rresponds to -120 dBm, dBm-118 corresponds to -118 dBm and so on.基站期望的目标功率preamblesGroupAConfigProvides the configuration for preamble grouping in TS 36.321 6. If the field is not signalled, the size of the random access preambles group A 6 is equal to numberOfRA-Preambles.符合参数,包含sizeOfRA-PreamblesG
26、roupA,messageSizeGroupA,messagePowerOffsetGroupB如果没有该参数数目只有组A没有组B,组A的大小和RA组大小一样。preambleTransMaxMaximum number of preamble transmission in TS 36.321 6. Value is an integer. Value n3 corresponds to 3, n4 corresponds to 4 and so on.Preamble最大发送次数ra-ResponseWindowSizeDuration of the RA response window
27、in TS 36.321 6. Value in subframes. Value sf2 corresponds to 2 subframes, sf3 corresponds to 3 subframes and so on.UE发送完preamble后,等待响应的窗口,如果窗口没有收到响应,认为基站没有收到。窗口为“发送完preamble的最后一个子帧+3”到“发送完preamble的最后一个子帧+3+ ra-ResponseWindowSize”ra-PRACH-MaskIndexExplicitly signalled PRACH Mask Index for RA Resource
28、 selection in TS 36.321 6.非竞争时用,表明时频位置。ra-PreambleIndexExplicitly signalled Random Access Preamble for RA Resource selection in TS 36.321 6.非竞争时用,表明UE发的码序列索引。 此外还要用到几个参数用来算功率与路损的,MAC和PHY用P-Max,终端最大发送功率,msg3发送功率的最大值。如果基站sib中配置了就用基站的,否则用36101中规定的23dbm(不像wimax每个终端的能力可以不一样,lte是基站告诉UE而不像wimax相反)。referenc
29、eSignalPower 基站RS发送功率,用来算路损,发送msg3betaOffset-CQI-Index:CQI在PUSCH中传输时,占的总资源比例,在基站指定的随机接入中如果上报CQI就会用到,既用来决定msg3的CQI 占用的RE数,也会用来做msg3的功控。deltaMCS-Enabled :msg3功控时,是否需要针对不同调制方式做修正。 资源选择 步骤1:选取码资源 RRC如果配置了指定的资源,则用RRC配置的,参数ra-PreambleIndex为码索引,ra-PRACH-MaskIndex为时频位置。当RRC配置了指定的资源(ra-PreambleIndex不全为0),则选择
30、指定的资源。 如果RRC没有配置指定的资源,则 如果MSG3没有传输过: 如果组B存在,且需要传输的MSG3大于messageSizeGroupA,则看组B要求的功率是否满足,如果满足则随机选取组B的码发送。判断条件为:PCMAX preambleInitialReceivedTargetPower deltaPreambleMsg3 messagePowerOffsetGroupB0 如果MSG3传输过,现在重传,则选取码组时,和上次一样。在组B或组A随机选一个。 步骤2:选取时频资源 协议容许指定码资源但不指定时频资源。但不容许指定时频资源但不知道码资源。 如果非竞争接入,PRACH Ma
31、sk Index= ra-PreambleIndex,否则PRACH Mask Index=0 B、参考参数prach-ConfigIndex与PRACH Mask Index, ra-PreambleIndex,选取时频资源 如果指定了ra-PreambleIndexd(码资源)但没指定时频资源PRACH Mask Index,则随机选择一个时频资源。 如果码资源没有指定,则随机选择1个时频资源,再在该资源后面连续2帧再选2个资源,最后在这3个资源中几率均等的选取一个。 功率选择 PREAMBLE_RECEIVED_TARGET_POWER = preambleInitialReceived
32、TargetPower + DELTA_PREAMBLE + (PREAMBLE_TRANSMISSION_COUNTER 1) * powerRampingStep; 可见,发码的时候是不用协议中功控公式的,不需要估计路损等参数,指示从目标功率开始从最小的一次次往上抬功率。RAR(MSG2)监听窗口UE第n帧发完RA后,在n+3到n+3+ ra-ResponseWindowSize监听基站的RAR响应。ra-ResponseWindowSize最大为10,如果更大会引起其他传输的误解。RA-RNTIRAR对应的PDCCH中CRC用RA-RNTI加扰,RA-RNTI= 1 + t_id+10*
33、f_id。t_id为子帧索引,f_id为子帧内的第几个时频资源。可见,UE只能解出自己发送preamble的时频资源的RAR。RAR消息头针对同一个RA-RNTI(时频资源),可能基站能解出多个码的preamble,也可能一个也解不出来。基站应当针对所有解出的preamble回一个大RAR消息,该消息包含若干子RAR消息体(每个消息体对应1个RAPID子头,RAPID是preamble的码索引),每个消息体针对不同的preamble码回的。但backoff参数只有一个在MAC 子头中。基站必须在一个MAC包中回所有同一RA-RNTI的RAR。RAR消息体Timing advance comma
34、nd:时频调整,绝对值调整,实际调整量为该IE*16个TsTemporary C-RNTI:临时分配的RNTI,传MSG3时用在传输信道加扰用。UL Grant如下:- Hopping flag 1 bit 是否跳频- Fixed size resource block assignment 10 bits 转换后可以得到RIV- Truncated modulation and coding scheme 4 bits 调制编码率,213中表Table 8.6.1-1的前16行- TPC command for scheduled PUSCH 3 bits 相对功率(实际发送MSG3时功控公
35、式中参数 为该值加上(PREAMBLE_TRANSMISSION_COUNTER 1) * powerRampingStep)。见213表Table 6.2-1;- UL delay 1 bit 为0表示是n+k个子帧传输MSG3,为1是表示n+k个子帧后再等下次机会传输MSG3。其中n是收到MSG2的当前帧,k查321表Table 5.1.1.1-1得到。- CSI request 1 bit 对于竞争的随机接入没有意义,否则表示CQI MAC处理查表321表Table 7.2-1,设置backoff参数,如果preamble的码索引就是终端发出的preamble,则认为接收RAR成功给PH
36、Y调整timing设置功率到PHY preambleInitialReceivedTargetPower, (PREAMBLE_TRANSMISSION_COUNTER 1) * powerRampingStep),用于msg3的功控。设置msg3的带宽分配到PHY(需要解析一下,看是在mac解析还是在phy解析,见前面“消息体”描述)如果基站指定了码索引ra-PreambleIndex,则认为随机接入完成了,否则: 保存Temporary C-RNTI,msg3要加扰用 如果是第一次收到rar,且msg3不是RRC消息(RRC消息在CCCH上传),则生成msg3时在MAC的控制元素中带上C-
37、RNTI(此时只能是SR资源不可用或者时频太久没有调整,触发随机接入)如果RAR消息头中没有UE自己的preamble索引RAPID,或者在监听窗口没有收到RAR消息,处理一样(213里面说处理是不一样的,和MAC矛盾),MAC的处理见下。发送此时加1. PREAMBLE_TRANSMISSION_COUNTER+1如果达到最大preamble发送次数,通知高层如果MAC自己发起的随机接入(SR触发或时偏调整触发),则在0和backoff值中随机选取一个,等到时间结束在发preamble重新选择资源发送preamble。MSG3传输方式用HARQ,最大重传次数是RRC配置的maxHARQ-Ms
38、g3Tx。用的资源在RAR中的UL Grant中描述,描述了时频位置,跳频,功控参数。传输时机收到RAR后第6帧(36213中描述),如果第6帧不是上行帧,则等到第一个上行帧传输。时频位置收到RAR后第6帧(36213中描述),如果第6帧不是上行帧,则等到第一个上行帧传输。发送功率参考因素:如果是在组B发送码,对应于组A的功率偏移messagePowerOffsetGroupB,体现在 中,因为分的RB数目多了。在初始发码的时候只是粗略估计一下组B的msg3多需要多少功率,而在RAR之后,就可以精确计算而不需要那个粗略的参数了。UE最大发送冲率如果基站sib中配置了就用基站的,否则用36101
39、中规定的23dbm(不像wimax每个终端的能力可以不一样,lte是基站告诉UE而不像wimax相反)。为RRC配置,分别是preamble期望接收功率与“MSG3相对preamble的偏移功率”。路损最后preamlbe相对第一次preamble传输抬升的功率。RAR消息中的TPC字段,相当于闭环功控基站调整参数。 内容1、传输信道用Temporary C-RNTI加扰; Msg3的最大bits数目,在RRC配置中的messageSizeGroupA规定。2、如果是RRC层触发的随机接入,则逻辑信道为CCCH,传输RRC信令,TM方式,携带一个UE标识。MAC还必须保存该CCCH的消息(RR
40、CConnectionRequest消息),用作msg4时的比对判断是否msg4是给自己的。3、如果是MAC层自己触发的随机接入,至少携带一个C-RNTI(此时已经有C-RNTI,在MAC控制元素中携带该C-RNTI而不是Temporary C-RNTI)。4、每发送完msg3(包括重传),应该起定时器mac-ContentionResolutionTimer监听msg4。可见,eNodeB不能通过传输信道的Temporary C-RNTI识别UE,而应该通过解出MAC信息元素或者RRC消息后才知道是哪个UE。MSG4 (Contention Resolution)Msg4意义不同UE可能选择
41、了相同的时频资源,相同的码资源(Preamble index),则RAR消息中RA-RNTI和RAPID都相同,多个终端可能同时发送msg3。如果同时发送了,则基站无法解出msg3来,也有一点可能基站能解出1个UE的msg3(比如基站和某个UE功率差得实在太大,该UE的信号基站无法收到但基站的信号他能收到,而另外一个UE信号很好且在相同资源发了相同的preamble)。所以UE需要比对msg4看是否是针对自己的,如果是自己的才知道没有冲突。Msg4形式与内容Msg4的意思是竞争解决,可能是多种形式。如果msg3是RRC信令(mac传输CCCH SDU),则Msg4的PDCCH用Temporar
42、y C-RNTI加扰, msg4中应当携带48bits的MAC控制元素“UE Contention Resolution Identity”,该控制元素就是msg3的SDU。UE比较如果该控制元素和自己保存的msg3的SDU相等,则是自己的msg3被基站正确接收了,竞争解决完成。如果msg3携带C-RNTI,且是UE自己发起的随机接入(可能是UE自己timing定时器超时发起,或者没有SR资源需要发送BSR),则基站直接针对C-RNTI(非Temporary C-RNTI)分配一个上行PDCCH DCI format 0。如果msg3携带C-RNTI,且基站发送PDCCH DCI format
43、 1a触发随机接入,则基站针对该C-RNTI发送下行数据分配(PDCCH用C-RNTI加扰)。UE对Msg4的处理参考上一节可判断竞争解决是否完成。如果竞争完成了,对于msg3中携带MAC控制元素C-RNTI的情况,则停止定时器mac-ContentionResolutionTimer,丢弃Temporary C-RNTI,随机接入完成。如果竞争完成了,对于msg3中携带CCCH SDU的情况,则停止定时器mac-ContentionResolutionTimer,Temporary C-RNTI升级为C-RNTI, 随机接入完成。如果mac-ContentionResolutionTimer超时,则任务竞争解决失败。如果任务竞争解决失败,则情况msg3的HARQ缓存,增加PREAMBLE_TRANSMISSION_COUNTER,如果preamble传输次数达到最大,则随机接入失败。否则在backoff窗口内选择一个资源重新开始preamble发送。