# Adaptive Packet Coding for Reliable Underwater Acoustic Communications
## 1 Introduction  
Underwater communications have attracted much interest in recent years due to the rapid development of ocean exploration. Reliable data transmission among nodes is the basis of many underwater applications, such as tsunami warning, ecological monitoring, off-shore oil exploration, etc. [1]. Compared to other media, acoustic waves are the only means of achieving reliable underwater transmission over a long distance. However, underwater acoustic (UWA) communications also face some difficulties compared to their terrestrial counterparts. The characteristics of UWA channels include large delay and Doppler spread, high path attenuation, limited bandwidth, and long propagation delay, which severely reduce the reliability of underwater transmissions. Generally speaking, redundancy and retransmission are the two main approaches to enable a robust communication link. Retransmission schemes such as automatic repeat request (ARQ) are widely used in terrestrial wireless communications. However, the long propagation delay caused by the slow speed of acoustic waves (approximately 1500 m/s) in water makes the standard ARQ scheme very inefficient in UWA communications. Thus, there have been many modified ARQ schemes proposed for UWA communications, such as the go-back \(N\) scheme, the stop-and-wait (S&W) scheme and the selective repeat (SR) scheme [2,3]. These modified ARQ schemes improve the efficiency compared to standard ARQ, but not well enough. This is because the sender always remains idle when it is waiting for the receiver's acknowledgement (ACK) messages in these schemes. As a result,they are still quite inefficient when the propagation time is long enough. In [4; 5], a juggling-like ARQ scheme (J-ARQ) is proposed to further improve the channel utilization, where the sender reserves a fixed gap for the ACK reception after each transmission. In this way, the sender still could transmit the data when it is awaiting the ACK. However, the fixed transmission and reception duration are used in the J-ARQ scheme to avoid conflict, which will lead to a decrease in transmission efficiency when the transmitter does not have an infinite amount of data waiting to be transmitted [5]. Compared to retransmission, the redundancy strategy alternatively seeks an attempt to improve the quality of each transmission. A common redundancy technique is forward error control (FEC), which can lower the bit error rate (BER) at the cost of reducing the data rate. For example, bit-level channel coding schemes, such as low-density parity codes [6] and convolutional codes [7], have been widely used in the physical layer of UWA communications. In contrast, in this paper we investigate another FEC technique, which is performed on the packet level and designed for the link layer [8; 9; 10; 11; 12; 13; 14; 15; 16; 17]. Its mechanism is that the sender sends multiple coded packets which are encoded by original packets. The receiver can recover the original packets correctly if there are enough coded packets successfully received. Rateless codes [18; 19; 20], as a good packet-coding technology, have been used in UWA communications. These codes are so named since the sender can generate unlimited coded packets to ensure that the original packets can be fully recovered. In [12], a kind of rateless code, Raptor code, is used in UWA communications. The coding rate is optimized to maximize the throughput over UWA channels. In [13], a cross-layer FEC scheme which combines both the physical layer FEC and the packet layer FER is extended based on [12]. So far, there have been many works which combine the redundancy strategy and retransmission strategy based on the rateless codes. In [5], rateless code is used in the J-ARQ scheme. In [10], an HARQ scheme is proposed, named segmented data reliable transport (SDRT), to achieve reliable data transmission in UWA sensor networks by employing Tornado codes. In this scheme, the sender keeps sending the packets until it receives an ACK.