Direction d'arrivée (DOA)
Deux microphones distants de
où
1. Lien avec le cours
Le projet déroule la démarche complète du chapitre 2 : un estimateur construit en minimisant une loss, une optimisation sur grille, et une performance jugée par la variance estimée par Monte-Carlo.
2. Structure du code
Le cadre commun des projets d'estimation s'applique : le modèle d'abord, une classe au gabarit de scipy.stats, puis la loss, une fonction séparée, et enfin les algorithmes qui la minimisent.
class TwoMicrophones:
"""Two-microphone array: x1 = s + w1, x2 = delayed s + w2."""
def __init__(self, d=0.15, fs=8000, c=343.0):
self.d, self.fs, self.c = d, fs, c
def delay(self, theta):
"""Delay in samples for a source at angle theta (radians)."""
...
def rvs(self, s, theta, snr_db, rng):
"""Simulate one recording (x1, x2)."""
...
def loss(tau, x1, x2):
"""Least squares misfit between x2 and x1 delayed by tau samples."""
...Tests imposés. Sans bruit, la loss est minimale exactement au retard vrai, et l'estimation retrouve l'angle à la précision de la grille ; et le cas limite delay(0), une source en face, donne un retard nul.
3. Travail demandé
- La géométrie. Démontrer
à partir du front d'onde plan. Avec cm et une fréquence d'échantillonnage kHz, que vaut le retard en échantillons pour ? Quel est le domaine des retards physiquement possibles ? - Le simulateur. Écrire une fonction qui fabrique
pour un signal source donné (un extrait de parole ou un bruit filtré), un angle et un SNR. Se limiter aux retards entiers en échantillons. Tester le simulateur sur les cas où la réponse est connue, , SNR infini. - L'estimateur. Montrer que la minimisation de la loss des moindres carrés
revient à maximiser la corrélation croisée . Implémenter la recherche sur la grille des retards physiquement possibles, puis raffiner le pic par interpolation parabolique sur trois points. - La performance. Pour chaque SNR de
à dB, estimer par Monte-Carlo ( tirages) la variance de . Tracer la courbe en échelle logarithmique : identifier le régime où la variance décroît régulièrement, et le seuil de décrochage en dessous duquel l'estimateur choisit des pics aberrants. - L'angle et son incertitude. Convertir
en , et propager l'incertitude par différentiation : . Livrer l'angle sous la forme . Que devient la précision quand la source est sur le côté, ? Le vérifier par simulation.
4. Livrables
Le notebook reproductible des modalités communes, avec la démonstration de l'étape 3 rédigée, la courbe variance/SNR commentée, et un tableau final
