3G/UMTS

 

 

 

 

Channel Mapping : MAC-hs

 

< Overview on MAC-hs in UTRAN : HSDPA >

 

When you study about MAC-hs or MAC-ehs, you always have to think of it in connection with MAC-d. So I combined the two entity as follows to help your understanding. Try following each single steps along the red path of MAC-d and all the path in MAC-hs.

 

 

As a first step, let's just read the path.

i) one DTCH or DCCH RLC PDU gets into MAC-d.

ii) MAC-d add C/T field to the data and pass it to MAC-hs.

iii) MAC-hs distribute the incoming data into each of the priority queues.

iv) As time goes one, multiple MAC-d PDUs will be accumulating into Priority Queues.

v) The HARQ process in MAC-hs choose one of the priority Queues in every TTI and pull out a certain number of MAC-d PDUs based on TFRI and transmit it to the transport channel. (The MAC-hs can carry only one Queue data in one TTI, meaning it cannot multiplex more than one Queue data into one TTI).

 

Note :

  • There is one MAC-hs entity for each cell
  • There is seprate MAC-hs entity for each user.
  • The MAC-hs can carry only one Queue data in one TTI, meaning it cannot multiplex more than one Queue data into one TTI
  • One Logical Channel --> One MAC-d Flow --> One Priority Queue --> One TTI (Transport Block)
  • MAC-hs allows for 8 different PDU sizes of RLC-UM and the size is specified by SID(Size Index field)

 

Following is an example of MAC-hs configuration in Radio Bearer Setup. As you see, the MAC hs setup has MAC-d configuration information as well.

 

  +-message ::= CHOICE [radioBearerSetup]

    +-radioBearerSetup ::= CHOICE [later-than-r3]

      +-later-than-r3 ::= SEQUENCE

        +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

        +-criticalExtensions ::= CHOICE [criticalExtensions]

          +-criticalExtensions ::= CHOICE [r5]

            +-r5 ::= SEQUENCE [00]

              +-radioBearerSetup-r5 ::= SEQUENCE [001000110001001010101001111]

              | +-rab-InformationSetupList ::= SEQUENCE OF SIZE(1..maxRABsetup[16]) [1] OPTIONAL:Exist

              | +-rb-InformationAffectedList ::= SEQUENCE OF OPTIONAL:Omit

              | +-dl-CounterSynchronisationInfo ::= SEQUENCE OPTIONAL:Omit

              | +-ul-CommonTransChInfo ::= SEQUENCE [0010] OPTIONAL:Exist

              | +-ul-deletedTransChInfoList ::= SEQUENCE OF OPTIONAL:Omit

              | +-ul-AddReconfTransChInfoList ::= SEQUENCE OF SIZE(1..maxTrCHpreconf[32]) [2]

              | +-dummy ::= CHOICE OPTIONAL:Omit

              | +-dl-CommonTransChInfo ::= SEQUENCE [01] OPTIONAL:Exist

              | +-dl-DeletedTransChInfoList ::= SEQUENCE OF OPTIONAL:Omit

              | +-dl-AddReconfTransChInfoList ::= SEQUENCE OF SIZE(1..maxTrCHpreconf[32]) [2]

              | | +-DL-AddReconfTransChInformation-r5 ::= SEQUENCE [0]

              | | | +-dl-TransportChannelType ::= CHOICE [hsdsch]

              | | | | +-hsdsch ::= NULL

              | | | +-tfs-SignallingMode ::= CHOICE [hsdsch]

              | | | | +-hsdsch ::= SEQUENCE [11]

              | | | |   +-harqInfo ::= SEQUENCE OPTIONAL:Exist

              | | | |   | +-numberOfProcesses ::= INTEGER (1..8) [6]

              | | | |   | +-memoryPartitioning ::= CHOICE [explicit]

              | | | |   |   +-explicit ::= SEQUENCE OF SIZE(1..maxHProcesses[8]) [6]

              | | | |   |     +-HARQMemorySize ::= ENUMERATED [hms4800]

              | | | |   |     +-HARQMemorySize ::= ENUMERATED [hms4800]

              | | | |   |     +-HARQMemorySize ::= ENUMERATED [hms4800]

              | | | |   |     +-HARQMemorySize ::= ENUMERATED [hms4800]

              | | | |   |     +-HARQMemorySize ::= ENUMERATED [hms4800]

              | | | |   |     +-HARQMemorySize ::= ENUMERATED [hms4800]

              | | | |   +-addOrReconfMAC-dFlow ::= SEQUENCE [10] OPTIONAL:Exist

              | | | |     +-mac-hs-AddReconfQueue-List ::= SEQUENCE OF SIZE(1..maxQueueIDs[8]) [1]

              | | | |     | +-MAC-hs-AddReconfQueue ::= SEQUENCE [1]

              | | | |     |   +-mac-hsQueueId ::= INTEGER (0..7) [0]

              | | | |     |   +-mac-dFlowId ::= INTEGER (0..7) [0]

              | | | |     |   +-reorderingReleaseTimer ::= ENUMERATED [rt50]

              | | | |     |   +-mac-hsWindowSize ::= ENUMERATED [mws16]

              | | | |     |   +-mac-d-PDU-SizeInfo-List ::= SEQUENCE OF SIZE(1..maxMAC-d-PDUsizes[8]) [1]

              | | | |     |     +-MAC-d-PDUsizeInfo ::= SEQUENCE

              | | | |     |       +-mac-d-PDU-Size ::= INTEGER (1..5000) [336]

              | | | |     |       +-mac-d-PDU-Index ::= INTEGER (0..7) [0]

              | | | |     +-mac-hs-DelQueue-List ::= SEQUENCE OF OPTIONAL:Omit

              | | | +-dch-QualityTarget ::= SEQUENCE OPTIONAL:Omit

              | | +-DL-AddReconfTransChInformation-r5 ::= SEQUENCE [1]

              | +-frequencyInfo ::= SEQUENCE OPTIONAL:Omit

              | +-maxAllowedUL-TX-Power ::= INTEGER OPTIONAL:Omit

              | +-ul-ChannelRequirement ::= CHOICE [ul-DPCH-Info] OPTIONAL:Exist

              | +-modeSpecificPhysChInfo ::= CHOICE [fdd]

              | +-dl-HSPDSCH-Information ::= SEQUENCE [11] OPTIONAL:Exist

              | +-dl-CommonInformation ::= SEQUENCE [11] OPTIONAL:Exist

              | +-dl-InformationPerRL-List ::= SEQUENCE OF SIZE(1..maxRL[8]) [1] OPTIONAL:Exist

              +-radioBearerSetup-r5-add-ext ::= BIT STRING OPTIONAL:Omit

              +-v5d0NonCriticalExtenstions ::= SEQUENCE OPTIONAL:Omit

 

 

