Water covers 71% of the Earth. Underwater communication is essential for a wide assortment of applications covering defence, environmental monitoring, commercial exploration, and scientific discovery. Severe attenuation in water limits the range of electromagnetic, optical and magnetic induction-based communications to just a few meters, leaving acoustic communications as the de facto means for wireless data transfer across tens of kilometers.

NetSim’s UWAN library enables users to design, simulate and analyze performance of underwater networks that use acoustic communication.

Figure 1‑1: NetSim’s UWAN design window, the results dashboard and the plots window

NetSim UWAN simulations are full stack with all 5 layers of the TCP/IP stack being supported as explained below:

  • L5, Application: Users can model various kinds of applications as explained in section 3.4. This library supports a new (and default) underwater sensor application - with small packet sizes (order of 10s of Bytes), and large inter-packet arrival times (orders of seconds) - that parallels typical underwater applications.

  • L4, Transport: UDP Protocol is supported. TCP is not provided as an option since it is not used in UWAN applications, due to the very low communication bit rates and the high propagation delays.

  • L3, Network: Static routing is supported.

  • L2, Data Link: Slotted-aloha protocol is supported.

  • L1, Physical: Specialized underwater acoustic PHY model and the Thorp propagation model, are supported. Omni directional antennas are assumed.

UWAN is architected to interface with NetSim component 2 (Legacy networks) which provides L2 functionality and component 3 (Advanced switching and routing) which provides the L3 static routing functionality.

The UWAN library is available as Component 12 and is currently available only in NetSim Standard and NetSim Pro versions. Protocol source C code is open to users; it is modular and customizable to help researchers to design and test their own UWAN protocols.

Simulation GUI#

Create Scenario#

Open NetSim and click New Simulation → Underwater Acoustic Networks as shown Figure 2‑1.

Figure 2‑1: NetSim Home Screen

Devices specific to NetSim UWAN Library#

Figure 2‑2: The Devices present in the ribbon of NetSim GUI

Placement of devices on the grid environment#

Add an Underwater Device - Click on the Underwater_Device icon on the toolbar and place the device in the grid.

GUI Configuration Parameters#

The UWAN parameters can be accessed by right clicking on an Underwater device and selecting Interface (Acoustic) Properties à Physical Layers.

UWAN Properties
Interface (Acoustic) – Physical Layer
Parameter Type Range Description
Source Level Local

170 - 225 dB// 1 μPa

Default: 190

SL = 10log10(Ptxel[W]) + 170.8 
Antenna Gain (dBi) Local -1000 to 1000 dBi A relative measure of an antenna’s ability to direct or concentrate radio frequency energy in a particular direction or pattern. The measurement is typically measured in dBi.
Forward error correction coding (FEC) Fixed TRUE FEC is used for controlling Error-Correcting code, in data over unreliable or noisy communication channels. This is always set to true and the SNR BER calculations factor in FEC.
Modulation Local







Modulation is the process of varying one waveform in relation to another waveform. It is used to transfer data over an analog channel.
Coding Rate Local 1/2, 2/3, 3/4, 5/6 It states what portion of the total amount of information is useful (non-redundant). This code rate is typically a fractional number.
Frequency Local 0.01-1000kHz The centre frequency in the transmission bandwidth
Data rate (kbps) Local 0-255 kbps It is the number of kilo-bits that are conveyed or processed per second
Receiver Sensitivity (dBm) Local

-120 – 0dBm

Default: -85 dBm

It is the lowest power level at which the receiver can detect the acoustic signal and demodulate data.

The interference threshold is equal to the receive sensitivity as explained in 3.1.8

Bandwidth (Hz) Local 0-1000 Hz Bandwidth is the range of frequencies occupied by acoustic signals.

Table 2‑1: UWAN Config Properties

Model Features#

Acoustic PHY#

Underwater acoustic channels are generally recognized as one of the most difficult communication media in use today. The worst properties of radio channels - poor link quality, and high latency - are combined in the acoustic channel. Acoustic propagation is best supported at low frequencies and is characterized by two major factors: attenuation that increases with signal frequency, and the low speed of sound (≈1500 m/s).

