pyFDN.plot_fdn_parameter#

pyFDN.plot_fdn_parameter(delays, A, b, c, d, *, attenuation_sos=None, post_eq_sos=None, fs=None, nfft=512, zmin=None, zmax=None, title=None)[source]#

Plot all FDN parameters in one figure.

Extends plot_system_matrix() with the delay lengths and, optionally, the attenuation filters and the post EQ:

  • the system matrix blocks A, b, c, d as heatmaps with a shared RdBu color scale;

  • the delays as a bar plot whose bars are aligned with the columns of the feedback matrix A (one bar per delay line);

  • the attenuation filters as gain-per-sample curves, as in plot_db_per_sample();

  • the post EQ as plain magnitude response in dB.

Bar and curve colors are matched per delay line and encode the delay length (Viridis, short = dark, long = bright).

Parameters:
  • delays (array-like) – Delay lengths in samples, shape (N,).

  • A (array-like) – Feedback matrix, input gains, output gains, direct gains.

  • b (array-like) – Feedback matrix, input gains, output gains, direct gains.

  • c (array-like) – Feedback matrix, input gains, output gains, direct gains.

  • d (array-like) – Feedback matrix, input gains, output gains, direct gains.

  • attenuation_sos (array-like, optional) – Per-delay-line SOS attenuation bank, same layout as pyFDN.dsp.SOSFilterBank: (n_sections, 6, N).

  • post_eq_sos (array-like, optional) – Post EQ as an SOS cascade in scipy format, shape (n_sections, 6) (or (6,) for one section) for a single output, or (n_sections, 6, K) to draw one magnitude curve per output channel.

  • fs (float, optional) – Sample rate in Hz. If given, the filter responses are plotted over a logarithmic frequency axis in Hz; otherwise over rad/sample.

  • nfft (int, optional) – Number of frequency points for the filter responses. Default 512.

  • zmin (float, optional) – Shared color limits for the heatmaps. If both None, uses (-1, 1).

  • zmax (float, optional) – Shared color limits for the heatmaps. If both None, uses (-1, 1).

  • title (str, optional) – Figure title.

Returns:

Call .show() to display.

Return type:

go.Figure