5. Hybrid time-frequency partitioned techniques

This section is intended to provide a brief description of powerful circuit-block partitioning numerical simulation techniques operating in multivariate hybrid time-frequency frameworks. Section 5.1 introduces the fundaments of multivariate hybrid envelope following. Section 5.2 addresses some basic details of the simulation algorithms and finally, Section 5.3 describes the approach for automatic circuit-block partition.

The Newton iterative solver is usually utilized to solve (40), leading to

� � � � � � b <sup>Y</sup>ð Þ <sup>t</sup>1,i <sup>¼</sup>b Y ½ �r ð Þ <sup>t</sup>1,i

dP<sup>m</sup> Ybð Þ t1,i � �

dYblð Þ t1,i

þ jΩ

solve a linear system composed of n � ð Þ 2K þ 1 equations. The system of (41) involves the so-

of square submatrices (blocks), each one with dimensions 2ð Þ� K þ 1 ð Þ 2K þ 1 . The general

þ 1 h<sup>1</sup>:<sup>i</sup>

dQ<sup>m</sup> Ybð Þ t1,i � �

dYblð Þ t1,i

vectors containing the Fourier coefficients of dpm <sup>b</sup>y t1,i ð Þ ð Þ ; <sup>t</sup><sup>2</sup> <sup>=</sup>dbyl <sup>t</sup>1,i ð Þ ; <sup>t</sup><sup>2</sup> and dqm <sup>b</sup>y t1,i ð Þ ð Þ ; <sup>t</sup><sup>2</sup> <sup>=</sup>

A very powerful technique has been proposed in the literature [18, 19] for solving (41) in an efficient way. This technique takes into account that, in some cases (e.g., RF heterogeneous systems), there are parts of the circuits in which there are no fluctuations dictated by the fast carrier. As a consequence, bidimensional forms <sup>b</sup>y tð Þ <sup>1</sup>; <sup>t</sup><sup>2</sup> of voltages and currents in those parts have no dependence on <sup>t</sup>2. This means that for each time line <sup>t</sup>1,i � ½ � <sup>0</sup>; <sup>T</sup><sup>2</sup> each signal <sup>b</sup>y t1,i ð Þ ; <sup>t</sup><sup>2</sup> has a constant value that can be represented as a Fourier series with a unique k ¼ 0 coefficient. Thus, while quickly varying signals are represented in the frequency domain by a set of ð Þ 2K þ 1 Fourier coefficients, signals in latent (slowly varying) blocks are represented by a single coefficient. Having this in mind it is straightforward to conclude that the size of vector Ybð Þ t1,i will be significantly reduced, as well as the size (number of equations) of the HB system. Significant Jacobian matrix size reductions will also be achieved, since some of the submatrices will no longer be 2ð Þ� K þ 1 ð Þ 2K þ 1 matrices, but, instead, simple 1 � 1 scalar elements. For instance, let us suppose that the mth component of (40) is a slowly varying signal exclusively dependent on other slowly varying signals. Let us also suppose that the lth component is also a slowly varying signal. Then, the Jacobian matrix block of row m and column l will be a 1 � 1

> <sup>¼</sup> dpmð Þ <sup>b</sup>y tð Þ <sup>1</sup>,i <sup>d</sup>bylð Þ <sup>t</sup>1,i

þ 1 h1,i dqmð Þ <sup>b</sup>y tð Þ <sup>1</sup>,i <sup>d</sup>bylð Þ <sup>t</sup>1,i

: (43)

<sup>Y</sup>b½ � <sup>r</sup>þ<sup>1</sup>

Numerical Simulation of Electronic Systems Based on Circuit-Block Partitioning Strategies

ð Þ <sup>t</sup>1,i from the previous estimate <sup>Y</sup>b½ �<sup>r</sup>

� �, which has a block structure, consisting of an <sup>n</sup> � <sup>n</sup> matrix

dQ<sup>m</sup> Ybð Þ t1,i � �

dYblð Þ t1,i

, l, m ¼ 1, 2, …, n,

� �=dYblð Þ <sup>t</sup>1,i denote the Toeplitz matrices [7] of the

ð Þ� <sup>t</sup>1,i <sup>Y</sup>b½ �<sup>r</sup>

� �

ð Þ t1,i

http://dx.doi.org/10.5772/intechopen.75490

¼ 0, (41)

37

ð Þ t1,i we have to

(42)

dF Ybð Þ t1,i � �

dYbð Þ t1,i

¼

<sup>F</sup> <sup>Y</sup>b½ �<sup>r</sup>

called Jacobian matrix of F Ybð Þ t1,i

where dP<sup>m</sup> Ybð Þ t1,i

block given by

<sup>d</sup>byl <sup>t</sup>1,i ð Þ ; <sup>t</sup><sup>2</sup> , respectively.

ð Þ t1,i � �

which implies that for computing <sup>Y</sup>b½ � <sup>r</sup>þ<sup>1</sup>

block of row m and column l can be expressed as

dF<sup>m</sup> Ybð Þ t1,i � �

dYblð Þ t1,i

� �=dYblð Þ <sup>t</sup>1,i and <sup>d</sup>Q<sup>m</sup> <sup>Y</sup>bð Þ <sup>t</sup>1,i

dF<sup>m</sup> Ybð Þ t1,i � �

dYblð Þ t1,i

þ

### 5.1. Multivariate hybrid envelope following

Let us once again consider the initial-boundary value problem of (32) characterizing the bivariate nature of an electronic circuit operating at two widely separated time scales. Let us also consider the semi-discretization of the 0; tFinal ½ �� ½ � 0; T<sup>2</sup> rectangular domain, which has led to the set of periodic boundary value problems defined by (34). When waveforms are not excessively demanding on the quantity of harmonic components needed for an accurate frequency domain representation, we are able to use the HB method for efficiently computing the solution of (34). In such case we will obtain for each time line t1,i � ½ � 0; T<sup>2</sup> the following HB system

$$\mathbf{P}\left(\hat{\mathbf{Y}}(t\_{1,i})\right) + \frac{\mathbf{3Q}\left(\hat{\mathbf{Y}}(t\_{1,i})\right) - 4\mathbf{Q}\left(\hat{\mathbf{Y}}(t\_{1,i-1})\right) + \mathbf{Q}\left(\hat{\mathbf{Y}}(t\_{1,i-2})\right)}{2h\_{1,i}} + j\mathbf{2Q}\left(\hat{\mathbf{Y}}(t\_{1,i})\right) = \hat{\mathbf{X}}(t\_{1,i}),\tag{39}$$

in which Xbð Þ t1,i is a 2ð Þ� K þ 1 n vector containing the Fourier coefficients of the stimuli (independent sources) and Ybð Þ t1,i a 2ð Þ� K þ 1 n vector containing the Fourier coefficients of the unknowns (node voltages and brunch currents' waveforms), at t<sup>1</sup> ¼ t1,i. K is the maximum harmonic order and n is the number of unknowns. In order to obtain the solution in the entire 0; tFinal ½ �� ½ � 0; T<sup>2</sup> rectangular domain a total of K<sup>1</sup> HB systems have to be solved.

With this hybrid time-frequency approach we have an envelope following technique that handles the slow variations of the unknowns in the time domain and their fast variations in the frequency domain. This technique, usually denoted as multivariate envelope transient harmonic balance [20, 21], is able to exploit the existence of time-rate disparities in circuits operating under moderately nonlinear regimes of operation.

### 5.2. Partitioned algorithms for hybrid envelope following computation

The hybrid time-frequency envelope following technique presented earlier does not perform any distinction between nodes or blocks in the circuit. Although it has been widely used, especially by the RF and microwave community, only a few years ago other versions regarding circuit-block partition were proposed [18, 19] in way to take into account possible circuit's heterogeneities. The most important aspects of these partitioning techniques are briefly reviewed in the following.

Let us rewrite (39) as

$$\begin{split} \mathbf{F}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right) &= \mathbf{P}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right) + \frac{3\mathbf{Q}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right) - 4\mathbf{Q}\left(\widehat{\mathbf{Y}}(t\_{1,i-1})\right) + \mathbf{Q}\left(\widehat{\mathbf{Y}}(t\_{1,i-2})\right)}{2h\_{1,i}} \\ &+ j\mathbf{D}\mathbf{Q}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right) - \widehat{\mathbf{X}}(t\_{1,i}) = 0. \end{split} \tag{40}$$

The Newton iterative solver is usually utilized to solve (40), leading to

addresses some basic details of the simulation algorithms and finally, Section 5.3 describes the

Let us once again consider the initial-boundary value problem of (32) characterizing the bivariate nature of an electronic circuit operating at two widely separated time scales. Let us also consider the semi-discretization of the 0; tFinal ½ �� ½ � 0; T<sup>2</sup> rectangular domain, which has led to the set of periodic boundary value problems defined by (34). When waveforms are not excessively demanding on the quantity of harmonic components needed for an accurate frequency domain representation, we are able to use the HB method for efficiently computing the solution of (34). In

in which Xbð Þ t1,i is a 2ð Þ� K þ 1 n vector containing the Fourier coefficients of the stimuli (independent sources) and Ybð Þ t1,i a 2ð Þ� K þ 1 n vector containing the Fourier coefficients of the unknowns (node voltages and brunch currents' waveforms), at t<sup>1</sup> ¼ t1,i. K is the maximum harmonic order and n is the number of unknowns. In order to obtain the solution in the entire

With this hybrid time-frequency approach we have an envelope following technique that handles the slow variations of the unknowns in the time domain and their fast variations in the frequency domain. This technique, usually denoted as multivariate envelope transient harmonic balance [20, 21], is able to exploit the existence of time-rate disparities in circuits operat-

The hybrid time-frequency envelope following technique presented earlier does not perform any distinction between nodes or blocks in the circuit. Although it has been widely used, especially by the RF and microwave community, only a few years ago other versions regarding circuit-block partition were proposed [18, 19] in way to take into account possible circuit's heterogeneities. The most important aspects of these partitioning techniques are briefly

þ Q Ybð Þ t1,i�<sup>2</sup> � �

þ jΩQ Ybð Þ t1,i � �

¼ Xbð Þ t1,i , (39)

such case we will obtain for each time line t1,i � ½ � 0; T<sup>2</sup> the following HB system

2h1,i

0; tFinal ½ �� ½ � 0; T<sup>2</sup> rectangular domain a total of K<sup>1</sup> HB systems have to be solved.

5.2. Partitioned algorithms for hybrid envelope following computation

þ

þ jΩQ Ybð Þ t1,i � �

3Q Ybð Þ t1,i � �

� Xbð Þ¼ t1,i 0:

� 4Q Ybð Þ t1,i�<sup>1</sup> � �

2h1,i

þ Q Ybð Þ t1,i�<sup>2</sup> � �

(40)

� 4Q Ybð Þ t1,i�<sup>1</sup> � �

approach for automatic circuit-block partition.

36 Numerical Simulations in Engineering and Science

5.1. Multivariate hybrid envelope following

3Q Ybð Þ t1,i � �

ing under moderately nonlinear regimes of operation.

¼ P Ybð Þ t1,i � �

P Ybð Þ t1,i � �

þ

reviewed in the following.

F Ybð Þ t1,i � �

Let us rewrite (39) as

$$\left| \mathbf{F} \left( \widehat{\mathbf{Y}}^{[r]} (t\_{1,i}) \right) + \frac{d \mathbf{F} \left( \widehat{\mathbf{Y}} (t\_{1,i}) \right)}{d \widehat{\mathbf{Y}} (t\_{1,i})} \right|\_{\widehat{\mathbf{Y}} (t\_{1,i}) = \widehat{\mathbf{Y}}^{[r]} (t\_{1,i})} \left[ \widehat{\mathbf{Y}}^{[r+1]} (t\_{1,i}) - \widehat{\mathbf{Y}}^{[r]} (t\_{1,i}) \right] = \mathbf{0},\tag{41}$$

which implies that for computing <sup>Y</sup>b½ � <sup>r</sup>þ<sup>1</sup> ð Þ <sup>t</sup>1,i from the previous estimate <sup>Y</sup>b½ �<sup>r</sup> ð Þ t1,i we have to solve a linear system composed of n � ð Þ 2K þ 1 equations. The system of (41) involves the socalled Jacobian matrix of F Ybð Þ t1,i � �, which has a block structure, consisting of an <sup>n</sup> � <sup>n</sup> matrix of square submatrices (blocks), each one with dimensions 2ð Þ� K þ 1 ð Þ 2K þ 1 . The general block of row m and column l can be expressed as

$$\begin{split} \frac{d\mathbf{F}\_{m}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right)}{d\widehat{\mathbf{Y}}\_{l}(t\_{1,i})} &= \frac{d\mathbf{P}\_{m}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right)}{d\widehat{\mathbf{Y}}\_{l}(t\_{1,i})} + \frac{1}{h\_{1,i}} \frac{d\mathbf{Q}\_{m}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right)}{d\widehat{\mathbf{Y}}\_{l}(t\_{1,i})} \\ &+ j\Omega \frac{d\mathbf{Q}\_{m}\left(\widehat{\mathbf{Y}}(t\_{1,i})\right)}{d\widehat{\mathbf{Y}}\_{l}(t\_{1,i})}, \qquad l, m = 1, 2, \dots, n, \end{split} \tag{42}$$

where dP<sup>m</sup> Ybð Þ t1,i � �=dYblð Þ <sup>t</sup>1,i and <sup>d</sup>Q<sup>m</sup> <sup>Y</sup>bð Þ <sup>t</sup>1,i � �=dYblð Þ <sup>t</sup>1,i denote the Toeplitz matrices [7] of the vectors containing the Fourier coefficients of dpm <sup>b</sup>y t1,i ð Þ ð Þ ; <sup>t</sup><sup>2</sup> <sup>=</sup>dbyl <sup>t</sup>1,i ð Þ ; <sup>t</sup><sup>2</sup> and dqm <sup>b</sup>y t1,i ð Þ ð Þ ; <sup>t</sup><sup>2</sup> <sup>=</sup> <sup>d</sup>byl <sup>t</sup>1,i ð Þ ; <sup>t</sup><sup>2</sup> , respectively.

A very powerful technique has been proposed in the literature [18, 19] for solving (41) in an efficient way. This technique takes into account that, in some cases (e.g., RF heterogeneous systems), there are parts of the circuits in which there are no fluctuations dictated by the fast carrier. As a consequence, bidimensional forms <sup>b</sup>y tð Þ <sup>1</sup>; <sup>t</sup><sup>2</sup> of voltages and currents in those parts have no dependence on <sup>t</sup>2. This means that for each time line <sup>t</sup>1,i � ½ � <sup>0</sup>; <sup>T</sup><sup>2</sup> each signal <sup>b</sup>y t1,i ð Þ ; <sup>t</sup><sup>2</sup> has a constant value that can be represented as a Fourier series with a unique k ¼ 0 coefficient. Thus, while quickly varying signals are represented in the frequency domain by a set of ð Þ 2K þ 1 Fourier coefficients, signals in latent (slowly varying) blocks are represented by a single coefficient. Having this in mind it is straightforward to conclude that the size of vector Ybð Þ t1,i will be significantly reduced, as well as the size (number of equations) of the HB system. Significant Jacobian matrix size reductions will also be achieved, since some of the submatrices will no longer be 2ð Þ� K þ 1 ð Þ 2K þ 1 matrices, but, instead, simple 1 � 1 scalar elements. For instance, let us suppose that the mth component of (40) is a slowly varying signal exclusively dependent on other slowly varying signals. Let us also suppose that the lth component is also a slowly varying signal. Then, the Jacobian matrix block of row m and column l will be a 1 � 1 block given by

$$\frac{d\mathbf{F}\_m(\widehat{\mathbf{Y}}(t\_{1,i}))}{d\widehat{\mathbf{Y}}\_l(t\_{1,i})} = \frac{d p\_m(\widehat{\mathbf{y}}(t\_{1,i}))}{d\widehat{\mathbf{y}}\_l(t\_{1,i})} + \frac{1}{h\_{1,i}} \frac{d q\_m(\widehat{\mathbf{y}}(t\_{1,i}))}{d\widehat{\mathbf{y}}\_l(t\_{1,i})}.\tag{43}$$

It may be noted that this 1 � 1 scalar block can be seen as a particular case of the general ð Þ� 2K þ 1 ð Þ 2K þ 1 block of (42), if K ¼ 0 is assumed as the maximum harmonic order. Actually, given that df <sup>m</sup> <sup>b</sup>y t1,i ð Þ ð Þ ; <sup>t</sup><sup>2</sup> <sup>=</sup>dbyl <sup>t</sup>1,i ð Þ ; <sup>t</sup><sup>2</sup> is a constant function evidencing no fluctuations in the t<sup>2</sup> fast time scale, the last term of (42) will vanish and there will be no more necessity of converting the right-hand side terms of (43) into the frequency domain.

Similar to what we have discussed for the method described in Section 4, the robustness of this partitioning strategy may be improved if more than one iteration in (41) is computed before the simulator decides which signals are slow and which signals are fast. The main drawback of such approach is the loss of some efficiency due to the extra computational effort required.

Numerical Simulation of Electronic Systems Based on Circuit-Block Partitioning Strategies

http://dx.doi.org/10.5772/intechopen.75490

39

As a final point of this section, we would like to point out that significant gains in computation speed have been reported in the scientific literature (e.g., [18, 19]) for the simulation of several illustrative examples of practical interest using these hybrid time-frequency envelope follow-

