5G/NR - MAC

 

 

 

MAC

As of Mar 2028, 38.321 (MAC Specification) is almost completed and of course it is evolving continuously evolving. In this page, I will describe on NR MAC and try to explain in the comparison to LTE MAC whenever it is possible. If you are familiar with LTE MAC, this comparison would help you a lot to understand NR MaC.

High Level View of NR MAC Layer

High level MAC functionality and its interaction with lower and higher layer can be summarized as in the following diagram.

At high level view, NR MAC function/operation is very similar to LTE MAC function/operation. For your reference, I put the NR MAC function and LTE MAC function side-by-side as below.

 

5G/NR(38.321)

LTE(36.321)

Services

provided to upper layers

  • data transfer
  • radio resource allocation
  • data transfer
  • radio resource allocation

MAC Functions

  • mapping between logical channels and transport channels
  • multiplexing of MAC SDUs
  • demultiplexing of MAC SDUs
  • scheduling information reporting;
  • error correction through HARQ;
  • logical channel prioritisation.
  • mapping between logical channels and transport channels;
  • multiplexing of MAC SDUs
  • demultiplexing of MAC SDUs
  • scheduling information reporting
  • error correction through HARQ
  • priority handling between UEs
  • priority handling between logical channels of one MAC entity
  • Logical Channel prioritisation
  • transport format selection
  • radio resource selection for SL

Services

expected from physical layer

  • data transfer services;
  • signalling of HARQ feedback;
  • signalling of Scheduling Request;
  • measurements (e.g. Channel Quality Indication (CQI)).
  • data transfer services;
  • signalling of HARQ feedback;
  • signalling of Scheduling Request;
  • measurements (e.g. Channel Quality Indication (CQI)).

There is another way of describing MAC functionality. It is to describe about each separate procedures that are performed by MAC as summarized below. This is the way I like to describe MAC layer. When MAC and PHY layer specification gets finalized, I would create separate pages for each of these process.

Procedure Name

Description

Random Access Procedure Get the initial uplink grant and perform synchronization to network
DL-SCH data transfer (NW) Do everything needed to perform DL Data Transfer (DCI-Scheduling, HARQ etc)
UL-SCH data scheduling (NW) Schedule UL data transmission by sending DCI X (UL Grant)
UL-SCH data transfer (UE) Do everything needed to perform UL Data Transfer (DCI X decoding, HARQ, multiplexing and assembly)
SR-Scheduling Request (UE) Send the request to Network to get a UL Grant
DRX - Discontinous Reception Control UE's PDCCH monitoring activity in special pattern mainly to save energy consumption
SPS - Semi Persisent Scheduling Scheduling DL/UL transmission in special pattern to reduce scheduling overhead
PCH Reception Monitoring Paging message in special period
BCH Reception Get basic information on cell (MIB and SFN)

Channel Mapping at MAC Layer

The illustration shown above may show you a little bit detailed picture of MAC process, but it may not be so clear about the channel mapping unless you follow through each lines very carefully. In terms of channel mapping, the tables in 38.321 would be clearer and simple to understand and my illustration to the right would be even more clear and intuitive :).

As you see, most of channels from Logical channel to Transport channel is one-to-one or many-to-one relation, but BCCH case it maps to BCH and DL-SCH.

What does this mean ? Does this mean that a BCCH message maps both to BCH and DL-SCH simultaneously ?

No. It means some BCCH data maps to BCH and some BCCH data maps to DL-SCH.  If you are familiar with LTE, you would know there are largely two types of BCCH in LTE. One is MIB and the others are SIBs. MIB goes through BCCH-BCH path and SIBs go through BCCH-DL SCH path. NR would use the same pattern of channel mapping.

Refer to Channel Mapping page to see how this mapping embedded into the mapping with wider scope.

Comparison of MAC PDU / Headers between NR and LTE

