Synthetic Underwater Acoustic Dataset — SKANN-SSL

A Physics-Grounded Synthetic Underwater Acoustic Dataset for Underwater Domain Awareness

Full-factorial waveform generation from first-principle acoustic models, with corrected ambient noise, physics-based cavitation, and worked verification calculations

Oravont Systems LLP
Domain: Underwater Domain Awareness · Digital Technology and AI Applications


1. Introduction

Passive acoustic monitoring is a cornerstone of underwater domain awareness. Hydrophone arrays deployed on the seabed, towed behind ships, or integrated into autonomous buoys continuously record the acoustic environment. The challenge is not data collection — it is interpretation. Real underwater recordings are voluminous, unlabelled, and expensive to annotate. This creates a fundamental bottleneck for machine learning approaches that require labelled training data.

Classical sonar analysis — LOFAR (Low Frequency Analysis and Recording), DEMON (Detection of Envelope Modulation on Noise), and spectrogram interpretation — remains the standard for vessel classification. These methods are powerful but require trained operators and cannot scale to persistent, autonomous monitoring across wide maritime areas.

This article describes the design, physics, and verification of a synthetic underwater acoustic dataset built to address this gap. The dataset provides 12,000 physics-grounded waveforms covering four vessel classes and ambient ocean noise, generated from first-principle acoustic models with full-factorial parameter coverage. All quantities are maintained in physical units (Pascals, dB re 1 µPa) and verified against classical acoustic references.

When used to pre-train a self-supervised encoder (Barlow Twins SSL), this dataset produced embeddings with a silhouette score of 0.97 and 100% k-NN classification accuracy across five classes — with zero labels used during training.


2. System Architecture

The generation pipeline consists of two parallel synthesis branches — sea noise and ship noise — combined at a controlled signal-to-noise ratio.

┌────────────────────────────────────────────────────────────────┐ │ Sea Noise Generation │ │ Knudsen CSV → Piecewise Model → Coloured Noise via FFT/IFFT │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌───────────────┐ │ SNR Mix │──────▶ Output Waveform │ (+6 dB) │ (Pa, float32) └───────────────┘ ▲ │ ┌────────────────────────────────────────────────────────────────┐ │ Ship Noise Generation │ │ Spectral Synthesis: Shaft + BPF + Generator + Equipment + │ │ Resonances + Broadband │ │ Physical Model: Cavitation Bursts (200 kHz → 16 kHz) │ └────────────────────────────────────────────────────────────────┘

Both branches output pressure waveforms in Pascals. The combined output is a 5-second clip at 16 kHz sampling rate (80,000 samples), stored as float32. All synthesis is constrained to the band 10 Hz – 8,000 Hz (Nyquist).


3. Acoustic Foundations

3.1 Reference Pressure and SPL

Underwater acoustics uses a reference pressure of:

Reference Pressure
\[ p_{\text{ref}} = 1 \; \mu\text{Pa} = 10^{-6} \; \text{Pa} \]

Sound Pressure Level (SPL) is defined as:

SPL
\[ \text{SPL} = 20 \log_{10} \left( \frac{p_{\text{rms}}}{p_{\text{ref}}} \right) \quad [\text{dB re } 1\;\mu\text{Pa}] \]

where the RMS pressure over \( N \) discrete samples is:

RMS Pressure
\[ p_{\text{rms}} = \sqrt{ \frac{1}{N} \sum_{n=0}^{N-1} p^2[n] } \]

3.2 Power Spectral Density vs 1 Hz Noise Level

A common error in the literature is conflating PSD with noise level. The pressure PSD \( S_{pp}(f) \) is a density in Pa²/Hz. The noise level published in Knudsen/Wenz curves is:

PSD ↔ Noise Level
\[ \text{NL}(f) = 10 \log_{10}\!\left(\frac{S_{pp}(f)}{p_{\text{ref}}^2}\right) \quad [\text{dB re } 1\;\mu\text{Pa}^2/\text{Hz}] \] \[ S_{pp}(f) = p_{\text{ref}}^2 \times 10^{\,\text{NL}(f)/10} \quad [\text{Pa}^2/\text{Hz}] \]

