Skip to content

[TASK] Acoustics MCU #128

@forrisdahl

Description

@forrisdahl

Description

Develop firmware for the Acoustics MCU that processes hydrophone array data in real time to estimate the position of an acoustic pinger using multilateration. The MCU will perform digital signal processing (DSP) on raw audio samples to extract precise time-of-arrival (ToA) information and compute position estimates. Target platform: STM32H7, with DSP routines implemented using CMSIS libraries.


Requirements

  • Signal acquisition

    • Configure and sample from multiple synchronized ADC channels connected to hydrophones.
    • Support sampling rates sufficient for pinger frequency detection (based on acoustic system specifications).
    • Ensure synchronization accuracy between channels.
  • Digital signal processing

    • Implement bandpass filtering to isolate the pinger frequency band.
    • Apply cross-correlation or matched filtering between channels to estimate relative delays.
    • Implement robust detection logic (thresholding, peak-picking, noise rejection).
  • Multilateration

    • Convert relative time delays into distance differences.
    • Use known hydrophone geometry to solve for 2D/3D position estimates.
    • Handle ambiguous or low-confidence results gracefully with error reporting or fallback.
  • Data output

    • Publish estimated position, confidence score, and diagnostics over the system interface (CAN or Ethernet).
    • Support configurable output rates and message formats.

Acceptance Criteria

  • ADC sampling from all hydrophones is synchronized and stable at the required rate.
  • Filtering isolates the pinger signal with acceptable SNR improvement.
  • Cross-correlation or matched filtering reliably produces relative delay estimates within test error bounds.
  • Multilateration provides valid 2D/3D position estimates consistent with controlled test setups.
  • Fault conditions (low SNR, missing hydrophone, ambiguous solutions) are detected and flagged.
  • Position, confidence, and diagnostics are published correctly over CAN or Ethernet with the specified format.

To-Do Checklist

  • Review existing acoustics MCU code for reusable components.
  • Research DSP techniques and multilateration algorithms applicable to hydrophone arrays.
  • Prototype DSP routines (filtering, correlation, detection) in Python/Matlab before firmware implementation.
  • Implement and optimize DSP routines on Teensy 4.1 using CMSIS.
  • Implement multilateration solver with configurable geometry.
  • Integrate acquisition, DSP, solver, and output into a single firmware project.
  • Bench test with recorded acoustic data.
  • Validate performance in-water with real hydrophones and pingers.
  • Document configuration (ADC settings, hydrophone geometry, filter parameters, CAN/Ethernet message format).

Contacts

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions