Skip to content

Repository files navigation

Siren Direction

Direction-of-arrival classifier for emergency-vehicle sirens, running on the Infineon PSOC Edge E84 AI Kit (Cortex-M55 + Ethos-U55). EESTech LC Aachen hackathon submission.

Pipeline

mics → log-mel (M55, CMSIS-DSP) → DS-CNN int8 (Ethos-U55) → JSON over UART → WebSerial scene

Trained Keras DS-CNN, quantized int8x8 via dcmc + ml-coretools (TFLite + Vela), Ethos-U55 NPU at ~10 Hz.

Models trained

Input Output Test acc
2-ch PDM (sin θ, cos θ) regression low
4-ch PDM+analog softmax(4) sectors 0.9803
2-ch PDM softmax(4) sectors 0.8229 (deployed)

See DOCUMENTATION.pdf for the full writeup.

Quick start

Python env via uv:

uv sync

Train the deployed (PDM-only) classifier:

cd model
uv run python dscnn_classifier.py --pdm-only --augment --augment-passes 2 --epochs 30

Verify on-chip preproc parity (torchaudio vs CMSIS-DSP):

cd audio_preproc && make test_parity
cd ../model && uv run python compare_preproc.py

Layout

model/                          training, calib, codegen patcher
audio_preproc/                  on-chip CMSIS-DSP log-mel + parity harness
scripts/                        capture-side label tooling
infineon-hackathon/examples/    deployed inference firmware
webapp/                         WebSerial scene UI
data/four-mics-classifier/      4-sector training takes
mtb_ml_gen/                     dcmc + Vela output (model.c, model.bin)

About

Siren direction-of-arrival on Infineon PSOC Edge: 4-mic DS-CNN, int8, Ethos-U55 (EESTech hackathon)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages