split subbands¶
class description¶
-
split_subbands.
split_subbands
(settings: Dict[str, Any], msap_in: numpy.ndarray) → numpy.ndarray[source]¶ Compute subfrequency bands for a given 1/3rd octave frequency spectrum.
- Parameters
settings (Dict[str, Any]) – pyna settings
msap_in (np.ndarray [settings.N_f']]) – mean-square acoustic pressure of the source (re. rho_0,^2c_0^2) [-]
- Returns
mean-square acoustic pressure of the source, split into sub-frequency bands (re. rho_0,^2c_0^2) [-]
- Return type
msap_sb [settings.N_f’]*settings.N_b’]]
theory¶
The atmospheric absorption and ground absorption and reflections are applied to a sub-band frequency spectrum. Each frequency, \(f_i\), within the one-third octave frequency spectrum (i.e. \(i \in [1, N_f]\)) is divided into \(N_b = 2m+1\) sub-bands, where \(m\) is a strictly positive integer. The ratio of sub-band center frequencies is:
where \(j = (i-1)N_b + h\) is the index of the sub-band center frequency and \(h \in [1,N_b]\). Thus, the j-th sub-band center frequency is computed from the i-th original frequency using:
The mean-square acoustic pressure of each original one-third frequency band, \(<p^2>^*_i\), is also divided into sub-bands. Firstly, the slopes of the mean-square acoustic pressure in the lower (\(u\)) and upper (\(v\)) half of the band are computed using:
The sub-band adjusting factor, \(A_i\), is computed using:
Finally, the mean-square acoustic pressure of each sub-band frequency is given by: