Analog System Model
The analog system (AS) purpose is to amplify the characteristics of the class of signals we are converting. This typically means amplifying a frequency band of interest while suppressing out-of-band signals. To this end, the analog system is implemented as a continuous-time analog filter governed by the differential equations
\(\dot{\mathbf{x}}(t) = \mathbf{A} \mathbf{x}(t) + \mathbf{B} \mathbf{u}(t) + \mathbf{\Gamma} \mathbf{s}(t)\)
where we refer to
\(\mathbf{A} \in \mathbb{R}^{N \times N}\) as the system matrix,
\(\mathbf{B} \in \mathbb{R}^{N \times L}\) as the input matrix,
\(\mathbf{\Gamma} \in \mathbb{R}^{N \times M}\) as the control input matrix,
\(\mathbf{x}(t)\in\mathbb{R}^{N}\) as the state vector of the system,
\(\mathbf{u}(t)\in\mathbb{R}^{L}\) as the vector-valued, continuous-time, analog input signal,
and \(\mathbf{s}(t)\in\mathbb{R}^{M}\) as the vector-valued control signal.
The analog system also has two (possibly vector-valued) outputs, namely
The control observation \(\tilde{\mathbf{s}}(t)=\tilde{\mathbf{\Gamma}}^\mathsf{T} \mathbf{x}(t)\) and
The signal observation \(\mathbf{y}(t) = \mathbf{C}^\mathsf{T} \mathbf{x}(t)\)
where
\(\tilde{\mathbf{\Gamma}}^\mathsf{T}\in\mathbb{R}^{\tilde{M} \times N}\) is the control observation matrix
and \(\mathbf{C}^\mathsf{T}\in\mathbb{R}^{\tilde{N} \times N}\) is the signal observation matrix.
An overview of the system relations are given in the figure below
We model an analog system using cbadc.analog_system.AnalogSystem.
See also
cbadc.analog_system.ChainOfIntegrators
and cbadc.analog_system.LeapFrog which are derived classes from
cbadc.analog_system.AnalogSystem.
Given an instantiated analog system we can also manually evaluate the time derivative
above by invoking the cbadc.analog_system.AnalogSystem.derivative() function.
Furthermore, the control and signal observation are obtained by
cbadc.analog_system.AnalogSystem.control_observation() and
cbadc.analog_system.AnalogSystem.signal_observation() respectively.
Transfer Function Matrix
The analog system can also be described by its corresponding analog transfer function matrix
\(\mathbf{G}(\omega) = \mathbf{C}^\mathsf{T} \left(\mathbf{A} - i \omega \mathbf{I}_N\right)^{-1} \mathbf{B}\)
which can be invoked by cbadc.analog_system.AnalogSystem.transfer_function_matrix().