Hybrid automatic repeat request (hybrid ARQ or HARQ) is a combination of high-rate
forward error correction (FEC) and
automatic repeat request
Automatic repeat request (ARQ), also known as automatic repeat query, is an error-control method for data transmission that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a packet) and timeouts ...
(ARQ) error-control. In standard ARQ, redundant bits are added to data to be transmitted using an
error-detecting (ED) code such as a
cyclic redundancy check (CRC). Receivers detecting a corrupted message will request a new message from the sender. In Hybrid ARQ, the original data is encoded with an FEC code, and the parity bits are either immediately sent along with the message or only transmitted upon request when a receiver detects an erroneous message. The ED code may be omitted when a code is used that can perform both
forward error correction (FEC) in addition to error detection, such as a
Reed–Solomon code. The FEC code is chosen to correct an expected subset of all errors that may occur, while the ARQ method is used as a fall-back to correct errors that are uncorrectable using only the redundancy sent in the initial transmission. As a result, hybrid ARQ performs better than ordinary ARQ in poor signal conditions, but in its simplest form this comes at the expense of significantly lower throughput in good signal conditions. There is typically a signal quality cross-over point below which simple hybrid ARQ is better, and above which basic ARQ is better.
Simple Hybrid ARQ
The simplest version of HARQ, Type I HARQ, adds both ED and FEC information to each message prior to transmission. When the coded data block is received, the receiver first decodes the error-correction code. If the channel quality is good enough, all transmission errors should be correctable, and the receiver can obtain the correct data block. If the channel quality is bad, and not all transmission errors can be corrected, the receiver will detect this situation using the error-detection code, then the received coded data block is rejected and a re-transmission is requested by the receiver, similar to ARQ.
In a more sophisticated form, Type II HARQ, the message originator alternates between message bits along with error-detecting parity bits and only FEC parity bits. When the first transmission is received error free, the FEC parity bits are never sent. Also, two consecutive transmissions can be combined for error correction if neither is error free.
To understand the difference between Type I and Type II Hybrid ARQ, consider the size of ED and FEC added information: error detection typically only adds a couple of bytes to a message, which is only an incremental increase in length. FEC, on the other hand, can often double or triple the message length with error correction parities. In terms of throughput, standard ARQ typically expends a few percent of channel capacity for reliable protection against error, while FEC ordinarily expends half or more of all channel capacity for channel improvement.
In standard ARQ a transmission must be received error free on any given transmission for the error detection to pass. In Type II Hybrid ARQ, the first transmission contains only data and error detection (no different from standard ARQ). If received error free, it's done. If data is received in error, the second transmission will contain FEC parities and error detection. If received error free, it's done. If received in error, error correction can be attempted by combining the information received from both transmissions.
Only Type I Hybrid ARQ suffers capacity loss in strong signal conditions. Type II Hybrid ARQ does not because FEC bits are only transmitted on subsequent re-transmissions as needed. In strong signal conditions, Type II Hybrid ARQ performs with as good capacity as standard ARQ. In poor signal conditions, Type II Hybrid ARQ performs with as good sensitivity as standard FEC.
Hybrid ARQ with soft combining
In practice, incorrectly received coded data blocks are often stored at the receiver rather than discarded, and when the re-transmitted block is received, the two blocks are combined. This is called Hybrid ARQ with soft combining (Dahlman et al., p. 120). While it is possible that two given transmissions cannot be independently decoded without error, it may happen that the combination of the previously erroneously received transmissions gives us enough information to correctly decode. There are two main soft combining methods in HARQ:
* Chase combining: every re-transmission contains the same information (data and parity bits). The receiver uses
maximum-ratio combining to combine the received bits with the same bits from previous transmissions. Because all transmissions are identical, Chase combining can be seen as additional
repetition coding. One could think of every re-transmission as adding extra energy to the received transmission through an increased
Eb/N0.
* Incremental redundancy: every re-transmission contains different information than the previous one. Multiple sets of coded bits are generated, each representing the same set of information bits. The re-transmission typically uses a different set of coded bits than the previous transmission, with different redundancy versions generated by
puncturing the encoder output. Thus, at every re-transmission the receiver gains extra information.
Several variants of the two main methods exist. For example, in partial Chase combining only a subset of the bits in the original transmission are re-transmitted. In partial incremental redundancy, the
systematic bits are always included so that each re-transmission is self-decodable.
An example of incremental redundancy HARQ is
HSDPA
High Speed Packet Access (HSPA) is an amalgamation of two mobile protocols—High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA)—that extends and improves the performance of existing 3G mobile telecommunic ...
: the data block is first coded with a
punctured 1/3
Turbo code
In information theory, turbo codes (originally in French ''Turbocodes'') are a class of high-performance forward error correction (FEC) codes developed around 1990–91, but first published in 1993. They were the first practical codes to closel ...
, then during each (re)transmission the coded block is usually punctured further (i.e. only a fraction of the coded bits are chosen) and sent. The puncturing pattern used during each (re)transmission is different, so different coded bits are sent at each time. Although the HSDPA standard supports both Chase combining and incremental redundancy, it has been shown that incremental redundancy almost always performs better than Chase combining, at the cost of increased complexity.
HARQ can be used in
stop-and-wait mode or in
selective repeat mode. Stop-and-wait is simpler, but waiting for the receiver's acknowledgment reduces efficiency. Thus multiple stop-and-wait HARQ processes are often done in parallel in practice: when one HARQ process is waiting for an acknowledgment, another process can use the channel to send some more data.
There are other forward error correction codes that can be used in an HARQ scheme besides Turbo codes, e.g. extended irregular repeat-accumulate (eIRA) code and Efficiently-Encodable Rate-Compatible (E2RC) code, both of which are
low-density parity-check codes.
Applications
HARQ is used in
HSDPA
High Speed Packet Access (HSPA) is an amalgamation of two mobile protocols—High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA)—that extends and improves the performance of existing 3G mobile telecommunic ...
and
HSUPA
High Speed Packet Access (HSPA) is an amalgamation of two mobile protocols—High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA)—that extends and improves the performance of existing 3G mobile telecommunic ...
which provide high speed data transmission (on
downlink
In a telecommunications network, a link is a communication channel that connects two or more devices for the purpose of data transmission. The link may be a dedicated physical link or a virtual circuit that uses one or more physical links or shar ...
and
uplink
In a telecommunications network, a link is a communication channel that connects two or more devices for the purpose of data transmission. The link may be a dedicated physical link or a virtual circuit that uses one or more physical links or sha ...
, respectively) for mobile phone networks such as
UMTS
The Universal Mobile Telecommunications System (UMTS) is a third generation mobile cellular system for networks based on the GSM standard. Developed and maintained by the 3GPP (3rd Generation Partnership Project), UMTS is a component of the In ...
, and in the
IEEE 802.16-2005 standard for mobile broadband wireless access, also known as
"mobile WiMAX". It is also used in
Evolution-Data Optimized
Evolution-Data Optimized (EV-DO, EVDO, etc.) is a telecommunications standard for the wireless transmission of data through radio signals, typically for broadband Internet access. EV-DO is an evolution of the CDMA2000 (IS-2000) standard which su ...
and
LTE wireless networks.
Type I Hybrid ARQ is used in
ITU-T
The ITU Telecommunication Standardization Sector (ITU-T) is one of the three sectors (divisions or units) of the International Telecommunication Union (ITU). It is responsible for coordinating standards for telecommunications and Information Comm ...
G.hn
G.hn is a specification for home networking with data rates up to 2 Gbit/s and operation over four types of legacy wires: telephone wiring, coaxial cables, power lines and plastic optical fiber. A single G.hn semiconductor device is able to n ...
, a high-speed
Local area network
A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building. By contrast, a wide area network (WAN) not only covers a larger ...
standard that can operate at data rates up to 1 Gbit/s over existing home wiring (
power lines
Electric power transmission is the bulk movement of electrical energy from a generating site, such as a power plant, to an electrical substation. The interconnected lines that facilitate this movement form a ''transmission network''. This is d ...
, phone lines and
coaxial cables). G.hn uses
CRC-32C
A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to digital data. Blocks of data entering these systems get a short ''check value'' attached, based on t ...
for Error Detection,
LDPC
In information theory, a low-density parity-check (LDPC) code is a linear error correcting code, a method of transmitting a message over a noisy transmission channel. An LDPC code is constructed using a sparse Tanner graph (subclass of the bip ...
for Forward Error Correction and
Selective Repeat for ARQ.
References
Further reading
* als
available as preprint
*
*
*
*{{cite book, first=Erik, last=Dahlman, first2=Stefan, last2=Parkvall, first3=Johan, last3=Sköld, first4=Per, last4=Beming, title=3G Evolution - HSPA and LTE for Mobile Broadband, edition=2, publisher=Academic Press, year=2008, isbn=978-0-12-374538-5, pages=119–123
Logical link control
Error detection and correction