Les Codecs VLC et VLR pour les réseaux de microphones

Généralités

Réseau de microphones = Beamforming Microphone Array en Anglais.

Extraits de Wikipedia:
- Le Beamforming aussi appelé filtrage spatial, formation de faisceaux ou formation de voies est une technique de traitement du signal utilisée dans les réseaux de capteurs pour la transmission ou la réception directionnelle de signaux. Ceci est réalisé en combinant les éléments d'un réseau de capteurs à commande de phase de telle façon que dans des directions particulières, les signaux interfèrent de façon constructive tandis que dans d'autres direction les interférences soient destructives.
- Pour changer l'orientation du réseau d'émission, le modeleur de faisceau (beamformer) contrôle la phase et l'amplitude relative du signal sur chaque élément du réseau d'émission, créant ainsi un motif d'interférences constructives et destructives dans le front d'onde. À la réception, l'information provenant des différents capteurs est combinée de telle manière que le signal attendu est mis en évidence.
Beamforming - Wikipedia

Le beamforming peut s'utiliser avec les ondes radio ou sonores.

Principaux domaines d'utilisation:
- Radar.
- Sonar.
- Sismologie.
- Transmission sans fil.
- Radioastronomie.
- Acoustique.
- Biomédecine.


Algorithmes de compression pour les réseaux de microphones

Il existe deux catégories d'algorithmes utilisés pour le beamforming:
1) Algorithmes conventionnels ou beamformers fixes.
On peut citer:

- Beamforming par retard et somme (Delay-and-Sum Beamforming en Anglais).
Un beamformer classique peut être un beamformer par retard et somme. Tous les éléments peuvent avoir des amplitudes égales. Le beamformer est dirigé vers une direction spécifique uniquement en sélectionnant une phase appropriée pour chaque microphone.
Le beamformer par retard et de somme est le type le plus ancien et le plus simple.
Il est indépendant des données et sa réponse reste fixe en tout temps.
Il est simple à mettre en œuvre, il n'a pas d'effet négatif, mais il nécessite un grand nombre de microphones pour une directivité décente.

- Beamforming par filtrage et somme (Filter-and-Sum Beamforming en Anglais).
Ce type de beamforming est l'un des plus simples, tout en offrant une très bonne performance. Il est basé sur le fait qu'avec l'application de différents poids aux phases des canaux d'entrée, le lobe principal du modèle de directivité peut être dirigé vers un emplacement souhaité (l'entrée sonore visée par exemple). Il diffère du beamforming par retard et somme (qui est plus simple et plus rapide) en ce que l'on applique des poids indépendants aux amplitudes des canaux avant de les additionner.
Les poids appliqués aux amplitudes et aux phases peuvent être dépendants de la fréquence.


2) Beamformers adaptatifs.
Un beamformer adaptatif est un système qui effectue un traitement de signal spatial adaptatif avec un réseau d'émetteurs ou de récepteurs.
On peut citer:

- MVDR (Minimum Variance Distortionless Response en Aglais), ou beamformer de Capon.
Le beamformer MVDR est capable de déterminer les vecteurs de poids pour la direction du faisceau.
Il utilise le beamforming par filtrage et somme et le domaine des fréquences.

- LCMV (Linearly Constrained Minimum Variance en Anglais), ou Beamformer de Frost.
Chaque microphone est filtré par un filtre FIR à M coefficients.
Il peut être considéré comme l'équivalent du beamformer MVDR dans le domaine temporel.

- Beamformer de Griffiths-Jim.
Cette technique combine un beamformer fixe standard (retard et somme) avec un filtrage adaptatif.





Les Codecs Audio VLC et VLR (méthodes de compression et décompression audio)

