|
Hybrid ARQ
Hybrid ARQ (HARQ) is a variation of the ARQ error control method, which
gives better performance than ordinary ARQ, particularly over wireless
channels, at the cost of increased implementation complexity.
The simplest version of HARQ, Type I
HARQ, simply combines FEC and ARQ by encoding the data block plus
error-detection information (such as CRC) with an error-correction code
(such as Reed-Solomon code or Turbo code) 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 discarded and
a retransmission is requested by the receiver, similar to ARQ.
In practice, the incorrectly
received coded data blocks are often stored at the receiver rather than
discarded, and when the retransmitted coded data block is received, the
information from both coded data blocks are combined (Chase combining)
before being fed to the decoder of the error-correction code, which can
increase the probability of successful decoding. To further improve
performance, Type II/III HARQ, or incremental redundancy HARQ, has also
been proposed. In this scheme, different (re)transmissions are coded
differently rather than simply repeating the same coded bits as in Chase
combining, which gives better performance since coding is effectively done
across retransmissions. The difference between type III HARQ and type II
HARQ is that the retransmission packets in Type III HARQ can be decoded by
themselves.
An example of incremental redundancy
HARQ is HSDPA: the data block is first coded with a punctured 1/3 Turbo
code, 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 punctuation pattern used during each (re)transmission is
different, so different coded bits are sent at each time.
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 acknowledgement reduces efficiency, thus multiple
stop-and-wait HARQ processes are often done in parallel in practice: when
one HARQ process is waiting for an acknowledgement, another process can
use the channel to send some more data
|