They are numerically equal only when the integration bandwidth is exactly 1 Hz. This dataset uses \( S_{pp}(f) \) as the primary spectral quantity throughout.

3.3 The +6 dB Detectability Rule

SNR Definition
\[ \text{SNR} = \text{SPL}_{\text{ship}} - \text{SPL}_{\text{sea}} = +6 \; \text{dB} \]

A +6 dB gap corresponds to the signal's RMS pressure being approximately twice the ambient level (power ratio of 4×), providing clear visibility of tonal lines and broadband features in standard LOFAR and DEMON analysis.

3.4 The \( p^2 \) vs \( p \) Synthesis Rule

Modelling \( p^2(t) \) directly is incorrect because squaring introduces spectral components at \( 2f \) for every tone at \( f \), distorts broadband Gaussian statistics, and makes PSD reconstruction impossible. The correct procedure is always:

\( \text{PSD} \;\rightarrow\; \text{amplitude spectrum} \;\rightarrow\; \text{random phase} \;\rightarrow\; \text{IFFT} \;\rightarrow\; p(t) \)


4. Sea Noise Model

Sea noise is generated using a piecewise parametric model based on digitised Knudsen curves.

4.1 Knudsen Model

The noise level (NL) in each frequency band follows:

Knudsen Piecewise Model
\[ \text{NL}(f) = a \cdot \log_{10}(f) + b \quad [\text{dB re } 1\;\mu\text{Pa}^2/\text{Hz}] \]

where \( a \) (slope) and \( b \) (intercept) are fitted from digitised Knudsen curves for each sea state.

4.2 Frequency Bands

BandFrequency RangePhysical MechanismBehaviour
Turbulence10 Hz – \( f_t \) (~38 Hz)Hydrodynamic turbulenceFlat plateau
LF\( f_t \) – 200 HzWind/mechanicalRising
MF200 Hz – 500 HzTransitionShoulder (Kießling)
HF500 Hz – 8,000 HzWind-drivenDecay

The turbulence–LF transition frequency \( f_t \) is calculated as the intersection of the turbulence plateau and the LF regression line:

Transition Frequency
\[ f_t = 10^{\,(b_{\text{turb}} - b_{\text{LF}}) / a_{\text{LF}}} \]
Sample Calculation: Sea State 3 Transition

Using SS3 fitted coefficients \( b_{\text{turb}} = 57.75 \), \( b_{\text{LF}} = 36.29 \), \( a_{\text{LF}} = 13.30 \):

\[ f_t = 10^{\,(57.75 - 36.29)/13.30} = 10^{1.614} = 41.1 \;\text{Hz} \]

This places the turbulence–wind transition in the expected range for moderate sea states.

4.3 Waveform Synthesis (IFFT Method)

The sea noise waveform is generated via spectral synthesis:

Sea Noise Synthesis Pipeline

Step 1. Compute target PSD from Knudsen model:

\[ S_{pp}(f_k) = p_{\text{ref}}^2 \times 10^{\,\text{NL}(f_k)/10} \]

Step 2. Convert PSD to amplitude spectrum:

\[ A[k] = \sqrt{S_{pp}(f_k) \cdot \Delta f} \quad \text{where } \Delta f = f_s / N \]

Step 3. Apply random phases:

\[ \phi[k] \sim \mathcal{U}(0, 2\pi) \]

Step 4. Construct complex spectrum:

\[ X[k] = A[k] \cdot e^{j\phi[k]}, \quad X[N-k] = X^*[k] \]

Step 5. Inverse FFT with scaling:

\[ p[n] = \sqrt{N} \cdot \text{IFFT}\{X[k]\} \]

The \( \sqrt{N} \) scaling ensures correct physical units (Pascals).

4.4 Sea State Levels

Sea StateRMS (Pa)SPL (dB re 1 µPa)Description
00.007477.4Calm (glassy)
10.023487.4Light air
30.047993.6Gentle breeze
60.1479103.4Strong breeze
Knudsen Curve
Classic Knudsen/Wenz ambient noise spectra by sea state

5. Ship Noise Model

Ship noise is generated using a hybrid approach: spectral synthesis for deterministic components and a physical burst model for cavitation.

