ARQ has long been used in wireless communications to ensure a reliable, in-sequence data transmission by retransmitting corrupted data. There are three types of basic ARQ schemes: stop-and-wait, go-back-N, and selective repeat. The stop-and-wait scheme is the simplest to implement, yet it has the lowest throughput especially when the propagation delay is long. To take its advantage of simple implementation while avoiding the long, wasteful delays, the multiple-channel (or parallel) stop-and-wait ARQ has been proposed. One famous example is the Advanced Research Projects Agency Network (ARPAnet) that supports multiplexing of eight logical channels over a single link and runs stop-and-wait ARQ on each logical channel.
The performance of ARQ schemes suffers quickly because more retransmissions are required. To reduce the frequency of retransmissions, a system can adopt a forward error correction (FEC) functionality to correct errors that occur during transmissions. Combining an ARQ scheme with the FEC functionality is called HARQ.
In general, there are three types of HARQ, described below. In type I HARQ, the receiver simply discards erroneously received packets after it fails to correct errors, and sends a negative acknowledgement (NAK) back to the transmitter to request a retransmission. There is thus no need to have a buffer storing erroneous received packets. A fixed code rate is used for error correction, type I HARQ therefore cannot effectively adapt to changing channel conditions. (Note that code rate is defined as the ratio of the total number of information bits over the total bits transmitted. Thus, the higher the code rate, the lower the redundancy.) Using a code rate too high may cause too many retransmissions in high packet error rate (PER) conditions; on the other hand, using a code rate too low may cause too much redundancy in low PER conditions. The throughput may therefore be degraded by either a high frequency of retransmissions or too many redundant data in transmissions. Accordingly, choosing a suitable code rate is crucial for type I HARQ. Type I HARQ is therefore best suited for a channel that has a consistent level of signal-to-noise ratio (SNR).
In type II HARQ, in addition to packets being coded with ARQ and FEC as in type I HARQ, each receiver also keeps the erroneously received packets in the buffer in order to combine them with the retransmitted packets. There are two major FEC categories of coding for type II HARQ: chase combining (CC) and incremental redundancy (IR), introduced below.
In CC, the receiver combines received copies of the same packet to get diversity gain. All the redundant bits for each retransmitted packet are the same as the first transmission; therefore, it is relatively simple but less adaptive to the channel condition because the decoder may just need a smaller number of redundant bits to correct errors. The buffer needed is the number of coded symbols of one coded packet.
In IR, it adapts to changing channel conditions by retransmitting redundant bits gradually to a receiver. This is done while waiting for a positive ACK until all redundancies are sent. At the beginning, a transmitter using IR sends coded packets with a small number of FEC redundant bits or even without any. If a retransmission is needed, different redundant bits, derived from different puncturing patterns, are retransmitted depending on the base coding rate. The information data will not be retransmitted unless a receiver still cannot successfully decode the packet after a transmitter has sent all the redundant bits. This approach increases the receiver’s coding gain one retransmission at a time. The IR scheme therefore allows the system to adjust the channel encoder rates to the channel quality. Comparing with CC, a bigger buffer is required to store all retransmitted data, including the first transmitted data.
Type II HARQ needs a larger buffer size than type I HARQ, but it has higher performance in terms of throughput. The drawback of type II IR HARQ is that a receiver has to receive the first transmitted data to combine it with subsequently received redundant bits. To overcome this drawback, a type III HARQ has been proposed [7]. It may be viewed as a special case of type II HARQ such that each retransmitted packet is self-decodable. A receiver can correctly decode information data by either combining the first transmitted packet with a retransmitted packet or use only one of the retransmitted packets.