Following shows the overal MAC PDU struction of NR and LTE MAC. You would notice here, all the MAC subhaeders are located at the beginning of a MAC PDU in LTE, but in NR MAC subheaders are located right in front of corresponding SDU(Payload). In other words, in LTE MAC Subheader and correponding data are located in different region, but in NR MAC subheader and corresponding data(payload) are in the same region sitting next to each other.

Followings shows header structure of MAC subheaders in NR and LTE. Overall structure would look similar but in NR there is no 'E' field. NR does not require 'E' field since one subheader is located right in front of the corresponding payload. There is no case where multiple headers are sitting next to each other. So 'E' filed is not needed (NOTE : 'E' field indicate whether any other MAC header come after the current MAC subheader).

NR MAC Subheader Structure

Followings shows the structure of MAC Subheaders in NR and meaning of each field in the sub headers.

< 38.321- Figure 6.1.2-1 R/F/LCID/L MAC subheader with 8-bit L field >

 

< 38.321- Figure 6.1.2-2 R/F/LCID/L MAC subheader with 16-bit L field >

 

< 38.321- Figure 6.1.2-3 R/LCID MAC subheader >

 

Field

Description

LCID

This field indicates Logical Channel ID. There is one LCID field per MAC subheader. The LCID field size is 6 bits;

L

This indicates Length of the corresponding MAC SDU or variable-sized MAC CE in bytes. There is one L field per MAC subheader except for subheaders corresponding to fixed-sized MAC CEs and padding. The size of the L field is indicated by the F field;

F

F stands for 'Format'. It indicates the size of the Length field. There is one F field per MAC subheader except for subheaders corresponding to fixed-sized MAC CEs and padding. The size of the F field is 1 bit.

  •   0 indicates 8 bits of the Length field.
  •   1 indicates 16 bits of the Length field

Followings table shows the LCID field in MAC Subheader based on 38.321 v15.1 (Mar 2018 version).

Followings table shows the LCID field in MAC Subheader based on 38.321 v15.2 (Jun 2018 version).

Comparing to v15.1, followings are added or modified.

  • DL : Recommended bit rate is added
  • UL : CCCH is divided into two different types, CCCH of size other than 48bits and CCCH of size of 48 bits

Followings table shows the LCID field in MAC Subheader based on 38.321 v16.4 (Apr 2021 version).

Followings table shows the LCID field in MAC Subheader based on 38.321 v19.0 (Oct 2025 version).

< 38.321 -  Table 6.2.1-1: Values of LCID for DL-SCH >

Codepoint/Index

LCID values

0

CCCH

1–32

Identity of the logical channel of DCCH, DTCH and multicast MTCH

33

Extended logical channel ID field (two-octet eLCID field)

34

Extended logical channel ID field (one-octet eLCID field)

35–46

Reserved

47

Recommended bit rate

48

SP ZP CSI-RS Resource Set Activation/Deactivation

49

PUCCH spatial relation Activation/Deactivation

50

SP SRS Activation/Deactivation

51

SP CSI reporting on PUCCH Activation/Deactivation

52

TCI State Indication for UE-specific PDCCH

53

TCI States Activation/Deactivation for UE-specific PDSCH

54

Aperiodic CSI Trigger State Subselection

55

SP CSI-RS/CSI-IM Resource Set Activation/Deactivation

56

Duplication Activation/Deactivation

57

SCell Activation/Deactivation (four octets)

58

SCell Activation/Deactivation (one octet)

59

Long DRX Command

60

DRX Command

61

Timing Advance Command

62

UE Contention Resolution Identity

63

Padding

 

< 38.321 -  Table 6.2.1-1a: Values of two-octet eLCID for DL-SCH >

Codepoint

Index

LCID values

0 to (216 − 1)

320 to (216 + 319)

Identity of the logical channel

 

< 38.321 -  Table 6.2.1-1b: Values of one-octet eLCID for DL-SCH >

Codepoint

