un modello matematico per la spazializzazione di...

30
Un Modello Matematico per la Spazializzazione di Sorgenti Virtuali Francesco Scagliola

Upload: hathu

Post on 29-Aug-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Un Modello Matematico per la Spazializzazione di Sorgenti Virtuali

Francesco Scagliola

¢ | £

¢ | £

2 Slide.nb

Richiami di Geometriaè Calcolo della pendenza della retta rispetto all' asse delle ascisse;

è Calcolo della distanza tra due punti (sorgente puntiforme e altoparlante).

Slide.nb 3

Calcolo della pendenza della retta rispetto all'asse delle ascisse.

Α =ArcTan[ Sin[Α]/Cos[Α]]

Il Codominio di Α

Manipulate@ParametricPlot@8Cos@ΑD, Sin@ΑD<, 8Α, 0.0000001, Β<, PlotRange ® 88-1.5, 1.5<, 8-1.5, 1.5<<D, 8Β, 0.0001, 2 Π<D

Β

-1.5 -1.0 -0.5 0.5 1.0 1.5

-1.5

-1.0

-0.5

0.5

1.0

1.5

4 Slide.nb

Plot@8ArcTan@Sin@ΑD � Cos@ΑDD, Α<, 8Α, 0, 2 Π<D

1 2 3 4 5 6

2

4

6

¢ | £

Slide.nb 5

La formula cercata

ClcΘ@8x1_, y1_<, 8x2_, y2_<D :=

ArcTanB -y1+y2

-x1+x2F x2 > x1

Π + ArcTanB -y1+y2

-x1+x2F x2 < x1 && y2 ³ y1

-Π + ArcTanB -y1+y2

-x1+x2F x2 < x1 && y2 < y1

Π

2x2 � x1 && y2 > y1

2x2 � x1 && y2 < y1

;

H* Esempi ClcΘ*La = 8x1, y1< = 80, 0<;b = 8x2, y2< = 8-1, 0<;

Distanza = Norm@b - aD �� N;

ArcTan@x2 - x1, y2 - y1D;

PrintBArcTanB-y1 + y2

-x1 + x2F, " ", ClcΘ@a, bDF

0 Π

¢ | £

6 Slide.nb

Calcolo della distanza tra due punti (sorgente puntiforme e altoparlante)

a = 8x1, y1< = 81, 1<;b = 8x2, y2< = 82, 2<;v = b - a;

Distanza = Norm@vD �� N

1.41421

E' interessante notare la seguente definizione di norma

Distanza = Total[Abs[v^p]]^(1/p);

p = 3; Total@Abs@v^pDD^H1 � pL

21�3

Sarebbe interessante capire cosa voglia dire e come si potrebbe utilizzare

La Formula Cercata

Distanza = HHx2 - x1L^2 + Hy2 - y1L^2L^H1 � 2LDistanza == Norm@vD

2

True

¢ | £

Slide.nb 7

Il Modello Acustico

è Livelli di Pressione (dB);

è Radiation Pattern e Radiation Vector Magnitudo;

è Una Sorgente Circolare di Raggio Variabile ad Emissione Perimetrale;

è Propagazione del Suono in Campo libero;

è Ritardo del fronte d'onda nella simulazione della sorgente virtuale tra la sorgente e l'altoparlante.

¢ | £

8 Slide.nb

Livelli di Pressione (dB)

