Digital Control
It is the task of the digital control (DC) to stabilize the analog system (AS) by a digital control loop. In principle, this could be done in many ways; however, here, we restrict ourselves to an additive control loop that observes sampled and quantized analog states \(\mathbf{x}\) and feeding back a control signal \(\mathbf{s}(t)\). Specifically, we consider a DC, as shown in the middle of the figure below.
From the figure, we also see both the AS and the digital estimator (DE). Note that typically \(\tilde{\mathbf{s}}(t) \in \mathbb{R}^\tilde{M}\), \(\mathbf{s}[k] \in \mathbb{R}^M\), and \(\mathbf{s}(t) \in \mathbb{R}^M\) are vector-valued signals. Furthermore, the DC is mainly specified by the number of independent controls \(M\) and the time period between control updates \(T\).
The DC is modeled and specified in cbadc.digital_control.DigitalControl
DC Impulse Response
The relation between the control signal \(\mathbf{s}[k]\) and the control contribution \(\mathbf{s}(t)\) is
determined by a digital-to-analog (D/A) conversion. Typically, \(\mathbf{s}[k]\) is a binary vector so the D/A conversion
is the mapping from two states. Regardless, as \(\mathbf{s}[k]\) is a discrete-time signal and \(\mathbf{s}(t)\)
is a continuous-time signal, the mapping is modeled as a convolution with an impulse response. We can access and evaluate a DC’s
impulse response via the cbadc.digital_control.DigitalControl.impulse_response() function.