pyFDN.plot_edc#

pyFDN.plot_edc(*irs, fs=None, labels=None, db=True, normalize=False, dynamic_range=100.0, title='Energy decay curve', max_points=10000)[source]#

Plot the energy decay curve (EDC) of one or more impulse responses.

The EDC is the backward energy integral (pyFDN.edc()); by default it is shown in dB (pyFDN.sq_to_db()). Dense traces are downsampled with LTTB (downsampled_scatter()) before plotting.

Parameters:
  • *irs (array-like) – One or more 1-D impulse responses, plotted as overlaid curves.

  • fs (float, optional) – Sample rate in Hz. If given, the time axis is in seconds; otherwise in samples.

  • labels (sequence of str, optional) – One legend label per impulse response.

  • db (bool, optional) – Plot the decay in dB. Default True.

  • normalize (bool, optional) – Normalize each curve by its initial (total) energy so it starts at 0 dB. Default False.

  • dynamic_range (float, optional) – When plotting in dB, limit the y-axis to dynamic_range dB below the peak across all curves (default 100, i.e. a floor at peak - 100 dB). This keeps the late decay from blowing out the axis once the tail reaches silence (-inf dB). Use None for auto scaling. Ignored when db is False.

  • title (str, optional) – Figure title.

  • max_points (int, optional) – Maximum number of points per trace after downsampling. Default 10000.

Returns:

Call .show() to display.

Return type:

go.Figure