竞争随机接入

基于竞争的随机接入:

一、Msg1

1、Preamble 的主要作用是告诉eNodeB 有一个随机接入请求,并使得 eNodeB 能估计其与 UE 之间的传输时延,以便 eNodeB 校准uplink timing 并将校准信息通过 timing advance command 告知 UE。
2、eNodeB 通过广播 SIB2 发送 prach-ConfigIndex 和 prach-FrequencyOffset,从而确定该小区可用于传输 preamble 的时频资源集合。UE 发起随机接入时,从中选择一个资源(也可能由eNodeB 指定)发送 preamble。因为 eNodeB 不知道 UE 会在哪个时频资源上发送 preamble,所以会在指示的所有 preamble 时频资源上检测并接收 preamble。一旦这两个字段确定了,对接入该小区的所有 UE 而言,preamble 的格式(format)和可选的 PRACH 资源就固定了。

基于竞争的随机接入,其 preamble index 是由 UE 随机选择的。
确定目标接收功率PREAMBLE_RECEIVED_TARGET_POWER。

//收到 Msg1 的串口打印:
Msg1 [730] [1] : preambleId[26], ta[11], tpc[7], prachConfigIdx[0]

二、Msg2

1、RAR 时间窗起始于发送 preamble 的子帧(如果 preamble 在时域上跨多个子帧,则以最后一个子帧计算) + 3 个子帧,并持续 ra-ResponseWindowSize 个子帧。
2、RA-RNTI= 1 + t_id + 10 * f_id (用于加扰)
3、当 UE 成功地接收到一个 RAR(使用前面介绍的 RA-RNTI 来解码),且该 RAR 中的 preambleindex 与 UE 发送的 preamble index 相同时,则认为成功接收了 RAR,此时 UE 就可以停止监听RAR 了。
Msg1到RAR下发只在L2处理即可。

//发送 Msg2 的串口打印,见 dat 段:
Msg2 PDU [frm:730][sfm:5] :
msg: qlen: 0002 mlen: 0007   00-->00 region: 00
dat: 5a 00 b3 f0 5c 00 3d  

对于上面的码流按协议解码其含义如下:

MAC子头及RAR的格式如下:(36.321 6.1.5)
image.png
image.png
image.png
image.png

这样,Msg2的含义解码:

//这样, Msg2 的含义如下
dat: 5a 00 b3 f0 5c 00 3d  

5a : 0101 1010
E : 0
T : 1
RAPID : 11010 = 26
Msg2 RAR:
msg: qlen: 0001 mlen: 0006   00-->00 region: 00
dat: 00 b3 f0 5c 00 3d    
b3 : 1011 0011  —— TA : 1011 = 11
TC-RNTI : 00 3d = 61
UL Grant : ... ... 

三、Msg3

只有基于竞争的随机接入才需要步骤三和步骤四。

1、Msg3 在 UL-SCH 上传输,使用 HARQ,且 RAR 中带的 UL grant 指定的用于 Msg3 的 TB 大小至少为 80 比特。
2、Msg3 中需要包含一个重要信息:每个 UE 唯一的标志。该标志将用于步骤四的冲突解决。对于处于 RRC_CONNECTED 态的 UE 来说,其唯一标志是 C-RNTI。对于非 RRC_CONNECTED 态的 UE 来说,将使用一个来自核心网的唯一的 UE 标志(S-TMSI或一个随机数)作为其标志。 此时 eNodeB 需要先与核心网通信,才能响应 Msg3。

//发送 Msg3 PUSCH 的串口打印,见 dat 段 :
msg: qlen: 0001 mlen: 0032   00-->00 region: 00
dat: 20 06 1f 5b 73 34 35 01 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

按协议解码(36.321 6.1)
image.png
image.png
image.png

这样,Msg3整个码流在MAC部分的含义解码:

dat: 20 06 1f 5b 73 34 35 01 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

20:0010 0000 :LCID 为 0 ,为CCCH,即MSG3。且F2位为0,长度小于32767byte ,E位为1,有扩展头。
06:0000 0110 :F位为0,长度小于128 byte,使用 7 bit 长度头。长度为 000 0110,即 6。
1F:0001 1111 :E位为0,为最后一个MAC子头,使用R/F2/E/LCID的头,LCID为11111,即padding。
5b 73 34 35 01 36 :第一个头说明了长度为6,5b 73 34 35 01 36 这6个字节即Msg3消息的内容,后面为Padding。

剩下的递给RRC的部分(长度为 6)

5b 73 34 35 01 36 

Msg3的内容往上以UL-CCCH递给RRC,按ANS.1解码(36.331 6.2.1)

image.png
image.png
image.png

这样Msg3的RRC码流解码含义为:

Msg3 RRC :5b 73 34 35 01 36 

5B:0 1 0 1 1011
    0:表示 UL-CCCH-MessageType = c1,即CHOICE中的第一个。
    . 1:表示是rrcConnectionRequest,即CHOICE中的第二个。
    . . 0:表示rrcConnectionRequest-r8,即CHOICE中的第一个。    
    . . . 1:表示InitialUE-Identity = randomValue,即CHOICE中的第二个。
之后是40 bit的random Value,因此这里5B中的B属于random Value
random Value(40 bit) : b 73 34 35 01 3
还剩下一个 6:0 1 1 0
             0 1 1:表示establishmentCause,是一个最大值为7的枚举,占3位,这里011表示为3,即establishmentCause = mo-Signalling
             . . . 0:表示BIT STRING (SIZE (1))的spare

那么Msg3就解析完了。

四、Msg4

1、UE 会在 Msg3 有携带自己唯一的标志: C-RNTI 或来自核心网的 UE标志(S-TMSI 或一个随机数)。 eNodeB 在冲突解决机制中,会在 Msg4(我们把步骤四的消息称为 Msg4)中携带该唯一的标志以指定胜出的 UE。而其它没有在冲突解决中胜出的 UE 将重新发起随机接入。
2、eNodeB 会通过 PCell 上使用 C-RNTI (RAR 中指定的 TC-RNTI)加扰的 PDCCH,或 DL-SCH 上传输的 UE ContentionResolution Identity MAC control element 来指明哪个 UE 在冲突解决中胜出。UE 发送了 Msg3 后,会启动一个 mac-ContentionResolutionTimer,并在 Msg3 进行 HARQ 重传时,重启该 timer。在该 timer 超时或停止之前,UE 会一直监听PDCCH。

对于如下串口打印

Msg3 RRC pdu: [frm:913][sfm:8]
msg: qlen: 0001 mlen: 0006   00-->00 region: 00
dat: 52 6e 5a 97 05 16
  
Msg4 subHeader [frm:915][sfm:4] :
msg: qlen: 0001 mlen: 0001   00-->00 region: 00
dat: 3c     
                                         
Msg4 Contention Resolution Identity [frm:915][sfm:4] :
msg: qlen: 0001 mlen: 0006   00-->00 region: 00
dat: 52 6e 5a 97 05 16                               

Msg4 TB : 
msg: qlen: 0003 mlen: 0041   00-->00 region: 00
dat: 3c 00 52 6e 5a 97 05 16 60 72 98 17 fc c4 11 83 81 b9 88 0b 08 28 02 00 f3 cc 55 5c 30 e4 4c 00 05 84 14 00 26 b0 50 06 00

按协议消息解读:(36.321 6.1.3.4)

image.png
dat: 3c 00 52 6e 5a 97 05 16 60 72 98 17 fc c4 11 83 81 b9 88 0b 08 28 02 00 f3 cc 55 5c 30 e4 4c 00 05 84 14 00 26 b0 50 06 00

3C:0011 1100 :LCID = 11100,即UE Contention Resolution Identity,E位为1,还有其它头。
00:0000 0000 :E位为0,为最后一个头,LCID为0。

52 6e 5a 97 05 16 :为UE Contention Resolution Identity,即L2保存的Msg3的消息内容。

从而得到Msg4在RRC部分的码流

Msg4的内容:60 72 98 17 fc c4 11 83 81 b9 88 0b 08 28 02 00 f3 cc 55 5c 30 e4 4c 00 05 84 14 00 26 b0 50 06 00

按协议解码

image.png
image.png
image.png
image.png
image.png
Msg4的内容:60 72 98 17 fc c4 11 83 81 b9 88 0b 08 28 02 00 f3 cc 55 5c 30 e4 4c 00 05 84 14 00 26 b0 50 06 00

继续解析:(36.331 6.2.1 DL-CCCH)

60:0110 0000 
    0:DL-CCCH-MessageType = c1,即CHOICE的第一个。
     11:3,c1中有4个可能,3表示rrcConnectionSetup。
       0 0:RRC-TransactionIdentifier范围为0~3,占两位,为0
          0:表示c1,取CHOICE的第一个。
           00:接后面。
72:0111 0010
  000:前面60中有两个0,加72中的一个0,表示CHOICE中的第1个,共8个占三位,第一个即rrcConnectionSetup-r8。
     1:表示 rrcConnectionSetup-r8 中的OPTIONAL——RRCConnectionSetup-v8a0-IEs——存在。
      1:RadioResourceConfigDedicated是可扩展的,这里占1位,0和1各表示什么含义,目前还没弄明白。
       1 0010:接后面。
98: 1001 1000
100101:接上面的1 0010加这里的一个1,100101表示RadioResourceConfigDedicated 中的OPTIONAL,110010,表示存在srb-ToAddModList 、mac-MainConfig、physicalConfigDedicated存在,而drb-ToAddModList、drb-ToReleaseList、sps-Config则不存在。
      0:SRB-ToAddModList的范围为1~2,占一位,0表示1。
       0:SRB-ToAddMod是可扩展的,占1位。
        1 1:SRB-ToAddMod中的两个OPTIONAL,存在。
           0:srb-Identity范围为1~2,占一位,0表示1。
            0:CHOICE为0,即RLC-Config.
             0:RLC-Config是可扩展的,占1位。
