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).