OCEANS 2026 Tutorial

A Hands-On Tutorial on the Underwater Acoustic Channel Library

Half-Day Tutorial · OCEANS 2026
Monday, September 21, 2026 · 08:30 to 12:30
Monterey Conference Center, Monterey, CA, USA
Project site: uwa-channels.github.io  ·  GitHub: github.com/uwa-channels
Register for OCEANS 2026 Conference schedule Set up before you arrive

Before you arrive: install the toolbox and download the channel files at home. The files are large, and the room network will not carry 100 people downloading them at once. See the Pre-Tutorial Setup Guide.

About This Tutorial

Reproducible evaluation of underwater acoustic receivers requires the ability to drive any candidate signal through a realistic channel and a realistic noise field, with full control over the experimental conditions. Most researchers solve this problem in private, with code and channel files that never leave the originating laboratory.

The Underwater Acoustic Channel Library, available at github.com/uwa-channels, removes this barrier. It provides eight measured channels, recorded in the North Atlantic, off Martha's Vineyard, across the eastern North Pacific, off Kauai, in a Norwegian fjord, off the coast of Japan, near Singapore, and in the Mariana Trench. Together they span transmission ranges from tens of meters to thousands of kilometers and center frequencies from 75 Hz to 25 kHz. The channel data is archived on Zenodo under doi:10.5281/zenodo.21287414.

World map marking the recording sites of the eight channels: blue and purple in the western North Atlantic, brown spanning the eastern North Pacific from California to Hawaii, yellow off Hawaii, green off Norway, pink off Japan, red at Singapore, and black at the Mariana Trench.
The eight channels in the Library and where each was recorded. The brown channel is marked twice, at its transmitter and its receiver, because the two sit thousands of kilometers apart.

The companion MATLAB and Python toolboxes implement three core operations: replay (pass any signal through a measured channel), noisegen (generate realistic ocean noise), and unpack (reconstruct the full time-varying impulse response from the compressed storage format).

This tutorial walks you through integrating the toolbox into your evaluation pipeline. You will leave with working code on your laptop that replays your own signals through several measured channels and adds realistic noise, and with a clear mental model of the underlying representations and assumptions.

Who Should Attend

Graduate students, postdoctoral researchers, early-career faculty, and practicing engineers working on underwater acoustic communications, signal processing, channel modeling, or machine learning for ocean signals. The tutorial is also suitable for newcomers from adjacent fields (terrestrial wireless, geophysics, machine learning) who want to access measured underwater data without first running their own sea trials.

Prerequisites

Learning Objectives

By the end of the tutorial, you will be able to:

Instructors

Zhengnan Li (Member, IEEE)

