b_asic.transfer_function¶
B-ASIC Transfer Function Module.
Contains a class for the transfer function representation of a linear system.
- class b_asic.transfer_function.TransferFunction(numerator: ndarray[tuple[Any, ...], dtype[_ScalarT]] | list | dict[str, ndarray[tuple[Any, ...], dtype[_ScalarT]]], denominator: ndarray[tuple[Any, ...], dtype[_ScalarT]] | list)¶
Bases:
objectTransfer function representation of a linear system.
- Parameters:
- numeratornumpy array or list or dict
Numerator coefficients. Can be: - Array/list: Single transfer function coefficients - Dict: Multiple transfer functions keyed by input (e.g., {“in0”: array, “in1”: array})
- denominatornumpy array or list
Denominator coefficients (shared across all transfer functions).
- denominator¶
- classmethod from_sfg(sfg: SFG) TransferFunction¶
Create a TransferFunction from an SFG.
- Parameters:
- sfgSFG
Signal flow graph of a linear system.
- Returns:
TransferFunctionThe transfer function representation.
- classmethod from_state_space(ss: StateSpace) TransferFunction¶
Create a TransferFunction from a StateSpace representation.
- Parameters:
- ssStateSpace
State-space representation of a linear system.
- Returns:
TransferFunctionThe transfer function representation.
- numerator¶
- zpk() dict[str, tuple[ndarray[tuple[Any, ...], dtype[_ScalarT]] | list[ndarray[tuple[Any, ...], dtype[_ScalarT]]], ndarray[tuple[Any, ...], dtype[_ScalarT]], float | list[float]]]¶
Compute the zero-poles-gain model for each input.
- Returns:
- dict
Dictionary mapping each input key (e.g.,
"in0") to a tuple(zeros, poles, gain).