Applications of Adjoint Theory
Applications of Adjoint Theory
Applications of Adjoint Theory
Abstract
Contents
1 Introduction C698
http://anziamj.austms.org.au/ojs/index.php/ANZIAMJ/article/view/2424
c Austral. Mathematical Soc. 2010. Published September 23, 2010. issn
gives this article,
1446-8735. (Print two pages per sheet of paper.) Copies of this article must not be made
otherwise available on the internet; instead link directly to this url for this article.
1 Introduction C698
5 Conclusion C713
6 Acknowledgement C713
References C713
1 Introduction
Systems analysts and engineers are often confronted with understanding the
behaviour and performance of complex dynamic systems driven by various
inputs predominantly of a stochastic nature. Some typical applications include
miss distance studies of guided missiles, fire control problems, navigation
problems and analysis of circuits due to random noise. For these systems, the
most general method of tackling the problem and gaining critical statistical
insight into the nature of the response is via the use of the Monte Carlo
simulation technique [1]. However, when the system is linear or can be suitably
linearised, then invoking the Monte Carlo method would be excessive and
unwarranted. Instead, the stochastically driven linear system may be more
economically and rapidly studied using better matched linear techniques. One
such technique is based on adjoint theory [2, 3] and is traditionally known as
the adjoint simulation method (or modified adjoint method).
The adjoint simulation method is a computerised method for the performance
2 Adjoint method C699
2 Adjoint method
We describe two cases: deterministic and stochastic.
2 Adjoint method C700
dn y dn1 y dy
+ a n1 (t) + + a 1 (t) + a0 (t)y = u , (1)
dtn dtn1 dt
where y denotes the system output, u is its deterministic input and the
coefficients are functions of time.
According to linear systems theory [6], the solution to the above differential
equation is Zt
y(t) = u()w(t, ) d , (2)
ti
where ti is the time at which the input is applied while w(t, ) denotes
the system weighting function or impulse response function. Physically,
the function w(t, ) represents the response of the system at time t to a
unit impulse applied at the input at time . While equation (2) gives the
formal solution to the problem under consideration, its practical usefulness
is limited. The difficulty is that the variable of integration corresponds to
the impulse application time. Thus, in order to generate w(t, ) required for
the above solution, it becomes necessary to simulate the system response for
each impulse application time. Once the weighting function is obtained in
this manner, it is then necessary to carry out the integration in equation (2)
numerically.
Since every linear time varying system has a corresponding adjoint system, a
better and more efficient alternative is to reformulate equation (2) in terms of
the weighting function of the associated adjoint system. To this end, utilising
the so-called modified adjoint technique [6] has the effect of requiring only
one computer simulation run to yield the desired weighting function. Now,
if the adjoint system is subjected to an impulsive input at time , then
the resulting system response at observation time t , known as the adjoint
2 Adjoint method C701
where t1 and t2 are the impulse application and observation times, respectively,
of the original system and tF denotes final time. Thus, on substitution of (3)
into (2) and, after a change of variable, we get
Z tF ti
y(t) = u( )w (, tF t) d . (4)
tF t
Here, the variable of integration appears as the first argument in the adjoint
weighting function and thus the solution for the output can be computed with
just one computer simulation run. For example, if the input to the system is
a step of magnitude K which is applied at time zero, and we seek the solution
at final time tF , then the integral (4) becomes
Z tF
y(tF ) = K w (, 0) d . (5)
0
Consequently, the original system response at the final time can now be
computed in one simulation run by integrating the weighting function of the
corresponding adjoint system.
This procedure extends to include many step input disturbances as well
as other types of deterministic inputs such as ramp or sinusoidal inputs.
Furthermore, since the system is linear, one adjoint computer simulation
yields the system response to a combination of disturbances, along with a
detailed error budget showing how each disturbance influences total system
performance.
2 Adjoint method C702
Suppose the linear system is driven by some noise process n(t). The system
output is now random in nature:
Zt
y(t) = n()w(t, ) d . (6)
ti
Squaring both sides of (6) and taking expectations yields the mean square
value of the output, namely
Zt
E[y (t)] = ()w2 (t, ) d ,
2
(7)
ti
where the white noise power spectral density (t) = 0 is double sided with
dimension unit2 /Hz. Again, the problem with computation of the weighting
function is circumvented by considering the corresponding adjoint system. In
this case, Z tF ti
E[y2 (t)] = 0 [w (, tF t)]2 d . (9)
tF t
If the noise input begins at ti = 0 and the observation time is taken as the
final time tF , the mean square response simplifies to
Z tF
E[y (tF )] = 0 [w (, 0)]2 d .
2
(10)
0
Thus the mean square response of the original system due to a white noise
input is determined by computing the weighting function of the adjoint
3 Adjoint construction rules C703
Time-Varying 1
() ()2 s 0 E[y2 (tF )]
Adjoint System
The covad toolbox has been designed to enable an analyst to easily perform
a range of analyses such as adjoint analysis on mathematical models of Multi-
Input Multi-Output (mimo) dynamic systems. It is built employing the widely
used Simulink modelling tool that is part of the Matlab suite of graphical
modelling products. When looking at the advantages of using Simulink
for modelling and simulation, in contrast with other approaches, consult the
white-paper by Moretti [7]. The covad toolbox ties together the following
aspects.
Matlab scripts, which provide the ability to leverage off the abundant
and well documented Matlab Application Programming Interface
(api). They have been used to code up the Graphical User Interfaces
(guis) needed by the user to interact with the toolbox such as is shown
in Figures 23, as well as to automate the process of producing the
adjoint variant for a given forward time Simulink model.
The Simulink modelling environment, which has a huge array of pre-
built library blocks as well as an api of its own, includes options to
customise the block interfaces. A custom library has been created using
this resource to put together the generic blocks used by models which
4 Adjoint software tool C705
lend themselves to adjoint analysis and are part of the missile homing
loop domain. This allows for effective reuse.
mat files which allow for exporting of simulation results data to other
domains, such as excel, as well as allowing the retrieval and display of
data by existing Matlab plotting functions.
The program is built with the intention of enabling users to group together
Simulink models and their variants into project directories which can be
placed anywhere in the directory structure. This is analogous to the workflow
used in many modern integrated development environments (ides). There
is also the ability to add new analysis capabilities via new scripts without
disturbing the existing code. This is due to the modular software architecture
philosophy followed throughout the development. To summarise, this involves
grouping related functions in separate scripts,
using information sharing between application components via sup-
ported and hence robust data structures, and
utilising native Simulink and Matlab api capability as much as
possible when writing functions.
Glint Fading
Noise Noise
Seeker
Target + + 1 + 1
1 1
Model - s s + R(t) + 1+TS S
M D = y(tF )
1 1
1+TA S N ! VC 1+TN S
Guidance Law Filter
Autopilot
filtered and used by the guidance computer to generate the guidance com-
mands for the autopilot. The autopilot stabilises the missile and deflects the
fins to cause the desired manoeuvre. The missile then reacts aerodynamically
and alters the flight path.
In this example, the filter and autopilot/aerodynamic response of the missile
are modelled using appropriate transfer functions. The guidance law employed
is the traditional proportional navigation guidance law and has the form
aC = N 0 VC , where N 0 is the effective navigation ratio, VC is the closing
velocity, is the rate of change of sight line angle and aC denotes the missile
commanded acceleration. Radar noise, which contaminates the seekers
measurement of the line of sight to the target, is added in the model in the
form of glint and receiver (fading) noise. These are modelled as zero mean
white noise processes.
The target model for this example is developed as follows. Prior to intercept,
the target is assumed to execute, at random, an evasive step manoeuvre of
magnitude A. The random time T for the target manoeuvre is uniformly
distributed between zero and the final homing time tF with probability density
function
1 , 0<t6t ,
F
pt (t) = tF (11)
0 , otherwise.
Zarchan [2] showed that the above target model can be equivalently repre-
sented by a linear shaping filter driven by white noise. This model has the
same statistical characteristics, up to second order, as that based on the
probability density function given by (11). The power spectral density of the
zero mean, input white noise process is n = A2 /tF . Table 1 summarizes the
parameter values used in this example. After inclusion of the target model
into the homing loop block diagram of Figure 4 and taking into account the
parameter values given in Table 1, we obtain the Simulink implementation
given as top diagram of Figure 5. The adjoint toolbox covad now automat-
ically converts this Simulink model into an associated Simulink adjoint
system for further analysis. The Simulink adjoint system is shown as bottom
4 Adjoint software tool C710
Gn Fn
1 1 s
Out1 In1 Out1
s s .05s+1
Rnd_Stp_Man FNT Seeker
Scope
1
Miss Distance
1 1
4 600
0.1s+1 0.1s+1
Autopilot N Vc Filter
1 1
3 sqrt 2 u2 u2 K sqrt
s s
Sigy3
sqrt3 PHIg sqr sqr1 PHIf sqrt4
1 1 1 1 s 4
u2 Out1 In1
Sigy4
s s s s .05s+1
sqr2 Integrator2 FNT Seeker
2 sqrt
0
Sigy2
sqrt2 Zero
K In1 Out1
1 1
1 4 600
PHIn FNT1 0.1s+1 0.1s+1
minus Autopilot N Vc Filter
1 sqrt
Sigy1
sqrt1
Table 1:
Parameter Nominal Value
Time of Flight, tF 5s
Seeker Time Const, TS 0.05 s
Filter Time Const, TN 0.1 s
Autopilot Time Const, TA 0.1 s
Tgt-Man-Mag, A 3g
Glint Noise PSD, G 2 m2 /Hz
Fading Noise PSD, F 106 rad2 /Hz
PN Ratio, N 0 4
diagram of Figure 5. Note that the impulse response of the adjoint system
has been computed by imposing an initial condition of unity on integrator2
in the diagram. Standard Simulink tools further analyse the system. The
top plot of Figure 6 compares the results from the adjoint simulation with
those generated using a Monte Carlo method. The results give the rms
miss distance of the engagement as a function of flight time. The adjoint
results were obtained in one simulation run of the Simulink system. The
Monte Carlo results are based on the physical model of the target manoeuvre
(as opposed to the shaping filter approach required for the adjoint model)
and required 200 runs for each flight time tF considered. In addition to the
total rms miss distance results, the adjoint solution also provides an error
budget consisting of the contributions that each input has on total system
performance. The error budget information is displayed as the bottom plot
in Figure 6. The error budget indicates that, in this example, glint noise is
the biggest contributor to miss distance.
4 Adjoint software tool C712
4
MD STD (m)
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Flight Times (s)
5 Conclusion
Mathematicians have long paid attention to the adjoint operator and duality
theorems in their studies of the existence of solutions to differential equations.
The adjoint simulation method has been employed here to investigate the
response and sensitivity of linear time varying systems to stochastic inputs.
Matlab/Simulink software has been developed to facilitate applications of
the method to problems encountered in aerospace and defence science.
6 Acknowledgement
The authors are grateful to Dr Martin Weiss of TNO, The Netherlands, for
his constructive comments and advice on aspects of the adjoint method and
valuable suggestions for further developing the adjoint tools in Matlab.
References
[1] Statistical performance analysis of nonlinear stochastic systems by the
Monte Carlo method volume 23-1 of Mathematics and Computers in
Simulation J., pages 2123, 1981. doi:10.1016/0378-4754(81)90004-5
C698, C699
[2] Zarchan, P. Tactical and Strategic Missile Guidance, 5th Edition, AIAA
Progress in Astronautics and Aeronautics, 2007. C698, C701, C703,
C707, C709
[3] Weiss, M. Adjoint Method for Missile Performance Analysis on
State-Space Models, volume 28-2 of Guidance, Control and Dynamics J.,
pages 236248, AIAA,2005. C698
References C714
Author addresses