• Aucun résultat trouvé

D

ANS cette annexe, nous nous interessons `a la transform´ee de Hilbert [OS75] et deux de ses appli-cations qui nous ont int´eress´ees dans le cadre de nos travaux : la reconstruction d’un filtre `a phase minimale `a partir des donn´ees de son spectre uniquement et la r´ealisation d’un encodeur permettant de g´en´erer un signal de type Dolby Surroundc permettant de recr´eer des effets spatiaux simples `a partir d’un signal st´er´eophonique.

C.1 Calcul de filtres `a phase minimale

Bien souvent, on ne dispose pas dans la pratique des diff´erentes r´eponses impulsionnelles des sources, r´ecepteurs et de la r´eponse des mat´eriaux. La plupart des valeurs disponibles correspondent `a des spectres donn´es en bandes d’octaves. N´eanmoins, il peut ˆetre n´ecessaire de disposer d’un r´eponse impulsionnelle pour des op´erations de filtrage. Une m´ethode, bas´ee sur la transform´ee de Hilbert, permet de reconstruire `a partir de la donn´ee du spectre, une r´eponse impulsionnelle de mˆeme spectre avec une phase minimale. De toutes les r´eponses possibles, elle est la plus courte. L’interˆet d’une telle repr´esentation vient du fait que les r´eponses impulsionnelles, en particulier dans le cas d’enceintes ´electroacoustiques peuvent souvent ˆetre consid´er´ees ´a phase minimale.

Dans un syst`eme `a phase minimale, la phase est reli´ee au logarithme du spectre du signal par une transform´ee de Hilbert. L’algorithme se d´eroule en deux ´etapes :

– calcul de la transform´ee de Hilbert du logarithme (n´ep´erien) du spectre d’entr´ee ;

– `a partir de cette phase, reconstruction d’un signal dont le spectre est identique au spectre d’origine. On commence donc par calculer le logarithme du spectre d’entr´ee. On choisi une phase nulle et on calcule la transform´ee de Fourier inverse du ce signal complexe. La transform´ee de Hilbert se calcule en fenˆetrant le signal par la suite suivante :

Un= ( 0 n<0 1 n=0 2 n>0 (C.1)

Dans une deuxi`eme phase, on calcule la transform´ee de Fourier du signal obtenu. La partie imaginaire du r´esultat est la phase minimale recherch´ee, la partie r´eelle est le logarithme spectre d’entr´ee. A partir de ces deux informations on peut reconstituer le signal complexe voulu. Enfin, une derni`ere transform´ee de Fourier inverse nous donne la r´eponse impulsionnelle recherch´ee.

L’algorithme g´en´eral est d´ecrit dans la Figure C.1. De plus amples d´etails sur cette op´eration peuvent ˆetre trouv´es dans [Dig79].

void minimalPhase(float *spectrum,int n,float *result) f complex tab[n] for int i = 0 to n-1 f tab[i].re = ln(spectrum[n]) tab[i].im = 0.0 g inverseFFT(tab,n) for int i = 1 to n-1 f tab[i+n/2].re = tab[i+n/2].im = 0.0 tab[i].re *= 2.0 tab[i].im *= 2.0 g FFT(tab,n) for int i = 0 to n-1 f float r = exp(tab[i].re) tab[i].re = r * cos(tab[i].im) tab[i].im = r * sin(tab[i].im) g inverseFFT(tab,n) for int i = 0 to n-1 result[i] = tab[i].re g

Figure C.1 - Pseudo-code pour le calcul de filtres `a phase minimale.

C.2 Matric¸age de signaux ((surround))

La transform´ee de Hilbert permet ´egalement de r´ealiser un encodage des signaux de type Dolby

Sur-round. Ce format, d´evelopp´e par les laboratoires Dolby pour les bandes-son cin´ematographiques (puis

´egalement pour des applications domestiques), permet de coder dans un signal st´er´eophonique, l’infor-mation relative `a quatre canaux : gauche, droit, centre et arri`ere. Le dispositif de restitution associ´e com-prend g´en´eralement cinq enceintes (trois `a l’avant et deux `a l’arri`ere, cf. Figure C.2). Les deux enceintes droite et gauche correspondent `a de la st´er´eophonie classique. L’enceinte centrale permet de limiter l’ef-fet de pr´ec´edance pour des auditeurs situ´es sur les cˆot´es de la zone d´ecoute. Utilis´ee principalement pour les dialogues, elle permet de maintenir leur provenance au centre de l’´ecran (situ´e g´en´eralement entre les enceintes gauche et droite). Les deux enceintes arri`eres diffusent le mˆeme signal monophonique, permettant de recr´eer des effets d’ambiance simples.

Des d´etails sur ce format d’encodage peuvent ˆetre trouv´es dans [Dre88]. Ce format sonore est parti-culi`erement int´eressant puisqu’il permet de coder une information sonore spatiale (simple) dans un signal st´er´eophonique classique. De plus, les d´ecodeurs sont de plus en plus r´ependus.

On peut r´ealiser un encodage satisfaisant de mani`ere simple a partir de quatre canaux d’entr´ee : gauche, droit, centre, arri`ere. Les canaux droit et gauche sont r´epartis directement sur les pistes droite et gauche du signal st´er´eophonique. Le signal central est equi-r´eparti sur les deux pistes (son amplitude

C.2 Matric¸age de signaux((surround)) 181 arrière gauche gauche arrière droit auditeur centre écran droit

Figure C.2 - Syst`eme de restitution((surround))classique.

´etant au pr´ealable divis´ee par deux). Le signal arri`ere va ´egalement ˆetre r´eparti sur les pistes droite et gauche mais n´ecessite un traitement particulier. Il doit ˆetre d´ephas´e de +90o et 90o respectivement avant d’ˆetre ajout´e aux pistes gauche et droite (son amplitude est ´egalement divis´ee par deux). Pour r´ealiser le d´ephasage, on utilise une transform´ee de Hilbert de mani`ere similaire au cas pr´ec´edent. On commence par effectuer la transform´ee de Fourier du signal d’entr´ee. Puis on multiplie le r´esultat par la suite Un(cf. ´equation C.1) avant d’en prendre la transform´ee de Fourier inverse. Le signal recherch´e est la partie imaginaire du signal r´esultant. On peut alors ajouter le signal obtenu `a la piste gauche et son oppos´e `a la piste droite (on a donc bien le d´ephasage de 180orecherch´e entre les deux pistes).

183

Annexe D