Index

LCID values

0 to 207

64 to 271

Reserved

208

272

On-demand SSB Activation/Deactivation (one octet eL field)

209

273

On-demand SSB Activation/Deactivation (four octet eL field)

210

274

SP CSI-RS/CSI-IM Resource Set Activation/Deactivation

211

275

UL Rate Control

212

276

Pathloss Offset Update

213

277

SP CSI-RS/CSI-IM Resource Set Activation/Deactivation for Candidate Cell

214

278

Enhanced LTM Cell Switch Command

215

279

Aggregated SP Positioning SRS Activation/Deactivation

216

280

Enhanced SP CSI reporting on PUCCH Activation/Deactivation

217

281

Cross-RRH TCI State Indication for UE-specific PDCCH

218

282

LTM Cell Switch Command

219

283

Candidate Cell TCI States Activation/Deactivation

220

284

SP SSB Based Beam Indication

221

285

Activation/Deactivation for Joint TCI States

222

286

Enhanced Unified TCI states Activation/Deactivation MAC CE for Joint TCI States

223

287

Enhanced Unified TCI states Activation/Deactivation MAC CE for Separate TCI States

224

288

NCR Access Link Beam Indication

225

289

NCR Downlink Backhaul Link Beam Indication

226

290

NCR Uplink Backhaul Link Beam Indication

227

291

Serving Cell Set based SRS TCI State Indication

228

292

SP/IAP SRS TCI State Indication

229

293

BFD-RS Indication

230

294

Differential Koffset

231

295

Enhanced SCell Activation/Deactivation (one octet eL field)

232

296

Enhanced SCell Activation/Deactivation (four octet eL field)

233

297

Unified TCI States Activation/Deactivation

234

298

PUCCH Power Control Set Update for multiple PUCCH repetition

235

299

PUCCH spatial relation Activation/Deactivation for multiple TRP PUCCH repetition

236

300

Enhanced TCI States Indication for UE-specific PDCCH

237

301

Positioning Measurement Gap Activation/Deactivation Command

238

302

PPW Activation/Deactivation Command

239

303

DL Tx Power Adjustment

240

304

Timing Case Indication

241

305

Child DL-BU Resetting Beam Indication

242

306

Case-7 Timing advance offset

243

307

Provided Guard Symbols for Case-6 timing

244

308

Provided Guard Symbols for Case-7 timing

245

309

Serving Cell Set based SRS Spatial Relation Indication

246

310

PUCCH Pathloss Reference RS Update

247

311

Pathloss Reference RS Update

248

312

Enhanced SP/IAP SRS Spatial Relation Indication

249

313

Enhanced PUCCH Spatial Relation Activation/Deactivation

250

314

Enhanced TCI States Activation/Deactivation for UE-specific PDSCH

251

315

Duplication RLC Activation/Deactivation

252

316

Absolute Timing Advance Command

253

317

SP Positioning SRS Activation/Deactivation

254

318

Provided Guard Symbols

255

319

Timing Delta

 

< 38.321 -  Table 6.2.1-1c: Values of LCID for MBS multicast MCCH and MBS broadcast on DL-SCH >

Codepoint/Index

LCID values

0

Broadcast MCCH or multicast MCCH

1–32

Identity of the logical channel of broadcast MTCH

33–63

Reserved

 

< 38.321 -  Table 6.2.1-2: Values of LCID for UL-SCH when the LX field is not present or is set to 0 >

Codepoint/Index

LCID values

0

CCCH of size 64 bits, except for an (e)RedCap UE

1–32

Identity of the logical channel of DCCH and DTCH

33

Extended logical channel ID field (two-octet eLCID field)

34

Extended logical channel ID field (one-octet eLCID field)

35

CCCH of size 48 bits for a RedCap UE

36

CCCH of size 64 bits for a RedCap UE

37–42

Reserved

43

Truncated Enhanced BFR (one octet C)

