J'ai des microphones mesurant le son au fil du temps à différentes positions dans l'espace. Les sons enregistrés proviennent tous de la même position dans l'espace mais en raison des chemins différents du point source à chaque microphone; le signal sera (temps) décalé et déformé. Une connaissance a priori a été utilisée pour compenser au mieux les décalages temporels, mais il existe encore un certain décalage temporel dans les données. Plus les positions de mesure sont proches, plus les signaux sont similaires.
Je souhaite classer automatiquement les pics. J'entends par là que je cherche un algorithme qui "regarde" les deux signaux de microphone dans l'intrigue ci-dessous et "reconnaît" de la position et de la forme d'onde qu'il y a deux sons principaux et rapporte leurs positions temporelles:
sound 1: sample 17 upper plot, sample 19 lower plot,
sound 2: sample 40 upper plot, sample 38 lower plot
Pour ce faire, je prévoyais de faire une expansion de Chebyshev autour de chaque pic et d'utiliser le vecteur des coefficients de Chebyshev comme entrée d'un algorithme de cluster (k-means?).
À titre d'exemple, voici des parties des signaux temporels mesurés à deux positions proches (bleu) approximées par une série de 5 termes de Chebyshev sur 9 échantillons (rouge) autour de deux pics (cercles bleus):
Les approximations sont assez bonnes :-).
Toutefois; les coefficients de Chebyshev pour le graphique supérieur sont:
Clu = -1.1834 85.4318 -39.1155 -33.6420 31.0028
Cru =-43.0547 -22.7024 -143.3113 11.1709 0.5416
Et les coefficients de Chebyshev pour le graphique inférieur sont:
Cll = 13.0926 16.6208 -75.6980 -28.9003 0.0337
Crl =-12.7664 59.0644 -73.2201 -50.2910 11.6775
J'aurais aimé voir Clu ~ = Cll et Cru ~ = Crl, mais cela ne semble pas être le cas :-(.
Peut-être existe-t-il une autre base orthogonale qui convient mieux dans ce cas?
Des conseils sur la façon de procéder (j'utilise Matlab)?
Merci d'avance pour toutes les réponses!