Tuesday, October 11, 2016

IoT: LTE-BL/CE(CAT-M1) Contention Resolution (Msg3 and Msg4)


After decoded RAR in DL subframe n, based on 36.213 6.1.1 and in our example the UL delay field is set to 0 in RAR, UE shall transmit PUSCH in the first available UL subframe where n+k1 and k1 >= 6.
In previous example, UE's Msg3 TBS is 72 bits (MCS=2 and LCRBs=2). The narrowband index to transmit PUSCH is 8. The F set on physical layer is code block size (in our example, only 1 code block is present) + 24 bits CRC = 96 bits. The E set on physical layer is (12x14-24)*2*2=576bits. (12 subcarriers, 14 symbols, 24REs reserved for CRS, 2PRBs and QPSK modulation)
I.E. Field analysis of HEX value 20061F564DDBE713F6 for MAC UL-SCH PDU.
Started with first 16 bits HEX value 2006.
0 -> Reserved bit, set to 0 all the time
0 -> F2 1 bit to indicate size of the Length field. Table 6.2.1-3.
1 -> Extension field. 1 means there is at least another set of R/F2/E/LCID fields. 0 means either a MAC SDU, a MAC control element or padding starts at the next byte.
00000 -> 5 bits LCID field. For MAC UL-SCH PDU, 00000 means CCCH
Since LCID is not a special case, continue decoding next byte as F/L format. If it is a special case, start decoding next byte as R/F2/E/LCID.
0 ->  F 1 bit to indicate size of Length field. Table 6.2.1-3. There is one F field per MAC PDU subheader except for the last subheader and subheaders corresponding to fixed sized MAC control element and except for when F2 is set to 1. F2=0 + F=0 means Length field is 7 bits.
000110 -> Length field. It indicates the length of the corresponding MAC SDU or variable size MAC control element in bytes. There is one Length field per MAC PDU subheader except for the last subheader and subheaders corresponding to fixed-sized MAC control elements. INT value is 6, which means CCCH RLC has 6 bytes of data.

Because E field in first 16 bits is set to 1, there is at least another set of R/F2/E/LCID. Looking at following 8 bits, HEX value 1F.
0 -> Reserved bit set to 0.
0 -> F2. 0 means either MAC control element is bigger than 32767 bytes or it is last subheader.
0 -> Extension field. 0 means there is no more MAC subheader. Either a MAC SDU, a MAC control element or padding starts at the next byte.
11111 -> LCID=31 means padding is included in MAC PDU when single byte or two byte padding is required but can not be achieved by padding at the end of MAC PDU.

Since we already know MAC SDU size is 48 bits and the second MAC subheader is the last MAC subheader. The rest 48 bits (In HEX 564DDBE713F6) is CCCH RLC PDU.

For CCCH, TMD RLC PDU is used to transmit data. PDCP is also transparent in this case. 48 bits are solely for RRC PDU.
I.E. Field analysis of HEX value 564DDBE713F6.
Based on 36.331 6.2.1 UL-CCCH-MessageType, which is sequence. Value 0 indicates first element in sequence is selected, which is c1. c1 messageType is choice, 0 means first element is selected, RRCConnectionRequest, RRCConnectionRequest is also choice and 0 means first element is selected which is RRCConnectionRequest-r8. RRCConnectionRequest-r8 has sequence type and it has 3 IEs. The first IE ue-Identity is also sequence type and 1 means the second element is selected, which is randomValue of bit size 40. establishmentCause is ENUMERATED value and it has 3 bits. 3 means mo-signaling. Last element is spare which is 1 bit.

After transmitted Msg3, UE shall start mac-ContentionResolutionTimer for the corresponding enhanced coverage level if it exists to monitor Msg4 in the narrowband specified in RAR. Upon receiving Msg3, eNB will transmit Msg4 in (n+k) subframe, where k>=4. Msg4 is on DL-CCCH channel and RLC is TM mode with no PDCP header. The way to analyze each MAC subheader is the same as Msg3. One difference is that the first MAC subheader has LCID=28, which means this MAC transmitted UE Contention Resolution Identity. Note here the UE Contention Resolution Identity here is 48 bits long, which is the complete ASN.1 structure of RRCConnectionRequest RRC PDU.

Upon decoding Msg4, UE has to send ACK via PUCCH, the way to calculate which PRB to use for PUCCH transmission is different compared with legacy.
First, UE needs to calculate n_((1,p0)/PUCCH), this is derived from following equation in 36.213 10.1.2.1


In our example, we used distributed transmission, which is signaled by Msg4 RRC IE EPDCCH-SetConfig-r11_transmissionType-r11.
Delta(ARO) is determined from the HARQ-ACK resource offset field in the DCI format of the corresponding MPDCCH as given by 36.213 Table 10.1.2.1-1. In out previous example, this value is 0.

N_((m1)/PUCCH,q) for MPDCCH-PRB-set q is configured by higher layer parameter n1PUCCH-AN-InfoList-r13 for the corresponding CE level. In our previous example, n1PUCCH-AN=0. Note, this value could be updated and sent in Msg4 in pucch-ConfigDedicated. UE should update if it receives n1PUCCH-AN-r13 in Msg4.
n_(ECCE, q) is 0 according to 36.213 9.1.5
From above equation, calculated n_((1,p0)/PUCCH) is 0.

After calculated n_((1,p0)/PUCCH), UE needs to use following equation from 36.211 5.4.3,


In our example, PUCCH format is 1, system is normal cyclic prefix so c=3, N_((1)/CS) is signaled by RRC layer parameter nCS-AN=0 in SIB2, delta(PUCCH/shift) is signaled by RRC layer parameter deltaPUCCH-shift=0 in SIB2, N_(2/RB) is signaled by RRC layer parameter nRB-CQI=2 in SIB2. From step1 calculation, n_((1,p0)/PUCCH) is 0. Using above equation to calculate m=0.

Third step is to calculate n_PRB(i), From 36.211 5.3.4, N_((ch,UL)/NB) is signaled by RRC layer parameter interval-ULHoppingConfigCommonModeA=int1 if PRACH CE level is 0 or 1. (In our example, it is 0). N_(PUCCH/abs) is equal to N_((m)/PUCCH,rep) which is signaled by RRC layer parameter pucch-NumRepetitionCE-format1 if the PDSCH doesn't contain a contention resoltuion, otherwise it is provided by parameter pucch-NumRepetitionCE-MSG4-LevelX-r13, X depends on the most recent PRACH level, either 0, 1, 2 or 3. In our example, SIB2-BR has pucch-NumRepetitionCE-MSG4-Level0-r13=1.

If eNB transmitted Msg4 in subframe7, in FDD, eNB would expect UE to transmit first UL in subframe1 (the absolute subframe number which is calculated using sfn*10+subframe number should be used). i0=absolute UL subframe number. i0<=i<=i0+N_(PUCCH/abs)-1, which shows i=1.

j=floor(i/(N_((ch,UL)/NB)))=1,

Since m=0 and j=1, m'(j)=1, So m=N_(UL/RB)-1-floor(m'(j)/2)=49.

To sum up, followings are all the required parameters to calculate PUCCH resource.
RRC layer:
deltaPUCCH-shift
nRB-CQI
nCS-AN
n1PUCCH-AN (in SIB2-BR or in Msg4)
EPDCCH-SetConfig-r11 -> transmissionType-r11
interval-ULHoppingConfigCommonModeA -> interval-FDD-r13
pucch-NumRepetitionCE-MSG4-Level0-r13

MAC layer (most recent DCI format 6-1A):
HARQ-ACK resource offset

Depending on when did UE receive Msg4, UE could transmit SR together with PUCCH ACK or transmit SR in the next SR opportunity. The way to calculate PUCCH resource used for SR is similar to above example with one difference, n_((1)/PUCCH) should be set to equal to n_((1)/PUCCH,SRI), which is configured by RRC layer parameter sr-PUCCH-ResourceIndex. SR opportunity is calculated according to 36.213 10.1.5

I.E. Followings are example RRC parameters UE received in Msg4, try to calculate the PUCCH resource used for SR transmission. Try to consider two scenarios, UE received Msg4 in TTI3117 and UE recevied Msg4 in TTI3197.

RRC layer:
deltaPUCCH-shift = ds1
nRB-CQI = 2
nCS-AN = 0
n1PUCCH-AN (in SIB2-BR or in Msg4) = 0
EPDCCH-SetConfig-r11 -> transmissionType-r11 = distributed
interval-ULHoppingConfigCommonModeA -> interval-FDD-r13 = 1
pucch-NumRepetitionCE-MSG4-Level0-r13 = 1
sr-PUCCH-ResourceIndex = 18
sr-ConfigIndex 76

MAC layer (DCI format 6-1A)
HARQ-ACK resource offset = 0

Answers will be posted later on.

No comments:

Post a Comment