![]() |
|
localizzazione 3D
Simuliamo una sorgente posta in un certo punto nell'aria libera, che emette un semplice
segnale sinusoidale, con una certa potenza sonora, e facciamo l'ipotesi che il
suono si propaghi isotropamente con simmetria sferica, senza essere smorzato dal
mezzo.
Ad una certa distanza dal centro, la potenza si distribuisce su tutta la superfice
sferica. La legge di conservazione dell'energia ci dice quindi che l'intensità
sonora decresce con il quadrato della distanza dalla sorgente.
Ne segue che la pressione sonora decresce in modo inversamente proporzionale alla
distanza dal centro.
In termini di livello di pressione sonora (SPL) un raddoppio della distanza causa
una diminuzione di circa 6dB (20Log10(0.5)).
Ricordiamo infine che quando impostiamo una ampiezza A del segnale sinusoidale, la
potenza elettrica è proporzionale al suo quadrato, e la potenza sonora prodotta
dalla cuffia o dall'altoparlante è ancora proporzionale al quadrato di A, e
quindi la pressione sonora che finalmente agisce sulle nostre orecchie sarà
proporzionale alla ampiezza A che avevamo impostato.
Quindi ad una distanza d dalla sorgente abbiamo semplicemente una ampiezza A/d.
Per ora supponiamo che le due orecchie non abbiano una risposta direzionale (sappiamo
che invece sia le orecchie che molti microfoni hanno una spiccata direzionalità)
e che distino circa 20 cm. una dall'altra.
Ciò nonostante il segnale arriva un pochino piu' forte ad una orecchio che
all'altra, e con una piccola differenza di fase, e questo è sufficiente a dare
una certa sensazione di direzionalità, anche se alla localizzazione della
sorgente di un rumore mediante le orecchie contribuiscono anche effetti più
complessi che vedremo in seguito.
Un primo programma semplicissimo è unasorgente.f90 o
unasorgente.c in C.
In un secondo esempio proviamo a simulare un punto che emette un segnale sinusoidale
di frequenza e ampiezza assegnata, e che si muove lungo una retta a velocità
assegnata.
Supponiamo sempre che il segnale si propaghi nell'aria, e che ciascuna orecchio
percepisca i suoni da qualsiasi direzione nello stesso modo.
Per determinare il suono che arriva ad una certa orecchio ad un istante t, occorre
tenere conto del fatto che esso era partito ad un certo istante t' ed ha coperto
la distanza tra la posizione che all'istante t' aveva il punto e l'orecchia,
viaggiando alla velocità del suono: occorre risolvere l'equazione del
secondo ordine in t' e tenere conto che il suono si indebolisce proporzionalmente
Il quadrato della distanza percorsa.
Arriviamo così al programma moto1.f90 o
moto1.c in C.
Sperimentando con questo programma si vede che viene reso esattamente l'effetto
doppler, con il caratteristico spostamento in frequenza (nota: 60Km/h sono 16.7m/s).
In certi casi però si ottiene un suono molto strano, con una variazione in
senso opposto della tonalità del suono.
Per esempio prendendo frequenza=3500, ampiezza=1, velocità=10,
distanza_retta=0.5.
Che cosa è accaduto ?
Analizzando il segnale mediante il programma snd si scopre che quando il punto
è vicino, il suono è molte forte e viene limitato dal massimo valore che
abbiamo imposto nel programma.
Questo troncamento introduce delle armoniche di ordine più elevato nel suono.
Alcune di queste armoniche sono sufficientemente elevate da superare la frequenza
di Nyquist: non sono udibili, ma i loro alias lo sono.
Mentre il punto si avvicina, le frequenze aumentano di tono, ma gli alias invece
calano di tono (c'è un ripiegamento attorno alla frequenza di Nyquist dello
spettro...).
Questo esempio è molto istruttivo: manipolazioni numeriche fatte sui segnali
possono facilmente introdurre erroneamente componenti di frequenza inaspettatamente
alta.
![]() |
|