Acoustic Transfer Matrix Class for Duct Acoustics
Version 1.0.1 (8.32 KB) by
Max Lacoma
Provides a class with full documentation for modelling the acoustics of plane wave propagation in ducts.
This download implements a new class which introduces the TM (transfer matrix) object into MATLAB. This class can be used for easy modelling of simple acoustic plane wave propagation down ducts of varying cross sectional areas (ie. expansion/contraction chambers, discretized horns, etc). The transfer matrices are generated in the volume velocity formulation, relating pressure and volume velocity at one end to the pressure and volume velocity at another.
Files Included:
- TM.m - Class file
- TM_tester.m - MATLAB script which demonstrates some of the class's functionality and validates it against analytical solutions
Current Features:
- Generate transfer matrices for a singular or series of duct elements defined by their length and cross-sectional area
- Current duct element types: Generic lossless duct, cylindrical duct with thermoviscous losses
- Cascading of multiple transfer matrices together
- Calculation of pressure transmission coefficient and power transmission coefficients based on the transfer matrix
- Calculation of pressure reflection coefficient and power transmission coefficients based on the transfer matrix
- Calculations of acoustic input impedance for various end conditions
- Current end conditions: Open end, closed end, open end with unflanged radiation impedance
- Calculation of absorption coefficient for lossy elements (Note: current not working as expected, I recommend not utilizing this feature)
Planned Features:
- Lossy rectangular elements
- Parallel and series elements of a user-defined impedance
- Other common duct acoustic elements (extended tube, perforations, etc)
- Phase between input and output pressures
Sources:
[1] D. T. Blackstock, Fundamentals of Physical Acoustics. New York: Wiley, 2000.
[2] “Acoustic waves in periodic structures, metamaterials, and porous media,” SpringerLink, https://link.springer.com/book/10.1007/978-3-030-84300-7 (accessed Dec. 1, 2023).
Note: This class does not provide any limitations on frequency range. It is up to the user to ensure that their frequency range of interest is below the plane wave cutoff frequency of the duct and provide validity to the TM model.
Cite As
Max Lacoma (2024). Acoustic Transfer Matrix Class for Duct Acoustics (https://www.mathworks.com/matlabcentral/fileexchange/155874-acoustic-transfer-matrix-class-for-duct-acoustics), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2023a
Compatible with any release
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.