44

Timing Advance Report

45

Truncated Sidelink BSR

46

Sidelink BSR

47

Reserved

48

LBT failure (four octets)

49

LBT failure (one octet)

50

BFR (one octet C)

51

Truncated BFR (one octet C)

52

CCCH of size 48 bits, except for an (e)RedCap UE

53

Recommended bit rate query

54

Multiple Entry PHR (four octets C)

55

Configured Grant Confirmation

56

Multiple Entry PHR (one octet C)

57

Single Entry PHR

58

C-RNTI

59

Short Truncated BSR

60

Long Truncated BSR

61

Short BSR

62

Long BSR

63

Padding

NOTE: CCCH of size 48 bits and CCCH of size 64 bits are referred to as CCCH and CCCHH, respectively, in TS 38.331.

 

< 38.321 -  Table 6.2.1-2a: Values of two-octet eLCID for UL-SCH >

Codepoint Index

LCID values

0 to (215 − 1)

320 to (215 + 319)

Identity of the logical channel

 

< 38.321 -  Table 6.2.1-2b: Values of one-octet eLCID for UL-SCH >

Codepoint

Index

LCID values

0 to 214

64 to 278

Reserved

215

279

Multiple Entry Delay Status Report

216

280

UL Rate Control

217

281

Event Triggered L1 Measurement Report

218

282

Truncated Event Triggered L1 Measurement Report

219

283

Enhanced Multiple Entry PHR for multiple TRP ST×2P (four octets C)

220

284

Enhanced Multiple Entry PHR for multiple TRP ST×2P (one octets C)

221

285

Enhanced Single Entry PHR for multiple TRP ST×2P

222

286

SL LBT Failure

223

287

Enhanced Multiple Entry PHR with assumed PUSCH (four octets C)

224

288

Enhanced Multiple Entry PHR with assumed PUSCH (one octets C)

225

289

Single Entry PHR with assumed PUSCH

226

290

SL-PRS Resource Request

227

291

Refined Long BSR

228

292

Multiple Entry Delay Status Report

229

293

Enhanced Multiple Entry PHR for multiple TRP (four octets C)

230

294

Enhanced Multiple Entry PHR for multiple TRP (one octets C)

231

295

Enhanced Single Entry PHR for multiple TRP

232

296

Enhanced Multiple Entry PHR (four octets C)

233

297

Enhanced Multiple Entry PHR (one octets C)

234

298

Enhanced Single Entry PHR

235

299

Enhanced BFR (one octet C)

236

300

Truncated Enhanced BFR (one octet C)

237

301

Positioning Measurement Gap Activation/Deactivation Request

238

302

IAB-MT Recommended Beam Indication

239

303

Desired IAB-MT PSD range

240

304

Desired DL Tx Power Adjustment

241

305

Case-6 Timing Request

242

306

Desired Guard Symbols for Case 6 timing

243

307

Desired Guard Symbols for Case 7 timing

244

308

Extended Short Truncated BSR

245

309

Extended Long Truncated BSR

246

310

Extended Short BSR

247

311

Extended Long BSR

248

312

Extended Pre-emptive BSR

249

313

BFR (four octets C)

250

314

Truncated BFR (four octets C)

251

315

Multiple Entry Configured Grant Confirmation

252

316

Single Entry Configured Grant Confirmation

253

317

Desired Guard Symbols

254

318

BFR (octets C)

255

319

Pre-emptive BSR

 

< 38.321 -  Table 6.2.1-2c: Values of LCID for UL-SCH when the LX field is set to 1 >

Codepoint

Index

LCID values

0

(215 + 320)

CCCH of size 48 bits for an/eRedCap UE

1

(215 + 321)

CCCH of size 64 bits for an/eRedCap UE

2

(215 + 322)

CCCH of size 48 bits for PUCCH repetition of Msg4 HARQ-ACK, except for an (e)RedCap UE

