File Exchange

image thumbnail

Modelling of acoustic absorbers

version (11.8 KB) by Trevor Cox
Predict material properties, surface impedance and absorption coefficients of acoustic absorbers


Updated 27 Nov 2018

View License

Various empirical models are implemented for getting the characteristic impedance and wavenumber of porous materials such as glass fibre and mineral wool:
1. Delany and Bazley
2. Mechel and Ggrundmann
3. Wilson, simplified relaxation model
These porous absorber models are then used to calculate the surface impedance and absorption coefficient of different absorbents using a transfer matrix approach.
1. effect_of_perforated_sheet_open_area.m Shows how the open area changes the surface impedance and absorption coefficient of some Helmholtz absorbers using a transfer matrix approach.
2. microperforated_absorber.m Calculates the absorption coefficient for a single layer microperforated absorber.
3. slotted_absorber.m calculates absorption coefficient for a Helmholtz absorber that uses slots (slits) rather than round holes.
The formulations for the models are outlined in Acoustic Absorbers and Diffusers by Trevor Cox and Peter D'Antonio

Cite As

Trevor Cox (2020). Modelling of acoustic absorbers (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (8)

Athist Yeangvorakul

I am a new and I want to know how to use this coding in my first prolect.


Is there any code for Biot theory?

juan medina

So great!. Thanks.

Trevor Cox

Thanks new version with typo corrected. It made a tiny difference, however!
The typo is from a previous edition of the book, the code is no longer published in the book but maintained here.
If you want to look at air backing, start with transfer matrix eqn (e.g. 2.3 from edition 3) and set backing impedance Zs1 = rho*c

Ari Jas

There is a mistake in the code : effect_of_perforated_sheet_open_area.m
delta = 0.8*(1-1.47*eta(m)^0.5+0.47*eta(m)^3/2); %end correction
It should be:
delta = 0.8*(1-1.47*eta(m)^0.5+0.47*eta(m)^(3/2)); %end correction

Also in the book, there is a very serious mistake in Appendix code: B.3 Chapter 5: script_5_3
zs2 = (-j*zs1.*zc.*coth(k*l) + zc.^2)./(zs1 + zc.*coth(gamma*l)); %impedance atsurface of absorber
It should be:
zs2 = (-j*zs1.*zc.*cot(k*l) + zc.^2)./(zs1 -j* zc.*cot(k*l)); %impedance atsurface of absorber

I would like to see what would be the codes or formulas if there would not be any "rigid backing" exists in the porous or perforated absorbers (i.e. the wall transmits sound to the back of all into other room...)?

Thank you very much, Trevor.

Trevor Cox

To do random incidence you could apply Paris' formulation Eqn 13.1 in Acoustic Absorbers and Diffusers (3rd ed). SO you calculate the absorption coefficient for each angle of incidence then apply Eqn 13.1. This isn't foolproof, however, because reverberation rooms aren't exact diffuse fields (as Chapter 13 discusses).

Hello Trevor. Thanks for uploading the codes for the calculation of several types of resonator absorbers. I was wondering if (and how) can I calculate the MPP resonators for random incidence. I guess the code calculates the resonant frequency and bandwidth just for normal incidence and I should modify the impedance formula to be able to calculate the MPP for other incidence angles. Am I right?

Thank you


Typographical corrected in effect_of_perforated_sheet_open_area.m which made a very small difference to calculated results

Tidied up descriptions

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux