Introduction

Julia toolbox for underwater acoustic modeling

Overview

The UnderwaterAcoustics.jl ecosystem provides a set of tools for modeling and simulating underwater acoustic propagation. The main package, UnderwaterAcoustics.jl, defines the core application programming interface (API), and provides a set of core differentiable propagation models and utilities. It also provides support for replay channels, where measurements from the ocean are used to empirically construct channel models. The package is designed to be extensible, allowing other packages to add models to the ecosystem.

The AcousticsToolbox.jl package adds support for popular benchmark Fortran models from the Ocean Acoustic Library (OALIB) such as the Bellhop ray tracer and Kraken normal mode models. The AcousticRayTracers.jl package provides a fully differentiable ray tracer RaySolver written in Julia.

The VirtualAcousticOcean.jl package enables real-time acoustic simulation of underwater communication networks and sonar systems.

Highlights

  • Underwater acoustic propagation modeling API with pluggable models
  • Differentiable and probabilistic underwater acoustic models
  • 2D/3D underwater acoustic simulation tools
  • Replay channel and noise models
  • Underwater acoustics utility functions
Breaking changes

The API has changed significantly in UnderwaterAcoustics.jl v0.4. If you have code that depends on the old API, you may wish to refer to the porting guide before you upgrade.

Installation

using Pkg
Pkg.add("UnderwaterAcoustics")

Getting started

Tutorials

Contributing

Contributions in the form of bug reports, feature requests, ideas/suggestions, bug fixes, code enhancements, and documentation updates are most welcome. Please read contribution guidelines if you wish to start contributing.

Talks & publications

Citing

If you use UnderwaterAcoustics.jl in your work or are influenced by its ideas, please cite:

@inproceedings{chitre2023ua,
  author={Chitre, Mandar},
  booktitle={OCEANS 2023 - Limerick},
  title={Differentiable Ocean Acoustic Propagation Modeling},
  year={2023},
  pages={1-8},
  doi={10.1109/OCEANSLimerick52467.2023.10244307}
}