cbadc.analog_system.topology.zpk2abcd

cbadc.analog_system.topology.zpk2abcd(z, p, k)[source]

Convert zeros and poles into A, B, C, D matrix

Futhermore, the transfer function is divided into sequences of products of Biquad filters.

Specifically, for a transfer function

\(k \cdot \frac{(s - z_N)\dots(s - z_1)}{(s-p_N)\dots(s-p_1)}\)

we partition the transfer function into biquadratic blocks as

\(\Pi_{\ell=1}^{N / 2} \frac{Z(s)_\ell}{(s - p_{1,\ell})(s-p_{2,\ell})}\)

where \(Z(s)_\ell = \begin{cases} 1 & \text{if no zeros are specified} \\ (s - z_{1,\ell})(s - z_{2,\ell}) & \text{for real valued zeros} \\ (s-z_{1,\ell})(s-\bar{z}_{1,\ell}) & \text{for complex conjugate zero-pairs.} \end{cases}\)

The poles are and zeros are sorted in the following order:

  1. Complex conjugate pairs

  2. Decreasing absolute magnitude