I'm reading Udo Zölzer's "Digital Audio Signal Processing" and there's a piece about acoustic room simulation.
This question will be more about maths and acoustics, but I assume anybody who does DSP with sound knows the topic.
I'm trying to understand an excerpt about Craven's hypothesis (conerning human's sound source distance evaluation) which is used at Gerzon's algorithm.
It looks like this:
My understanding: Craven was trying to say that as we perceive signals with our ears, we can easily evaluate two things:
- time difference between arrivals of the direct signal and the first reflection
- the ratio of their amplitudes
Then, he says, our brain evaluates these two and can determine (more or less) the distance of the sound source.
I don't get the thing with g. It's said, that g stands for relative amplitude of direct signal to first reflection.
Shouldn't it be the other way? I mean, shouldn't it stand for "relative amplitude of first reflection to direct signal"? If we assume same SPL at both sources, the source that is further provides a weaker signal, than the one that is closer to the receiver.
If I would know only the verbal description of g, I would expect it to always be greater than 1, as direct signal is always louder than any reflected.
But how does it happen, that g = SPL/SPL' = d/d' ?
According to inversed square distance law for sound, if we use SPLs, sound pressure level at distance r:
SPL(r) = (SPL@source)/r
So, if g would stand for the "relative amplitude of direct signal to first reflection" I would calculate:
g = SPL/SPL' = (P/d) / (P/d') = d'/d
SPL is Sound Pressure Level of the direct sound at the receiver, SPL' is SPL of the first reflection at the receiver, P is sound source's SPL, d and d' are distances from sources.
Question 1.: is there a mistake at my interpretation or in the description in the book?
Question 2.: after all the calculations, when we have the formula for d, that Craven says allows our brain to evaluate the distance of the source, where does brain take the speed of sound from to calculate it? Should it be trained?