Club robotique de Sophia-Antipolis
Accueil > ... > Forum 1087
12 septembre 2010, 21:12, par Mathieu
J’ai réalisé cette année un petit projet sur ce sujet. En gros j’avais une caméra pan-tilt qui devait regarder en direction de la personne qui parle.
Donc j’ai déjà calcul de l’angle en fonction de la différence de temps entre les micros :
float angle = asin((minDiffTime*Vson)/(fe*distMicro)) ;
Avec minDiffTime le nombre d’echantillon décalée que tu calcules avec le normalised cross correlation.
Vson = la vitesse du son en m/s (=343,4m/s à 20°C)
fe = frequence d’echantillonage de ton signal audio (=44100hz dans ton exemple)
distMicro = la distance entre tes micros en mètres.
Cette formule est encore une approximation de la réalité, mais est déjà plus précise qu’une interpolation linéaire ;)
Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.
Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.
Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.
{{gras}}
{italique}
-*liste
[texte->url]
<quote>
<code>
<q>
<del>
<ins>
Veuillez laisser ce champ vide :
J’ai réalisé cette année un petit projet sur ce sujet. En gros j’avais une caméra pan-tilt qui devait regarder en direction de la personne qui parle.
Donc j’ai déjà calcul de l’angle en fonction de la différence de temps entre les micros :
float angle = asin((minDiffTime*Vson)/(fe*distMicro)) ;
Avec minDiffTime le nombre d’echantillon décalée que tu calcules avec le normalised cross correlation.
Vson = la vitesse du son en m/s (=343,4m/s à 20°C)
fe = frequence d’echantillonage de ton signal audio (=44100hz dans ton exemple)
distMicro = la distance entre tes micros en mètres.
Cette formule est encore une approximation de la réalité, mais est déjà plus précise qu’une interpolation linéaire ;)