pyFDN.process_dss#
- pyFDN.process_dss(input_signal, delays, A, B, C, D, *, post_delay=None, post_matrix=None, post_output=None)[source]#
Process a delay state-space system using block processing.
One-shot form of
dss_to_td(...).process_signal(input_signal): a freshpyFDN.tdgraph is built for every call. The three optional hooks are runtime objects that implementprocess_block(block)(or SOS banks). To process anpyFDN.FDNBuild, usepyFDN.process_fdn().The recursion is
delay -> post_delay -> Con the wet path anddelay -> post_delay -> A -> post_matrix -> + B inputin the loop.post_outputprocesses the wet signal before the directDpath is added.- Parameters:
input_signal (
ArrayLike) – Input of shape(num_samples,)or(num_samples, num_inputs).delays (
ArrayLike) – Positive delay lengths in samples, shape(N,).A (
ArrayLike) – Static feedback matrix(N, N)or FIR polynomial matrix(N, N, order)in thez^-1convention.B (
ArrayLike) – Static input, output, and direct gain matrices.C (
ArrayLike) – Static input, output, and direct gain matrices.D (
ArrayLike) – Static input, output, and direct gain matrices.post_delay (
Any|None) – Optional hooks, seepyFDN.dss_to_td().post_matrix (
Any|None) – Optional hooks, seepyFDN.dss_to_td().post_output (
Any|None) – Optional hooks, seepyFDN.dss_to_td().
- Returns:
Processed signal with singleton dimensions removed.
- Return type: