# A Network Coding Based Hybrid ARQ Protocol for Underwater Acoustic Sensor Networks
## 1 Introduction  
The abundant resources in oceans motivate the increasing exploration activities towards the underwater environment. In addition, underwater acoustic sensor networks (UASNs) are increasingly attracting interest due to their wide applications such as environment monitoring, resource investigation, oceanography data collection, pollution monitoring and tactical surveillance [1; 2; 3; 4; 5]. All of these applications highly require reliable data transport techniques. However, underwater channels have unique features that are quite different from terrestrial wireless radio channels, so it is impossible to use terrestrial sensor network techniques in UASNs immediately. Electromagnetic waves, optical waves and acoustic waves are the three main propagation media in UASNs. However, radio frequency (RF) waves suffer from high propagation loss and optical waves are affected by scattering and absorption in water. Thus, acoustic waves are preferred for long-range underwater communication, and this new kind of transmission medium brings some new features and challenges for the underwater reliable data transfer protocol design. Underwater acoustic channels are affected by many factors such as path loss, noise, multi-path and Doppler spread. All of these factors cause high error probability and packet loss in acoustic channels. Moreover, the available bandwidth of underwater acoustic channels is limited and depends on both transmission range and frequency. Another prominent feature of underwater acoustic channels is the long end-to-end delay caused by the low propagation speed of acoustic signals in water. The propagation speed (about 1500 m/s) of sound in water is five orders of magnitude lower than the radio propagation speed (\(3\times 10^{8}\) m/s). Thus, the propagation delay is much longer than transmission delay and must be taken into consideration in the underwater data transfer protocol design. In addition, most sensors in UASNs are not fixed in place due to the movement of water current. Empirical observation suggests that underwater objects can move passively at speeds of 1-3 m/swith water currents. The water temperature and some other factors can also affect the sound ray, which suggests that the code rate of the underwater system should be adaptively changed to meet the dynamic underwater environments. In such harsh network scenarios, it is very challenging to provide reliable and energy efficient data transfer in UASNs. Several techniques have been proposed to achieve reliable data transfer in UASNs. Traditionally, researchers utilize feedback based techniques such as automatic repeat request (ARQ) [6; 7; 8] to improve the reliability in underwater environment. However, the large number of retransmission times caused by high packet error rate makes these protocols inefficient and the sender has to send redundant data packets that might have been received successfully by the receiver if their acknowledgements (ACKs) had been lost during transmissions. The low channel utilization limits the practical applications of such techniques. Another class of existing protocol is based on error recovery technique. Forward error correction (FEC) based protocols might reduce the delay because they need no ACK or negative acknowledgment (NACK) from the receivers. In [9], the author proposes an adaptive redundancy transport protocol which applies BCH (Bose - Chaudhuri - Hocquenghem) coding to data transfer according to the distance between nodes. In [10], the author applies network coding to UASNs for reliable data transfer and demonstrates the efficiency of the scheme. A Multiple Paths and Network Coding (MPNC) [11] protocol is proposed to further improve the throughput and reduce transmission overhead of network. The network coding based protocol uses three disjoint paths and transmits XOR (exclusive or) packets in the middle path. The performance of MPNC can be further improved by reducing the paths as in [12], where a twin path and network coding (TPNC) protocol is proposed to achieve lower energy consumption.