Harmonic balance is a method used to calculate the steady-state response of nonlinear differential equations,[1] and is mostly applied to nonlinear electrical circuits.[2] [3] [4] It is a frequency domain method for calculating the steady state, as opposed to the various time-domain steady-state methods. The name "harmonic balance" is descriptive of the method, which starts with Kirchhoff's Current Law written in the frequency domain and a chosen number of harmonics. A sinusoidal signal applied to a nonlinear component in a system will generate harmonics of the fundamental frequency. Effectively the method assumes a linear combination of sinusoids can represent the solution, then balances current and voltage sinusoids to satisfy Kirchhoff's law. The method is commonly used to simulate circuits which include nonlinear elements,[5] and is most applicable to systems with feedback in which limit cycles occur.
Microwave circuits were the original application for harmonic balance methods in electrical engineering. Microwave circuits were well-suited because, historically, microwave circuits consist of many linear components which can be directly represented in the frequency domain, plus a few nonlinear components. System sizes were typically small. For more general circuits, the method was considered impractical for all but these very small circuits until the mid-1990s, when Krylov subspace methods were applied to the problem.[6] [7] The application of preconditioned Krylov subspace methods allowed much larger systems to be solved, both in the size of the circuit and in the number of harmonics. This made practical the present-day use of harmonic balance methods to analyze radio-frequency integrated circuits (RFICs).
Consider the differential equation
\ddotx+x3=0
x=A\cos(\omegat)
Then by matching the
\cos(\omegat)
\omega=\sqrt{
34} | |
A |
T=
2\pi | |
\omega |
≈
7.2552 | |
A |
For a more exact approximation, we use ansatz solution
x=A1\cos(\omegat)+A3\cos(3\omegat)
\cos(\omegat)
\cos(3\omegat)
The cubic equation for
y
y ≈ 0.0448
T=7.4163 … /A
The harmonic balance algorithm is a special version of Galerkin's method. It is used for the calculation of periodic solutions of autonomous and non-autonomous differential-algebraic systems of equations. The treatment of non-autonomous systems is slightly simpler than the treatment of autonomous ones. A non-autonomous DAE system has the representation
0=F(t,x,x) |
F:R x Cn x Cn → Cn
n
t,x,x |
The system is non-autonomous if the function
t\inR\mapstoF(t,x,
x) |
x
x |
T>0
t\inR\mapstoF(t,x,
x) |
T
A natural candidate set for the
T
1 | |
H | |
\rmper |
((0,T),Cn)
[0,T]
x(0)=x(T)
F
F(t,x(t),x(t)) |
x\in
1 | |
H | |
\rmper |
((0,T),Cn)
The system
B:=\left\{\psik\midk\inZ\right\}
\psik:=\exp\left(ik
2\pit | |
T |
\right)
1 | |
H | |
\rmper |
((0,T),Cn)
Hilbert basis
of the Hilbert spaceH:=L2([0,T],C)
x\in
1 | |
H | |
\rmper |
((0,T),Cn)
infty | |
x(t)=\sum | |
k=-infty |
\hatxk\exp\left(ik
2\pit | |
T |
\right)
\hat
T\psi | ||||
x | ||||
|
* | |
k(t) ⋅ |
x(t)dt
\psi\inB
0=\langle\psi,F(t,x,
x)\rangle |
H:=
1 | |
T |
T | |
\int | |
0 |
\psi*(t) ⋅ F(t,x,
x) |
dt
\psi
B
The Galerkin approach to the harmonic balance is to project the candidate set as well as the test space for the variational equation to the finitely dimensional sub-space spanned by the finite base
BN:=\{\psik\midk\inZwith-N\leqk\leqN\}
This gives the finite-dimensional solution
x(t)=
N | |
\sum | |
k=-N |
\hatxk\psik(t)=
N | |
\sum | |
k=-N |
\hatxk\exp\left(ik
2\pit | |
T |
\right)
0=\langle\psik,F(t,x,
x)\rangle withk=-N,\ldots,N |
In the special context of electronics, the algorithm starts with Kirchhoff's current law written in the frequency-domain. To increase the efficiency of the procedure, the circuit may be partitioned into its linear and nonlinear parts, since the linear part is readily described and calculated using nodal analysis directly in the frequency domain.
First, an initial guess is made for the solution, then an iterative process continues:
V
Ilinear
V
Inonlinear
V
\epsilon=Ilinear+Inonlinear=0
V
\epsilon
\tfrac{d\epsilon}{dV}
Convergence is reached when
\epsilon