symop.modes.transfer.cascade

Cascade transfer function.

This module defines a cascade transfer function implementing the TransferFunctionProto interface.

A cascade function acts as multiplication of its parts:

\[H = H_n \ldots H_2 H_1\]

Classes

Cascade(parts)

Pointwise product of transfer functions.

class Cascade(parts: tuple[TransferFunction, ...]) None

Bases: TransferBase

Pointwise product of transfer functions.

A cascade represents sequential application of transfer functions in the frequency domain:

\[H(\omega) = H_n(\omega)\,\cdots\,H_2(\omega)\,H_1(\omega).\]
Parameters:

parts (tuple[TransferFunction, ...])

parts

Ordered transfer functions applied from right to left in the product expression.

_abc_impl = <_abc._abc_data object>
_signature_tag: ClassVar[str] = 'cascade'
approx_signature(*, decimals: int = 12, ignore_global_phase: bool = False) tuple[object, ...]

Return an approximate signature of the cascade.

Parameters:
  • decimals (int) – Number of decimal places used for rounding component signatures.

  • ignore_global_phase (bool) – Whether component signatures may suppress physically irrelevant global phase factors.

Returns:

Approximate signature containing ordered approximate component signatures.

Return type:

Signature

parts: tuple[TransferFunction, ...]
property signature: tuple[object, ...]

Return the exact stable signature of the cascade.

Returns:

Signature containing the ordered exact signatures of all component transfers.

Return type:

Signature