Assistant Professor of Electrical and Computer Engineering at The University of Alabama, Tuscaloosa, AL, USA. He received the B.S. degree in Communication Engineering from Shandong University of Technology (2016), and M.S. and Ph.D. degrees in Electrical Engineering from Northeastern University, Boston (2018, 2025). His research interests include statistical signal processing and digital communications, and their applications to underwater acoustic systems. He authored a paper that won the Best Paper Award at the 16th International Conference on Underwater Networks & Systems (WUWNet'22). He is currently an editorial board member of Scientific Reports and Scientific Reviews, an editor of IEEE Wireless Communications Letters, and a lead guest editor for IEEE Journal of Selected Areas in Communications.

Milica Stojanovic (Fellow, IEEE)

Professor of Electrical and Computer Engineering at Northeastern University. She graduated from the University of Belgrade, Serbia (1988), and received M.S. (1991) and Ph.D. (1993) degrees in electrical engineering from Northeastern University. She was a Principal Scientist at the Massachusetts Institute of Technology and in 2008 joined Northeastern University. She is also a Guest Investigator at the Woods Hole Oceanographic Institution. Her research interests include digital communications theory, statistical signal processing and wireless networks, and their applications to underwater acoustic systems. She is an Associate Editor for the IEEE Journal of Oceanic Engineering and chairs the IEEE OES Technical Committee for Underwater Communication, Navigation and Positioning. Milica is the recipient of the 2015 IEEE OES Distinguished Technical Achievement Award, 2018 IEEE OES Distinguished Lectureship, 2019 IEEE WICE Outstanding Achievement Award, and 2023 IEEE Communications Society's Stars in Computer Networking and Communications Award. In 2022, she was awarded an honorary doctorate from Aarhus University in Denmark and was elected to the Academy of Engineering Sciences of Serbia.

Schedule

Half-day single-track event (4 hours), held on the morning of Monday, September 21, 2026, within the OCEANS 2026 workshops and tutorials block. Please bring your laptop with the software pre-installed (see Setup Guide).

TimeSession
08:30 – 09:30 Introduction
Overview of underwater acoustic channels: propagation physics, multipath and Doppler, time variability, and the channel estimation methodology underlying the Library.
09:30 – 10:10 Module 1: Replay
Load a channel file, inspect its contents, generate a BPSK probe signal, call replay to drive it through the channel, and plot the received waveform, cross-correlation, and spectrum. Hands-on exercise with a channel and probe of your choosing.
10:10 – 10:30 Coffee Break ☕
10:30 – 10:50 Module 2: Ocean Noise
Call noisegen in three configurations: pink Gaussian (17 dB/decade slope), spatially correlated Gaussian across a multi-element array, and impulsive symmetric alpha-stable. Each configuration is followed by a diagnostic exercise.
10:50 – 11:10 Module 3: Unpack & Visualize
Use unpack to reconstruct the full time-varying impulse response, visualize its evolution as a delay-time waterfall, and identify physical structures (direct path, surface/bottom bounces, Doppler-induced delay drift).
11:10 – 11:40 Module 4: The Library at a Glance
Overview of the eight hosted channels, their geographic and parametric coverage, and criteria for choosing a channel. Walkthrough of the documentation website, the Zenodo record, and the GitHub organization layout (matlab, python, estimate).
11:40 – 12:20 Module 5: The estimate Repository
Walkthrough of the companion repository: estimator pipeline, probe signals and constraints, visualization scripts. Attendees with at-sea recordings can attempt a first estimation pass.
12:20 – 12:30 Wrap-Up
Contribution workflow for submitting newly estimated channels, overview of the GitHub discussion forum, and Q&A.

Materials

All materials will be available here before and after the tutorial. Template scripts will be provided in both MATLAB and Python.

Slides

Presentation slides for each module will be posted here before the tutorial.

Coming soon

Template Scripts

Hands-on exercise templates in MATLAB and Python for each module.

Coming soon

Reference Solutions

Complete solutions for all exercises, available during and after the tutorial.

Coming soon

Channel Data

Two representative channel files, archived on Zenodo under doi:10.5281/zenodo.21287414. We will announce which two ahead of the event. Please download them before the tutorial.

Zenodo: UWA Channels

Toolboxes

The MATLAB and Python toolboxes, and the estimate repository used in Module 5.

matlab · python · estimate

After the tutorial: All materials (slides, templates, reference solutions, and a recording of the live demonstrations, if one is made) will be archived here and remain freely available.

Pre-Tutorial Setup Guide

Please complete the following steps before arriving at the tutorial so that the in-room network is not a bottleneck. A detailed setup guide will be emailed to registered attendees two weeks before the event.

Download the channel files at home. A single channel file is around 200 MB, so the two files plus their noise files come to roughly half a gigabyte. Allow 1 GB of free disk space, and start the download the evening before at the latest. Conference wireless will not carry a room of attendees fetching half a gigabyte each at 09:30.

Option A: Python

  1. Install Python 3.10 or later (python.org or via Anaconda/Miniconda).
  2. Install the toolbox (includes all dependencies):
    pip install uwa-channels
  3. Download the two announced channel files from Zenodo.
  4. Verify your setup by running example_replay.py from the Python toolbox repository.

Option B: MATLAB

  1. Install MATLAB (R2021a or later) with the Signal Processing Toolbox.
  2. Install the toolbox by pasting this into the MATLAB Command Window:
    matlab.addons.install(websave([tempname '.mltbx'], 'https://github.com/uwa-channels/matlab/releases/latest/download/uwa-channels.mltbx'))
    This downloads the latest release and installs it as an add-on, so replay, noisegen, and unpack are on your path in every session. You can also download uwa-channels.mltbx from the latest release and double-click it.
  3. Download the two announced channel files from Zenodo.
  4. Verify your setup by running example_replay.

Option C: From a clone, and for Octave

Take this route if you want to read or modify the source, or if you are running Octave 9.0 or later, which cannot read .mltbx files.

  1. Clone the repository:
    git clone https://github.com/uwa-channels/matlab.git
    cd matlab
  2. Run install from that folder in MATLAB or Octave. This adds src and examples to the search path and saves the path for later sessions.
  3. Under Octave, also install the signal and statistics packages.

Do not use Options B and C at once. If the add-on is installed and you also run install, two copies sit on the path and load order decides which one wins.

No local install? Run it in the browser

If you cannot install anything on your laptop, or your MATLAB license will not travel with you, both toolboxes still run.

Important: Please complete the setup and download the channel files before arriving. The hands-on exercises start at 09:30 and assume a working environment on your laptop.

Questions

Questions about the tutorial itself can go to Zhengnan Li. Questions about the toolboxes are best raised as an issue on GitHub, where the answer helps everyone.