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 (\(\approx\)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 [1].

\[c_{sound} = 1449.05 + 45.7t - 5.21 \times t^{2} + \ 0.23 \times t^{3} + \left( \ 1.333 - 0.126t + 0.009 \times t^{2} \right)(S - 35) + 16.3 \times z + 0.18 \times z^{2}\]

Where \(t\ \)is one-tenth of the temperature of the water in degrees Celsius, \(z\) is the average depth in km of the temperature zone and \(S\) is the salinity of the water in parts per thousand.

_images/Figure-111.png

Figure-1: An illustration of temperature zones in NetSim where sensor N1 is in zone 1 and sensor N2 is in zone 3.

In the figure, \(l_{d}\) denotes the starting depth and \(h_{d}\) denotes the ending depth of each zone. The zone count (three in this case) and the depth of each zone can be set in NetSim. The average depth in Zone 1 is \(\frac{Z_{1}l_{d} + Z_{1}h_{d}}{2} = \frac{0 + 50}{2} = 25m\), in Zone 2 is \(\frac{Z_{2}l_{d} + Z_{2}h_{d}}{2} = \frac{50 + 100}{2} = 75m\), and in zone 3 is \(\frac{Z_{3}l_{d} + Z_{3}h_{d}}{2} = \frac{100 + 150}{2} = 125m\). The propagation delay is computed separately as

\[\Delta_{tot} = \Delta_{1} + \Delta_{2} + \Delta_{3} = \frac{D_{1}}{C_{sound}^{zone1}} + \frac{D_{2}}{C_{sound}^{zone2}} + \frac{D_{3}}{C_{sound}^{zone3}}\]

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). NetSim GUI takes source level, \(SL,\) as the input, with units \(dB//\ 1\ \mu Pa\). We may think of \(dB//\ 1\ \mu Pa\) in acoustics as playing the role of \(dBm\) in RF. When referring to the Tx/Rx (acoustic) power it is customary to specify the acoustic intensity value in decibel (dB) relative to the intensity due to 1 micro-pascal (\(\mu Pa\)) root mean square (RMS) pressure. In seawater, 1 W of radiated acoustic power creates a sound field of intensity 170.8\(\ dB\ //\ 1\ \mu Pa,\ \)1m away from the source. For converting from electrical transmit power, \(P_{tx}^{el}\) in Watts (W), to \(SL\) in \(dB//\ 1\ \mu Pa\), the following equation can be used

\[SL = 10\log_{10}{(\xi \times P_{tx}^{el}}\lbrack W\rbrack) + 170.8\\]

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

Underwater modem

\[\mathbf{P}_{\mathbf{tx}}^{\mathbf{el}}\mathbf{\ \lbrack W\rbrack}\]
\[\mathbf{SL\lbrack dB//1\ \mu Pa\rbrack}\]
\[\mathbf{f\ \lbrack kHz\rbrack}\]
\[\mathbf{Data\ Rate\ \lbrack kbps\rbrack}\]

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-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) [3]. The simplest model for acoustic attenuation in water is

\[A(d,\ f) = d^{k}\alpha\ (f)^{d}\]

Where \(\alpha\): 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 \leq \alpha \leq 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 [4].

A common empirical formula used for absorption \(\alpha(f)\) is Thorp’s formula, which for \(f\) in kHz is given by [5]

\[\begin{split}10\log_{10}{\alpha(f)} = \left\{ \begin{array}{r} 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.002 + 0.11 \times \left( \frac{f^{2}}{1 + f^{2}} \right) + 0.011 \times f^{2}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ f < 0.4 \end{array}\ \ \right.\ \\end{split}\]

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

\[10\ log\ A(d,\ f) = \ k \times \ 10\ log\ (d_{m})\ + d_{km} \times 10\ log\ \alpha(f)\]

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

Noise

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\(\lbrack dB\rbrack\) of the four components

\[10\ logN_{t}(f) = \ 17\ - \ 30log(\ f)\]
\[10\ logN_{s}(f) = \ 40\ + \ 20 \times (s\ - \ 0.5) + \ 26\ log\ f\ - 60 \times log(f\ + \ 0.03)\]
\[10\ logN_{w}(f) = \ 50\ + \ 7.5 \times \sqrt{w}\ + \ 20\ log\ f - 40\ log(f\ + \ 0.4)\]
\[10\ logN_{th}(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 [5].

The total noise in linear scale is given as

\[N_{total}^{linear} = N_{t}^{linear} + \ N_{s}^{linear} + \ N_{w}^{linear} + \ N_{th}^{linear}\]

and the total noise in \(dB\) domain is \(N_{dB}^{total}\lbrack dB\rbrack = 10\log_{10}{(N_{total}^{linear})}\)

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 - (NL - DI)\]

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\ \lbrack dB\rbrack = SL\ - 10\log_{10}{A(d,\ f)}\lbrack dB\rbrack - \ N_{dB}^{total}\lbrack dB\rbrack\\]

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 above section. 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 (\(I_{th})\) rather than SINR. If the sum of all interfering signals, at the receiver, is greater than \(I_{th}\) then the packet being received (by the receiver) is marked as collided. Else, if the total interference power is less than \(I_{th}\) the packet succeeds despite ongoing simultaneous transmission. To elaborate, we start by denoting Underwater device as \(UWD\) and let \(UWD_{tx}\) be transmitting a packet to \(UWD_{rx}\), while \(UWD_{I}^{n}\) be \(n\) other \(UWDs\) that are transmitting at the same time. These are marked with subscript \(I\) since these transmissions would interfere with the \(UWD_{tx}\) to \(UWD_{rx}\) transmission. NetSim computes the received signal power at \(UWD_{rx}\) from all the other \(n\) transmitting \(UWDs.\) All these powers are summed up and is equal to \({\Sigma_{j = 1}^{n}P}_{r}^{j}\) where \(P_{r}^{j}\) is the received power of interfering \(UWD_{I}^{j}\) at \(UWD_{rx}\). This summed interfering power, \({\Sigma_{j = 1}^{n}P}_{r}^{j}\), is compared against an inference threshold \(I_{th}\) 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 \(UWD_{tx}\) to \(UWD_{rx}\) is marked as collided. Should the total interfering power be less than \(- 85dB\), the packet being transmitted from \(UWD_{tx}\) to \(UWD_{rx}\) is successfully received at \(UWD_{rx}.\) 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 [3].

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. In case of unicast applications, the total time taken for the reception of a packet after the transmission commences is equal to the transmission time \(T_{tx}\) plus the propagation delay\(\ \Delta\). 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 \({(T}_{tx} + \Delta)\) 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, \(T_{tx}\) which would be

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

where \(L_{pkt}\)is 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, \(\Delta\) 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 \(L_{pkt} = 14B\) and \(PHYRate = 20\ Kbps\) which leads to \(T_{tx} = 16,800\ \mu 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) \(c_{sound} = 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

\[L_{slot} = T_{tx} + \Delta = 16,800 + 714,456.4 = 731,256.4\ \mu s = 0.73\ s\]

Considering a slot length of \(731,256.4\ \mu 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\]

NOTE:

- 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

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 \(\lbrack 0,\ CW - 1\rbrack\) where \(CW\ \)is the contention window and is equal to is \(2^{n}\), 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.

The description above pertains to the behavior of unicast packets. For broadcast applications, the procedure varies as follows:

  • Prior to the first transmission, the transmitter implements a back-off. The duration of this back-off is randomized, selected from a range of 0 to 7 slots.

  • Broadcast packets do not undergo re-transmissions.

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 [5].

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.

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.

Acoustic Measurements Log

NetSim Acoustic Measurements Log csv file records pathloss, distance, transmitted power, received power, total noise, SNR, BER etc. This log can be used to understand the effects of the acoustic propagation model and the impact of varying channel conditions.

This log file can be enabled from the Configure report tabs > Plots > Acoustic measurements log as explained in section Simulation GUI.

The Acoustic Measurements Log.csv file will contain the following information:

  • Time in milliseconds

  • Transmitter Name

  • Receiver Name

  • Distance between transmitter and receiver in meters.

  • Transmitter Power in dB/µPa

  • Pathloss in dB/µPa

  • Total Noise in dB/µPa

  • SNR in dB

  • Receiver Power in dB/µPa

  • BER

The log file can be accessed from the Simulations Results Window by clicking Logs option in the left pane.

_images/Figure-21.png

Figure-2: Acoustic Measurements Log.csv file highlighted in the Results window.

_images/Figure-111.png

Figure-3: Acoustic Measurements Log.csv file

Energy Model in UWAN

In UWAN, nodes consume different amounts of energy in each of its modes of operation, namely, sending/transmitting mode, receiving mode, and idle mode.

Transmitting mode: In this mode, nodes consume energy to transfer packets.

Receiving mode: In this mode, nodes consume energy to receive packets.

Idle mode: In this mode, a node neither transmits nor receives data packets. This is typically a low energy mode.

In NetSim, default energy model settings are as follows [6] [7].

  • Initial Energy (mJ): 10416

  • Transmitting current (mA): 6250

  • Receiving current (mA): 37.5

  • Idle mode current (mA): 1.6

  • Voltage (V): 48

The power model is disabled by default, it can be enabled in physical layer of an underwater device. Right click on underwater device properties > Interface 1(Acoustic) > Physical layer

_images/Figure-41.png

Figure-4: Power model in UWAN.

Energy Calculation

The energy calculations for each packet in each mode is given below. This data is logged in NetSim’s energy log file.

\[Transmitting\ Energy\ (mJ) = \frac{Voltage(V) \times ModeCurrent(mA) \times (CurrentTime - ModeSwitchTime)(ms)}{10^{3}}\]
\[Receiving\ Energy\ (mJ) = \frac{Voltage(V) \times ModeCurrent(mA) \times (CurrentTime - ModeSwitchTime)(ms)}{10^{3}}\\]
\[Idle\ Energy\ (mJ) = \frac{Voltage(V) \times ModeCurrent(mA) \times (CurrentTime - ModeSwitchTime)(ms)}{10^{3}}\\]
\[Consumption\ Energy\ (mJ) = Transmitting\ Energy\ (mJ) + Receiving\ Energy(mJ) + Idle\ Energy(mJ)\\]

where current time minus mode-switch-time is the time for which the node is in a particular mode.