1 steady-state methods ucb ee219a oct 31 2002 joel phillips, cadence berkeley labs thanks to: k....
TRANSCRIPT
1
Steady-State Methods
UCB EE219A Oct 31 2002
Joel Phillips, Cadence Berkeley Labs
Thanks to: K. Kundert
2
Steady-State Methods: Goals
• Understand alternative way of analyzing differential equations
‑ Faster
‑ Application-Specific
• “Tie together” several numerical themes
‑ Circuit theory
‑ Solution of ODEs/DAEs
‑ Newton methods
‑ Iterative solvers & preconditioning
3
Today
• Review material from last time
• In-depth look at time-domain methods for periodic steady-state problem
‑ Matrix-implicit implementation
‑ Analysis
• Quick survey of more advanced techniques
‑ Small-signal, RF noise analysis
‑ Oscillators
‑ Multi-frequency steady-state, envelope
4
Review: AC Small-Signal
• Find DC operating point
• Linearize around operating point
• Solve the AC analysis equation
acx
uxxf
Ijdc
)(
tjacdc euuxf
dtdx )(
acdc xxx
5
Simple Nonlinear Steady-State Problems
• Compute harmonic distortion in the amplifier
• Compute conversion gain in the mixer
• Compute noise with large-signal bias
*
122
6
IVP Approach
• Apply source
• Solve IVP (Trap, Euler, etc.)
• Wait till steady state is reached
• Fourier-transform the output
7
Problems with IVP
• Speed -- Especially with multiple periodic inputs
• Accuracy
‑ Steady-state not reached, a-periodicity errors, aliasing errors, interpolation errors
Sim Time ~ Fmax / Fmin
8
Periodic Steady-State Computation
• Apply a sinusoid or other periodic input signal
• Directly solve for the periodic response
‑ Time-domain solution over one “fundamental” period
‑ Or spectrum: Fourier coefficients at fundamental + harmonics
• Need to solve a boundary value problem (BVP)
),,( tuxfdtdx )()0( Txx
9
Note on PBCs
• If solution to DAE is unique, then solution on one period determines solution for all time
‑ Both the shooting method and spectral interval methods (harmonic balance) use this fact
• From knowledge of solution at one timepoint, can easily construction solution over entire period by solving IVP
‑ We will exploit this in the shooting method
10
Enforcing PBCs
• Approach 1: Build BCs in basis function
‑ Example: Fourier series satisfy periodic boundary conditions
• Approach 2: Write extra equations
‑ PBC
tkbtkatxk
kk
k
00
10 cossin)(
)()0( Txx
11
PSS Algorithm #1: Harmonic Balance
• Periodic solution can be expressed in terms of Fourier series with fundamental frequency
• Pick
• Spectral derivatives
N
Nk
tikkectx 0)(
0
kk cc (real solutions please!)
N
Nk
tikkecik
dtdx
00
12
Harmonic Balance: Equation Formation
• Enforce
• Pseudo-spectral approach: force at selected timepoints
‑ Uniformly spaced to compute derivatives via FFT
uxF )( ),()( txfdtdx
xF
uxF )(
13
Equation Structure
• BVP becomes
• Jacobian with
),(
),(
),(
-F )( F),()(22
11
1-
MM txf
txf
txf
itxfdtdx
xF
M
2
1
1-0
g
g
g
-F
K
K-
F
iJ
xtxfg kkk /),(
14
Equation Solution
• We need to solve
• These matrices are dense in either Fourier- or real- space LU factorization is bad news
• They are potentially very large
• Yet a matrix-vector product can be done fast
• Ideal candidate for iterative solution methods (GMRES!)
• Good preconditioners are necessary, but hard to construct
M
2
1
1-0
g
g
g
-F
K
K-
F
iJ
bJx
15
Algorithm #2: “Finite Difference”
• Given the same derivative discretization for IVP (Gear, trapezoidal, etc.)
• Step 1: Write all the discretized circuit equations for the whole period
11101
),( utxfhxx
22212
),( utxfhxx
1111
),(
nnnnn
utxfhxx
16
Algorithm #2: “Finite Difference”
• Step 2: Write the PBC equation
111
1
01
),( utxfhxx
222
2
12
),( utxfhxx
MMM
M
MM
utxfhxx
),(1
TttM 0
)()()( 00 txTtxtx M
17
Algorithm #2: “Finite Difference”
• Step 2: Write the PBC equation
),,( 111
1
1
tuxfhxx M
TttM 0 )()()( 00 txTtxtx M
18
Algorithm #2: “Finite Difference”
• Step 3: Solve them
‑ With N circuit equations, M timepoints, system has O(MN) unknowns
‑ Big system!
• Recall: Newton method for IVP at timestep n, iteration k
knknnkn
n
nkn
rxtxxf
hxx ,11,11,1
1
,1
),(
19
Newton for PSS-FD
• Step 2: Write the equations w/ PBC
111
1
1
),( utxfhxx M
222
2
12
),( utxfhxx
MMM
M
MM
utxfhxx
),(1
)(),( 1
11
1
1
xrxxtxf
hxx M
)(),( 2
22
1
12
xrxxtxf
hxx
)(),(
1
1
xrxxtxf
hxx M
MMMM
PBC
20
Algorithm #2: “Finite Difference”
• Jacobian structure
),,( 11,1 nnkn
n tuxxf
G)()( 01 txtx M
MMM GhIhI
hI
GhIhI
hIGhI
J
//
/
//
//
3
222
111
PBC
21
Similar Concept, Distinctive Computations
• AC
• PSS-HB
• PSS-FD
acx
uxxf
Ijdc
)(
M
2
1
1-0
G
G
G
-F
K
K-
F
iJ
M
2
1
MM
22
11
G
G
G
-
I/hI/h-
I/hI/h-
I/h-I/h
J
xtxfG kkk /),(
22
Algorithm #2: “Finite Difference”
• Linear system solution
‑ With N circuit equations, M timepoints, system has O(MN) unknowns
‑ Big system!
• Will use iterative methods
‑ GMRES in particular
• Efficient?
‑ How many iterations?
‑ Cost of each iteration? (matrix-vector product?)
23
GMRES Convergence Analysis
• Phillips’ rule of preconditioner analysis:
‑ Real life is always worse than an example you can solve analytically
• Simplified PSS-FD matrices
‑ Consider linear case
‑ Consider one variable
‑ Constant timestep
ghIhI
hI
ghh
hIgh
J
//
/
/1/1
//1
24
Eigenvalues of PSS-FD Matrix
• Eigenvalues tend to unit circle as h0
‑ Very bad for GMRES!!!!
‑ Need a preconditioner!
g
h
25
PSS-FD Solution Procedure
• Viewpoint 1: Preconditioning
‑ Hard to invert/factor entire matrix
‑ Can invert lower-triangular piece fairly easily
GI/hI/h-
GI/hI/h-
GI/h
MMM
222
11
L
ULJ
00
00
I/h-0
1
U
1-LP Pb,PJx
26
GMRES with FD System
• Need to solve system with
• We will use iterative method (GMRES).
‑ Can combined preconditioner and matrix product!
‑ Must exploit structure for efficiency!
• Must compute
‑ Products with
‑ Solves with
ULIPJ 1-
00
000
I/h-00
1
U
DL
0
0DL
00D
M1-MM,
22,1
1
L
UL
27
Exploiting Structure in
• Step 1: Compute
• Step 2: Compute
U)xLI(Px 1-
00
000
U00
1
U
Uxy
M
2
1
x
x
x
x
0
0
xU
M1
y
yLz 1-
DL
0
0DL
00D
M1-MM,
22,1
1
L 1-k1-kk,k yLD solve
:M1,keach for
kz
28
PSS-FD Solution Procedure
• Viewpoint 2: Compressed System
‑ If we knew the last point/first point, we can easily obtain all the rest of the points by a forward-substitution
MMM GhIhI
hI
GhIhI
hIGhI
J
//
/
//
//
3
222
111
bJx
29
Compressed FD System Structure
• Need to solve system with ULIPJ 1-
00
000
I/h-00
1
U
DL
0
0DL
00D
M1-MM,
22,1
1
L
X0
X00
X00
M
2
1
1
UL
XI0
XI0
X0I
M
2
1
1
ULI
30
Compressed FD System Structure
• Need to solve system with ULIPJ 1-
XI0
XI0
X0I
M
2
1
1
ULIPJ
1M
2
1
1
)X(I0
0
0I0
00I
I0
X-I0
X-0I
)(
PJ
Apply GMRES to !!MXI
31
Compressed GMRES Products
• Step 1: Compute
• Step 2: Compute
rx)X(I M
00
000
U00
1
U
Uxy
rx
0
0
x
0
0
xU
r1
y
yLz 1-
DL
0
0DL
00D
M1-MM,
22,1
1
LM
1-k1-kk,k
z asproduct Extract
yLD solve
:M1,keach for
kz
32
Final PSS-FD Procedure
• Form equations
• For each Newton iteration
‑ Compute residual
‑ Compute Jacobian matrices
‑ Solve PSS-FD Jacobian equation
• Preconditioned by L: Using GMRES, solve compressed matrix equation
• Find update on whole interval by forward substitution (application of )
‑ Update solution waveform on interval
1-L
33
Compressed System Analysis
• GMRES convergence?
‑ With N equations, M timesteps, have reduced system size from MN to N. Nice!
‑ What is eigenvalue distribution? Must consider for a meaningful analysis.
• What about the nonlinear part of the solution? Can we apply a similar trick?
1N
34
Recall: Note on PBCs
• If solution to DAE is unique, then solution on one period determines solution for all time
• From knowledge of solution at one timepoint, can easily construction solution over entire period by solving IVP
‑ We will exploit this in the shooting method
35
Shooting Procedure
• Guess x(0)
• Integrate to get x(T)
• Update x(0) to correct residual
‑ How? Newton!
T0
x(T)
x(0)x(0)
36
Transition Function
• Define transition function s.t
• Physical interpretation: integrate forward in time with as initial condition
• Periodicity condition is
(x(0))x(T)
(x(0))x(0)
T0
)(x1
1x2x
)(x2
x(0)
37
Transition Function Example
• Consider linear system
• Recall from theory of (homogeneous) linear ODEs
Axdtdx
)0()( xetx At
xex AT )(
38
Shooting Method Updates
• Periodicity condition is
• Want to solve this equation via Newton
• Need: Sensitivity matrix
• How to compute? Depends on method used for shooting….
(x(0))x(0)
kk rxx
I
)0(
))0(()0( kkk xxr
)0()()(
)(xTx
xx
x
39
Sensitivity Computation
• Given equation for final timepoint, take partial derivatives
• Use chain rule
MMM
M
MM
utxfhxx
),(1
)0(),(
)0()0(1 1
xtxf
xx
xx
h
MMMM
M
)0(1
)0()0(),(1 1
xx
hxx
xtxf
Ih
M
M
MMM
M
)0(),(
)0(),(
xx
x
txfx
txf M
M
MMMM
40
Sensitivity Computation
• Apply this formula recursively
• Starting condition is
)0(1
)0()0(),(1 11
xx
hxx
xtxf
Ih
k
M
kkk
M
Ixx
xx
)0()0(
)0(
0
41
Sensitivity Matrix-Vector Product
• GMRES needs matrix-vector productfor some
• Compute, starting at step 1, proceed to step M
‑ Convenient:
• At step k, solve
vxx
hv
xx
xtxf
Ih
k
M
kkk
M )0(1
)0()0(),(1 11
vq v
vq 1
k
M
kkk
M
qh
qx
txfI
h1
)0(),(1 1
1
vxx
qk
k
)0(
42
Remarkable Fact: Connection Shooting/FD
• We have the *same equations* to compute the sensitivity update. Yet not the same method.
k
M
kkk
M
qh
qx
txfI
h1
)0(),(1 1
1
DL
0
0DL
00D
M1-MM,
22,1
1
LM
1-k1-kk,k
z asproduct Extract
yLD solve
:M1,keach for
kz
43
Final PSS-Shooting Procedure
• Form equations
• For each Newton iteration
‑ Compute residual in periodicity condition
• By integrating IVP forward to find x(T)
‑ Solve shooting update equation
• Using GMRES, solve sensitivity matrix equation
‑ Update first time point x(0)
44
Shooting vs. PSS-FD Procedures
• Same linear system is solved
‑ Same GMRES convergence properties
• Different nonlinear updates
‑ Different Newton convergence properties
Shooting•Updates end point only •Satisfies ODE at every iteration•Tries to converge boundary condition
PSS-FD•Updates entire interval •Satisfies BC at every iteration•Tries to converge ODE solution
45
GMRES Convergence Analysis
• Consider linear model problem
• Transition function / matrix:
• Eigenvalues of exponential matrix are exponentials of eigenvalues
• Stability analysis: circuits tend to be designed to be stable eigenvalues have negative real parts all eigevalues of are inside unit circle
ATh
AT exex 0lim)(
46
GMRES convergence
• “Stiff” modes go away immediately
• “Neutrally stable” modes slow convergence problems
• With DAEs:
‑ Algebraic equations, conservations (e.g. KCL)
‑ Only dynamic modes show up in matrix
‑ Resistors do not hold “state”, only capacitors, inductors, other energy storage elements
uExdtdx
C
47
Irony
• Consider transient matrix:
‑ Ill-conditioned if stiff bad for iterative methods
• PSS-FD
‑ Stiff modes: eigenvalues with large negative real part
‑ Map to unity in this procedure
• What made transient hard (esp. iterative methods) makes PSS problem easy!!
AhI
I
48
Multi-Interval DecompositionMulti-Interval Decomposition• Low-order where needed, high-order where possible
• Refinement strategy:
‑ order increase, in smooth region, III,
‑ interval decomposition, in sharp-transition region, II.
I II III IV V
Subintervals
Multi-Interval Chebyshev Discretization
49
10-6
Rel
ativ
e er
ror
of
ou
tpu
t
Total # of time steps or collocation points1000
uniform 2nd-order
MIC
Uniform high-order
100 500
100
10-5
10-1
10-3
High order is more efficient and
MIC (2-16) is more efficient than uniform high order!
Example Convergence Result
50
Linear Periodically Varying Circuits
• Model Frequency-Translating Devices
• Assume devices is near-linear with respect to data inputs
May be very nonlinear with respect to other inputs
tavin sin
tbvlo 2sin
ttab
vvv inloout
)cos()cos(2
2121
OutputInput
Clock
51
Small-Signal Analysis
• Assume second signal is “small” sinusoid
• Linearize around time-varying operating point
• Solve for transfer functions
LO
Input
Output
Input Output
LO
52
Calculations
• Let v = vL + vs and u = uL + us
• Let us = 0, find vL, linearize about vL, then apply us
• Taylor series expansion about vL
• Let
0)())(())(( tutvitvq
0)()())()(())()(( tututvtvitvtvq sLsLsL
0)()()(
))(()(
)(
))((
tutv
tdv
tvitv
tdv
tvq
dt
dss
Ls
L
)(
))((
)(
))((
tdv
tviG
tdv
tvqC L
LL
L
0)()()())()( tutvtGtvtCdt
dssLsL
u
v
53
Cyclostationary Noise
• Cyclostationary noise is periodically modulated noise
‑ Results when circuits have periodic operating points
• Noise is cyclostationary if its autocorrelation is periodic in t
‑ Implies variance is periodic in t
‑ Implies noise is correlated in frequency
• Cyclostationarity generalizes to non-periodic variations
‑ In particular, multiple periodicities
54
Origins of Cyclostationary Noise
•Modulated (time-varying) noise sources
‑ Periodic bias current generating shot noise
‑ Periodic variation in resistance of channel generating thermal noise
•Modulated (time-varying) signal path
‑Modulation of gain by nonlinear devices and periodic operating point
Modulatednoise source
Modulatedsignal path
55
Cyclostationary Noise vs. Time
• Noise transmitted only when switch is closed
• Noise is shaped in time
Noisy Resistor& Clocked Switch
vo
NoisyNoiseless
tn
56
Modulated Noise Spectrum
Time shaping Frequency correlation
Stationary NoiseSource
PeriodicModulation
Noise FoldingTerms
Cyclostationary Noise
Replicate &Translate
Sum
-2 -1 0 1 2-3 3
-2 -1 0 1 2-3 3
f
f
f
f
Con
volv
e
57
Adjoint Analysis: Circuit Interpretation
LinearizedCircuit
Output 1
Output 2
Output 3
Output 4
Input 1
Input 2
Input 3
For one output configuration, compute TF from all possible inputs
58
Exotic Simulation Creatures
• Oscillator Analyses
• Quasi-periodic analyses
‑ Steady-State (intermodulation distortion)
‑ AC, XF (transfer function)
‑ Noise (in mixer with blocker)
• Envelope methods
59
Two-Frequency Analysis
• Main issue: frequency resolution
Sim Time ~ Fmax / Fmin
• Multi-Freq Harmonic Balance
• Shooting methods (MFT)
60
• Sample quasi-periodic waveform at clock frequency
• Represent “envelope” with Fourier series
• Use time-domain method to resolve “fast” behavior in each cycle
• Only a few cycles/samples are needed
Mixed Frequency-Time Algorithm
61
Envelope Analyses
• Track non-periodic carrier envelope without tracing all carrier cycles
• RF analog of transient analysis
62
Summary
• Steady-state methods are powerful techniques for analyzing complicated – yet structured – phenomena in circuits
• Essential for RF design
‑ Useful in many other contexts!!!
• Numerical techniques
‑ Shooting, HB, Chebyshev-Interval, MFT
‑ Iterative solutions methods
‑ Must exploit problem structure to get efficient algorithms!