cbadc.digital_control.PhaseDelayedControl
- class cbadc.digital_control.PhaseDelayedControl(T: float, M: int, t0: float = 0)
Bases:
cbadc.digital_control.DigitalControlRepresents a digital control system that switches controls individually sequentially.
This digital control updates the \(m\)-th control signals as
\(s_m[k] = \tilde{s}((k+m)T)\)
except for this it works similarly to :py:class`cbadc.digital_control.DigitalControl`
- Parameters
T (float) – clock period at which the digital control updates.
M (int) – number of controls.
t0 (float: optional) – determines initial time, defaults to 0.
- T
clock period \(T\) of digital control system.
- Type
float
- M
number of controls \(M\).
- Type
int
- M_tilde
number of control observations \(\tilde{M}\).
- Type
int
Note
For this digital control system \(M=\tilde{M}\).
Methods
__init__(T, M[, t0])control_contribution(t, s_tilde)Evaluates the control contribution at time t given a control observation s_tilde.
Returns the current control state, i.e, \(\mathbf{s}[k]\).
impulse_response(m, t)The impulse response of the corresponding DAC waveform
- control_contribution(t: float, s_tilde: numpy.ndarray) numpy.ndarray
Evaluates the control contribution at time t given a control observation s_tilde.
- Parameters
t (float) – time at which the digital control i evaluated.
s_tilde (array_like, shape=(M_tilde,)) – state vector evaluated at time t
- Returns
the control signal \(\mathbf{s}(t)\)
- Return type
array_like, shape=(M,)
- control_signal() numpy.ndarray
Returns the current control state, i.e, \(\mathbf{s}[k]\).
- Returns
current control state.
- Return type
array_like, shape=(M,), dtype=numpy.int8
- impulse_response(m: int, t: float)
The impulse response of the corresponding DAC waveform
- Parameters
m (int) – determines which \(m\in\{0,\dots,M-1\}\) control dimension which is triggered.
t (float) – evaluate the impulse response at time t.
- Returns
the dac waveform of the digital control system.
- Return type
array_like, shape=(M,)