Adam Cooman

Previous

Distortion Contribution Analysis
with the Best Linear Approximation

Next

5. Estimating the MIMO BLA of sub-circuits

In the previous section, it was assumed that the BLA of the sub-circuits was known. Determining the BLA is the most difficult and time-consuming step in the BLA-based DCA, as it requires averaging the large-signal steady-state response of the circuit over many different-phase multisines. For SISO sub-circuits, the estimation steps detailed in equations (2.4)-(2.6) can be used. In case of MIMO sub-circuits, extra excitation signals need to be added to the circuit to determine the BLA.

MIMO identification in feedback

The MIMO BLA of the nthn^{\mathrm{th}} sub-circuit with pnp_{n} inputs and outputs, is defined as an extension of (2.6):

SA[n]B[n]BLA(jωk)=GRB[n]BLA(jωk)[GRA[n]BLA(jωk)]1(18)\mathbf{S}_{\mathbf{A}_{\left[n\right]}\rightarrow\mathbf{B}_{\left[n\right]}}^{\mathrm{BLA}}\left(j\omega_{k}\right)= \mathbf{G}_{\mathbf{R}\rightarrow\mathbf{B}_{\left[n\right]}}^{\mathrm{BLA}}\left(j\omega_{k}\right) \left[\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}}\left(j\omega_{k}\right)\right]^{-1} \tag{18}

where GRB[n]BLACpn×nr\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{B}_{\left[n\right]}}^{\mathrm{BLA}}\in\mathbb{C}^{p_{n}\times n_{r}} is the MIMO BLA taken from the nrn_{r} reference signals to the output waves of the nthn^{\mathrm{th}} sub-circuit. GRA[n]BLACpn×nr\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}}\in\mathbb{C}^{p_{n}\times n_{r}} is the MIMO BLA from the reference signals to the input waves of the sub-circuit. Since GRA[n]BLA\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}} must be invertible, at least pnp_{n} independent reference signals have to be present in the circuit. Most circuits are only excited by one main reference signal, so the required extra reference signals have to be added artificially to the circuit to allow estimation of the MIMO BLA of the sub-circuits. The extra multisines have to be very small in amplitude with respect to the large signal to avoid changing the BLA of the circuit, which is why they are called tickler multisines [16].

If the ticklers are placed on the same frequency grid as the main multisines, their response will be overwhelmed by the circuit response to the main multisines. To avoid this overlap, the frequency grid of the tickler is shifted by a frequency fϵ]0,f02[\left|f_{\epsilon}\right|\in\left]0,\frac{f_{0}}{2}\right[. This technique is called ‘Zippering’ [26]. The zippered ticker multisines are defined by:

rtickle(t)=h=1NAhsin(2π(hf0+fϵ)t+ϕh)r_{\mathrm{tickle}}\left(t\right)=\sum_{h=1}^{N}A_{h}\sin\left(2\pi\left(hf_{0}+f_{\epsilon}\right)t+\phi_{h}\right)

where the phases of the tickler multisine (ϕh\phi_{h}) are drawn randomly from [0,2π[\left[0,2\pi\right[. These tickler multisines will create contributions on frequencies that are always fϵf_{\epsilon} away from the spectral lines of the main multisines, so the responses of the main and tickler multisines are easily separated by looking at the correct frequency bins. Because their amplitude is very small, the tickler signals can either be applied one-by-one, while the main multisine remains active, or applied all simultaneously since each of the ticklers can be given an independent fϵf_{\epsilon}.

To obtain the BLA with the zippered multisines, the SIMO BLA from each reference signal to the stacked output-input vector of the sub-circuit is determined first by simple averaging as in (2.4). The SIMO BLA from reference signal RrR_{r} to the stacked output-input vector will be denoted GRrZBLA\mathbf{G}_{R_{r}\rightarrow\mathbf{Z}}^{\mathrm{BLA}}, while its uncertainty is expressed by the covariance matrix CGRrZBLA\mathbf{C}_{\mathbf{G}_{R_{r}\rightarrow\mathbf{Z}}^{\mathrm{BLA}}}. The GRrZBLA\mathbf{G}_{R_{r}\rightarrow\mathbf{Z}}^{\mathrm{BLA}} are known at the frequencies of the spectral lines of multisines RrR_{r}. All GRrZ[n]BLA\mathbf{G}_{R_{r}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}} are then linearly interpolated to the spectral lines of the main multisines and gathered in a large matrix:

GRZ[n]BLA=[GRB[n]BLAGRA[n]BLA]=[GR1Z[n]BLAGRnrZ[n]BLA](19)\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}} = \left[ \begin{array}{c} \mathbf{G}_{\mathbf{R}\rightarrow\mathbf{B}_{\left[n\right]}}^{\mathrm{BLA}}\\ \mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}} \end{array}\right] = \left[\begin{array}{ccc} \mathbf{G}_{R_{1}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}} & \cdots & \mathbf{G}_{R_{n_{r}}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}} \end{array}\right] \tag{19}

