[Openal-devel] Re: [Openal] Speed of sound... does it incur propagation delays?
Frederick Bartram
bartramf at acm.org
Mon Dec 5 13:59:25 PST 2005
On Dec 5, 2005, at 04:14 PM, Stephen J Baker wrote:
> However, this makes me wonder (again) about the asymmetry between
> listener motion and source motion in the doppler math. I was
> sceptical
> about this at the outset - and now, I'm even more sceptical. Since
Yes! because the the Doppler math IS wrong!
The OpenAL doppler shift is the classical form with the addition of a
scaling factor.
In this case there IS an asymmetry between listener and source.
f' = f * (VD - DF*vl) / (VD + DF*vs)
or
f'/f = (VD - DF*vl) / (VD + DF*vs)
Letting VD = 1 and DF = 1
f'/f = (1 - vl) / (1 + vs).
For a stationary listener, vl = 0 and vs = v, this becomes
f'/f = 1 / (1 + v)
The difference in the two cases can be seen clearly by expanding in
series
f'/f = 1 / (1 + v) = 1 - v + v^2 - v^3 +....
For a stationary source, vs = 0 and vl = v we get
f'/f = (1 - v).
So it is easy to see that the two cases are not the same. => (1-v)
1 - v + v^2 - v^3 +...
I am not a physicist and I didn't sleep in a hotel last night but
this an example is one of the differences between the classical
Doppler formula
and the relativistic (Lorentzian) one in which the source and
listener velocities are indistinguishable.
f'/f = sqrt((1-u)/(1+u))
or
f' = f sqrt((1-u)/(1+u)) <==
where u is a composition of the source and listener velocities
u = (vl+vs)/(1 + (vl*vs)/VD^2).
If the Listener is stationary then u = vs.
If the Source is stationary then u = vl;
So in either case if we let vs = v or vl = v, expanding in series form,
f'/f = 1 - v + (1/2)v^2 - (1/2) v^3 + (3/8)v^4 - (3/8)v^5 ...
which differs from both classical cases and IS symmetrical with
respect to the source and listener.
More information about the Openal-devel
mailing list