Si trattano dB di grandezze come tensioni, correnti (simulazioni dell'Ampiezza del segnale digitale) e Pressioni secondo db = 20Log[...]

AmpToDB@AmpD := 20 Log@10, AmpD;DBToAmp@DB_D := 10DB�20 �� N;

¢ | £

Slide.nb 9

Radiation Pattern e Radiation Vector Magnitudo

[Scagliola: modifica E MESSA IN FUNZIONE di Moore in roads[1989]]

RP: Radiation Pattern; modello di irradiazione del suono della sorgente

Φ: Angolo della direzione del vettore considerato . Espresso in radianti;

Θ: Angolo della direzione del vettore con magnituto massima. Espresso in radiandi;

Retro: Ampiezza relativa della magnitudine del vettore posta in direzione opposta al vettore con argomento Θ.

Valori possibili [0%, 100%]. La relazione tra Retro e l'ampiezza di Θ + Π è Amp = Retro;

RadiationExp: Livello di Cardioidicità della Sorgente

RVM : RadiationVectorMagnitudo (il concetto è simile all'Indice di direttività [Cirillo 1997 Pag 40]) ma arriva da Moore in Roads[1989 pag 559]

RVM = RP[Φ,Θ,Retro,RadiationExp]

10 Slide.nb

RP@Φ_, Θ_, Retro_, RadiationExp_D := Retro - HRetro - 1L Π-RadiationExp

Θ - Φ - 2 Π RoundΘ - Φ + Π

2 Π

+ Π

RadiationExp

;

Manipulate@ParametricPlot@8RP@Φ, Θ, Retro, RadiationExpD Cos@ΦD, RP@Φ, Θ, Retro, RadiationExpD Sin@Φ D<,8Φ, 0, 2 Π<, 8PlotRange ® 88-1, 1<, 8-1, 1<<, AspectRatio ® Automatic<D, 8Θ, 0, 2 Π<, 8Retro, 0, 1<, 8RadiationExp, 1, 10<D

Θ

Retro

RadiationExp

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

¢ | £

Slide.nb 11

¢ | £

12 Slide.nb

Moore in The Music Machine pag 564 : sbagliata

RP@Φ_, Θ_, Retro_D :=HRetro - 1L  Θ - Φ¤

Π

+ 1

2

;H*Formula data da Moore: non funziona per valori di Retro diversi da 0 e 1*L

Manipulate@Plot@8RP@Mod@Φ, 2 ΠD, Θ, RetroD<, 8Φ, 0, 2 ´ 2 Π<, PlotRange ® AllD, 8Θ, 0, 2 Π<, 8Retro, 0, 1<DManipulate@ParametricPlot@8RP@Φ, Θ, RetroD Cos@ΦD, RP@Φ, Θ, RetroD Sin@Φ D<,

8Φ, 0, 2 Π<, 8PlotRange ® 88-1, 1<, 8-1, 1<<, AspectRatio ® Automatic<D, 8Θ, 0, 2 Π<, 8Retro, 0, 1<D

Θ

Retro

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

Slide.nb 13

Θ

Retro

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

¢ | £

14 Slide.nb

La formula corretta e l'aggiunta di RadiationExp

RP@Φ_, Θ_, Retro_, RadiationExp_D := Retro -

AbsBΘ - Φ - 2 Π RoundB Θ-Φ

2 ΠFF

Π

- 1

2 RadiationExp

HRetro - 1L;

Rispetto alla precedente ho riscalato il segnale contenuto in parentesi dall' originale [-1, 0] a [1, 0] Questo mi consente di utilizzare RadiationExp Dispari senza invertire la fase di Θ. Perciò il

contenuto di RadiationExp può essere simulato da una variabile di controllo di tipo continuo (kr per intenderci)

RP@Φ_, Θ_, Retro_, RadiationExp_D := Retro -

AbsBΘ + Π - Φ - 2 Π RoundB Θ + Π- Φ

2 ΠFF

Π

RadiationExp

HRetro - 1L;

Manipulate@Plot@8RP@Φ, Θ, Retro, RadiationExpD<, 8Φ, 0, 2 Π<, PlotRange ® AllD, 8Θ, 0, 2 Π<, 8Retro, 0, 1<, 8RadiationExp, 1, 10<DManipulate@ParametricPlot@8RP@Φ, Θ, Retro, RadiationExpD Cos@ΦD, RP@Φ, Θ, Retro, RadiationExpD Sin@Φ D<,

8Φ, 0, 2 Π<, 8PlotRange ® 88-1, 1<, 8-1, 1<<, AspectRatio ® Automatic<D, 8Θ, 0, 2 Π<, 8Retro, 0, 1<, 8RadiationExp, 1, 10<D

Slide.nb 15

Θ

Retro

RadiationExp

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

16 Slide.nb

Θ

Retro

RadiationExp

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

¢ | £

Slide.nb 17

Una Sorgente Circolare di Raggio Variabile ad Emissione Perimetrale

Nel caso la sorgente non sia puntiforme ma circolare la distanza tra la sorgente e l'altoparlante non è più DistanzaSorgentePuntiformeAltoparlante ma

DistanzaFinale = Abs@DistanzaSorgentePuntiformeAltoparlante- RaggioSorgenteD;

¢ | £

18 Slide.nb

Propagazione del Suono in Campo libero

[Everest1994] pag 27

[Ballau 2002] pag 8

Lps: livello della pressione misurato ad un metro dalla sorgente

r: distanza alla quale desideriamo simulare il livello di pressione della sorgente

Lp: il livello di pressione cercato dati Lps e r

Lp@Lps_, r_D := Lps - 20 Log@10, rD;

[Scagliola 2007_04_22]

Modifica Lp.

1)

Aggiungo un controllo su r, così non potrà mai scendere sotto una soglia fissata.

Infatti

Se r = 0 allora il risultato della funzione è -Inf, il che risulta essere un risultato non gestibile;

Se r < 1 allora il Lp > Lps, il che è un risultato impossibile (nessun mezzo amplifica un segnale che lo attraversi);

La soglia scelta è quella di un metro, perchè -20Log[10, 1 metro] = 0

così ponendo r < 1 si ottiene Lp = Lps

2)

