Hybrid Automatic Repeat ReQuest. Automatic Repeat ReQuest has been around in communications for ages. The idea is simple. For each data transmission (“packet”) that we send, we add an error detecting code. The receiver uses the code to determine whether it’s received the packet correctly or not. If there is a packet error, the receiver Automatically Requests that the transmitter Repeats the packet. The receiver discards the erroneous packet. ARQ is great for reliable transmissions, but it wastes a lot of network capacity. In a noisy radio environment the same packet might have to be sent and discarded several times before being received without error. HARQ adds a clever twist. The first time the receiver gets the packet, the packet is probably mostly correct. It probably only contains one error at one point in the sequence. The repeated packet is likely to have errors in different places in the sequence. The receiver could hold on to that first transmitted packet, and when it gets the repeat of the same packet, it could combine the two in some clever way to get a “correct” packet in fewer transmissions. HARQ is widely used in 3G and 4G wireless systems.