pyFDN.dss_to_pr#
- pyFDN.dss_to_pr(delays, A, B, C, D, *, mode='eig', deflation_type='fullDeflation', quality_threshold=1e-10, maximum_iterations=50, refinement_tol=1e-12, reject_unstable_poles=False, svd_refine=True, symmetrize=True, verbose=False, Fs=1.0, nfft=65536, dtype=None, device=None)[source]#
Modal decomposition of an FDN from raw DSS matrices.
H(z) = C·(diag(z^m_i) − A)^{-1}·B + D = Σ_k residue_k / (1 − p_k z^{-1}) + D- Parameters:
delays (array-like of int, shape
(N,)) – Per-line delays in samples.A (array-like
(N, N)) – Static feedback matrix.B (array-like
(N, n_in))C (array-like
(n_out, N))D (array-like
(n_out, n_in))mode (
{"eig", "roots", "eai"}, default"eig") –Pole-extraction algorithm.
"eig"— eigenvalues of the minimal state-space realization."roots"— roots of the generalized characteristic polynomial."eai"— Ehrlich-Aberth iteration in w = 1/z via FLAMO (delegates topyFDN.translate.flamo_to_pr.flamo_to_pr()).
- Return type:
- Returns:
residues (ndarray
(n_poles_reduced, n_out, n_in), complex)poles (ndarray
(n_poles_reduced,), complex)direct (ndarray
(n_out, n_in), complex)is_conjugate (ndarray of bool
(n_poles_reduced,))meta (dict)