pyFDN.dss_to_ss#

pyFDN.dss_to_ss(delays, A, b=None, c=None, d=None)[source]#

Convert a delay state-space (DSS) system to standard state-space.

Gives every delay-line sample its own state, so the N x N DSS system becomes a sum(delays) x sum(delays) standard state-space system. No build_to_ss counterpart exists: the result does not depend on fs or an FDNBuild’s filter hooks, so pass build.delays and build.A/B/C/D directly.

Parameters:
  • delays (ArrayLike) – Delay lengths in samples (min 3 samples).

  • A (ArrayLike) – Feedback matrix (NxN).

  • b (ArrayLike | None) – Input gains (Nx1). Defaults to ones(N,1).

  • c (ArrayLike | None) – Output gains (1xN). Defaults to ones(1,N).

  • d (ArrayLike | None) – Direct gains (1x1). Defaults to np.ones((1,1)).

Return type:

tuple[ndarray, ndarray, ndarray, ndarray]

Returns:

  • AA (ndarray) – State-space transition matrix.

  • bb (ndarray) – State-space input gains.

  • cc (ndarray) – State-space output gains.

  • dd (ndarray) – State-space direct gains.