Introduction
The Downlink Shared Channel (DL-SCH) is described in TS36.212, Section 5.3.2. This example demonstrates how a transmitter retransmits a single codeword over a single layer, using a different Redundancy Version (RV) each time until the CRC of the received codeword indicates a successful transmission. The DL-SCH transmission is 16QAM modulated with a 1/2 target coding rate transmitted over single antenna port. The setup used in this example is based on Fixed Reference Channel R.3 defined in Table A.3.3.1-2 of TS36.101.
Hybrid Automatic Repeat reQuest (Hybrid-ARQ) is a combination of Forward Error Correction (FEC) and Automatic Repeat reQuest in an optimal manner. Hybrid-ARQ schemes are commonly used to facilitate reliable communication over noisy wireless channels. HARQ is able to compensate for link adaptation errors and provides a finer granularity of coding rate, resulting in better throughput performance than other FEC schemes.
There are three types of Hybrid ARQ: Type I, Type-II and Type-III.
Hybrid ARQ Type I
The simplest method: Hybrid ARQ Type I uses the CRC to detect whether or not an error in transmission has occurred. If a packet is found to be in error a retransmission request will be sent to the transmitter and the erroneous packet will be discarded. The transmitter will then retransmit the same packet until the packet is successfully decoded by the receiver or the maximum retransmission limit is reached.
Hybrid ARQ Type I can be extended to include packet combining, this is known as Hybrid ARQ Type I with Packet Combing or Chase Combining. After each failed retransmission the erroneous packets are stored in a buffer. The receiver then uses maximum ratio combining to combine each received channel bit with any previous transmissions of the same bit and the combined signal is fed to the decoder. Chase combining does not give any additional coding gain, it only increases the accumulated received signal to noise ratio for each retransmission.
Hybrid ARQ Type II
In Hybrid ARQ Type II, also known as full Incremental Redundancy (IR), each retransmission is not necessarily identical to the original transmission. Instead, multiple sets of coded bits are generated and whenever a retransmission is required the retransmitted data represents a different set of coded bits than the previous transmission. The receiver combines the retransmission with previous transmission attempts of the same packet. As the retransmission contains additional parity bits, not included in the previous transmission attempts, the resulting code rate is generally lowered by subsequent retransmissions. Each transmission contains a different set of parity bits resulting in a higher coding gain when compared to chase combining.
Hybrid ARQ Type III
The final method Hybrid ARQ Type III, also known as partial IR, decreases the coding rate by sending additional redundancy bits in each retransmission. It does however ensure that retransmissions are able to self-decode. This means the retransmitted packet can be chase combined with previous packets to increase the diversity gain.
HARQ Process in LTE
LTE utilizes IR HARQ with a 1/3 turbo encoder used for FEC. The Transport Block (TB) CRC is used to detect errors. The receiver only receives different punctured versions of the same turbo-encoded data; each of these retransmissions are self decodable. Thus, it falls into category of a type III Hybrid ARQ.
In LTE retransmissions are sent with an initial coding rate of 1/2 or 3/4. The maximum number of simultaneous DL-HARQ processes (number of PDSCH transmissions catered for) is limited to 8 as specified in TS36.213, Section 7.
In LTE, the N-channel stop-and-wait protocol is used as the Hybrid ARQ protocol as it offers low buffering requirements and low Acknowledgment (ACK)/Negative Acknowledgment (NACK) feedback overhead.
Cell-wide Settings
Cell wide settings are specified in a structure enb
.
enb.NDLRB = 50; % No of Downlink RBs in total BW enb.CyclicPrefix = 'Normal'; % CP length enb.PHICHDuration = 'Normal'; % PHICH duration enb.NCellID = 10; % Cell ID enb.CellRefP = 1; % Single antenna ports enb.DuplexMode = 'FDD'; % FDD Duplex mode enb.CFI = 2; % 2 PDCCH symbols enb.Ng = 'sixth'; % HICH groups enb.NSubframe = 0; % Subframe number 0
PDSCH Transmission Mode Configuration
The Physical Downlink Shared Channel (PDSCH) is configured using a structure pdsch
for a single antenna transmission scheme.
pdsch.NLayers = 1; % No of layers to map the transport block pdsch.TxScheme = 'Port0'; % Transmission scheme pdsch.Modulation = {'16QAM'}; % Modulation pdsch.RV = 0; % Initialize Redundancy Version pdsch.RNTI = 500; % Radio Network Temporary Identifier pdsch.NTurboDecIts = 5; % Number of turbo decoder iterations pdsch.PRBSet = (0:enb.NDLRB-1).'; % Define the PRBSet pdsch.CSI = 'On'; % CSI scaling of soft bits
Downlink Coding Configuration
Define the parameters required for DL-SCH encoding. The transport block size used here is as defined for R.3 RMC in Table A.3.3.1-2 of TS36.101.
rvIndex = 0; % Redundancy Version index transportBlkSize = 12960; % Transport block size [~,pdschIndicesInfo] = ltePDSCHIndices(enb,pdsch,pdsch.PRBSet); codedTrBlkSize = pdschIndicesInfo.G; % Available PDSCH bits dlschTransportBlk = randi([0 1], transportBlkSize, 1); % DL-SCH data bits % Possible redundancy versions (number of retransmissions) redundancyVersions = 0:3;
Retransmission Loop
This example models a single HARQ process. If a CRC error is detected then a retransmission is performed using a different RV value.
The first transmission is done using a RV of 0, this indicates the initialization stage. If a CRC error is detected by the User Equipment (UE) it sends a NACK to the Base Station (BS) so that a retransmission is initiated using a different RV value.
The eNodeB will keep transmitting the same transport block using different RV values until the UE receives an error free transport block or the total retransmission limit occurs. In LTE the total number of HARQ processes which can be initiated at any given time is 8.
To transmit and receive a transport block the following steps occur:
-
DL-SCH Channel Coding. The DL-SCH bits are generated and undergo channel coding. Included in this process is transport block 24A-type CRC insertion, code block segmentation and code block CRC insertion, turbo coding, rate matching and code block concatenation. The number of code block segmentation and CRC insertions into each segment depends on the given transport block size. Each segmented block is separately turbo encoded and rate matched after a code block 24B-type CRC insertion. The concatenation process is applied on the rate matched turbo coded blocks to form a codeword. If the transmission results in error then the UE signals a NACK. The retransmission of an erroneous packet is done using different RVs. Each RV corresponds to a different set of parity bits from the same encoded block; the RV controls this variation.
-
PDSCH Complex Symbols Generation. Scrambling, modulation, layer mapping and precoding are applied to the coded transport block to generate the PDSCH complex symbols.
-
Noise Addition. Generated noise is then added to PDSCH complex symbols. The number of errors detected will fluctuate with the amount of noise present on the symbols.
-
PDSCH Receiver Processing. In the PDSCH receiver deprecoding, layer demapping, soft demodulation and descrambling are applied to the noisy PDSCH complex symbols.
-
DL-SCH Channel Decoding. The channel decoding is performed with the steps of rate recovery, soft combining, code block desegmentation, CRC removal and block CRC decoding. This function takes a soft buffer as an input parameter which is then used in soft combining with received codeword soft bits prior the decoding of bits.
Selected Bibliography
-
3GPP TS 36.101 "User Equipment (UE) radio transmission and reception"
-
3GPP TS 36.212 "Multiplexing and channel coding"
-
3GPP TS 36.213 "Physical layer procedures"
- MathWorks