3

(215 + 323)

CCCH of size 64 bits for PUCCH repetition of Msg4 HARQ-ACK, except for an (e)RedCap UE

4

(215 + 324)

CCCH of size 48 bits for PUCCH repetition of Msg4 HARQ-ACK of a RedCap UE

5

(215 + 325)

CCCH of size 64 bits for PUCCH repetition of Msg4 HARQ-ACK of a RedCap UE

6

(215 + 326)

CCCH of size 48 bits for PUCCH repetition of Msg4 HARQ-ACK of an eRedCap UE

7

(215 + 327)

CCCH of size 64 bits for PUCCH repetition of Msg4 HARQ-ACK of an eRedCap UE

8

(215 + 328)

CCCH of size 48 bits for PDSCH repetition of Msg4, except for an (e)RedCap UE

9

(215 + 329)

CCCH of size 64 bits for PDSCH repetition of Msg4, except for an (e)RedCap UE

10

(215 + 330)

CCCH of size 48 bits for PDSCH repetition of Msg4 of a RedCap UE

11

(215 + 331)

CCCH of size 64 bits for PDSCH repetition of Msg4 of a RedCap UE

12

(215 + 332)

CCCH of size 48 bits for PDSCH repetition of Msg4 of an eRedCap UE

13

(215 + 333)

CCCH of size 64 bits for PDSCH repetition of Msg4 of an eRedCap UE

14

(215 + 334)

CCCH of size 48 bits for PUCCH repetition of Msg4 HARQ-ACK and PDSCH repetition of Msg4, except for an (e)RedCap UE

15

(215 + 335)

CCCH of size 64 bits for PUCCH repetition of Msg4 HARQ-ACK and PDSCH repetition of Msg4, except for an (e)RedCap UE

16

(215 + 336)

CCCH of size 48 bits for PUCCH repetition of Msg4 HARQ-ACK and PDSCH repetition of Msg4 of a RedCap UE

17

(215 + 337)

CCCH of size 64 bits for PUCCH repetition of Msg4 HARQ-ACK and PDSCH repetition of Msg4 of a RedCap UE

18

(215 + 338)

CCCH of size 48 bits for PUCCH repetition of Msg4 HARQ-ACK and PDSCH repetition of Msg4 of an eRedCap UE

19

(215 + 339)

CCCH of size 64 bits for PUCCH repetition of Msg4 HARQ-ACK and PDSCH repetition of Msg4 of an eRedCap UE

20 to 63

(215 + 340) to (215 + 383)

Reserved

NOTE 1: The MAC entity may use the code point corresponding to a given feature or feature combination only if network indicates support for the corresponding feature or feature combination.

NOTE 2: CCCH of size 48 bits and CCCH of size 64 bits are referred to as CCCH and CCCH1, respectively, in TS 38.331.

NOTE 3: For UE capable of PUCCH repetition of Msg4 HARQ-ACK, the MAC entity uses the code points corresponding to PUCCH repetition of Msg4 HARQ-ACK if numberOfMsg4HARQ-ACK-Repetitions is configured and rsrp-ThresholdMsg4HARQ-ACK is not set, or rsrp-ThresholdMsg4HARQ-ACK is configured and the RSRP of the downlink pathloss reference is less than rsrp-ThresholdMsg4HARQ-ACK.

NR MAC Subheader Decoding Examples

The following examples show how to decode NR MAC subheader bytes from a hex string. These examples focus only on the MAC subheader itself. After the subheader is decoded, the receiver uses the LCID field to identify the corresponding logical channel, MAC CE or padding type, and uses the L field when present to know how many bytes belong to the following MAC SDU or variable-sized MAC CE.

NOTE : Be careful with the first two bits. A bit pattern like 00xxxxxx may look like R = 0 and F = 0 in the R/F/LCID/L format, or R = 00 in the R/LCID format. The final decision is made from the LCID value and the corresponding LCID table. If the LCID points to a MAC SDU or variable-sized MAC CE, the F field exists. If the LCID points to a fixed-sized MAC CE or Padding, the format is R/LCID and there is no F or L field.

