3GPPFDD_DLRateMatch
Description: Downlink Rate Matching
Library: 3GPPFDD, TrCH Multiplexers & Coders
Class: SDF3GPPFDD_DLRateMatch
Derived From: 3GPPFDD_DLCCTrCHBase
Parameters
Name |
Description |
Default |
Unit |
Type |
Range |
---|---|---|---|---|---|
SpecVersion |
version of specifications: Version_03_00, Version_12_00, Version_03_02 |
Version_12_00 |
|
enum |
|
SlotFormat |
slot format |
0 |
|
int |
† |
TrCHNum |
number of Transport Channels |
1 |
|
int |
[1:32] |
TrCHIndex |
index of Transport Channel |
1 |
|
int |
[1:TrCHNum] |
RMArray |
rate matching attributes of all Transport Channels |
1.0 |
|
real array |
(0.0:1.0] if SpecVersion=Version_03_00; |
DynTFSetArray |
dynamic part of TF set of all Transport Channels |
244 976 |
|
int array |
range is the same as DynTFSet in 3GPPFDD_CRCEncoder |
TFSetSizeArray |
Transport Format set size of all Transport Channels |
1 |
|
int array |
[1, inf) for each element; |
TTIArray |
Transmission Time Interval of all Transport Channels |
0 |
|
int array |
[0,1,2,3] for each element; |
CRCArray |
number of CRC bits of all Transport Channels |
3 |
|
int array |
[0,1,2,3,4] for each element; |
CHCodingTypeArray |
channel coding type of all Transport Channels |
1 |
|
int array |
[0,1,2] for each element; |
PhyCHNum |
downlink physical channel number |
1 |
|
int |
[1:8] |
TrCHMulPos |
Transport Channel multiplex position in CCTrCH: Fixed, Flexible |
Fixed |
|
enum |
|
TrCHType |
transport channel type: DCH_Type, BCH_Type, PCH_FACH_Type |
DCH_Type |
|
enum |
|
† [0:5] for uplink DPCCH;
[0:16] for downlink DPCH;
[0:17] for downlink SCCPCH;
[0:5] for uplink PCPCH (Ver 03_00);
[0:2] for uplink PCPCH (Ver 12_00);
[0:1] for uplink PCPCH (Ver 03_02).
Pin Inputs
Pin |
Name |
Description |
Signal Type |
---|---|---|---|
1 |
SizeIn |
input size |
int |
2 |
DataIn |
input data |
int |
3 |
TFCIin |
TFCI |
int |
Pin Outputs
Pin |
Name |
Description |
Signal Type |
---|---|---|---|
4 |
SizeOut |
output size |
int |
5 |
DataOut |
output data |
int |
Notes/Equations
- This model is used to implement downlink rate matching. Rate matching means that bits on a transport channel are repeated or punctured. Higher layers assign a rate-matching attribute for each transport channel. This attribute is semi-static and can only be changed through higher layer signalling. The rate-matching attribute is used when the number of bits to be repeated or punctured is calculated. This model provides an RMArray parameter so designers can set the semi-static attributes for each transport channel.
The number of bits on a transport channel can vary between different transmission time intervals. When the number of bits between different transmission time intervals in uplink is changed, bits are repeated or punctured to ensure that the total bit rate after TrCH multiplexing is identical to the total channel bit rate of the allocated dedicated physical channels.
Refer to [1] for details of rate matching algorithm. - This model fires once per TTI. Each firing, one token is consumed by pin SizeIn, this token indicates the effective length of data block input at pin DataIn. After rate matching, the data block is output at pin DataOut; a token is generated by pin DataOut to indicate the effective length of the output data block.
- All transport channel information must be in the form of arrays.
The DynTFSetArray parameter requires an integer array. The correct format is transport block size 1, transport block set size 1, transport block size 2, transport block set size 2 , etc. The size of this array must be a multiple of 2, and the transport block set size must be a multiple of the relative transport block size.
When setting TTIArray, CRCArray and CHCodingTypeArray values, refer to the following table.Settings for TTIArray, CRCArray and CHCodingTypeArray Values
TTIArray CRCArray CHCodingTypeArray Time Value Coding Value Coding Value 10 msec 0 No CRC 0 No Coding 0 20 msec 1 8 bits 1 1/2 CC 1 40 msec 2 12 bits 2 1/3 CC 2 80 msec 3 16 bits 3 1/3 TC 3 24 bits 4 CC = convolutional coding; TC = turbo coding - Parameter TrCHIndex indicates the index of current transport channel; its value range is 1 to the value of TrCHNum.
- The length of most array parameters is equal to the value of TrCHNum; each element of an array represents a certain transport channel. The only exception is DynTFSetArray that has a variable array that provides all possible transport block and transport block set sizes for each transport channel.
TFSetSizeArray indicates how many pairs of transport block and transport block set sizes are contained in a certain transport channel. For example:- TFSetSizeArray = "3 2" means the first three pairs of transport block size and transport block set size belong to the first transport channel, and the next two pairs belong to the second transport channel.
- TFSetSizeArray = "2 2 2" means the first two pairs of transport block size and transport block set size belong to the first transport channel, the next two pairs belong to the second transport channel and the last two pairs belong to the third transport channel.
- The following formulas, defined in [1], are the core algorithm of rate matching.
Example (12.2 kbps downlink reference measurement channel defined in [2])
Higher layers have assigned a slot format 11.DTCH: N1,0 = 804/1 = 402 RM1 = 1.0
DCCH:
Results of above formulas are:SlotFormat=11 => Ndata ,0 = (6 + 22) × 15 = 420 bits
The bits number of DTCH in a physical frame can be calculated by Z 1 - Z 0 = 343, and that number of DCCH can be calculated by Z 2 - Z 1 = 77. There is also another method of calculation: N 1,0 - Δ N 1,0 = 343 and N 2,0 - Δ N 2,0 = 77.Z 1 = 343
Δ N 1,0 = -59
Z 2 =420
Δ N 2,0 = -13 - Flexible and fixed position techniques are used in downlink rate matching. The following figures illustrate these conditions.
Transport Channel Structure Before Rate Matching
Radio Frame Structure After Rate Matching
Rate matching in downlink is calculated for the case when the CCTrCH uses its maximum bit rate. However, when flexible positions are used, this does not necessarily mean that each TrCH uses its maximum bit rate. This is illustrated in the previous figure, where higher layers have the restriction that two transport blocks from TrCH 1 can only be transmitted when the smaller transport block size is used on TrCH 2. Code resources can then be saved if the positions of the TrCHs in the radio frame are flexible. The previous figure illustrates flexible and fixed positions. The number of bits on TrCH i and transport format combination j is denoted by Nij and the number of repeated or punctured bits by DNij. For the case with flexible positions, both DN21 and DN22 must be calculated and used for generating the rate-matching patterns for TrCH 2. With fix positions there will only be one DNij for each TrCH since the rate-matching pattern must remain constant.
References
- 3GPP Technical Specification TS 25.212 V3.9.0, Multiplexing and Channel Coding (FDD) 2002-03, Release 1999.
http://www.3gpp.org/ftp/Specs/2002-03/R1999/25_series/25212-390.zip
- 3GPP Technical Specification TS 25.101 V3.10.0, UE Radio transmission and reception (FDD), March 2003, Release 1999.
http://www.3gpp.org/ftp/Specs/2002-03/R1999/25_series/25101-3a0.zip
- TSGR1#6 (99)849, "Rate matching signalling"