This is the MAC component for HSDPA and the detailed structure is as follows (R99 system does not have this module). Overall process that this component is performing are :

  • i) Take in multiples of MAC-d PDUs
  • ii) Combine the multiple PDUs into a single big PDU
  • iii) Convert the combined PDU into a HARQ entity
  • iv) Encode the HARQ Entity according to the selected TFRI

 

< 25.321 - Figure 4.2.4.3.1 : UTRAN side MAC architecture / MAC-hs details >

 

 

The MAC PDU created by this module is as follows and the meaning of each field is summarized in a table following next.

 

< 25.321 - Figure 9.1.4.1 : MAC-hs PDU >

 

Note : Just by reading the PDU structure shown here you would notice a couple of characteristics as follows.

i) A MAC-hs PDU can carry the data coming from only one Priority Queue.

ii) A MAC-hs PDU can carry the mulitple MAC-d PDUs. (These MAC-d PDUs can have same or different sizes).

 

Field

Field Name

Bits

Description

VF

Version Flag

1

Always 0 for now. (1 is reserved)

Queue ID

Queue identifier

3

The Queue ID field provides identification of the reordering queue in the receiver, in order to support independent buffer handling of data belonging to different reordering queues

TSN

Transmission Sequence Number

6

The TSN field provides an identifier for the transmission sequence number on the HS-DSCH. The TSN field is used for reordering purposes to support in-sequence delivery to higher layers

SID

Size index identifier

3

The SID fields identifies the size of a set of consecutive MAC-d PDUs. The MAC-d PDU size for a given SID is configured by higher layers and is independent for each Queue ID

N

Number of MAC-D PDUs

7

The number of consecutive MAC-d PDUs with equal size is identified with the N field. In FDD mode, the maximum number of PDUs transmitted in a single TTI shall be assumed to be 70

F

Flag

1

The F field is a flag indicating if more fields are present in the MAC-hs header or not. If the F field is set to "0". the F field is followed by an additional set of SID, N and F fields. If the F field is set to "1" the F field is followed by a MAC-d PDU. The maximum number of MAC-hs header extensions, i.e. number of fields F set to "0", in a single TTI shall be assumed to be 7. If more extensions than the maximum defined for the corresponding mode are included in a TTI, the UE behaviour is unspecified

 

 

< Overview on MAC-hs in UE : HSDPA >

 

Following is MAC-sh structure in UE. (R99 UE does not have structure). Overall procedure is as follows :

i) Take in MAC-sh PDUs ( Figure 9.1.4.1 shown above) from layer layer.

ii) Split the MAC-sh PDU into multiple MAC-d PDUs using the informations in the MAC-sh header (Figure 9.1.4.1)

 

< 25.321 - Figure 4.2.3.3.1 : UE side MAC architecture / MAC-hs details >

 

 

Now go back to previous item ("Overview on MAC-hs in UTRAN : HSDPA") and see the MAC-hs PDU structure and try to understand how the structure will change as it flows from the bottom of this block (input) to the top of the block (output).