ass: Coefficiente di Assorbimento

ass: rende conto dell'assorbimento del livello di pressione nel mezzo;

ass = 0 fa sì che non ci sia decadimento dell'ampiezza, cioè Lps = Lp per qualsiasi distanza;

0 < ass <1 , bassa quantità di assorbimento (è come se l'oggetto non fosse puntiforme ma più grande, c'è più suono in tutti gli altoparlanti, gli scarti tra i volumi dei PA sono più piccoli,

situazione più statica )

ass = 1, situazione reale

ass > 1, alto quantità di assorbimento (è come se l'oggetto fosse puntiforme, c'è meno suono negli altoparlanti, gli scarti tra i volumi dei PA sono più grandi, situazione dinamica)

3)

RVM: RadiationVectorMagnitudo (il concetto è simile all'Indice di direttività [Cirillo 1997 Pag 40]) ma arriva da Moore in Roads[1989 pag 559]

Slide.nb 19

[Scagliola 2007_04_22]

Modifica Lp.

1)

Aggiungo un controllo su r, così non potrà mai scendere sotto una soglia fissata.

Infatti

Se r = 0 allora il risultato della funzione è -Inf, il che risulta essere un risultato non gestibile;

Se r < 1 allora il Lp > Lps, il che è un risultato impossibile (nessun mezzo amplifica un segnale che lo attraversi);

La soglia scelta è quella di un metro, perchè -20Log[10, 1 metro] = 0

così ponendo r < 1 si ottiene Lp = Lps

2)

ass: Coefficiente di Assorbimento

ass: rende conto dell'assorbimento del livello di pressione nel mezzo;

ass = 0 fa sì che non ci sia decadimento dell'ampiezza, cioè Lps = Lp per qualsiasi distanza;

0 < ass <1 , bassa quantità di assorbimento (è come se l'oggetto non fosse puntiforme ma più grande, c'è più suono in tutti gli altoparlanti, gli scarti tra i volumi dei PA sono più piccoli,

situazione più statica )

ass = 1, situazione reale

ass > 1, alto quantità di assorbimento (è come se l'oggetto fosse puntiforme, c'è meno suono negli altoparlanti, gli scarti tra i volumi dei PA sono più grandi, situazione dinamica)

3)

RVM: RadiationVectorMagnitudo (il concetto è simile all'Indice di direttività [Cirillo 1997 Pag 40]) ma arriva da Moore in Roads[1989 pag 559]

r = DistanzaFinale;

Lp@Lps_, r_, RVM_, ass_: 1D := ∂ Lps * RVM r £ 1

Lps * RVM - 20 ass Log@10, rD r > 1;

Manipulate@Plot@Lp@90, Abs@rD, 1, assD, 8r, -20, 20<, PlotRange ® 88-20, 20<, 8-200, 100<<D, 8ass, 0, 10<D

20 Slide.nb

ass

-20 -10 10 20

-200

-150

-100

-50

50

100

¢ | £

Slide.nb 21

Ritardo del fronte d'onda

s = v t --- > t = s / v

Ritardo@Distanza_D := Module@8VelSuono = 331.5 H*a zero gradi*L<, Distanza � VelSuonoD;

¢ | £

22 Slide.nb

Trasformazioni Lineariè Matrice di trasformazione;

è Riflessione;

è Rotazione.

¢ | £

Slide.nb 23

Matrice di trasformazione

L'area della figura trasformata è incrementata di un fattore il cui valore è il determinante della matrice di trasformazione.

Una trasformazione lineare di forma F(v) = k v è

1) una dilatazione se k > 1;

2) una contrazione se 0<k<1.

