ISO 9613-1:1993
ISO 9613-1:1993
This module implements ISO 9613-1:1993 which provides analytical methods for calculating sound attenuation due to atmospheric absorption under various meteorological conditions.
The module provides functions for calculating: - Sound speed in different temperatures - Saturation vapor pressure - Molar concentration of water vapor - Relaxation frequencies of oxygen and nitrogen - Atmospheric absorption coefficients
Constants
SOUNDSPEED: Speed of sound constant.
REFERENCE_TEMPERATURE: Reference temperature constant.
REFERENCE_PRESSURE: Reference pressure constant.
TRIPLE_TEMPERATURE: Triple point isotherm temperature constant.
Reference
ISO 9613-1:1993: Acoustics — Attenuation of sound during propagation outdoors
Attributes
REFERENCE_PRESSURE
module-attribute
International Standard Atmosphere pressure in kilopascal.
Functions
soundspeed
soundspeed(
temperature: float,
reference_temperature: float = REFERENCE_TEMPERATURE,
) -> float
Calculate speed of sound \(c\) in air.
Notes
The speed of sound is calculated using the formula: $$ c = 343.2 \left( \frac{T}{T_0} \right) $$
| PARAMETER | DESCRIPTION |
|---|---|
temperature
|
Ambient temperature \(T_0\).
TYPE:
|
reference_temperature
|
Reference temperature \(T\).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
Speed of sound in m/s.
TYPE:
|
Source code in acoustic_toolbox/standards/iso_9613_1_1993.py
saturation_pressure
saturation_pressure(
temperature: float,
reference_pressure: float = REFERENCE_PRESSURE,
triple_temperature: float = TRIPLE_TEMPERATURE,
) -> float
Calculate saturation vapor pressure \(p_{sat}\).
Notes
The saturation vapor pressure is calculated using the formula: $$ p_{sat} = 10^C \cdot p_r $$
with exponent \(C\) given by: $$ C = -6.8346 \cdot \left( \frac{T_{01}}{T} \right)^{1.261} + 4.6151 $$
| PARAMETER | DESCRIPTION |
|---|---|
temperature
|
Ambient temperature \(T\).
TYPE:
|
reference_pressure
|
Reference pressure \(p_r\).
TYPE:
|
triple_temperature
|
Triple point temperature \(T_{01}\).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
Saturation vapor pressure
TYPE:
|
Source code in acoustic_toolbox/standards/iso_9613_1_1993.py
molar_concentration_water_vapour
molar_concentration_water_vapour(
relative_humidity: float,
saturation_pressure: float,
pressure: float,
) -> float
Calculate molar concentration of water vapour \(h\).
Notes
The molar concentration of water vapour is calculated using the formula: $$ h = h_r \frac{p_{sat}}{p_a} $$
| PARAMETER | DESCRIPTION |
|---|---|
relative_humidity
|
Relative humidity \(h_r\)
TYPE:
|
saturation_pressure
|
Saturation pressure \(p_{sat}\)
TYPE:
|
pressure
|
Ambient pressure \(p_a\)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
Molar concentration of water vapour
TYPE:
|
Source code in acoustic_toolbox/standards/iso_9613_1_1993.py
relaxation_frequency_oxygen
relaxation_frequency_oxygen(
pressure: float,
h: float,
reference_pressure: float = REFERENCE_PRESSURE,
) -> float
Calculate relaxation frequency of oxygen \(f_{r,O}\).
Notes
The relaxation frequency of oxygen is calculated using the formula: $$ f_{r,O} = \frac{p_a}{p_r} \left( 24 + 4.04 \cdot 10^4 h \frac{0.02 + h}{0.391 + h} \right) $$
| PARAMETER | DESCRIPTION |
|---|---|
pressure
|
Ambient pressure \(p_a\)
TYPE:
|
h
|
Molar concentration of water vapour \(h\)
TYPE:
|
reference_pressure
|
Reference pressure \(p_r\).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
Relaxation frequency of oxygen in Hz
TYPE:
|
See Also
molar_concentration_water_vapour: Function to calculate molar concentration of water vapour
Source code in acoustic_toolbox/standards/iso_9613_1_1993.py
relaxation_frequency_nitrogen
relaxation_frequency_nitrogen(
pressure: float,
temperature: float,
h: float,
reference_pressure: float = REFERENCE_PRESSURE,
reference_temperature: float = REFERENCE_TEMPERATURE,
) -> float
Calculate relaxation frequency of nitrogen \(f_{r,N}\).
Notes
The relaxation frequency of nitrogen is calculated by: $$ f_{r,N} = \frac{p_a}{p_r} \left( \frac{T}{T_0} \right)^{-½} \cdot \left( 9 + 280 \cdot h \cdot \exp \left( -4.170 \left[ \left(\frac{T}{T_0} \right)^{-⅓} -1 \right] \right) \right) $$
| PARAMETER | DESCRIPTION |
|---|---|
pressure
|
Ambient pressure \(p_a\)
TYPE:
|
temperature
|
Ambient temperature \(T\)
TYPE:
|
h
|
Molar concentration of water vapour \(h\)
TYPE:
|
reference_pressure
|
Reference pressure \(p_{ref}\).
TYPE:
|
reference_temperature
|
Reference temperature \(T_{ref}\).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
Relaxation frequency of nitrogen in Hz
TYPE:
|
Source code in acoustic_toolbox/standards/iso_9613_1_1993.py
attenuation_coefficient
attenuation_coefficient(
pressure: float,
temperature: float,
reference_pressure: float,
reference_temperature: float,
relaxation_frequency_nitrogen: float,
relaxation_frequency_oxygen: float,
frequency: float | NDArray[float64],
) -> float | NDArray[float64]
Calculate attenuation coefficient \(\alpha\) describing atmospheric absorption in dB/m for the specified frequency.
| PARAMETER | DESCRIPTION |
|---|---|
pressure
|
Ambient pressure \(p_a\)
TYPE:
|
temperature
|
Ambient temperature \(T\)
TYPE:
|
reference_pressure
|
Reference pressure \(p_{ref}\)
TYPE:
|
reference_temperature
|
Reference temperature \(T_{ref}\)
TYPE:
|
relaxation_frequency_nitrogen
|
Relaxation frequency of nitrogen \(f_{r,N}\)
TYPE:
|
relaxation_frequency_oxygen
|
Relaxation frequency of oxygen \(f_{r,O}\)
TYPE:
|
frequency
|
Frequencies \(f\) to calculate \(\alpha\) for |
| RETURNS | DESCRIPTION |
|---|---|
float | NDArray[float64]
|
float | NDArray[np.float64]: Attenuation coefficient in dB/m |
Source code in acoustic_toolbox/standards/iso_9613_1_1993.py
:::