Speed of sound#

The propagation delay model is complex due to the dependency of the speed of sound on the depth of the water. The speed of sound in water, in meters per second, is given by the formula

c = 1449.05 + 45.7t − 5.21 × t2+ 0.23 × t3 + ( 1.333−0.126t+0.009×t2)(S−35) + 16.3 × z + 0.18 × z2

Where t is one-tenth of the temperature of the water in degrees Celsius, z is the depth in km and S is the salinity of the water in parts per thousand. Where a source and destination are at different depths, in NetSim uses the average depth i.e., $z = \frac{z_{s} + z_{d}}{2}$.

Transmit power and Source Level#

An acoustic signal propagates as a pressure wave, whose power is measured in Pascals (commonly, in dB relative to a micro-Pascal). In seawater, 1 W of radiated acoustic power creates a sound field of intensity 170.8 dB // 1 μPa1m away from the source

NetSim GUI takes source level, SL, as the input, with units dB// 1 μPa.

For converting from electrical transmit power, Ptxel in Watts (W), to SL in dB// 1 μPa, the following equation can be used

SL = 10log10(ξ × Ptxel[W]) + 170.8 

where ξ is transducer efficiency. The 170.8 dB accounts for the conversion between dB// 1 μPa and W. Given below in Table 3‑1 are the properties of six commercial and research underwater modems [1]. SL is computed assuming ξ = 1.

