Annexes

.1       Annexe 1. Texte de présentation du test

 

Texte Enregistré en préambule

 

« Bonjour à vous qui avez la bonté de vous soumettre à un test sonore.

Ce test est réalisé pour obtenir des informations sur la localisation du son dans l’espace.

On vous demande, en vous orientant vers la lumière jaune clignotante, de noter le plus précisément possible la direction du son perçue en se référant aux numéros inscrits sur les étiquettes .

Pour cela vous vous tournerez vers la direction présumée une fois le son éteint.

Vous entendrez chaque test une première fois suivi d’une pause pour vous retourner et revenir en position initiale puis vous entendrez le test une seconde fois suivi d’une pause de 7secondes vous permettant de confirmer votre impression initiale et d’inscrire votre réponse sur la fiche test.

Vous noterez ainsi successivement toutes les positions sur la fiche devant vous.

Dans le cas où la direction vous semble imprécise, notez la référence se situant au centre de la zone d’incertitude. Si vous n’arrivez pas du tout à localiser le son , notez un point d’interrogation .

Vos commentaires sont les bienvenus, une case en bas de la feuille est prévue à cet effet.

Voici à titre d’exemple un essai.

--- essai ---

Logiquement votre sensation doit se situer entre les numéros 7 et 14.

Le test commence, à vous de jouer et merci de votre participation. »

 

.2       Annexe 2. Fichier Matlab de visualisation en diagrammes polaires

 

 

% Visualisation des résultats des tests sous forme de diagramme polaire

clear all

hold off

% Traitement des Données

[A]=dlmread('résultarepli30.txt','\t');

Theta=A(:,[1]);Theta=Theta/180*pi;

R=A(:,[2])+10;

L=A(:,[3])+10;

LS=A(:,[4])+10;

RS=A(:,[5])+10;

%R=10.^(R/20);

%L=10.^(L/20);

%LS=10.^(LS/20);

%RS=10.^(RS/20);

LP=polar(Theta,LS);

set(LP,'LineWidth',2,'color',[0 0 0],'Linestyle','-');

hold on

%RP=polar(Theta,L)

%RSP=polar(Theta,RS)

%LSP=polar(Theta,LS)

%set(RP,'Color',[0 1 0])

%set(LP,'Color',[1 0 0])

%set(RSP,'Color',[0 0 1])

%set(LSP,'Color',[0 0 0])

%Données théoriques

t=[0:0.01:2*pi];

RHO=128/180*pi;

A=1;B=1;D=0.05;C=340;F=108;W=2*pi*F;k=W/C;

x=(A*(1+cos(t+RHO))/2.*exp(j*W*t));

y=(B*(1+cos(t+RHO))/2.*exp(j*W*t-j*k*D*cos(t+RHO)));

% Visualisation

SO=abs(x-y)/max(abs(x-y))+0.03;

SO=20*log10(SO)+30;

%SO=polar(t,SO)

%set(SO,'Color',[0.5 0.5 0])

CO=0.5+0.5*cos(t+RHO);

CO=abs(CO)/max(abs(CO))+0.03;

CO=20*log10(CO)+30;

CO=polar(t,CO);

set(CO,'LineWidth',2,'color',[0.6 0.6 0.6],'Linestyle','-');

%set(CO,'Color',[0 0.5 0.5])

%legend ({num2str('Avant droite'),num2str('Avant gauche'),num2str('Arrière droite'),num2str('Arrière gauche'),num2str('2nd ordre'),num2str('Cardioïde')})

legend ({num2str('Arrière'),num2str('Cardioïde')})

 

 

.3       Annexe 3. Fichier Matlab des simulations de réponse en fréquence du prototype

 

%Courbe de module et phase du prototype

%variables

F=[20:100:20000];

phi=pi/2;

a=1;b=0.707;c=0.707;

D1=0.08;f1=1000;

D2=0.015;f2=1000;

W=2*pi*F;

k=W/340;

t=0;

 

%fonctions

x=(a*(1+cos(t))/2.*exp(j*W*t));

y=(b*(1+cos(t))/2.*exp(j*W*t-j*k*D1*cos(t)));

hpf=1./(1+(2*pi*f1)./(j*W))*1./(1+(2*pi*f1)./(j*W));

z=(c*(1+cos(t))/2.*exp(j*W*t-j*k*D2*cos(t)));

lpf=1./(1+j*W/(2*pi*f2))*1./(1+j*W/(2*pi*f2));

 

%graphisme

figure(1)% modèle complet

semilogx(F,20*log10(abs((x-y).*lpf-(x-z).*hpf)),F,20*log10(imag((x-y).*lpf-(x-z).*hpf)),F,20*log10(real((x-y).*lpf-(x-z).*hpf)));

xlabel ('Fréquence (Hz)')

ylabel ('Amplitude (dB)')

grid on

axis manual

axis ([20 20000 -30 10])

 

figure(2) %partie hf

semilogx(F,20*log10(abs((x-y).*lpf)),F,20*log10(imag((x-y).*lpf)),F,20*log10(real((x-y).*lpf)))

xlabel ('Fréquence (Hz)')

ylabel ('Amplitude (dB)')

grid on

axis ([20 20000 -30 10])

 

figure(3)% partie bf

semilogx(F,20*log10(abs((x-z).*hpf)),F,20*log10(imag((x-z).*hpf)),F,20*log10(real((x-z).*hpf)))

