WAH-i-Optimiser

WAH-i (Widefield Acoustics Heuristic — inverse iterative; pronounced waa-hee [/ˈwɑː.hiː/]) is a MATLAB-based framework and a software tool for designing and optimising 3D microphone-array geometries for TDOA localisation. The GUI supports rapid iteration, evaluation over a user-defined Field of Accuracy (FoA), and iterative optimisation under real-world constraints (arm length, minimum spacing, etc.).

Read the research paper

What WAH-i is for?

WAH-i is a practical tool for designing, evaluating, and optimising microphone array geometries under realistic localisation constraints.

At its core, WAH-i answers a simple but hard question:

“Given a limited number of microphones and physical placement constraints, how should they be arranged to maximise reliable localisation performance over a region of space I actually care about?”

Designed for real-world array design

WAH-i is built for situations where arrays are not idealised and not free to grow arbitrarily:

Instead of optimising abstract metrics, WAH-i evaluates performance over a user-defined Field of Accuracy (FoA) and explicitly quantifies where localisation succeeds or fails.

What makes WAH-i different

Unlike closed-form array designs or single-shot optimisation tools, WAH-i:

The optimiser perturbs microphone coordinates directly and evaluates performance using the same localisation pipeline that would be used in practice. This ensures that improvements are meaningful, interpretable, and reproducible.

Typical use cases

WAH-i is particularly useful when you need to:

Field researchers can often stop once a geometry meets their target pass rate. Method developers can go further—modifying the localisation backend, spatial sampling strategy, or optimisation logic directly in code.

From exploration to deployment

The GUI supports rapid, single-geometry exploration, while the accompanying batch scripts enable large-scale comparative analyses across many geometries and optimisation runs. Together, they form a complete workflow from concept → optimisation → evaluation → deployment.

What you’ll find here

  1. Read Install
  2. Follow Quickstart
  3. Use Optimisation tips when pushing for high pass rates

Support my open science projects

This project is developed and maintained independently as part of my open research work. If you find it useful and would like to support continued development, documentation, and free public releases, consider buying me a coffee.

☕ Buy me a coffee