| Underwater modem |
Ptxel [W] |
SL[dB//1 μPa] |
f [kHz] |
Data Rate [kbps] | |---------------------------|-------------------------------------------------------------------|-----------------------------------------------------------------|-----------------------------------|----------------------------------------------------------------------------| | EvoLogics S2CR 18/34 WiSE | 35 | 186.2407 | 26 | 13.90 | | WHOI Micromodem | 48 | 187.6124 | 25 | 5 | | Teledyne Benthos ATM9XX | 20 | 183.8103 | 24.50 | 15.36 | | LinkQuest UWM4000 | 7 | 179.251 | 17 | 8.50 | | Aquatech AQUAModem 1000 | 20 | 183.8103 | 9.75 | 2 | | DSPComm AquaComm Marlin | 1.8 | 173.3527 | 23 | 0.48 |

Table 3‑1: Commercial underwater modems and their specifications

Transmission Losses: Thorp Propagation model#

A distinguishing property of acoustic channels is the fact that path loss depends on the signal frequency. This dependence is a consequence of absorption (i.e., transfer of acoustic energy into heat) [2]. The simplest model for acoustic attenuation in water is

A(df) = dkα (f)d

Where α: absorption coefficient factor, depends on the sound frequency f, d: Distance, and k: the spreading coefficient defined by geometry. The spreading factor, k, describes the geometry of propagation and is typically 1 ≤ α ≤ 2,  e.g., k = 1, and k = 2 correspond to cylindrical and spherical spreading, respectively. k = 1.5 is often considered a practical setting. A cylindrical spreading corresponds to cases in which the transmission distance l is much larger than the depth of the ocean. In this case, the ocean bottom and the interface between the ocean and the air act as boundaries for the spreading of acoustic waves. On the other hand, spherical spreading is considered when the transmission distance is smaller than the depth of the ocean. This type of spreading provides a similar
k as the free-space approximation for radio wireless communications [3].

A common empirical formula used for absorption α(f) is Thorp’s formula, which for f in kHz is given by

$$10\log_{10}{\alpha(f)} = \left\{ \begin{matrix} 0.11 \times \left( \frac{f^{2}}{1 + f^{2}} \right) + \ + 44 \times \left( \frac{f^{2}}{4100 + f^{2}} \right) + 2.75 \times 10^{- 4} \times f^{2} + 0.003\ \ \ \ f \geq 0.4 \\ 0.02 + 0.11 \times \left( \frac{f}{1 + f} \right) + 0.011 \times f\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ f \< 0.4 \\ \end{matrix}\ \ \right.\ \ $$

This output is in db/km. Combining absorption effects and spreading loss, the total attenuation is as follows:

10 log A(df)= k× 10 log (dm)  + dkm × 10 log α(f)

Here dm is in distance in meters, $d_{km} = \frac{d_{m}}{1000},\ $ and f is in KHz. The Throp model outputs the attenuation in dB.


The calculation for the ambient noise in the underwater environment is divided into the major factors contributing to the total: turbulence, shipping, wind, and thermal. The following formulae give the noise power[dB] of the four components

10 logNt(f)= 17 − 30logf)

10 logNs(f)= 40 + 20 × (s − 0.5)+ 26 log f  − 60 × log(f + 0.03)

$$10\ logN_{w}(f) = \ 50\ + \ 7.5 \times \sqrt{w}\ + \ 20\ log\ f - 40\ log(f\ + \ 0.4)$$

10 logNth(f) =  − 15 + 20 log f

Where f is frequency in kHz, s is the shipping factor and w is the wind-speed in m/s. The default value for s is 0.5 and for w is 0.

Turbulence noise influences only the very low frequency region, f \< 10 Hz. Noise caused by distant shipping is dominant in the frequency region 10 Hz  − 100 Hz, and it is modeled through the shipping activity factor s, whose value ranges between 0 and 1 for low and high activity, respectively. Surface motion, caused by wind-driven waves (w is the wind speed in m/s) is the major factor contributing to the noise in the frequency region 100 Hz − 100 kHz (which is the operating region of most acoustic systems). Finally, thermal noise becomes dominant for f > 100 kHz [4].

The total noise in linear scale is given as

Ntotallinear = NtlinearNslinearNwlinearNthlinear

and the total noise in dB domain is NdBtotal[dB] = 10log10(Ntotallinear)

Passive Sonar equation#

NetSim uses the passive sonar equation to compute the SNR at the receiver. The passive sonar equation is written as

SNR = SL − TL − (NLDI)

Where SL is the source level, TL is the transmission losses, NL is the noise level and DI is receiver directivity index. NetSim assumes DI = 0, and upon appropriate substitutions the equation turns out as

SNR [dB] = SL  − 10log10A(df)[dB]− NdBtotal[dB

On the RHS of the equation, the second term is TL and the final term is the NL.

MCS, Bit error rate (BER) and Packet error rate#

Unlike 802.11 or 5G protocols, there are no standards specifying the modulation and coding scheme (MCS) for different received signal powers. Hence MCS is a user settable input parameter. Bit-error-rate (BER) is computed from the received signal to noise ratio (SNR) and the modulation and coding scheme (MCS) set by the user. NetSim assumes that the noise variance is Gaussian and the BER is computed from the standard SNR-BER tables described in the Propagation Models technology library manual. Packet error rate (PER) is then calculated from BER based on packet length.

Users who wish to use their own (custom) SNR-BER tables, can modify the UWAN_Calculate_BER function in UWAN.c file under the UWAN project.

Data Rate#

The data rate is set through a GUI parameter; it is not computed by NetSim during simulation. In NetSim, the modulation and coding scheme (MCS) is set by the user in the GUI. This MCS setting does not affect the data rate; it only impacts BER calculations. More information on MCS is provided in section 3.1.6. The implicit assumption is that the user sets the right combination of data rate and MCS.

Collisions, Interference and Packet Capture#

Per conventional definition collisions occur when there is simultaneous packet transmission, and these collided packets are assumed failed or lost. In this characterization, when there is simultaneous packet transmission, collisions are assumed to occur whatever the spatial separation (distance) between nodes and whatever the nodes’ transmit powers. Clearly this is an approximation aimed at simplification. In case of simultaneous packet transmissions, it is possible that one (or more) signals have sufficient strength to be decoded by the receiver. Therefore, packets involved a collision can sometimes be successfully received. This phenomenon is known as Packet Capture.

NetSim approximately models Packet Capture considering interference threshold (Ith) rather than SINR. If the sum of all interfering signals, at the receiver, is greater than Ith then the packet being received (by the receiver) is marked as collided. Else, if the total interference power is less than Ith the packet succeeds despite ongoing simultaneous transmission. To elaborate, we start by denoting Underwater device as UWD and let UWDtx be transmitting a packet to UWDrx, while UWDIn be n other UWDs that are transmitting at the same time. These are marked with subscript I since these transmissions would interfere with the UWDtx to UWDrx transmission. NetSim computes the received signal power at UWDrx from all the other n transmitting UWDs. All these powers are summed up and is equal to Σj = 1nPrj where Prj is the received power of interfering UWDIj at UWDrx. This summed interfering power, Σj = 1nPrj, is compared against an inference threshold Ith which is equal to the receive sensitivity (set to  − 85dB by default in NetSim). If total interfering power is greater than the interference threshold, then the packet being transmitted from UWDtx to UWDrx is marked as collided. Should the total interfering power be less than  − 85dB, the packet being transmitted from UWDtx to UWDrx is successfully received at UWDrx.

An exact SINR based packet capture model (rather than the approximate Interference threshold-based packet capture model) is under development and is expected by the next release.

MAC Layer#

NetSim currently only supports slotted Aloha in the MAC layer.

The reason for not supporting a contention-based protocol is: the basic principle of carrier sensing multiple access — that a node should transmit only if it hears no ongoing transmissions — is compromised in an acoustic channel where the packets propagate slowly, and the fact that none are overheard does not mean that some are not present in the channel [2].

Slotted Aloha#

NetSim UWAN stack runs slotted Aloha (s-Aloha) in the MAC layer. s-Aloha is decentralized medium access control protocol that does not perform carrier sensing. Data transmission by devices is synchronized to timeslots. All devices are assumed to be perfectly synchronized to one another and to the timeslots.

In NetSim’s s-Aloha implementation, the transmitter sends the next packet only after the current packet has either been received or errored. The knowledge of a packets successful or erroneous reception (due to collision or channel error) is known by the receiver only after it receives the complete packet. The total time taken for the reception of a packet after the transmission commences is equal to the transmission time Ttx plus the propagation delay Δ. It is assumed in NetSim, that the transmitter knows packet status at the exact time that the receiver knows the packet status. Hence the transmitter gets to know if a packet is successful or errored only (Ttx + Δ) seconds after commencing transmission. If the packet is errored the transmitter will retransmit (depending on the retry count set by the user in the UI) the packet; if the packet is successful, the transmitter will send the next packet.

Slot Length#

Due to the long propagation delays user should take care to set the slot size in the GUI. This is a global parameter applicable to all UWAN devices. As a starting step, estimate the transmission time, Ttx which would be

$$T_{tx}(\mu s) = \frac{\left( L_{pkt} + OH \right) \times 8}{PHYRate}$$

where Lpktis the application layer packet size, OH is the overheads of all layers which is equal to 28B, and PHYRate is the data rate set in the PHY layer. Next, the propagation delay, Δ is computed as $\Delta = \frac{d}{c_{sound}},$ where d is the distance between the transmitter and the receiver. Thus, the ideal slot length should be

$$L_{slot} = \ \frac{\left( L_{pkt} + OH \right) \times 8}{PHYRate} + \frac{d}{C_{sound}}\ $$

Example: Let us consider the default values of Lpkt = 14B and PHYRate = 20 Kbps which leads to Ttx = 16, 800 μs. Then using $t = \frac{25}{10} = 2.5,$ z = 50, and S = 35 - where t is one-tenth of the temperature of the water in degrees Celsius, z is the depth in meters and S is the salinity of the water - we get (per earlier section 3.1) csound = 2799.33 m/s. When the transmitter receiver distance is d = 2km, the propagation delay, $\Delta = \frac{{2 \times 10}^{3}}{2799.33} = \ 714,456.4\ \mu s.\ $ Substituting all these, we see that the ideal slot length (when d = 2km) would be

Lslot = Ttx + Δ = 16, 800 + 714, 456.4 = 731, 256.4 μs = 0.73 s

Considering a slot length of 731, 256.4 μs, we see if one packet exactly fits one slot then the predicted saturation throughput would be

$$\theta_{sat}\ = \frac{{(L}_{pkt} \times 8)}{L_{slot}} = \frac{(14 \times 8)}{731256.4 \times 10^{- 6}} = 153\ bps$$


  • If different Tx-Rx pairs are at different distances, then users should set the slot length based on the largest Tx-Rx distance i.e., based on the largest propagation delay.

  • NetSim limitation of not modeling link-level (reverse) ACKs can be overcome by adding additional time in the slot length to account for ACK transmissions. This work around, however, does not account for ACK failures.

Retry count and Back-off#

An important MAC layer parameter is Retry Count. This is a user-configurable parameter. A transmitter running s-Aloha retries when packets received (at the receiver) are in error. Recall here the NetSim assumption that the transmitter knows the packet status at the receiver.

The maximum number of times the transmitter retries is equal to Retry Count. Once this limit is hit the transmitter drops the packet. For example, if the Retry Count is 3, and if a packet fails in 1st transmission and in the 1st, 2nd and 3rd retransmission, then that packet is dropped by the transmitter.

The transmitter backs-off before each retry. The back off time (in slots) is a random number chosen from [0, CW − 1] where CW is the contention window and is equal to is 2n, where n is the current value of the Retry Count. Unlike the 802.11 protocols, in s-Aloha, the transmitter does not back off before the 1st transmission.

IP Addressing, Routing, Queuing and Buffers#

Addressing for UWAN devices is IP based. The IP addresses are automatically set by NetSim.

Multi hop communication#

The fact that the acoustic bandwidth depends on the distance has important implications for the design of underwater networks. Specifically, it makes a strong case for multihopping, since dividing the total distance between a source and destination into multiple hops enables transmission at a higher bit rate over each (shorter) hop [4].

NetSim currently supports static routing for multi-hop communication. Ad hoc routing is not yet available. While, no routing configuration is required for single hop communication, static routing needs to be configured for multi-hop communication. Static routing configuration is explained in the Internetworks technology library manual, Section: Configuring Static Routing in NetSim.

SDN based Routing#

Software defined networking (SDN) can be enabled in the application layer of UWAN devices. Complete details of SDN GUI interface and SDN working is given in Software Defined Networks technology library manual.

This feature will be available in Component 5: Software Defined Networks is licensed along with Component 12: UWAN.

Queuing and Buffers#

Queuing in UWAN devices is on a first-in-first-out (FIFO) basis. For example, if a UWAN device is acting as both a source of traffic and a relay, then source traffic and relay traffic would arrive at the device’s (MAC) buffer. The traffic would be queued and served per FIFO working. UWAN devices in NetSim have infinite (MAC) buffers.

Underwater Applications (Network Traffic Generation)#

Users can model various kinds of applications (that generate network traffic). These include CBR, File transfer, Video etc. Typical examples include of transfers from one underwater device to another include (i) transferring a file (ii) transmitting very low bit rate video (iii) generating a constant-bitrate (CBR) application for theoretical performance studies etc. Details of the different application models are provided in Section 6 of the NetSim user manual.


  • Users cannot model buoy nodes, behaving as network sink(s) to collect data which can then be transmitted, via Radio Frequency (RF), to a nearby boat, or satellite

  • Link layer ACKs are not modeled in s-Aloha

  • There is no Guard time between slots in s-Aloha

  • Dynamic routing protocols are not supported

  • Doppler shift on account of transmitter and/or receiver motion is not accounted

  • UWAN cannot connect to an “external” network; it operates stand alone


[1] H. U. Yidliz, V. C. Gungor and B. Talvi, "Packet Size Optimization for Lifetime Maximization in Underwater Acoustic Sensor Networks," IEEE Transactions on Industrial Informatics, 2019.
[2] M. Stojanovic and J. Preisig, "Underwater Acoustic Communication Channels: Propagation Models and Statistical Characterization," IEEE Communications Magazine, 2009.
[3] D. E. Lucani, M. Medard and M. Stojanovic, "Capacity Scaling Laws for Underwater Networks," 2012.
[4] M. Stojanovic, "On the Relationship Between Capacity and Distance in an Underwater Acoustic Communication Channel," in WUWNet, 2006.
[5] R. J. Urick, Principles of Underwater Sound, Peninsula Publishing, 1983.