sycan.components.blocks.integrator¶
Continuous-time integrator block.
Implements H(s) = k / (s + leak) — ideal pure integrator when
leak = 0, lossy / leaky integrator otherwise. The latter is useful
when an exact pure integrator would make the DC operating point
indeterminate (the ideal integrator has an infinite DC gain, so this
block leaves its output floating in DC mode).
The auxiliary stamping is identical to a frequency-dependent VCVS controlled by the differential input.
Classes
|
- class sycan.components.blocks.integrator.Integrator(name: 'str', in_p: 'str', in_m: 'str', out_p: 'str', out_m: 'str', k: 'cas.Expr' = 1, leak: 'cas.Expr' = 0, var: 'cas.Symbol' = <factory>, *, include_noise: 'NoiseSpec' = None)[source]¶
Bases:
Component- Parameters:
name (str)
in_p (str)
in_m (str)
out_p (str)
out_m (str)
k (Expr)
leak (Expr)
var (Symbol)
include_noise (None | str | list[str] | tuple[str, ...] | frozenset[str])
- name: str¶
- in_p: str¶
- in_m: str¶
- out_p: str¶
- out_m: str¶
- k: Expr = 1¶
- leak: Expr = 0¶
- var: Symbol¶
- include_noise: None | str | list[str] | tuple[str, ...] | frozenset[str] = None¶
- ports: ClassVar[tuple[str, ...]] = ('in_p', 'in_m', 'out_p', 'out_m')¶
- has_aux: ClassVar[bool] = True¶
- SUPPORTED_NOISE: ClassVar[frozenset[str]] = frozenset({})¶
- aux_count(mode)[source]¶
Number of auxiliary branch currents the component needs in
mode.- Parameters:
mode (str)
- Return type:
int
- stamp(ctx)[source]¶
- Parameters:
ctx (StampContext)
- Return type:
None