sdynpy.signal_processing.sdynpy_cpsd.nth_octave_freqs

nth_octave_freqs(freq, oct_order=1)[source]

Get N-th octave band frequencies

Parameters
  • freq (ndarray) – array of frequency values, either including all freqs or only min and max

  • oct_order (int, optional) – octave type, 1/octave order. 3 represents 1/3 octave bands. default is 1

Returns

  • nominal_band_centers (ndarray) – rounded band center frequencies using ANSI standers. Used to report results, not to compute band limits

  • band_lb (ndarray) – lower band frequencies in Hz

  • band_ub (ndarray) – upper band frequencies in Hz

  • band_centers (ndarray) – exact computed octave center band frequencies

Notes

Uses equations in ANSI S1.11-2014 “Electroacoustics – Octave-band and Fractionaloctave-band Filters – Part 1: Specifications”

Uses the min and max freq lines in the provided freq to determine the upper and lower bands

Uses 1000 Hz as the reference frequency (as per the ANSI standard)

Computes the 1/Nth band center frequencies, using different equations depending on the octave order. Orders with odd numbers (1, 1/3, etc.) use ANSI eqn 2. Order with even numbers (1/6, 1/12, etc.) use eqn 3. This causes any sub-bands to fit entirely within the full octave band

Note: even-numbered sub-bands will not share center frequencies with the full octave band, but will share the upper and lower limits. ANSI S1.11 Annex A gives instructions for rounding to make the nominal band center freqs. If left-most digit is 1-4, round to 3 significant digits. If left-most digit is 5-9, round to 2 significant digits. For example, 41.567 rounds to 41.6. 8785.2 rounds to 8800.