5.1 Vessel Classes

Vessel ClassShaft Rate (Hz)BladesBPF Range (Hz)Cav. Peak (Hz)
Tanker1.0 – 1.54 – 64 – 9400
Cargo Ship1.5 – 2.54 – 56 – 12.5600
Fishing Vessel4.0 – 8.03 – 412 – 321,500
Small Craft15.0 – 30.02 – 345 – 905,000

The shaft rate ranges are non-overlapping — a critical design decision. Earlier versions used overlapping ranges (fishing vessels 3–8 Hz, small craft 5–12 Hz), which caused catastrophic failure in downstream representation learning. The non-overlapping design ensures acoustic distinguishability at the fundamental tonal level.

5.2 Acoustic Components

The ship noise signal comprises six component types:

1. Shaft Rate Harmonics.

Shaft Harmonics
\[ f_{\text{shaft},h} = f_0 \cdot h, \quad h = 1, 2, \ldots, N_{\text{harmonics}} \]

where \( f_0 \) is the shaft rotation frequency. Amplitude decays at 3 dB per harmonic.

2. Blade Pass Frequency (BPF) Harmonics.

Blade Pass Frequency
\[ f_{\text{BPF},h} = (f_0 \cdot n_{\text{blades}}) \cdot h, \quad h = 1, 2, \ldots, N_{\text{BPF}} \]

BPF is the dominant tonal component. Amplitude decays at 4 dB per harmonic.

Sample Calculation: Cargo Ship Tonal Structure

Cargo ship with \( f_0 = 2.0 \) Hz, \( n_{\text{blades}} = 4 \):

Shaft harmonics: 2.0, 4.0, 6.0, 8.0 Hz, …

BPF = \( 2.0 \times 4 = 8.0 \) Hz

BPF harmonics: 8.0, 16.0, 24.0, 32.0 Hz, …

All within the low-frequency band critical for long-range detection in LOFAR analysis.

3. Generator Harmonics.

Generator Harmonics
\[ f_{\text{gen},h} = f_{\text{gen}} \cdot h, \quad f_{\text{gen}} \in \{50, 60\} \;\text{Hz} \]

Level is 10 dB below shaft harmonics.

4. Equipment Running Frequency. Shipboard machinery (pumps, compressors, fans) at synchronous motor speed: 25 Hz (50 Hz supply, 1500 RPM) or 30 Hz (60 Hz supply, 1800 RPM). Level is 15 dB below shaft harmonics with 4–7 harmonics.

5. Structural Resonances. Random narrowband tonals from ship structure: hull modes (50–150 Hz), foundation/mounting (100–300 Hz), piping/ductwork (200–500 Hz). Two to three resonances are selected per clip, 15 dB below shaft harmonics.

6. Broadband Flow Noise. Flow/turbulence noise with a frequency-dependent spectrum:

Flow Noise Spectrum
\[ \text{PSD}(f) = \begin{cases} \text{PSD}_{\text{ref}} & f \leq 500 \;\text{Hz} \\ \text{PSD}_{\text{ref}} - 3 \cdot \log_2\!\left(\frac{f}{500}\right) & f > 500 \;\text{Hz} \end{cases} \]

Flat below 500 Hz, then −3 dB/octave rolloff.

5.3 Cavitation Burst Model

Cavitation is modelled as discrete bubble collapse events using a physical approach.

Generation at 200 kHz. Bursts are generated at 200 kHz sampling rate (5 µs resolution) to capture the microsecond-scale collapse physics, then downsampled to 16 kHz with anti-aliasing.

Blade-gated timing. Bursts occur within activity windows synchronised to blade passage:

Cavitation Timing Window
\[ t_{\text{window}} = t_{\text{blade}} \pm \frac{\alpha \cdot T_{\text{blade}}}{2}, \quad \alpha = 0.2 + 0.3 \cdot I_{\text{cav}} \]

where \( T_{\text{blade}} = 1/f_{\text{BPF}} \) and \( I_{\text{cav}} \in [0, 1] \) is cavitation intensity.

Burst types. Three burst envelope types with different physical origins:

TypeProportionEnvelopeDuration
Collapse60%Sharp attack, exponential decay10 – 100 µs
Cloud30%Gaussian envelope100 µs – 1 ms
Sheet10%Oscillatory1 – 10 ms

Rayleigh collapse time. The single-bubble collapse duration is:

Rayleigh Collapse
\[ \tau_{\text{collapse}} = 0.915 \cdot R_{\text{bubble}} \cdot \sqrt{\frac{\rho_{\text{water}}}{\Delta P}} \]

where \( R_{\text{bubble}} \sim \text{LogNormal}(\ln(50\;\mu\text{m}),\; 0.5) \).

Sample Calculation: Rayleigh Collapse Time

For a bubble with \( R = 50 \; \mu\text{m} = 5 \times 10^{-5} \; \text{m} \), \( \rho = 1025 \; \text{kg/m}^3 \), \( \Delta P = 10^5 \; \text{Pa} \) (1 atm):

\[ \tau = 0.915 \times 5 \times 10^{-5} \times \sqrt{\frac{1025}{10^5}} = 4.575 \times 10^{-5} \times \sqrt{0.01025} \]

\[ = 4.575 \times 10^{-5} \times 0.1012 = 4.63 \;\mu\text{s} \]

At 200 kHz (\( T_s = 5 \;\mu\text{s} \)), this collapse occupies approximately 1 sample — confirming why 200 kHz generation is necessary. Larger bubbles (100–500 µm) produce collapses of 10–100 µs, requiring 2–20 samples at 200 kHz.

Chaos parameters. Three randomisation factors create realistic spectrograms: intensity variation (±20% per blade, simulating wake non-uniformity), RPM jitter (±2% timing noise from governor hunting), and envelope wander (0.5 Hz modulation from sea state effects).

Raw burst amplitude is scaled by a gain factor (CAVITATION_GAIN = 0.001) to achieve approximately −10 dB relative to tonal components.


6. SNR-Controlled Mixing

The ship and sea waveforms are combined at a controlled signal-to-noise ratio:

SNR Mixing
\[ \text{SNR}_{\text{dB}} = 20 \log_{10}\!\left(\frac{\text{RMS}_{\text{ship}}}{\text{RMS}_{\text{sea}}}\right) = +6 \;\text{dB} \]

The ship waveform is scaled by:

\[ \text{scale} = \frac{\text{RMS}_{\text{sea}} \times 10^{6/20}}{\text{RMS}_{\text{ship,raw}}} \]

Combined waveform:

\[ x_{\text{combined}}(t) = x_{\text{sea}}(t) + \text{scale} \cdot x_{\text{ship,raw}}(t) \]

7. Physical Units Verification

All output levels were verified against classical acoustic references. The following worked example uses Sea State 3 as the reference condition.

Sea State 3 — Complete Verification Chain

Sea noise:

\[ p_{\text{rms,sea}} = 0.0479 \;\text{Pa} \]

\[ \text{SPL}_{\text{sea}} = 20 \log_{10}\!\left(\frac{0.0479}{10^{-6}}\right) = 20 \times 4.680 = 93.6 \;\text{dB re } 1\;\mu\text{Pa} \quad \checkmark \]

Ship noise at +6 dB:

\[ p_{\text{rms,ship}} = 0.0479 \times 10^{6/20} = 0.0479 \times 1.9953 = 0.0955 \;\text{Pa} \]

\[ \text{SPL}_{\text{ship}} = 20 \log_{10}\!\left(\frac{0.0955}{10^{-6}}\right) = 99.6 \;\text{dB re } 1\;\mu\text{Pa} \quad \checkmark \]

Combined signal (power addition):

\[ p_{\text{rms,combined}} = \sqrt{p_{\text{rms,sea}}^2 + p_{\text{rms,ship}}^2} = \sqrt{0.0479^2 + 0.0955^2} \]

\[ = \sqrt{0.002295 + 0.009120} = \sqrt{0.011415} = 0.1068 \;\text{Pa} \]

\[ \text{SPL}_{\text{combined}} = 20 \log_{10}\!\left(\frac{0.1068}{10^{-6}}\right) = 100.6 \;\text{dB re } 1\;\mu\text{Pa} \quad \checkmark \]