La matrice di dilatazione o contrazione sarà la matrice identità moltiplicata per lo scalare k.

es.: m=1 0

0 1 k(=3);

L'effetto di tale trasformazione sarà di espandere o contrarre radialmente il piano rispetto all'origine.

L'area del poligono trasformato cambierà di un fattore k^2, che è il valore del determinante della matrice di trasformazione.

24 Slide.nb

k = 2;

m =1 0

0 1k;

square = Graphics@[email protected], Polygon@880, 0<, 80, 1<, 81, 1<, 81, 0<<D<D;square2 = Graphics@[email protected], [email protected], 0<, m.80, 1<, m.81, 1<, m.81, 0<<D<D;Show@square2, square, Axes ® True, AspectRatio ® AutomaticD

0.5 1.0 1.5 2.0

0.5

1.0

1.5

2.0

¢ | £

Slide.nb 25

Riflessione

Una riflessione è una trasformazione lineare (TL) che mappa un vettore alla sua immagine speculare attraverso un asse di simmetria passante per l'origine.

m =-1 0

0 1;

square = Graphics@[email protected], Polygon@880, 0<, 80, 1<, 81, 1<, 81, 0<<D<D;square3 = Graphics@[email protected], [email protected], 0<, m.80, 1<, m.81, 1<, m.81, 0<<D<D;Show@square3, square, Axes ® True, AspectRatio ® AutomaticD

-1.0 -0.5 0.5 1.0

0.2

0.4

0.6

0.8

1.0

¢ | £

26 Slide.nb

Rotazione

Una rotazione di angolo Θ è un TL che ruota ogni vettore di un angolo Θ rispetto all'origine. La matrice di una rotazione antioraria è

Θ = Π � 4;

m =Cos@ΘD -Sin@ΘDSin@ΘD Cos@ΘD ;

square = Graphics@[email protected], Polygon@880, 0<, 80, 1<, 81, 1<, 81, 0<<D<D;square4 = Graphics@[email protected], [email protected], 0<, m.80, 1<, m.81, 1<, m.81, 0<<D<D;Show@square, square4, Axes ® True, AspectRatio ® AutomaticD

-0.5 0.5 1.0

0.2

0.4

0.6

0.8

1.0

1.2

1.4

Slide.nb 27

v = 880.039463, 0.845171<, 80.0677659, 0.783547<, 80.175759, 0.788766<, 80.242401, 0.860627<, 80.265686, 0.822087<,80.304226, 0.804222<, 80.260467, 0.696229<, 80.180777, 0.644842<, 80.301616, 0.606302<, 80.309244, 0.547287<,80.273314, 0.441904<, 80.453168, 0.542068<, 80.48408, 0.590846<, 80.430084, 0.647452<, 80.520011, 0.657689<,80.512182, 0.552306<, 80.466014, 0.45736<, 80.234773, 0.359605<, 80.0729849, 0.426448<, 8-0.0145334, 0.539459<,8-0.0426356, 0.61393<, 80.0549192, 0.714295<, 80.0061418, 0.752835<, 8-0.0195516, 0.80924<, 80.021598, 0.827306<<;

cat = Graphics@[email protected], Polygon@vD<D;Show@cat, Axes ® True, AspectRatio ® AutomaticD

0.1 0.2 0.3 0.4 0.5

0.5

0.6

0.7

0.8

28 Slide.nb

ManipulateB

m =Cos@ΘD -Sin@ΘDSin@ΘD Cos@ΘD ;

cat2 = Graphics@[email protected], Polygon@[email protected]@@iDD, 8i, Length@vD< DD<D;Show@cat, cat2, Axes ® True, AspectRatio ® Automatic, PlotRange ® 8 8-1, 1<, 8-1, 1<<D, 8Θ, 0, 2 Π<F

Θ

ShowBcat, , Axes ® True, AspectRatio ® Automatic, PlotRange ® 88-1, 1<, 8-1, 1<<F

¢ | £

Slide.nb 29

Bibliografia

Ballou 2002 (ed) Handbook for Sound Engineers, Third Edition

Cirillo 1997 Acustica Applicata

Everet 1994 The Master Handbook of Acoustics,Third edition(Trad. 1996 Manuale di Acustica )

Moore in Roads 1989

Roads 1989 (ed) The Music Machine

Torrence 1999 the Student' s Introducion to Mathematica

¢ | £

30 Slide.nb