xlabel ('Fréquence (Hz)')

ylabel ('Amplitude (dB)')

grid on

axis ([20 20000 -30 10])

 

 

.4       Annexe 4. Fichier Matlab de visualisation en diagrammes polaires réels et calcul du DI

 

 

% récupération fichier MLSSA et visualisation polaire

clear all

clf

hold off

pas=[0:5:36*5];

pasbis=[0:5:72*5];

grid on

z=load('K5mo3bis.txt');

set(gcf,'nextplot','add')

set(gca,'TickLength',[2 2])

n=0

%génération diagramme fréquence basse

for i=[1 2 4 8];

   val=z(:,i);val2=fliplr(val');

   c=[0 0 0 ;0 0 1;1 0 0;0 1 0];

   n=n+1;

  

   pl=polar([0:5:36*5]*pi/180,val2-max(val)+30);

   axis([-30 30 -30 30]);

      C=c(n,:);

 

   set(pl,'Color',C,'linewidth',2);

   hold on;

end

n=0;

%génération diagramme fréquence haute

   for i=[17 34 67 134];

            c=[0.5 0.5 0.5;1 0 1;1 1 0;0.1 0.9 1];

      val=z(:,i)';

      n=n+1;

      a=ones(length(val)-1)*(-30)+max(val)';

   val=[a(1,:) val] ;

   pl=polar(pasbis*pi/180,val-max(val)'+30);

   axis([-30 30 -30 30])

   C=c(n,:);

   set(pl,'Color',C,'linewidth',2);

   hold on;

end

legend({num2str('125 Hz'),num2str('250 Hz'),num2str('500 Hz'),num2str('1 kHz'),num2str('2 kHz'),num2str('4 kHz'),num2str('8 kHz'),num2str('16 kHz')},0)

grid on

 

% calcul indice de directivité à 2000Hz

val=z(:,17);

val=val-max(val);

 

val=10.^(val/20);

val2=fliplr(val');

pas=[0:5:36*5];

val3=val2.^2.*sin(pas/180*pi)*0.0873;

val4=sum(val3)/2

Q=1./val4

ID=10*log10(Q)

 

.5       Annexe 5. Fichier Matlab de Visualisation des courbes exportées ou simulées du prototype

 

%Simulation des courbes de directivité du prototype

clear all

hold off

close all

% Variables

t=0;

A=1;

B=0.707;

E=0.707;

D1=0.015;f1=1000;

D2=0.08;f2=1000;

C=340;

F=100;

N=36;

S=zeros(37,169);

 

%z=10.^((z)/20);

%z1=max(z);

%z3=z1'*ones(length(pas),1)';

%z3=z./z3';

%z=20*log10(z3);

% Récupération fichier MLSSA Waterfall

z=load('4011bis.txt');

f=[118.37:118.37:20004.73];

pas=[36*5:-5:0];

x=f'*ones(length(pas),1)';

y=pas'*ones(length(f),1)';

 

figure(1)

set(figure(1),'name','normal')

%surf(x,y',z');

zb=10.^(z/20);

zc=max(zb);

zd=zc'*ones(length(pas),1)';

zd=zb./zd';

ze=20*log10(zd);

contour(x,y',ze',[12 9 6 3 0 -3 -6 -9 -12 -15 -18 -21 -24 -27 -30])

set(gca,'XScale','log','XDir','normal','YDir','reverse');

shading interp;

axis([100 20000 0 180 -30 20 ]);

rotate3d

z1=10.^(z/20);

z=z1;

N=36;

for i=[0:N];

   t=(5*(i+0.04))/180*pi;

   z2=z1((37-i),:) ; 

      for n=[1:169];

      f=n*118.37;k=2*pi*f/C;

      z3=z2(:,n);

      %z2(:,n)=z3.*exp(-j*k*D1*cos(t)).*1./(1+(f2./(j*f))).*1./(1+(f2./(j*f)));

      z5(:,n)=z3.*(1-B*exp(-j*k*D1*cos(t))).*1./(1+(f2./(j*f))).*1./(1+(f2./(j*f)));

 

   end

   %Z1((37-i),:)=z2;

   Z5((37-i),:)=z5;

end

 

N=36;

for i=[0:N];

   t=(5*(i+0.04))/180*pi;

   z2=z1((37-i),:) ; 

      for n=[1:169];

      f=n*118.37;k=2*pi*f/C;

      z3=z2(:,n);

      %z2(:,n)=z3.*exp(-j*k*D2*cos(t)).*1./(1+(f2./(j*f))).*1./(1+(f2./(j*f)));

      %z4(:,n)=z3.*exp(-j*k*D2*cos(t));

      z6(:,n)=z3.*(1-E*exp(-j*k*D2*cos(t))).*1./(1+(j*f)/(f1))*1./(1+(j*f)/(f1));

   end

  

   %Z2((37-i),:)=z2;

   %Z4((37-i),:)=z4;

   Z6((37-i),:)=z6;

end     

 

figure(2)

set(figure(2),'name','complet')

surf(x,y',20*log10(abs(Z5'-Z6')));

%contour(x,y',20*log10(abs(Z5'-Z6')),[12 9 6 3 0 -3 -6 -9 -12 -15 -18 -21 -24 -27 -30])

set(gca,'