The BLA is now obtained using expression (5.1). To obtain the uncertainty on the BLA, the uncertainty on the GZ\mathbf{G}_{\mathbf{Z}}-matrix is transformed by the following expression [19]:

Cvec(SA[n]B[n]BLA)=TCvec(GRZ[n]BLA)THwithT=[(GRA[n]BLA)1]T[InySA[n]B[n]BLA]\begin{align*} \mathbf{C}_{\mathrm{vec}\left(\mathbf{S}_{\mathbf{A}_{\left[n\right]}\rightarrow\mathbf{B}_{\left[n\right]}}^{\mathrm{BLA}}\right)}=\mathbf{T}\mathbf{C}_{\mathrm{vec}\left(\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}}\right)}\mathbf{T}^{\mathsf{H}}\\ \mathrm{with}\,\,\mathbf{T}=\left[\left(\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}}\right)^{-1}\right]^{T}\otimes\left[\begin{array}{cc} \mathbf{I}_{n_{y}} & -\mathbf{S}_{\mathbf{A}_{\left[n\right]}\rightarrow\mathbf{B}_{\left[n\right]}}^{\mathrm{BLA}}\end{array}\right] \end{align*}

where \otimes indicates the Kronecker product [27]. The covariance matrix Cvec(GZ)\mathbf{C}_{\mathrm{vec}\left(\mathbf{G}_{\mathbf{Z}}\right)} contains the different covariance matrices of the SIMO BLA on its diagonal:

Cvec(GRZ[n]BLA)=[CGR1Z[n]BLA00CGRnrZ[n]BLA]\mathbf{C}_{\mathrm{vec}\left(\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}}\right)}=\left[\begin{array}{ccc} \mathbf{C}_{\mathbf{G}_{R_{1}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}}} & \cdots & \mathbf{0}\\ \vdots & \ddots & \vdots\\ \mathbf{0} & \cdots & \mathbf{C}_{\mathbf{G}_{R_{n_{r}}\rightarrow\mathbf{Z}_{\left[n\right]}}^{\mathrm{BLA}}} \end{array}\right]

Determining the MIMO BLA with the method described here can be very time-consuming because many large-signal simulations have to be run. A speed-up can be obtained using advanced non-parametric estimation techniques like the local polynomial method [28]. Alternatively, rational approximations can be estimated to reduce the noisiness of the obtained BLA estimates.

It is more easy to work with tickler current sources, as they can be added to a circuit’s netlist without introducing extra nodes. Choosing the best nodes to place the tickler multisines and determining the amplitude of the ticklers will usually require some user intervention. When the BLA from two reference signals to the input and output waves of the circuit are too similar, the GRA[n]BLA\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}} matrix will be badly conditioned and its inverse will be difficult to compute. To obtain a good conditioning of the GRA[n]BLA\mathbf{G}_{\mathbf{R}\rightarrow\mathbf{A}_{\left[n\right]}}^{\mathrm{BLA}}, it is recommended to connect the tickler sources to nodes that are close to the ports of the circuit under test.

The amplitude of the tickler multisines should be small, but the circuit’s response to the tickler signal should lie above the numerical noise floor of the input and output waves. Setting the correct amplitude of the tickler signals is therefore done by increasing the amplitude of the tickler until its response is clearly visible in the steady-state spectra of all input and output signals of the sub-circuits. In circuits with very small reverse gains, obtaining a good estimate of the reverse gain can be very difficult. For the small reverse gain, the small-signal behaviour of the sub-circuit is used if it cannot be estimated reliably [29].

Previous
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 
Next