In this chapter, we have briefly reviewed some powerful numerical simulation techniques based on partitioned stratagems. Such techniques were especially designed to cope with the simulation challenges brought by emerging electronic technologies to the EDA community, as is the case of complex heterogeneous electronic systems composed of a combination of different kinds of circuit blocks (analog, mixed-signal and digital blocks, or even radio frequency blocks) containing node voltages and brunch currents of very distinct formats and running on widely separated time scales. With these partitioned techniques signals within different blocks of the circuits are computed with distinct algorithms and/or step sizes. Considerable reductions on the computational cost have been registered in several experiments published in the scientific literature (in comparison to previously recognized techniques) without compromising the accuracy of the results.

This work is funded by National Funds through FCT—Fundação para a Ciência e Tecnologia,

1 School of Technology and Management, Polytechnic Institute of Leiria, Leiria, Portugal

[1] Lambert J. Numerical Methods for Ordinary Differential Systems: The Initial Value Prob-

2 Institute of Telecommunications, University of Aveiro, Aveiro, Portugal

ing partitioned algorithms.

Acknowledgements

Author details

References

under the project UID/EEA/50008/2013.

Jorge dos Santos Freitas de Oliveira1,2\*

\*Address all correspondence to: jorge.oliveira@ipleiria.pt

lem. 1st ed. West Sussex: Wiley; 1991

6. Conclusions

Since only fast-varying signals are converted into the frequency domain, this partitioned technique can be seen as a combination of multivariate envelope transient harmonic balance (by treating the fast-varying signals in a hybrid time-frequency framework) with a pure time marching simulation engine (by treating some of the signals in a pure time domain scheme). Thus, beyond the notorious significant vector and matrix size reductions above mentioned, there is another important advantage brought by this partitioned technique. For example, in complex heterogeneous RF systems strongly nonlinear regimes of operation are in general associated to digital or baseband blocks, whereas moderately nonlinear regimes are typical of RF blocks. With this partitioned technique signals in digital and baseband blocks are appropriately computed in the time domain, while signals in RF blocks are treated in the hybrid time-frequency framework.

### 5.3. Circuit-block partitioning strategy

Similar to what we have mentioned for the methods discussed in the previous sections, it will be of great utility if the simulator is able to automatically distinguish the fast-varying variables from the slowly varying ones. We now briefly review the approach addressed in [19] for that purpose, which splits the circuit into distinct blocks according to the time rates of change of their voltages and currents.

Let us consider the HB system of (39). As stated earlier, this system has to be solved with the iterative scheme of (41) for each artificial time line t1,i � ½ � 0; T<sup>2</sup> . The automatic partitioning strategy proposed in [19] consists in considering all the circuit's variables as fast on the first iteration of (41), that is, it consists in initially representing all the unknowns in the frequency domain as a set of 2ð Þ K þ 1 Fourier coefficients. This way, the algorithm starts by computing a single iteration in (41) to evaluate <sup>Y</sup>b½ � <sup>1</sup> ð Þ t1,i

$$\widehat{\mathbf{Y}}^{[1]}(t\_{1,i}) = \left[\widehat{\mathbf{Y}}\_1^{[1]}(t\_{1,i})^T, \widehat{\mathbf{Y}}\_2^{[1]}(t\_{1,i})^T, \dots, \widehat{\mathbf{Y}}\_n^{[1]}(t\_{1,i})^T\right]^T,\tag{44}$$

where each Ybvð Þ t1,i , v ¼ 1, …, n, is a 2ð Þ� K þ 1 1 vector defined as

$$\widehat{\mathbf{Y}}\_{v}^{[1]}(t\_{1,i}) = \left[Y\_{v,-K}{}^{[1]}(t\_{1,i}), \dots, Y\_{v,0}{}^{[1]}(t\_{1,i}), \dots, Y\_{v,K}{}^{[1]}(t\_{1,i})\right]^T. \tag{45}$$

Each of the <sup>Y</sup>b½ � <sup>1</sup> <sup>v</sup> ð Þ t1,i is then inspected. If its Fourier coefficients of order k 6¼ 0 are practically null (their absolute values stay under a very small prescribed tolerance) it will be classified as slow. Otherwise it will be classified as fast. After this classification, which will temporarily split the system into fast and slow subsystems, the simulator considers that signals in slow subsystems can be represented by a single Fourier coefficient for the remaining iterations needed to compute the solution of (41).

Similar to what we have discussed for the method described in Section 4, the robustness of this partitioning strategy may be improved if more than one iteration in (41) is computed before the simulator decides which signals are slow and which signals are fast. The main drawback of such approach is the loss of some efficiency due to the extra computational effort required.

As a final point of this section, we would like to point out that significant gains in computation speed have been reported in the scientific literature (e.g., [18, 19]) for the simulation of several illustrative examples of practical interest using these hybrid time-frequency envelope following partitioned algorithms.