Color code : R, F, LCID, L

Example 1 : R/F/LCID/L Subheader With 8 Bit L Field

Hex string : 05 20

Binary String : 00000101 00100000

Field

Bits / Bytes

Value

Decoding

R

bit 1 of octet 1

0

Reserved bit. In this example it is set to 0.

F

bit 2 of octet 1

0

The L field is 8 bits long.

LCID

bits 3-8 of octet 1

000101 = 5

LCID 5 identifies the logical channel or MAC CE type by using the applicable LCID table.

L

octet 2

0x20 = 32

The corresponding MAC SDU or variable-sized MAC CE is 32 bytes long.

In this example, the first octet 05 is 00000101 in binary. Since F is 0, only the next one octet is used for the L field, and the payload immediately after this subheader is 32 bytes long.

Example 2 : R/F/LCID/L Subheader With 16 Bit L Field

Hex string : 43 01 2C

Binary String : 01000011 00000001 00101100

Field

Bits / Bytes

Value

Decoding

R

bit 1 of octet 1

0

Reserved bit. In this example it is set to 0.

F

bit 2 of octet 1

1

The L field is 16 bits long.

LCID

bits 3-8 of octet 1

000011 = 3

LCID 3 is interpreted by using the applicable LCID table for the direction and channel type.

L

octets 2-3

0x012C = 300

The corresponding MAC SDU or variable-sized MAC CE is 300 bytes long.

In this example, F is 1, so the receiver reads two octets after the first octet as the L field. The value 01 2C in hex is 300 decimal, so the next 300 bytes belong to the payload associated with this subheader.

Example 3 : R/LCID Subheader Without L Field

Hex string : 3C

Binary String : 00111100

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits. In this example they are set to 0.

LCID

bits 3-8 of octet 1

111100 = 60

The LCID value identifies a fixed-sized MAC CE or padding type according to the applicable LCID table. In this example, LCID 60 indicates DRX Command.

F

not present

N/A

This subheader format does not carry an F field.

L

not present

N/A

The payload size is fixed by the LCID-defined MAC CE type, or no payload follows for padding.

In this example, the receiver does not read any length field after the first octet. The LCID table tells the receiver how to handle the subheader and whether a fixed-size payload follows.

NOTE : In Examples 4 through 9, the first byte always starts with 00. For these examples, those two bits are decoded as R = 00 because LCID 56, 57, 58, 61, 62 and 63 all use the R/LCID subheader format. Do not decode the second bit as F for these LCID values.

Example 4 : LCID 56 Duplication Activation/Deactivation

This example shows a fixed-size MAC CE identified by LCID 56. The first byte is the R/LCID subheader and the following byte is an example Duplication Activation/Deactivation payload bitmap. Although the first two bits are 00, they are decoded as R = 00, not R = 0 and F = 0, because LCID 56 identifies a fixed-sized MAC CE.

Hex string : 38 05

Binary String : 00111000 00000101

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits in the R/LCID subheader.

LCID

bits 3-8 of octet 1

111000 = 56

Identifies Duplication Activation/Deactivation MAC CE.

Payload

octet 2

05 = 00000101

Example bitmap with two activation bits set. The exact bit-to-bearer mapping follows the configured duplication mapping.

From the first byte 38, the receiver decodes R = 00 and LCID = 56. Since this is a fixed-size MAC CE, there is no F or L field; the next byte is interpreted as the Duplication Activation/Deactivation command payload.

Example 5 : LCID 57 SCell Activation/Deactivation Four Octets

This example uses the four-octet SCell Activation/Deactivation MAC CE. A bit value of 1 indicates activation for the corresponding SCell index, and 0 indicates deactivation. The exact C field position follows the SCell Activation/Deactivation MAC CE figure.