Verification: combined SPL (100.6 dB) is 1.0 dB above ship SPL (99.6 dB), which is the expected result for incoherent addition of two signals where one is 6 dB below the other. ✓


8. Full-Factorial Dataset Design

8.1 Design Factors

FactorLevelsCountNotes
Sea State{0, 1, 3, 6}4Knudsen model
Vessel Class{small_craft, fishing, cargo, tanker}4Determines shaft rate range
Blade Count{3, 4, 5}3Overrides vessel default
Generator Freq{0, 50} Hz20 = no generator
Cav. Intensity{0.0, 0.333, 0.667, 1.0}40.0 = no cavitation

8.2 Dataset Size

Combinatorial Count
\[ N_{\text{vessel}} = 4 \times 4 \times 3 \times 2 \times 4 \times 25 = 9{,}600 \;\text{clips} \] \[ N_{\text{ambient}} = 4 \times 1 \times 25 \times 24 = 2{,}400 \;\text{clips} \] \[ N_{\text{total}} = 9{,}600 + 2{,}400 = 12{,}000 \;\text{clips} \]

8.3 Randomised Parameters

Within each factorial combination, the following are randomised per repetition: shaft rate (within vessel class range), structural resonance frequencies (2–3 per clip), cavitation burst timing and carrier frequencies, phase of all spectral components, and the sea noise realisation.

8.4 Reproducibility

Deterministic Seeding
\[ \text{seed}_{\text{clip}} = 10{,}000 + \text{clip\_id} \]

Separate RNG streams for sea noise (seed + 1) and ship noise (seed + 2) ensure bitwise reproducibility.

Full Dataset Infographic
Full dataset infographic

9. Spectral Analysis Validation

To verify that the generator produces acoustically realistic waveforms, individual clips were analysed using the same classical sonar techniques applied to real hydrophone recordings. The following example uses a cargo ship clip with 4 blades, shaft rate 2 Hz (120 RPM), BPF = 8 Hz, equipment at 25 Hz (1500 RPM), and cavitation at 759 Hz and 3200 Hz.

9.1 LOFAR Display (0–30 Hz)

The LOFAR (Low Frequency Analysis and Recording) display shows the narrowband tonal structure in the low-frequency regime. All expected spectral lines are present at their correct frequencies:

LOFAR Display

Figure 1: LOFAR Display (0–30 Hz) — Shaft frequency at 2 Hz, 2×Shaft at 4 Hz, BPF at 8 Hz with 2×BPF harmonic at 16 Hz, and Equipment running frequency at 25 Hz. All lines are stable across the 1-second observation window, consistent with steady-state vessel transit.

The shaft rate (2 Hz) and its second harmonic (4 Hz) are clearly visible. The blade-pass frequency at 8 Hz is the dominant tonal, with its second harmonic at 16 Hz. The equipment line at 25 Hz (corresponding to a 50 Hz supply, 1500 RPM synchronous motor) appears at the expected position. This tonal ladder is exactly what a sonar operator would see on a real LOFAR gram of a cargo vessel.

9.2 Wideband Spectrogram (0–8 kHz)

The wideband spectrogram reveals the mid- and high-frequency structure, including cavitation bands and generator harmonics:

Wideband Spectrogram

Figure 2: Spectrogram (0–8 kHz) — Cavitation energy concentrated at 759 Hz and 3200 Hz (blade-gated bursts), with 50 Hz generator harmonics visible in the low-frequency band. The broadband flow noise floor shows the expected −3 dB/octave rolloff above 500 Hz.

The two cavitation bands are clearly separated, matching the generator's vessel-specific peak frequencies. The 50 Hz generator harmonics form a regular comb pattern in the lowest portion of the spectrogram. The ambient noise floor follows the expected spectral shape from the corrected Knudsen model.

9.3 DEMON Analysis

DEMON (Detection of Envelope Modulation on Noise) analysis extracts the modulation spectrum from the cavitation band (759–3200 Hz). This technique reveals the shaft rate and blade-pass modulation imposed on the broadband cavitation noise:

DEMON Analysis

