J'ai beaucoup appris sur la formation de faisceaux adaptatifs et j'ai travaillé avec différentes sims dans MATLAB, etc.
Mais quelle meilleure façon de comprendre quelque chose - vraiment comprendre - que de jouer avec l'ensemble du système?
À cette fin, je voudrais trouver (construire?) Un réseau de microphones connecté par USB, avec, disons, 5 micros environ. Ils seraient en mesure d'acquérir des signaux de l'environnement (alias, où que se trouve mon ordinateur portable), et je serais alors en mesure de prendre ces signaux et de les traiter dans MATLAB ou autre.
Je préférerais vraiment ne pas construire le tout, donc j'espère que quelqu'un a déjà utilisé des matrices de microphone connectées par USB et peut pointer dans la bonne direction?
Les microphones n'ont pas besoin d'être sophistiqués en ce qui concerne les résolutions de bits de leur A / D, etc. Les micros KISS de qualité respectable feront très bien l'affaire.
la source
Ayant beaucoup travaillé dans la formation de faisceaux adaptatifs, je n'hésiterais pas à pirater quelque chose moi-même jusqu'à ce que j'aie une certaine expérience. (Remarque: les solutions professionnelles avec environ 60 canaux coûtent environ 100k €. Avec de nombreux canaux, votre résolution spatiale devient bien meilleure, mais vous n'obtenez qu'une quantité limitée d'informations via un port USB ...)
Pour une formation de faisceau fiable, il est essentiel que tous les microphones utilisent la même base de temps. La façon la plus simple d'y parvenir est d'utiliser une carte son USB externe avec plusieurs canaux d'entrée. Ce ne sont pas vraiment bon marché. Avez-vous regardé ce que l'on peut trouver sur ebay?
Une alternative consiste à sacrifier la base de temps commune en utilisant un certain nombre de cartes son USB avec par exemple deux canaux chacune. Vous devrez cependant calibrer votre système d'acquisition. Ce n'est vraiment pas aussi difficile qu'il y paraît:
Pour calibrer, vous configurez votre réseau et produisez un son court (par exemple un crack / clap / etc.) À une distance de votre réseau qui est de l'ordre de l'étendue de votre réseau. Vous enregistrez ensuite ce son et utilisez Matlab ou similaire pour calculer la corrélation croisée entre le clap / crack / etc. sur les différents canaux. Cela vous donnera une liste des décalages temporels que vous devez appliquer à vos canaux pour les aligner avant de fournir les données à votre algorithme de formation de faisceau.
Pour explorer la formation de faisceaux adaptative, c'est probablement la voie à suivre, sauf si vous pouvez faire une bonne affaire sur une carte son multicanal.
Modifier 1
Cette modification vise à répondre aux questions posées dans les commentaires.
L'idée de base du retard et de la formation de faisceaux cumulés consiste à appliquer des retards à différents canaux d'acquisition de telle sorte que les sons provenant d'un point dans l'espace s'alignent et "s'amplifient" lorsque le signal des différents canaux est ajouté. Les sons qui proviennent d'autres régions de l'espace ne s'alignent pas et ne sont donc pas "amplifiés".
Le point dans l'espace pour lequel les sons s'alignent en utilisant un certain ensemble de retards est appelé le foyer du réseau de microphones (ou point focal). En réalité cependant, la mise au point n'est pas un point idéal mais plutôt une petite région (ish) (en fonction de la matrice) pour laquelle les sons s'alignent bien. La taille de cette région est appelée la taille du point focal.
La géométrie (taille, forme, etc.) dépend des détails exacts du réseau: nombre de microphones, espacement des microphones, contenu en fréquence des signaux d'intérêt. Voir par exemple cet article .
Pour plus d'informations, recherchez des textes sur la focalisation des "matrices phasées" ou "matrices linéaires" en ultrasons. La formation de faisceaux peut être utilisée à la réception (pour amplifier les signaux à partir d'un certain point dans l'espace) ou à l'émission (pour créer un point «fort» dans une pièce). Les principes sont identiques: remplacez simplement "microphone" par "haut-parleur" dans votre réflexion.
Concernant la procédure d'étalonnage: vous avez raison. La procédure que j'ai décrite est trop simpliste. Cela ne fonctionne bien que si vous pouvez créer le clap d'étalonnage à une distance beaucoup plus longue que la région de l'espace qui vous intéresse. (C'est-à-dire pour garantir une onde lisse.)
Si cela n'est pas possible, vous devez prendre en compte la position du clap. Dans ce cas, la procédure la plus simple consiste à corriger les retards par corrélation croisée comme décrit, puis à rajouter la courbure du front d'onde sur le signal en appliquant un ensemble de retards de "formation de faisceau inverse" calculé avec la position de l'origine du taper. (C'est-à-dire que si vous utilisez une variable de profondeur + t0 (ou + z0) dans votre algorithme de formation de faisceau "normal", vous devez utiliser -t0 (ou -z0) pour l'algorithme de formation de faisceau inverse.)
Quel est l'intérêt de ce calibrage: il élimine les éventuelles erreurs dues aux différentes cartes son démarrant leur enregistrement à des moments légèrement différents. Cela empêcherait normalement les signaux de s'aligner correctement même avec des retards corrects et empêcherait ainsi l'effet d'amplification que vous recherchez.
la source