Dans le cas général, ces codecs utilisent les plus grands points (avant-plan), les bandes les plus énergétiques (arrière-plan), les magnitudes et les phases, et un recouvrement de trames de 50% ou moins.
Pour l'arrière-plan, on peut utiliser uniquement les magnitudes et le signe des phases.
Les bandes de l'arrière-plan prises séparément peuvent être codées en parallèle.
Si on prend toutes les bandes de l'arrière-plan ou des bandes contiguës seulement, il n'est pas nécessaire de calculer l'énergie des bandes ou de sélectionner les bandes les plus énergiques.
On peut obtenir une très grande qualité en augmentant la précision des magnitudes et des phases, en particulier pour les points de l'avant-plan.
Ces codecs peuvent être utilisés pour tous toutes les fréquences d'échantillonnage, sont basés sur FFT uniquement et sont très rapides.
Il convient de noter que ces codecs étant basés sur FFT, ils peuvent être encore accélérés avec le support du processeur graphique (GPU, Graphics Processing Unit en Anglais) et peuvent inclure un nombre très important de canaux simultanés.
Page d'Ecoute


Les codecs VLC et VLR pour les données provenant des réseaux de microphones
Ces codecs peuvent encoder efficacement les données des réseaux de microphones, avec ou sans pré-traitement côté émetteur (compression), et avec possibilité de traitement rapide côté récepteur (décompression).
La qualité du résultat souhaité (réduction de bruit, filtrage spatial, ...) dépend du nombre de microphones et les algorithmes les plus efficaces utilisent FFT.

En plus de permettre un compression efficace, la décomposition en deux plans peut permettre aussi une application plus efficace des algorithmes de beamforming dans le domaine des fréquences.
En remarquant que l'essentiel les bruits modérés se trouve dans l'arrière-plan (Voir Réduction de Bruit):
- Pour l'avant-plan, on peut appliquer des interférences constructives.
- Pour l'arrière-plan, on peut appliquer des interférences destructives.
- L'avant-plan seul peut être dirigé vers une direction spécifique. Les calculs sont plus rapides car la plupart des bins FFT sont identiquement nuls pour tous les microphones.





Les codecs VLC et VLR avec les réseaux de microphones irréguliers

- La quasi totalité des théories sur les réseaux de microphones concernent des microphones espacés de manière régulière, par exemple en ligne, dans un plan ou sur une sphère. En outre, beaucoup de ces théories ne sont pas applicables en temps réel.
Les réseaux de microphones avec des arrangements irréguliers peuvent être beaucoup plus performants, mais à ce jour, il y a peu d'études pour les prendre en compte.

- Avec le projet vlrFilter (voir plus bas), il sera possible de prendre en compte ces configurations, de manière empirique, en faisant varier les magnitudes et les phases grâce à des capteurs (accéléromètre et gyroscope) intégrés à une télécommande radio, et grâce à des boutons de la télécommande.
Ces capteurs pourront également contrôler les orientations en 3D.

- Avec le projet vlrFilter, il sera non seulement possible d'écouter des signaux audio, mais aussi des signaux physiologiques (grâce à la sonification), en 3D ou en privilégiant une direction d'écoute.

- Une formule simple sera appliquée pour chaque bin FFT (de l'avant plan) de chaque canal en entrée.
A chaque canal i sera associé un angle thêta_i (azimuth) et un angle phi_i (élévation).
Les magnitudes seront modulées selon la formule suivante:

   Mag_i(thêta, phi) = Mag0_i * cos(thêta - thêta_i) * sin(phi - phi_i + PI/2)

Dans cette formule:
   - cos et sin désignent le cosinus et le sinus.
   - thêta et phi sont les angles donnés par les capteurs.
   - Mag0_i est la magnitude maximale pour le canal i, et peut être modulée également à l'aide des boutons de la télécommande ou d'un fichier de configuration.
Les phases seront modulées par des boutons de la télécommande.

- Pour des arrangements en ligne ou dans un plan, on pourra activer seulement un seul angle (thêta).
Les magnitudes seront alors modulées selon la formule suivante:

   Mag_i(thêta) = Mag0_i * cos(thêta - thêta_i)




Télécommande radio, avec accéléromètre et gyroscope, pour le projet vlrFilter.
- Bouton rouge: pour la mise en veille.
- Bouton vert: pour la prise en compte d'un signal non audio (signaux physiologiques par exemple).
- Bouton cyan: pour activer les capteurs (accéléromètre et gyroscope).


Récepteur USB Radio

Projet vlrFilter