3.3 Frequency-Domain Techniques for Large-Signal Distortion
3.3.1 Extending Volterra Series’ Maximum Excitation Level
In previous sections we saw that the main limitation of Volterra series was its inability to handle strongly nonlinear regimes, a consequence of the adopted Taylor series model for the nonlinearities (Figure 3.18). We will now present two alternative ways of circumventing this disadvantage.
Looking back into Figure 3.18, it is clear that it does not seem practically feasible to use a third-order Volterra series (in that case a Taylor series expansion around VO = 0, INL =0) to determine the node voltage imposed by any source current higher than some 30 mA. So, determining the node voltage for, let us say, a 100-mA dc current would be completely out of the question. However, there should be no problem in predicting the voltage foriS=25 mA. In fact, Figure 3.18 indicates that this solution is close to vO = 0.15V. Now, imagine we would use the solution found for 25 mA as another fixed point for Taylor series expansion.
Although we would still be unable to find the solution for iS= 100 mA, we probably could obtain another intermediate solution for some 50 mA, which were impossible before. So, we could expand again iN[VO] into a third-order Taylor series around this new quiescent point, and retry the desired solution foriS=100 mA. This process may be repeated as many times as needed, until the sought solution is found within a certain allowed error. Obviously, if the order of the Taylor expansions is increased, the total number of source samples needed is reduced, as the steps taken for iS may be widened. If, in the opposite direction, the order of the Taylor series is lowered, the number of total steps is increased.
But, this may bring a new advantage: solution simplicity for each of the intermediate steps. In the limit, the selected order for the Taylor expansion is one, the number of total steps is maximized, but we only have to solve linear equations. In fact, Figure 3.20 illustrates exactly that method by starting from an initial value of 0iS
=0 mA ,0vO =0V, and then increasing the source current from 0 to 100 mA in 20-mA steps.
Figure 3.20 Successive expansion point adjustment for improved first-degree Taylor series’ approxi- mation range.
The extension of this process to a periodic varying iS(t) is straightforward, because its time samples,iS(ti), may be computed independently as in Figure 3.20.
In Figure 3.21 we can see an example where iS(t) = 100 cos t mA, the initial excitation was again0iS(t)=0 mA and the intermediateiS(t) andvO[iS(t)] were computed from increasing the source amplitude in 20-mA steps.
The main difference between the constant and the time-varying input is that, since the intermediate solutions ivO(t) are functions of time, the Taylor series coefficients are also time-varying:
iN[i+1vO(t)] =iN[ivO(t)] +diN(vO)
dvO |vO=ivO(t)[i+1vO(t)−ivO(t)] +. . . + 1
n!
dniN(vO)
dvOn |vO=ivO(t)[i+1vO(t) −ivO(t)]n+. . . (3.190a) or
i+1iN(t) =iiN(t) +ig1(t)⌬vO(t) +. . .+ign(t)⌬vO(t)n+. . .
(3.190b)
Figure 3.21 Successive time-varying expansion point adjustment for improved Taylor series’
approximation range.
If vO(t) is periodic of fundamental frequency0,
vO(t) = ∑∞
k=−∞Vokejk0t (3.191) and the harmonics of i+1iN(t) are truncated atK0, (3.190) can be expressed in conversion matrix form as
i+1
冤IIIn⯗⯗nn−K0K冥=i冤IIIn⯗⯗nn−K0K冥+i冤GG0⯗⯗11K0 ……… GGG⯗⯗111−K0K ……… GG0⯗⯗11−0K冥冤⌬V⌬V⌬V⯗⯗ooo−K0K冥+. . .
+
i冤GG0⯗⯗nnK0 ……… GGG⯗⯗nnn−K0K ……… GG0⯗⯗nn−0K冥 冤⌬V⌬V⌬V⯗⯗ooo(n)(n)(n)−0KK冥+. . . (3.192)
where⌬Vo(n)K represents thekth harmonic component of the voltage⌬vO(t)n. That formulation really converted our time-domain problem in a frequency-domain one, since we are no longer calculating each of vO(t) time points, but its Fourier components. If the function is not algebraic, as iN[vO(t)], but dynamic (i.e., represented by a certain nonlinear differential equation), this procedure corresponds to solving the problem using successive time-varying Volterra series calculated in each of the intermediate solutions.
The implementation of this form of generalized Volterra series [8, 9] is a complex task. It involves the method of nonlinear currents for time-varying Volterra series applied to each of the source samples determined by the excitation stepping.
Nevertheless, as was already seen, it can be considerably simplified if conver- gence rate is traded by reduced Volterra series order. The lower end is obtained for first order, where simplicity is maximized. We no longer need to solve any nonlinear system for each of the intermediate solutions, but simply a time-varying linear one. In this case, the inner recurrent loop disappears, and we would end up in a form of harmonic balance based on a source steppingprocedure.
To exemplify its application, let us use it to solve our circuit when driven by aiS(t)=I0+IPcos0t(A) sinusoidal current. SinceiS(t) is a sinusoid of frequency
0, all circuit voltages and currents are periodic functions of the fundamental0, and may be described by a Fourier series similar to (3.191).
Substituting (3.191) into the nonlinear differential equation describing our circuit
GvO(t) +dqNL[vO(t)]
dt +iNL[vO(t)] =iS(t) (3.193) gives
∑K
k=−K
GVokejk0t+ d
dt冤qNL冢∑kVokejk0t冣冥+iNL冢∑k Vokejk0t冣=k∑=−KK Iskejk0t
(3.194) where⌺kstands for a summation ink, spanning from−K toK, and in which all Isk=0 except the ones fork= ±1 andk=0 (i.e.,±0and dc, respectively).
Since we only know a priori the solution 0vO(t) =0 for0iS(t) =0, it is not possible to directly determine the solution for iS(t)=I0+IPcos0t(A). In fact, it is likely that we can neither obtain a good approximation foriS(t)=I0A, based on a first-order expansion at0vO(t), nor even foriS(t)=I0+IPcos0t(A) from an expansion atiS(t)=I0A. At this point we can proceed in three different ways.
We can use a source-stepping algorithm for simultaneously increasing the dc and ac part of iS(t) from zero to its final values. We may, first, increase the ac part, and only after that, the dc part. Or, alternatively, we can begin by solving for the dc solution, and then increase ac excitation. As the problems usually handled in the nonlinear distortion area are such that the dc part of the excitation represents a much stronger component than the time-varying part, it is better to solve for dc first, and only after that, trying to find the complete dc plus ac solution.5So, we will begin the analysis by solving the circuit foriS(t)=I0A.
At dc, (3.194) is transformed into
GVo0+iNL(Vo0) =Is0 (3.195) As explained above, we will use a source-stepping approach in which the initial expansion point corresponds to the already known solution, 0Vo0=0 for
0Is0=0, and where the intermediate solution i+1Vo0 for an increased source
i+1Is0=iIs0+⌬Is0can be obtained from a first-order Taylor series of theiN(vO) current:
iN(i+1Vo0)=GiVo0+iNL(iVo0) +d[GvO +iNL(vO)]
dvO |vO=iVo
0
(i+1Vo0−iVo0) (3.196) as
i+1Vo0=iVo0−冋d[GvOdv+iONL(vO)]|vO=iVo
0册−1[GiVo0+iNL(iVo0)−i+1Is0]
(3.197) This procedure continues through all theIs0steps until the finalfVo0is found for the soughtI0bias point.
This fVo0=Vo0 is now used as the first expansion point for the sinusoidal source-stepping algorithm, 0vO(t)=Vo0for 0iS(t) =Is0. Therefore, for a certain small enough amplitude of the current source
5. Note that in a class C amplifier, for example, where the bias point shifts dramatically from its quiescent value, the best strategy might not be so obvious. Nevertheless, this is the way the majority of nonlinear simulators—either HB or time-domain—work.
1iS(t)=∑
k
1Iskejk0t (3.198)
applied to (3.194), we will get GVo0+ d
dt冦qNL(Vo0)+dqNLdv(vOO)|vO=Vo
0 冤∑k 1Vokejk0t −Vo0冥冧
+iNL(Vo0) +冋G+diNLdv(vOO)|vO=Vo
0册冤∑k 1Vokejk0t−Vo0冥
= ∑K
k=−K
1Iskejk0t (3.199a)
or
G0Vo+c1(Vo0)j⍀1Vo+冤iNL(V00⯗⯗ o0)冥+[G+g1(Vo0)]冤1V1o1VV0⯗⯗o−o−KVKo0冥=冤111III0⯗⯗0sss−011冥
(3.199b) where
1Vo≡冤111VVV⯗⯗ooo−K0K冥andj⍀ ≡冤−jK⯗00 ……j0 jK0⯗ 0冥
Equation (3.199) represents a set of (2K + 1) linear equations in the (2K +1)1Vok unknowns, whose solution is such that 1Vok=0 except for
1Vo0=Vo0and
1V0±1=
1Is±1
G+0g1± j00c1 (3.200)
This small output amplitude 1vO(t) is now used as the next expansion point, allowing the solution for a generali+1iS(t)=iiS(t) +⌬iS(t), to be obtained from
∑k
GiVokejk0t
+ d
dt 冦qNL冢∑k iVokejk0t冣 +c1冢∑k iVokejk0t冣冤∑k (i+1Vok−iVok)ejk0t冥冧
+iNL冢∑k iVokejk0t冣+冤G+g1冢∑k iVokejk0t冣冥冤∑k (i+1Vok−iVok)ejk0t冥
=∑
k
i+1Iskejk0t (3.201)
The problem now arising in solving (3.201) is that we would like to transform it entirely into the frequency-domain to obtain another set of (2K+1) equations, but we do not know how to compute the Fourier coefficients of qNL[.], c1[.], iNL[.], and g1[.]. Well, one possible way consists of computing each of these functions in the time-domain (e.g., iqNL(t)=qNL[ivO(t)], and then calculate its Fourier coefficients. The time-domain products c1[ivO(t)] ⭈ [i+1vO(t) − ivO(t)]
and g1[ivO(t)] ⭈ [i+1vO(t) − ivO(t)] then become spectral convolutions, which can be represented as matrix-vector products using the conversion matrix formal- ism. Thus, (3.201) can be rewritten as
GiVo+ j⍀iQnl+iInl+ j⍀iC1[i+1Vo−iVo] (3.202a) +[G1+iG1] [i+1Vo−iVo] −i+1Is=0
(where 1stands for the identity matrix), or F(iVo)+dF(Vo)
dVo |Vo=iVo(i+1Vo−iVo)=0 (3.202b) in which
F(Vo)≡GVo+ j⍀Qnl(Vo) +Inl(Vo)−Is=0 (3.203) is known as the harmonic balance equation.
The composite conversion matrix dF(Vo)/dVo|vo=ivo≡J(ivo) is known as the Jacobian matrix ofF(Vo), and its general element of rowmand columnlis given by
J(iVo)m,l ≡∂Fm(Vo)
∂Vol |Vo=iVo= 1 T T冕/2
−T/2
df(vO)
dvO |vO=ivO(t)
e−j(m−l)0t dt (3.204) in which f[vO(t)] is the time-domain representation ofF(Vo), and it is assumed thatm,l=1, . . . , 2K+1 andJ(iVo)m,l=0 if|m−l|>Kaccording to the adopted harmonic truncation.
The next solutioni+1Vothen becomes
i+1Vo=iVo−[J(iVo)]−1[F(iVo)] (3.205) A final remark that refers to both the dc and ac source stepping algorithms, (3.197) and (3.205), regards the magnitude of the source increment. Obviously, larger increments reduce number of intermediate steps but may also compromise desired accuracy. This is exactly the same problem above discussed as the inability of Volterra series in dealing with strong nonlinear regimes. If the source stepping increment⌬iS(t)≡i+1iS(t)−iiS(t) is sufficiently small for substituting the nonlinear element descriptions by piecewise linear approximations, then i+1Vo0 or i+1Vo given by (3.197) or (3.205) is, indeed, a good approximate solution to i+1Is0 or
i+1iS(t). If not, the HB equation will not be satisfied to the desired accuracy, and (3.197) or (3.205) must be applied to refined source steps until|F0(fVo0)|<⑀or
||F(fVo)|| <⑀, where⑀is an allowed error ceiling, and||F[.]||stands for the norm of F[.].6
In a digital computer, both time- and frequency-domain are represented by discrete quantities. Therefore, the mathematical tool used to perform the conversion between domains is the discrete Fourier transform (DFT), or its fast algorithm, the fast Fourier transform (FFT). The DFT of a signal of 2N + 1 samples, x(nTs), whereTsis the sampling period, is
X(k0)= 1 N ∑N
n=−N
x(nTs)e−jk0nTs= 1 N ∑N
n=−N
x(nTs)W−kn (3.206) where0is the fundamental frequency and W=exp (j0Ts).
Accordingly, the inverse DFT (IDFT) is defined as x(nTs) = ∑K
k=−K
X(k0)ejk0nTs= ∑K
k=−K
X(k0)W+kn (3.207)
6. ||F(fVo)||=冠⌺k|Fk|2冡1/2is only an example of a number of possible error functions. For instance, if certain Fkcomponents are found to dominate over other more interesting components, then some different weights could be applied when building the error function.
So, (3.206) and (3.207) can be represented as matrix-vector products like
X =⌫xandx=⌫−1X (3.208)
where
⌫ ≡ 1
N冤WWW⯗⯗−KNkNKN ……… WWW⯗⯗−kn−KnKn ……… WWW⯗⯗−kN−KNKN冥
and
⌫−1≡冤WWW⯗⯗−KN−KnKN ……… WWW⯗⯗−kNkNkn ……… WWW⯗⯗−KNKNKn 冥
In this way, the general Jacobian matrix element of line mand columnncan be given by
J(iVo)m,l =∂Fm(Vo)
∂Vol = 1 N ∑N
n=−N
df(vO)
dvO |vO=vO(nTs)W−(m−l)n (3.209) And the full Jacobian can be computed using
J(iVo)=⌫冋dfdv(vOO)|册⌫−1 (3.210)
where [df(vO)/dvO] is a (2N + 1) × (2N + 1) diagonal matrix such that dn1,n2=df[vO]/dvO|vO=vO(nTs)ifn1=n2=nordn1,n2=0 otherwise.