As we discussed in the previous post on this topic, Hybrid ARQ is the combination of automatic repeat request (ARQ) and forward error correction (FEC). HARQ is a key component of data communication that ensures reliability and performance.
Types of ARQ
There are three main types of ARQ: stop-and-wait, go-back-N, and selective-repeat. They mostly differ in the action they perform while waiting for ACKs, and in the way they handle timeouts or receptions of NAKs. In the first type of ARQ, the transmitter simply sends a sequence and then waits for the ACK. When the ACK is received, the transmitter sends the next sequence. In case of timeout or NAK, it just resends the same sequence and returns to its wait state.
The last two versions use a sequence number to identify each sequence. This way, it’s possible to transmit multiple sequences without waiting for each individual acknowledgement. The difference between go-back-N and selective-repeat is that the latter only retransmits the sequence that was incorrect, while the go-back-N method restarts the transmission of all the sequences, starting with the first one that wasn’t acknowledged.
The main advantage of ARQ compared to FEC is that in good propagation conditions, almost no overhead is added, which results in very good throughput. But when propagation conditions start to deteriorate, many retransmissions are required to successfully transmit the data, resulting in a significant increase of latency and a huge decrease of throughput.
The following figure illustrates the three types of ARQ:
As we mentioned before, HARQ combines both FEC and ARQ. The presence of the FEC helps to reduce the number of retransmissions required for a certain level of signal-to-noise ratio (SNR). Sequences that can’t be recovered are simply retransmitted by the ARQ. Typical systems use an adaptive FEC technique, which adjusts the amount of redundancy used according to the propagation conditions. That way, the redundancy overhead is minimized under good propagation conditions, and the throughput is maximized.
Types of HARQ
Three HARQ schemes have been defined in the literature: types I, II and III. Type I HARQ is the simplest one. It always resends the same sequence of data for every retransmission until success or until a maximum number of retries is reached. Every packet received with errors is completely discarded. This version is really easy to implement and requires very little interaction between the FEC and the ARQ.
As mentioned, Type I repeatedly retransmits the same data, and usually discards the previously received data. This is inefficient because even if there are some bits in error the data still contains valuable information. For this reason, a Type II HARQ uses a retransmission sequence that contains mostly parity bits, rather than resending the original sequence. These redundant bits are then soft combined with the previously received data to create a lower code rate FEC, and as we have seen before, the lower the code rate, the higher the robustness. This process is also called incremental redundancy. Therefore, for a constant SNR, instead of having the same chance of decoding a sequence for each transmission (as in type I), this time each retransmission increases the amount of redundancy and therefore the chance of successfully decoding the sequence. Type II HARQ therefore provides a very flexible level of protection that adapts itself to time-varying channels. This type of HARQ is much more complicated to implement because it requires a close collaboration between the FEC and the ARQ and it also needs additional resources to buffer and combine the previously received sequences. Another downside of Type II is that since many of the retransmissions contain only parity bits, the reception quality for the sequence that contains the actual data becomes very important.
Type III is similar to Type II except that this time each packet is self-decodable, which means that even if one is completely missing, a receiver can decode any of the sequences to recover the transmitted data. This is a huge advantage but it comes at the price of more overhead compared to Type II HARQ.
There is a special case where the same frame with the same redundancy information is transmitted for each transmission and is soft combined at the receiver to exploit time diversity. This is called chase combining. It could be categorized as Type I HARQ with soft combining or as Type III HARQ with one version of redundancy. This method is very popular for user equipment because it provides a good compromise between its performance and the resources required to implement it. It’s therefore cheaper to implement that than the more complicated types.
As we have seen, Hybrid ARQ really increases the reliability and efficiency of a communication channel. It’s usually the first line of defense against packet loss, permitting fast retransmission of erroneous received sequences. It doesn’t necessarily replace the traditional ARQ, which normally operates at a higher level and at a slower rate. LTE is a good example of a standard that uses both.