On Wed, Nov 23, 2011 at 09:52:22AM +0800, Junfeng Li wrote:
> Now I am considering to improve the traditional image-source method to
> generate more natural room impulse response with the consideration of air
> absorption. I noticed that some open source codes (e.g., roomsim) have
> already realized this idea. To reformulate the image-source method from
> theory, however, my main concern is what kind of formulation the transfer
> function or Green function (exp(jwd/(4*pi*d)) in the free field should be
> when the air absorption effect is taken into account?
>
> Could anyone direct me to some references on this issue?
>
> Does any have any idea? or references on this issue?
> (Though I believe it is a easy question, I cannot find the answer, ....)
I don't think you need to reformulate the theory. Air absorbtion
can be taken into account numerically just in the same way as
the frequency response of the reflecting surfaces.
Also, unless the room is large and the walls have low absorption
at HF the effect will not contribute much and can probably be
modelled using a simple lowpass filter.
The code reproduced below is a cleaned up version of an algorithm
I found somewhere (and don't remember where). As you will note
when experimenting with it, air absorption is very dependent on
temperature and humidity, so any room resonse computed from standard
conditions will be invalid if these change - assuming air absorption
contributes much at all.
// Compute air absorbtion in dB/m
//
// p pressure in Pa
// t temperature in centigrades
// r relative humidity in percent
// f frequency in Hz
//
float airabs (float p, float t, float r, float f)
{
float C, h, tr, frO, frN;
p /= 101325.0f;
t += 273.15f;
C = 4.6151f - 6.8346f * powf ((273.15f / t), 1.261f);
h = r * powf (10.0f, C) * p;
tr = t / 293.15f;
frO = p * (24 + 4.04e4f * h * (0.02f + h)/(0.391f + h));
frN = p * powf (tr, -0.5f) * (9 + 280 * h * exp (-4.17f * (powf (tr,
-1/3.0f) - 1)));
return 8.686f * f * f * (1.84e-11f * sqrt (tr) / p
+ powf (tr, -2.5f) * ( 0.01275f * (expf (-2239.1f / t) / (frO + f *
f / frO))
+ 0.10680f * (expf (-3352.0f / t) / (frN + f *
f / frN))));
}
Ciao,
--
FA
Vor uns liegt ein weites Tal, die Sonne scheint - ein Glitzerstrahl.
_______________________________________________
Sursound mailing list
[email protected]
https://mail.music.vt.edu/mailman/listinfo/sursound