Underwater acoustics

Utility functions:

UnderwaterAcoustics.absorptionFunction
absorption(frequency)
absorption(frequency, distance)
absorption(frequency, distance, salinity)
absorption(frequency, distance, salinity, temperature)
absorption(
    frequency,
    distance,
    salinity,
    temperature,
    depth
)
absorption(
    frequency,
    distance,
    salinity,
    temperature,
    depth,
    pH
)

Compute volume acoustic absorption coefficient in water, given:

  • frequency in Hz
  • distance in meters
  • salinity in ppm
  • water temperature in °C
  • depth in meters
  • pH of water

Implementation based on the Francois-Garrison model.

source
UnderwaterAcoustics.bubbleresonanceFunction
bubbleresonance(radius)
bubbleresonance(radius, depth)
bubbleresonance(radius, depth, γ)
bubbleresonance(radius, depth, γ, p0)
bubbleresonance(radius, depth, γ, p0, ρ)

Compute resonance frequency of a freely oscillating has bubble in water, given:

  • bubble radius in meters
  • depth of bubble in water in meters
  • gas ratio of specific heats 'γ', default: 1.4 (for air)
  • atmospheric pressure 'p0', default: 1.013e5
  • density of water 'ρ' in kg/m³, default: 1022.476

This ignores surface-tension, thermal, viscous and acoustic damping effects, and the pressure-volume relationship is taken to be adiabatic. Implementation based on Medwin & Clay (1998).

source
UnderwaterAcoustics.dBperλMethod
dBperλ(x)

Compute dimensionless absorption coefficient δ from dB/λ. Implementation based on APL-UW TR 9407 (1994), IV-9 equation (4).

source
UnderwaterAcoustics.dopplerFunction
doppler(speed, frequency)
doppler(speed, frequency, c)

Compute Doppler frequency, given relative speed between transmitter and receiver in m/s. c is the nominal sound speed in water.

source
UnderwaterAcoustics.indBperλMethod
indBperλ(δ)

Compute dB/λ from dimensionless absorption coefficient δ. Implementation based on APL-UW TR 9407 (1994), IV-9 equation (4).

source
UnderwaterAcoustics.reflectioncoefFunction
reflectioncoef(θ, ρᵣ, cᵣ)
reflectioncoef(θ, ρᵣ, cᵣ, δ)

Compute complex reflection coefficient at a fluid-fluid boundary, given:

  • angle of incidence θ (angle to the surface normal)
  • relative density of the reflecting medium to incidence medium ρᵣ
  • relative sound speed of the reflecting medium to incidence medium cᵣ
  • dimensionless absorption coefficient δ

Implementation based on Brekhovskikh & Lysanov. Dimensionless absorption coefficient based on APL-UW Technical Report 9407.

source
UnderwaterAcoustics.soundspeedFunction
soundspeed()
soundspeed(temperature)
soundspeed(temperature, salinity)
soundspeed(
    temperature,
    salinity,
    depth;
    voidfrac,
    cgas,
    reldensity
)

Compute sound speed in water in m/s, given:

  • water temperature in °C
  • salinity in ppm
  • depth in meters
  • void fraction (voidfrac) in bubbly water
  • sound speed in gas (cgas), if voidfrac > 0
  • ratio of density of water to gas (reldensity), if voidfrac > 0

Implementation based on Mackenzie (1981), Wood (1964) and Buckingham (1997).

source
UnderwaterAcoustics.surfacelossMethod
surfaceloss(windspeed, frequency, θ)

Compute surface reflection coefficient, given:

  • windspeed in m/s
  • frequency in Hz
  • angle of incidence θ (angle to the surface normal)

Implementation based on the APL-UW Technical Report 9407 II-21.

source
UnderwaterAcoustics.waterdensityFunction
waterdensity()
waterdensity(temperature)
waterdensity(temperature, salinity)

Compute density of water (kg/m^3), given temperature in °C and salinity in ppm.

Implementation based on Fofonoff (1985 - IES 80).

source