pyFDN.pole_boundaries#

pyFDN.pole_boundaries(delays, absorption, feedback_matrix, fs, nfft=4096)[source]#

Upper and lower bounds of the pole magnitudes of an FDN loop.

Combines the singular values of the feedback matrix with the magnitude and group delay of the per-line absorption filters.

Parameters:
  • delays (ArrayLike) – Delays in samples, shape (N,).

  • absorption (ArrayLike) – Per-line absorption as an SOS bank of shape (sections, 6, N), the format of an FDNBuild’s post_delay.

  • feedback_matrix (ArrayLike) – (N, N) or FIR (N, N, L) in the z^{-1} convention.

  • fs (float) – Sampling frequency in Hz.

  • nfft (int) – Number of frequency bins between 0 and Nyquist.

Returns:

Lower bound of the pole magnitude, shape (nfft,). max_curve: Upper bound of the pole magnitude, shape (nfft,). f: Frequency points in Hz, shape (nfft,).

Return type:

tuple[ndarray, ndarray, ndarray]