# Sonar Equation Calculator

Estimate maximum range, SNR, transmission loss and source level of a sonar system

## Description

The **Sonar Equation Calculator** app solves the basic sonar equation
for monostatic sonar systems. The sonar equation relates transmission loss (or target
range), source level, directivity, noise level, target strength, and signal SNR. You can
solve for one of these quantities in terms of the others. Using this app, you
can:

Calculate the received SNR value from transmission loss (or equivalently, target range), source level, and noise level.

Solve for transmission loss from sonar source level of the sonar, specified received SNR, and array directivity.

Solve for target range from sonar source level of the sonar, specified received SNR, and array directivity.

Calculate required source level from target range, source level, and received SNR.

## Open the Sonar Equation Calculator App

MATLAB

^{®}Toolstrip: On the**Apps**tab, under**Signal Processing and Communications**, click the app icon.MATLAB command line: Enter

`sonarEquationCalculator`

.

## Examples

## Parameters

`Calculation`

— Select type of calculation

`Target Range`

(default) | `Transmission Loss`

| `Source Level`

| `SNR`

Select the type of calculation:

`Target Range`

-— solves for the maximum target range based on source level of the sonar and required received SNR.`Transmission Loss`

-— computes the required transmit power from known target range and required received SNR.`Source Level`

-— computes the source level from the range or transmission loss, and received SNR.`SNR`

-— calculates the received SNR value based on known range and transmit power.

`Mode`

— Type of sonar

`Active`

(default) | `Passive`

Specify whether the sonar is operating in active mode or passive mode. Active mode means that a signal is transmitted from a source, reflects off a target, and returns to the receiver which is collocated with the source. Active mode requires the specification of the reflector target strength. Passive mode means that the signal is transmitted from a source to a receiver along a direct path.

`Noise Level`

— Noise Level

`70`

(default) | scalar

Noise level at sonar receiver, specified as a scalar. Units are dB//1μP.

`Directivity Index`

— Directivity index of receive array or element

`20`

(default) | scalar

Directivity index of receive array or element, specified as a scalar. Units are dB.

`Target Strength`

— Target strength of reflector

`25`

(default) | scalar

Target strength of reflector, specified as a scalar. Units are
dB//1m^{2}.

#### Dependencies

To enable this parameter, set the **Mode** parameter
to `Active`

.

`Frequency`

— Sound frequency

`2`

(default) | positive scalar

Sound frequency, specified as a positive scalar. Default units are in kHz.
You can also select `Hz`

,
`kHz`

, or
`MHz`

.

`Depth`

— Water channel depth

`10000`

(default) | positive scalar

Water channel depth. Default units are meters. You can select units in
`m`

, `km`

,
`mi`

, or `nmi`

.

`Source Level`

— Source level of sonar transmitter

`220`

(default) | scalar

Source level of sonar transmitter, specified as a scalar. Units are dB//1 μP.

`SNR`

— Output signal-to-noise ratio at receiver

`10`

(default)

Specify an SNR value, or calculate an SNR value using the
**Detection Specifications for SNR** options. You can
calculate the SNR required to achieve a particular probability of detection
and probability of false alarm using the Shnidman equation. To calculate the
SNR value:

Click the arrows to the right of the

**SNR**label to access the**Detection Specifications for SNR**options.Enter values for

**Probability of Detection**,**Probability of False Alarm**,**Number of Pulses**, and**Swerling Case Number**.

#### Dependencies

To enable this parameter, set **Calculation** to
`Target Range`

, ```
Transmission
Loss
```

, or `Source Level`

.

`Probability of Detection`

— Detection probability used to estimate SNR

`0.81029`

(default)

Specify the detection probability used to estimate SNR using the Shnidman equation.

#### Dependencies

To enable this parameter, set **Calculation** to
`Target Range`

, ```
Transmission
Loss
```

, or `Source Level`

, and
select the **Detection Specifications for SNR** options
for the **SNR** parameter.

`Probability of False Alarm`

— False alarm probability used to estimate SNR

`0.001`

(default)

