Deep Augmented MUSIC Algorithm for Data-Driven DoA Estimation
Direction of arrival (DoA) estimation is a crucial task in sensor array signal processing, giving rise to various successful model-based (MB) algorithms as well as recently developed data-driven (DD) methods. This paper introduces a new hybrid MB/DD DoA estimation architecture, based on the classical multiple signal classification (MUSIC) algorithm. Our approach augments crucial aspects of the original MUSIC structure with specifically designed neural architectures, allowing it to overcome certain limitations of the purely MB method, such as its inability to successfully localize coherent sources. The deep augmented MUSIC algorithm is shown to outperform its unaltered version with a superior resolution.
This repository consists of following Python scripts:
- The
augMUSIC.pyimplements the augmented MUSIC algorithm. - The
beamformer.pyimplements the classic beamforming algorithm. - The
classicMUSIC.pyimplements the purely model-based MUSIC algorithm. - The
errorMeasures.pydefines error measures used to evaluate the DoA estimation algorithms. - The
losses.pyscript defines custom losses used to train neural augmentations for the MUSIC algorithm. - The
models.pydefines neural augmentation architectures for the MUSIC algorithm. - The
plotFigures.pyprovides visualization of the performances of different DoA algortihms. - The
regularizers.pyscript defines custom regularizers for the neural augmentations. - The
syntheticEx.pyscript implements synthetic examples for DoA and combines them to a datase. - The
trainModel.pyimplements the training of the neural augmentation. - The
utils.pydefines some helpful functions.
| Module | Version |
|---|---|
| scipy | 1.6.2 |
| h5py | 2.10.0 |
| pandas | 0.25.1 |
| matplotlib | 3.1.1 |
| keras | 2.3.1 |
| numpy | 1.19.3 |
| tensorflow | 2.4.1 |
| tqdm | 4.36.1 |
| scikit_learn | 0.24.2 |