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

The general analog system

We model an analog system using 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().