Ambisonie
Un article de Wikivisual, l'encyclopédie libre.
| Image:Nuvola apps amarok.png | Cet article est une ébauche à compléter concernant l'acoustique, vous pouvez partager vos connaissances en le modifiant. |
L'ambisonie est une technique de restitution d'environnement sonore. l'immersion de l'utilisateur dans cet environnement virtuel se fait grace à un grand nombre du haut-parleurs. On utilise typiquement de dix à cinquant haut-parleurs. La méthode ambisonique existe en version 2D (les haut-parleurs sont tous situés dans le plan horizontal contenant la tête de l'utilisateur) et 3D (les haut-parleurs sont alors souvent disposés sur une sphère centrée sur la tête de l'utilisateur).
Un système ambisonique est naturellement beaucoup plus performant qu'un système 5.1 (home-cinéma) sur le plan de la restitution, mais il est aussi beaucoup plus couteux en ressources. Il nécessite actuellement un ordinateur dédié afin d'exécuter les algorithmes de spatialisation en temps réel.
L'ambisonie est une alternative à l'holophonie, autre méthode nécessitant beaucoup plus de haut-parleur.
Sommaire |
[modifier] Où trouver un système ambisonique ?
Actuellement, seuls quelques laboratoires disposent d'un système ambisonique expérimentale. Le plus souvent, les laboratoirs ne sont dotés que de la variante 2D du système. Il est actuellement malheureusement illusoire de chercher un cinéma disposant d'un tel système. Toutefois, certains cartes son permettent d'adresser un grand nombre de haut-parleur et proposent quelques algorithmes simples de restitution ambisonique.
[modifier] Principe et équations de base
Considérons un système de <math>N\;</math> haut-parleurs répartis sur une sphère de rayon <math>R\;</math> et orientés vers la tête de l'utilisateur. Pour fixer les idées, <math>R\;</math> est souvent compris entre 2m et 10m. On appelle <math> O\; </math> le centre du système, c'est à dire que le point <math>O\;</math> coïncide avec la tête de l'utilisateur.
Dans un premier temps, il est raisonnable de considérer que les haut-parleurs rayonnent un champ sonore assimilable à une onde plane. On note
- <math>p_i(M,t) \;</math>
la pression rayonnée en <math> M \;</math> par le haut-parleur <math>i\;</math> à l'instant <math>t\;</math>.
La pression rayonnée en <math>O\;</math> est alors
- <math>p(O,t) = \sum_{i=1}^{N} p_i(O,t)</math>
On souhaite restituer le champ que créerait une source virtuelle. On note <math> \tilde p(M,t) </math> ce champ virtuel.
Il se trouve que tout champ acoustique vérifie l'équation de helmotz, et peut à ce titre être décomposé sur la base des harmoniques cylindriques dans le cas 2D ou sphérique dans le cas 3D. La propriété de vérifier l'équation de helmotz n'est pas une nécessité pour le dévellopement qui suit, mais elle reste vraie.
Par exemple on peut écrire en 3D et pour le champ créé par de haut-parleur <math>i\;</math>
- <math>p_i(\vec{r},t) = G_ip_0~e^{j (\omega t - k\vec{u}_i.\vec{r})} = \sum\limits_{m \in \mathbb{N}} \sum\limits_{n=-m}^m G_ip_0 Y_m^n(\varphi_i,\delta_i) Y_m^n(\varphi,\delta) j^m j_m(kr) e^{j\omega t} </math>
où <math>Y_m^n(\varphi,\delta)</math> est une fonction de direction appellée <math>n\;</math>ième harmonique sphérique d'ordre <math>m\;</math> et <math>j_m\;</math> est la fonction de Bessel sphérique d'ordre <math>m\;</math>. <math>\vec{r} \,</math> est bien sur repéré par <math>(r,\varphi,\delta)</math> dans l'équation précédente. <math>G_i</math> est le gain associé au haut-parleur <math>i</math>.
De même le champ virtuel rayonné par la source virtuelle est donné par:
- <math>\tilde{p}(\vec{r},t) = p_0~e^{j (\omega t - k\vec{u}_s.\vec{r})} = \sum\limits_{m \in \mathbb{N}} \sum\limits_{n=-m}^m p_0 Y_m^n(\varphi_s,\delta_s) Y_m^n(\varphi,\delta) j^m j_m(kr) e^{j\omega t} </math>
où <math>(r_s,\varphi_s,\delta_s)</math> repère la position de la source virtuelle.
On note maintenant
- <math>C_{ij}=Y_m^n(\varphi_i,\delta_i)</math>
et
- <math>B_j=Y_m^n(\varphi_s,\delta_s)</math>
On montre effectivement qu'en triant astucieusement les indices <math>(m,n)\,</math> on peut les repérer par un unique entier <math>\,j</math>.
Forts de cette notation, le champ créé par l'ensemble des <math>\, N</math> haut-parleurs est donné par
- <math>p(\vec{r},t)=\sum_{i=1}^N\sum_{j=1}^\infty C_{ij}G_j</math>
et le champ à restituer est
- <math>\tilde{p}(\vec{r},t)=\sum_{j=1}^\infty B_j</math>
On tronque maintenant la décomposition infinie en s'arrêtant à l'indice <math>M</math>. On obtient
- <math>p(\vec{r},t)=\sum_{i=1}^N\sum_{j=1}^M C_{ij}G_j</math>
- <math>\tilde{p}(\vec{r},t)=\sum_{j=1}^M B_j</math>
On égalise les deux termes, ce qui donne en écriture matricielle
- <math>CG=B \,</math>
<math>C \,</math> est une matrice <math>M \times N \,</math>. On sait alors calculer son pseudo-inverse <math>D \,</math>. On calcule alors les gains <math>G_j</math> associés aux haut-parleurs par
- <math>G=DB \,</math>
[modifier] Modèle de champ proche
[modifier] Erreur commise
[modifier] Optimisation de la base de décomposition
| | Cet article n'est pas fini. Son état est provisoire et sera modifié. Une version améliorée est en préparation.
|

