cbadc.analog_system.topology.stack

cbadc.analog_system.topology.stack(analog_systems: List[AnalogSystem]) AnalogSystem[source]

Construct an analog system by stacking several analog systems in parallel.

The parallel stack is achieved by constructing

\(\mathbf{A} = \begin{pmatrix}\ddots \\ & \mathbf{A}_\ell \\ & & \mathbf{A}_{\ell + 1} \\ & & & \ddots \end{pmatrix} \in \mathbb{R}^{N \times N}\)

\(\mathbf{B} = \begin{pmatrix} \ddots \\ & \mathbf{B}_\ell \\ & & \mathbf{B}_{\ell + 1} \\ & & & \ddots \end{pmatrix} \in \mathbb{R}^{N \times L}\)

\(\mathbf{C}^\mathsf{T} = \begin{pmatrix} \ddots \\ & \mathbf{C}_\ell \\ & & \mathbf{C}_{\ell + 1} \\ & & & \ddots \end{pmatrix} \in \mathbb{R}^{\tilde{N} \times N}\)

\(\mathbf{\Gamma} = \begin{pmatrix} \ddots \\ & \mathbf{\Gamma}_\ell \\ & & \mathbf{\Gamma}_{\ell + 1} \\ & & & \ddots \end{pmatrix} \in \mathbb{R}^{N \times M}\)

\(\tilde{\mathbf{\Gamma}}^\mathsf{T} = \begin{pmatrix} \ddots \\ & \tilde{\mathbf{\Gamma}}^\mathsf{T}_\ell \\ & & \tilde{\mathbf{\Gamma}}^\mathsf{T}_{\ell + 1} \\ & & & \ddots \end{pmatrix} \in \mathbb{R}^{\tilde{M} \times N}\)

\(\mathbf{D} = \begin{pmatrix}\ddots \\ & \mathbf{D}_\ell \\ && \ddots\end{pmatrix}\)

where for \(n\) systems \(L = \sum_{\ell = 1}^n L_\ell\), \(M = \sum_{\ell = 1}^n M_\ell\), \(\tilde{M} = \sum_{\ell = 1}^n \tilde{M}_\ell\), \(N = \sum_{\ell = 1}^n N_\ell\), and \(\tilde{N} = \sum_{\ell = 1}^n \tilde{N}_\ell\).

Parameters

analog_systems (List[cbadc.analog_system.AnalogSystem]) – a list of analog systems to be chained.

Returns

a new analog system

Return type

cbadc.analog_system.AnalogSystem