Hex string : 39 00 00 00 16

Binary String : 00111001 00000000 00000000 00000000 00010110

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits in the R/LCID subheader.

LCID

bits 3-8 of octet 1

111001 = 57

Identifies SCell Activation/Deactivation MAC CE with four payload octets.

Payload

octets 2-5

00 00 00 16

Example SCell bitmap. Interpreting the last octet as C7 C6 C5 C4 C3 C2 C1 R, C4, C2 and C1 are set to 1, so those SCells are activated and the other represented SCells are deactivated.

From the subheader byte 39, the receiver identifies LCID 57 and therefore reads the next four octets as the SCell Activation/Deactivation bitmap.

Example 6 : LCID 58 SCell Activation/Deactivation One Octet

This example uses the one-octet SCell Activation/Deactivation MAC CE. It is used when the one-octet activation bitmap is sufficient for the configured SCell set.

Hex string : 3A 2A

Binary String : 00111010 00101010

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits in the R/LCID subheader.

LCID

bits 3-8 of octet 1

111010 = 58

Identifies SCell Activation/Deactivation MAC CE with one payload octet.

Payload

octet 2

2A = 00101010

Example activation bitmap. Interpreting the octet as C7 C6 C5 C4 C3 C2 C1 R, C5, C3 and C1 are set to 1, so those SCells are activated and the other represented SCells are deactivated.

From the subheader byte 3A, the receiver identifies LCID 58 and interprets the next one octet as the SCell activation bitmap.

Example 7 : LCID 61 Timing Advance Command

This example decodes a Timing Advance Command MAC CE. The payload contains TAG ID and Timing Advance Command fields.

Hex string : 3D 55

Binary String : 00111101 01010101

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits in the R/LCID subheader.

LCID

bits 3-8 of octet 1

111101 = 61

Identifies Timing Advance Command MAC CE.

TAG ID

bits 1-2 of octet 2

01 = 1

Timing Advance Group ID is 1.

TA Command

bits 3-8 of octet 2

010101 = 21

Timing Advance Command value is 21.

From the subheader byte 3D, the receiver identifies LCID 61. The next byte 55 is then split into TAG ID = 1 and Timing Advance Command = 21.

Example 8 : LCID 62 UE Contention Resolution Identity

This example decodes the UE Contention Resolution Identity MAC CE. The payload is fixed at 48 bits and contains the UL CCCH SDU, or the first 48 bits of the UL CCCH SDU if it is longer than 48 bits.

Hex string : 3E A1 B2 C3 D4 E5 F6

Binary String : 00111110 10100001 10110010 11000011 11010100 11100101 11110110

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits in the R/LCID subheader.

LCID

bits 3-8 of octet 1

111110 = 62

Identifies UE Contention Resolution Identity MAC CE.

Payload

octets 2-7

A1 B2 C3 D4 E5 F6

48-bit UE Contention Resolution Identity used by the UE to match its transmitted UL CCCH SDU.

From the subheader byte 3E, the receiver identifies LCID 62 and reads the following six octets as the contention resolution identity.

Example 9 : LCID 63 Padding

This example shows padding at the end of a MAC PDU. Padding is identified by LCID 63 and does not deliver a MAC SDU or MAC CE payload to upper layers.

Hex string : 3F 00 00

Binary String : 00111111 00000000 00000000

Field

Bits / Bytes

Value

Decoding

R

bits 1-2 of octet 1

00

Reserved bits in the R/LCID subheader.

LCID

bits 3-8 of octet 1

111111 = 63

Identifies Padding.

Padding bytes

octets 2-3

00 00

Example filler bytes. These bytes are ignored by MAC and are not passed to upper layers.

From the subheader byte 3F, the receiver identifies padding. The remaining bytes in this example are simply filler to align the MAC PDU to the allocated transport block size.

Reference

[1]