Specify the false alarm probability used to estimate SNR using the Shnidman equation.

#### Dependencies

To enable this parameter, set **Calculation** to
`Target Range`

, ```
Transmission
Loss
```

, or `Source Level`

, and
access the **Detection Specifications for SNR** options
for the **SNR** parameter.

`Number of Pulses`

— Number of pulses used to estimate SNR

`1`

(default)

Specify the number of pulses. You can specify multiple pulses for noncoherent integration in the Shnidman equation.

#### Dependencies

To enable this parameter, set **Calculation** to
`Target Range`

, ```
Transmission
Loss
```

, or `Source Level`

, and
select the **Detection Specifications for SNR** options
for the **SNR** parameter.

`Swerling Case Number`

— Swerling case number used estimate SNR

`0`

(default) | `1`

| `2`

| `3`

| `4`

Specify the Swerling case number used to estimate SNR using the Shnidman equation. Swerling numbers characterize the detection problem for fluctuating pulses in terms of:

a decorrelation model for the received pulses.

the distribution of scatterers affecting the probability density function (pdf) of the target radar cross section (RCS).

The Swerling cases include two decorrelation models (scan-to-scan or pulse-to-pulse) and two radar cross section pdfs (based on the presence or absence of a dominant scatterer):

– Nonfluctuating pulses.`0`

– Scan-to-scan decorrelation: Several randomly distributed scatterers with no dominant scatterer described by a Rayleigh/exponential PDF.`1`

– Pulse-to-pulse decorrelation: Several randomly distributed scatterers with no dominant scatterer described by a Rayleigh/exponential PDF.`2`

– Scan-to-scan decorrelation: Several scatterers with one dominant scatterer described by a chi-square PDF with 4 degrees of freedom.`3`

– Pulse-to-pulse decorrelation: Several scatterers with one dominant scatterer described by a chi-square PDF with 4 degrees of freedom.`4`

#### Dependencies

To enable this parameter, set **Calculation** to
`Target Range`

, ```
Transmission
Loss
```

, or `Source Level`

, and
select the **Detection Specifications for SNR** options
for the **SNR** parameter.

`Transmission Loss`

— Transmission loss in channel

`78.0614`

(default) | scalar

Transmission loss in channel, specified as a scalar. Units are dB. For
passive sonar modeling, specify a one-way transmission loss. For active
sonar modeling, specify a two-way transmission loss. You can specify a
transmission loss value, or calculate transmission loss using the
**Calculation of Transmission Loss** options.

To calculate transmission loss:

Click the arrows to the right of the

**Transmission Loss**label to access the**Calculation of Transmission Loss**menu.Enter values for

**Target Range**,**Frequency**, and**Depth**.

#### Dependencies

To enable this parameter, set **Calculation** to
`Source Level`

or
`SNR`

.

`Target Range`

— Target range

`10000`

(default) | positive scalar

Target range, specified as a positive scalar. When
**Mode** is `Passive`

, target
range is from source to receiver. When **Mode** is
`Active`

, target range is from source to
reflecting target. Default units are in meters. You can also select
`km`

, `mi`

, or
`nmi`

.

#### Dependencies

To enable this parameter, set the **Calculation**
parameter to `Source Level`

or
`SNR`

and click the arrow next to
**Calculation of Transmission Loss**.

`Frequency`

— Signal frequency

`2`

(default) | positive scalar

Signal frequency, specified as a positive scalar. Default units are in
kHz. You can also select `Hz`

,
`kHz`

, and
`MHz`

.

#### Dependencies

To enable this parameter, set **Calculation** to
`Source Level`

or
`SNR`

and click the arrow next to
**Calculation of Transmission Loss**.

`Depth`

— Channel depth

`10000`

(default) | positive scalar

Channel depth, specified as a positive scalar. Default units are in
meters. You can also select `km`

,
`mi`

, and
`nmi`

.

#### Dependencies

To enable this parameter, set the **Calculation**
parameter to `Source Level`

or
`SNR`

and click the arrow next to
**Calculation of Transmission Loss**.

**Introduced in R2017b**