17:0001 0111
    00:CHOICE有4个可能,占两位,0表示为am。
      01 0111:T-PollRetransmit有64种可能的值,占6位,01 0111即23,即ms120。
// 按这种方法解析,不详述
...

五、Msg5

对于如下串口打印

PUSCH TB [frm : 537] [sfm : 2]:
msg: qlen: 0001 mlen: 0032   00-->00 region: 00
dat: 3a 3d 01 39 0f 88 00 00 20 00 d6 0e 82 e4 10 12 20 20 20 64 a8 0c 8c 0b e0 e1 80 80 22 00 5e 04

PUSCH TB [frm : 538] [sfm : 2]:
msg: qlen: 0002 mlen: 0097   00-->00 region: 00
dat: 3f 3f 3d 01 00 b0 01 15 a0 62 4e 53 01 00 42 20 02 00 00 21 02 0c 00 00 00 01 06 0c 00 00 00 00 00 1a 00 00 06 00 00 02 00 00 18 00 00 14 00 00 0a 00 00 20 00 b8 14 00 62 07 cb c0 7d 20 22 06 ae b1 0c 40 14 c0 28 08 45 23 02 00 24 1c 20 80 10 08 04 c0 00 00 04 3e 00 ba 02 07 82 00 00 00 00  
RRCConnectionSetupComplete,属于UL-DCCH。走SRB1,要经过PDCP的校验。
解析大致流程同前面。
image.png
image.png
// 解析:
3a :0011 1010:E = 1,LCID = 11010 = Power Headroom Report
3d :0011 1101:E = 1,LCID = 11101 = Short BSR
01 :0000 0001:E = 0,LCID = 00001 = SRB1
39 :0011 1001:PH = 57
0f :0000 1111:BS Index = 15,means 78 < BS <= 91
88 :1000 1000:DC = 1(data),FI = 01,E = 0
00 :0000 0000:RLC SN = 0
00 :0000 0000:PDCP SN = 0
Data1:20 00 d6 0e 82 e4 10 12 20 20 20 64 a8 0c 8c 0b e0 e1 80 80 22 00 5e 04              
// 解析:
3f :0011 1111:E = 1,LCID = 11111 = Padding
3f :0011 1111:E = 1,LCID = 11111 = Padding
3d :0011 1101:E = 1,LCID = 11101 = Short BSR
01 :0000 0001:E = 0,LCID = 00001 = SRB1
00 :0000 0000:BS Index = 0
b0 :1011 0000:DC = 1(data),P = 1,FI = 10,E = 0
01 :0000 0001:RLC SN = 1
Data2:15 a0 62 4e 53 01 00 42 20 02 00 00 21 02 0c 00 00 00 01 06 0c 00 00 00 00 00 1a 00 00 06 00 00 02 00 00 18 00 00 14 00 00 0a 00 00 20 00 b8 14 00 62 07 cb c0 7d 20 22 06 ae b1 0c 40 14 c0 28 08 45 23 02 00 24 1c 20 80 10 08 04 c0 00 00 04 3e 00 ba 02 07 82 
00 00 00 00 :PDCP MAC-I
所以,PDCP递给RRC的数据应该是:
// Data1 + Data2 :
20 00 d6 0e 82 e4 10 12 20 20 20 64 a8 0c 8c 0b e0 e1 80 80 22 00 5e 04 15 a0 62 4e 53 01 00 42 20 02 00 00 21 02 0c 00 00 00 01 06 0c 00 00 00 00 00 1a 00 00 06 00 00 02 00 00 18 00 00 14 00 00 0a 00 00 20 00 b8 14 00 62 07 cb c0 7d 20 22 06 ae b1 0c 40 14 c0 28 08 45 23 02 00 24 1c 20 80 10 08 04 c0 00 00 04 3e 00 ba 02 07 82    
然后,PDCP将最后的数据送往RRC,打印如下:
[PER ASN.1 Library] cm_pasn3.c:509 Decoding Element  nhUL_DCCH_Msg 
[PER ASN.1 Library] cm_pasn3.c:509 Decoding Element  nhUL_DCCH_MsgTyp 
Buf :
msg: qlen: 0003 mlen: 0110   00-->00 region: 00
dat: 20 00 d6 0e 82 e4 10 12 20 20 20 64 a8 0c 8c 0b e0 e1 80 80 22 00 5e 04 15 a0 62 4e 53 01 00 42 20 02 00 00 21 02 0c 00 00 00 01 06 0c 00 00 00 00 00 1a 00 00 06 00 00 02 00 00 18 00 00 14 00 00 0a 00 00 20 00 b8 14 00 62 07 cb c0 7d 20 22 06 ae b1 0c 40 14 c0 28 08 45 23 02 00 24 1c 20 80 10 08 04 c0 00 00 04 3e 00 ba 02 07 82 

你可能感兴趣的:(竞争随机接入)