Figure 3: DEMON Analysis (cavitation band 759–3200 Hz) — Clear modulation peaks at shaft rate (2 Hz), BPF (8 Hz), and BPF harmonics (16, 24, 32, 40 Hz). The 3×shaft sideband structure (6 Hz) is also visible, confirming blade-gated cavitation timing.

The DEMON output confirms that the cavitation burst model's blade-gated timing produces the correct modulation structure. The dominant peak at 8 Hz (BPF) with harmonics at 16, 24, 32, and 40 Hz is precisely what DEMON analysis extracts from real cavitating vessels. The shaft rate (2 Hz) and its harmonics appear as sidebands, confirming that the burst timing is properly synchronised to propeller rotation.

These three independent analyses — LOFAR, spectrogram, and DEMON — validate that the synthetic waveforms contain the acoustic signatures that classical sonar techniques are designed to detect, at the correct frequencies and with realistic spectral relationships.


10. Downstream Validation

The dataset was used to pre-train a self-supervised encoder (Barlow Twins, 512-dim backbone embeddings). No labels were used during training. The pairing manifest defined positive pairs based on shared vessel class.

SSL Encoder Results (V3 on V5 Dataset)
MetricValue
Silhouette Score (cosine, backbone)0.9697
k-NN Accuracy (k=5, 5-fold CV)100%
Labels Used in TrainingZero
Classes5 (tanker, cargo, fishing, small craft, ambient)

The silhouette score of 0.97 indicates near-perfect cluster separation, confirming that the physics-grounded synthetic data contains sufficient acoustic structure for self-supervised methods to learn discriminative vessel representations without any human annotation.


11. Known Limitations

Current Limitations

1. Doppler not implemented. Doppler-induced frequency shifts from relative vessel–hydrophone motion were deprioritised. Can be added as post-processing if needed for CPA (Closest Point of Approach) scenarios.

2. Single-source model. Each clip contains one vessel (or ambient only). Multi-source scenarios — multiple simultaneous vessels at different bearings and ranges — require extension of the mixing pipeline.

3. Stationary statistics. Each clip has fixed acoustic parameters throughout its 5-second duration. Time-varying scenarios such as CPA approach geometry, speed changes, or manoeuvring events are not modelled.

4. No propagation effects. Multipath arrivals, surface and bottom reflections, range-dependent attenuation, and shallow-water waveguide effects are not included. The current model assumes a direct-path, range-independent scenario.

5. Synthetic only. The dataset has not yet been validated against labelled real-world recordings. Integration with publicly available datasets (NOAA NCEI Passive Acoustic Archives, MBARI Hydrophone Dataset, JAMSTEC Underwater Observatory Recordings, DCLDE Workshop Datasets) is planned for final validation.


12. Dataset Availability

The full dataset is publicly available under CC BY 4.0:

Repository: github.com/suniltyagialtair/Underwater-Acoustic-Synthetic-Dataset

12,000 clips · 5 seconds each · 16 kHz · 4 vessel classes + ambient · Full-factorial design · All physical units in Pascals

Built by Oravont Systems LLP.


References

[1] Knudsen, V. O., Alford, R. S., Emling, J. W. (1948). "Underwater Ambient Noise." J. Marine Research, 7(3), 410–429.
[2] Wenz, G. M. (1962). "Acoustic Ambient Noise in the Ocean: Spectra and Sources." JASA, 34(12), 1936–1956.
[3] Ross, D. (1976). Mechanics of Underwater Noise. Pergamon Press.
[4] Urick, R. J. (1983). Principles of Underwater Sound. 3rd ed., McGraw-Hill.
[5] Kießling, A. (1993–2004). Modern ambient noise parametrisation for deep-water measurements.
[6] Rayleigh, Lord (1917). "On the Pressure Developed in a Liquid During the Collapse of a Spherical Cavity." Phil. Mag., 34, 94–98.
[7] Zbontar, J., Jing, L., Misra, I., LeCun, Y., Deny, S. (2021). "Barlow Twins: Self-Supervised Learning via Redundancy Reduction." ICML 2021.

About: This work was developed by Oravont Systems LLP as part of the SKANN-SSL project for underwater domain awareness applications.

Also published on LinkedIn · More working notes at suniltyagi.in