New Difference Equation Technique for Solving Non

NEW DIFFERENCE EQUATION TECHNIQUE
FOR SOLVING NONLINEAR DIFFERENTIAL EQUATIONS
James M. Hurt
Associate Engineer
IBM Corporation
Data Processing Division
Kingston, New York
INTRODUCTION
Until the present technique was developed,
a general purpose digital computer was unable
to achieve a real-time solution for the more
complex design simulations. The primary obstacle to the digital approach was the excessive
COTI1puting time required ior simuiating the
vehicle's control system and rotational motion
equations by avaHable numerical techniques.
The roll, yaw and pitch channels of the aircraft
used as an example are represented by fifteen
linear and nonlinear differential equations in
addition to algebraic equations. The highest
input frequency is approximately three cycles
per second; the maximum transient response
frequency is 60 cycles per second. The solution
time for these equations on the IBM 7090 by
Runge-Kutta integration is 3.0 seconds for each
second of flight time. When solved by the new
technique, the same equations require only 0.17
seconds of computation time for each second
of flight time. This solution-time reduction, in
addition to a reduction in the computation time
for the vehicle dynamics equations, permii3
a digital computer to perform the simulation in
real time.
This paper will discuss a new mathematical
technique for the solution of nonlinear differential equations. The types of equations and nonlinearities presented are those associated with
feedback control systems. Originally developed
as a method for simulating control systems, the
technique was verified during a recent study
of complex aircraft design simulations. It is
now being used in a man-in-the-Ioop Gemini
spacecraft simulation.
Since these design simulations include man
as a component part, it is imperative that they
be performed in real time. For many years,
the analog computer with its parallel computing ability has been used for the real-time design simulation of aircraft. In more recent
years, the analog computer has assumed the
same role for missiles and space vehicles. Presently, aircraft systems have become more complex, space vehicle missions require more hours
of simulation time to complete a maneuver, and
high-performance missiles require more logical
decisions in their phases of flight. Because of
these conditions, it has become more difficult
to expand, use and maintain the large analog
systems which are required to perform realtime simulation.
This paper will describe the theory of the
new technique as applied to the flight simulation problem. Autopilot and power controls
equations, and vehicle dynamics equations will
be used as examples.
169
From the collection of the Computer History Museum (www.computerhistory.org)
170
PROGE,EDINGS---oSPRING JOINT COMPUTER CONFERENCE, 1964
p
Figure 1. Transfer Function Diagram for Aircraft Roll Channel.
PROBLEM DEFINITION
SOLUTION METHOD
Figure 1 illustrates the Laplace transfer
function diagram of an aircraft roll channel. *
The yaw and pitch channels are of similar form
and will not be discussed. This transfer function diagram represents the mathematics of
the vehicle's roll rate as a function of autopilot
(<Pc.) input. Additional inputs are applied at
point X:;. The first two inner loops contain nonlinearities in the form of limiting devices. These
devices limit the magnitudes of the variables
X .. and Xt-\ to 6.55 and 20.0, respectively. The
first inner feedback loop is a high-frequency
control unit which accepts autopilot signals as
input. Its internal frequency response is up to
60 CPS and drives the second inner feedback
function. This second feedback transfer function is a lo~-frequency unit and is the mathematical representation of the hydraulic unit
of the roll channel.
The nonlinear differential equations are
solved by an appropriate set of difference equations. These difference equations are derived
by first computing a z transformt of the Laplace
transfer diagram and then reducing the transforms to simple difference equations. The z
transforms are used in a manner which differs
considerably from their normal usage. By properly computing z transforms for the linear
portions of the transfer diagram, and then combining the linear portions as though they were
separated by samplers, it is possible to arrive
at a transformation which, when reduced to
difference equations, will permit an accurate
and rapid solution of the nonlinear system.
The next to last block gives the differential
equation for the roll acceleration. The equation
contains continuous nonlinearities in the form
of the time-varying coefficients Ch C and a,
and the crosscoupling terms, rand q. The timevarying coefficients are functions of altitude,
speed, angle of attack, etc., while the crosscoupling terms introduce the effects of yaw and
pitch on the roll of the aircraft.
II
The problem of concern is the solution of the
nonlinear differential equations for the roll
channel (yaw and pitch also) at a solution rate
which will give results that are accurate for a
design analysis, and yet permit real-time operation of the entire simulation.
*Laplace transfer functions rather than differential
equations will be used to specify the mathematical
models. The use of the new technique to be discussed
is greatly aided by starting with transfer functions.
Figure 2 is a feedback control system with a
nonlinearity (the limiter) in the forward loop.
The limiter prevents the magnitude of the variable X .. (S) from exceeding the limit K L • The
limiter behaves as a variable gain element. For
the nonlimiting mode, the gain K is unity and,
when limiting occurs, the gain is such that:
X:1 (S)K == KJ. == X.. (S). When the system is
operating in the nonlimiting or linear region,
the forward loop transfer function is
G1 (S) G:! (S) and the system transfer function is
X:;(S)
X 1 (S)
==
1
+
G 1 (S)G:!(S)
G1 (S)GAS)H(S)'
For this nonlimiting mode, a z transform of
the total transfer would be computed as
z
[1
+
Gl (S)G 2 (S)
G 1 (S) G:! (S) H (S)
]:1:
.
This transfer
tz is the sampled data variable and is equal to e HT
where S is the complex Laplace variable and T is the
sampling period. For further informat:on, refer to
sources listed in t.he Bibliography.
From the collection of the Computer History Museum (www.computerhistory.org)
NEW DIFFERENCE EQUATION TECHNIQUE FOR SOLVING NONLINEAR EQUATIONS
171
Some provision for stopping and checking for
the limiting case must be made. This can be
done by considering each element of the system
separated by a sampler as shown in Figure 3.
Figure 2. Feedback Control System with Limiting.
function has the correct roots and steady-state
gain for a single impulse input. For any other
input, the steady-state gain would need adjustment. This would necessitate adjusting the
numerator polynomial coefficients. The denominator polynomial would be correct and would
not need adjustment.
In this form, the calculations proceed around
the loop, one transfer function at a time. On
each pass through the forward loop, the test
for the limit is made before proceeding with
the calculations. In this form, the system
transfer function for the nonlimiting case beX;;(z)
G 1 (z)GAz)
comes X 1 (z)
1 + G 1 (z)GAz)H(z)
which does not correspond with the nonlimit.
[
G1 (S)G .. (S)
]
ing transfer functIOn Z 1 +G 1 (S)G:!-(S)H(S)
For the limiting case, the forward loop transfer function would no longer be Gl(S)G:!(S),
but KGl(S)GAS) where K < 111. The limiter
acts as a variable gain element. When X:{(S)
becomes larger than some predetermined value,
limiting occurs such that IX 4 (S) I == K L • Thus,
for a particular sampling instant and limiting
gain KI, the system is considered linear and
4- 1-. ~ 4- .. ~ - ~.c ~ - -- 'Lu C
.. U- -1-1-1 e- s-' Xl) (S )
HI t;
,,1. i:l..l1 ~ 1. t; 1.- .c1. --U!n \,:;- L:
L! U I I "
X 1 ( S) --
calculated previously from the Laplace system.
The roots and gain of the transfer function will
not agree with those of the z transform calculated from the Laplace transfer function. However, by appropriate gain adjustments in the
forward and feedback loops, it is possible to
adjust the z transform so that the roots and
steady-state gain match. The difference equations obtained from this corrected z transform
will give solutions which are within the accuracy required for design simulations.
KIG l (S)G 2 (S)
The resuiting z trans1 + K 1Gl (S)G 2 (S)H(S)"
KIGl(S)G2(S)
]
form would be Z [ 1 + K1G(S)G(S)H(S) .
Figure 4 shows the transfer function diagra~ of a feedback control network which will
be used as an example to illustrate the technique.
Thus, for both the limiting and nonlimiting
cases, the system at any sampling instant may
be considered linear. This leads to the concept
of a piece-wise linear system. The main problem which remains is to determine when the
limiting occurs, and it is here that a departure
from standard z transform techniques is made.
Figure 4. Linear Feedback Control System.
C.
Figure 3. Sampled Data Feedback Control System.
:j: This equation is written in operator notation. The
capital Z indicates the z transformation operation.
Thus f(z)
Z [f(S)].
=
Since the system of Figure 4 is linear, an
exact difference equation may be derived. The
method consists of multiplying the Laplace
transform of the input by the transfer function
to obtain the output transform. The output
transform is transformed into z transform
notation. By dividing this output transform
by the z transform of the input, the z t{ansform transfer function is determined. This
transfer function is then used to compute adifference equation which will give an exact
From the collection of the Computer History Museum (www.computerhistory.org)
172
PROGEE'DINGg.......SPRING JOINT COMPUTER CONFERENCE, 1964
T1
T2
T
T 3 --------------
TIM
n
Figure 5. Arbitrary Input Sampled by ZeroOrder Hold.
solution for the particular input used. However, for real-time design simulations the inputs are, in general, unknown and this method
cannot be used for computing the difference
equations. This difficulty is resolved by computing z transforms for step inputs or pulses
of finite width, where the width of the pulse
is equal to the sampling period. Any arbitrary
input may be approximated by a stair-step input.
Figure 5 illustrates a function which has
been broken up into steps.
This type of sampled input is obtained by a
zero-order hold, and introduces, on the average,
one-half of a sample period lag in the input.
This lag is compensated by a lead which is
characteristic of the z transform method. The
transfer function of Figure 4 is
X:;(S)
XI(S)
=
the unit step transfor~
:;
z
Z 2-e-. 05 cos (.1) z
X5 (z) - - - - - - - - - - .05: - . . . . : - -1
- z-1
z2_2e-· cos (.I)z+e-·
.5e-·05 sin (.I)z
4
z2_2e-· 05 cos (.1) z+e-· 1 ( )
z
X 5 (s) = z-1 -
G(S)
5
1 + G(S)H(S) - S2 + 2S + 5 (1)
The output transform for a unit step input
is calculated by multiplying equation (1) by
X (S)
This rate is much higher than needed to produce satisfactory results. The choice of a solution rate is governed by the frequencies of the
input function and transient response. The
transient response frequencies are calculated
from the roots of the system transfer function.
To reproduce the response at this frequency,
a sampling rate greater than but not less than
twice the frequency should be used. Since an
arbitrary input function is sampled in a stairstep manner, a sampling rate must be chosen
to minimize the error introduced by the stairstep approximation. This error may be made
insignificant merely by increasing the solution
rate. This error is not present for step inputs
since the difference equations are derived for
step inputs. Thus, for step inputs, the solutions
are exact at the sampling instant, regardless
of the solution rate. A general criterion for
choosing a solution rate is to pick one which
will give satisfactory simulation results. The
rate is much less than required for standard
numerical techniques.
X 5 (S)
~
.
1
= Xt(S)X S = S(S2
+ 2S + 5) (2)
-
z2-.8990z
z2-1.89295+ .904837
(6)
The system transfer function in z notation is
computed by dividing equation (6), the output
S1
2S
+
z transform notation.
X 5 (z) _ X/l(z) XI(z) - _z_ z-1
1
z2-1.8990z+ .8990
z2-1.89295z+.904837 (7)
1
+
= -z-1
z-
response, by ~1 ' which is the step input in
5
Equation (2) is expanded by partial fractions so that standard z transform tables may
be used.
5
S(S2 + 2S + 5)
S + 1
S2
S2 + 2S + 5
X 5 (z)
z2-.94648z
z2-1.89295z+.904837
.04748z
z2-1.89295z+.904837 (5)
5 (3)
Equation (3) may now be transformed into
z notation through the use of transform tables.§
rhe sampling period used is T = 0.05 seconds.
X 5 (z) _
.00605z+.005837
Xl (z) - z2-1.89295z+.904837
(8)
The difference equation is computed by cross
§ Refer to appendix for a list of basic z transforms.
From the collection of the Computer History Museum (www.computerhistory.org)
173
NEW DIFFERENCE EQUATION TECHNIQUE FOR SOLVING NONLINEAR EQUATIONS
multiplying both sides of equation (8) and solving for X,.(z).
Z2X,,(Z) -
1.89295zX,.(z) + .904837X,,(z) =
.00605zX I (Z) + .005837X I (z)
(9)
.00605 Xl (Z) + .005837 Xl ~Z)
z
Z
+ 1.89295 Xr.(z) _
z
In z transform theory,
.904837 X,,~z)
z
(10)
~
represents a time
z
the impulse train. This difficulty can be resolved
by using impulses of area T, the sampling
period, or by multiplying the transform by T
and using the unit impulse. The multiplication
by T is a first approximation. The numerator
will generally require further adjustment. For
an integrator, the numerator is multiplied by
T and no further adjustment is required. The
integrator adjustment may be explained by reducing the sampling period. The z transform
is a discrete process which approaches the Laplace as the sampling period becomes smaller.
Consider the Laplace transform for integration
a
~. From the tables, the corresponding z trans-
delay of two sampling periods; and, in general,
form is ~1 which is multiplied by T to get
LZll
Tz
The sampling period is reduced.
z-I·
delay of one sampling period;
-4represents
z
is a time delay of n sampling periods, or nT.
The inverse transformation of equation (10)
back to the time domain thus becomes:
X,.(nT) = .00605X I (nT-T) + .005837X 1
(nT-2T) + 1.89295Xr.(nT-T) -.904837Xr.
(nT-2T)
(11)
Equation
sampling
ure 4 for
inputs of
(11) gives an exact solution at the
instants, nT, for the output of Figstep inputs (or for finite-width pulse
width equal to the sampling period).
A new method of calculating the difference
equations will now be discussed. The new technique is required for the case where a limiter
is present. The same system of Figure 4 will
be used. Normally, a limiter woud be present
between the two elements in the forward loop
of Figure 4. However, for the initial analysis,
the nonlimiting mode is used and the limiting
element can be replaced by an element of unity
gain. The method, as stated before, is to compute z transforms for the linear portions, combine these portions for the overall transfer
function, and then make appropriate gain adjustments such that the steady-state gain and
roots agree with the linear gain and roots. The
transforms for the linear portions are calculated directly from the transform tables with
one modification. The transforms in the table::;
are transforms for a single-impulse input. Here,
step inputs are used which, through the sampling process, become a train of impulses. The
transforms for the single-impulse input do not
give a correct value of steady-state gain for
z-
lim
lim
Tz
T~O
T~Oz-1
Tel':n'
e wr_l
(12)
T(I+ST+S2T2+ ... )
lim
T~O
Tz
z-1
2
(I+ST+S2T2+ ... )-1
2
(13)
1
S
(14)
As the sampling period is reduced to zero, the
z transform for integration becomes
~
, which
is the Laplace integration transform as expected. However, if the T had been omitted,
the limit would have been infinity which is incorrect. The z transforms for the linear portions of Figure 4 are calculated from tables.
The calculations for the numerator coefficient
of equation (15) may be omitted and a constant
K inserted. This coefficient will undergo a gain
adjustment when the roots are corrected.
5
S+2
--~
1
T5z
z-e-· 1
Tz
.25z
z-.904837 Kz
z-.904837
.05z
S ~ z-1 = z-l
(15)
(16)
The gain adjustment could have been made in
the integrator coefficient with the same output
From the collection of the Computer History Museum (www.computerhistory.org)
174
PROGEEDINGS---<SPRING JOINT COMPUTER CONFERENCE, 1964
denominator of equation (17) is matched to the
denominator of equation (8) by solving for the
gain constant K .
Xs(z)
1--.......-
.05K -
Figure 6. Sampled Data Feedback Control SystemLoop Gain Unadjusted.
results. The only effect would be a time shift
in the response within the loop. The limiter
would limit at a slightly different time. Figure
6 shows the transfer function at this point. A
delay of one sample period has been inserted in
the feedback loop. Since the numerator and
denominator of the forward loop transfer function are the same degree, the corresponding
difference equation relates the present value
of X;; (z) to the present value of XAz). However, X:!(z) is equal to Xl (z) minus X;;(z).
Therefore, without a delay in the feedback, the
computer would be faced with the problem of
calculating a number which depends on itself.
This problem is avoided by inserting a delay
of one sampling period in the feedback loop.
With the delay added, past values of X:; (z) are
used to calculate the present value of X;; (z).
1.904837 == -1.89295
(18)
.05K == .011887
(19)
K == .23774
(20)
.011887z2
z2-1.89295z+ .904837
(21)
Equation (21) is the final transfer function.
It has the same denominator as equation (8)
and the numerator coefficient js equal to the
sum of the numerator coefficients of equation
(8) . Since the sum of the numerator coefficients of equation (8) equals the numerator
The transfer function of Figure 6 is
X:;(z)
X1(z) -
G(z)
1+G(z)H(z)-
K.05z 2
Z2+ (.05K-1.904837)z+.904837
Figure 7A. Linear Feedback Control System.
(17)
The coefficient for z in the denominator polynomial of equation (17) contains the unknown
gain constant K. This constant originated from
equation (15) where the z transform of S!2
was calculated. The reason given for keeping
the numerator of equation (15) a constant K
was that this numerator coefficient would undergo an adj ustment when the roots were corrected. The denominator roots of equation (8)
are the correct roots for the system of Figure
4. Since the roots determine the transient response of a system, the denominator of equation (17) must match the denominator of
equation (8) if the system of Figure 6 is to perform as the original system of Figure 4. The
coefficient of equation (21), the steady-state
gain of (21) is equal to (8) as desired. The
numerator is seen to be of an order higher
than equation (8). This introduces a lead in
the system output.
Figure 7 shows a comparison of the output
response of the system of Figure 4 to a pulse
1/2
Figure 7B. Input Pulse.
From the collection of the Computer History Museum (www.computerhistory.org)
Time (sec.)
NEW DIFFERENCE EQUATION TECHNIQUE FOR SOL.VING NONLINEAR EQUATIONS
Curve A - Exoct Differenc.e Equo!iOl"l Solution
NeN Difference Equation Technique
Figure 8A. Laplace Feedback Control System
with Limiter.
e-
time (sec)
-.40·
Figure 7C. Output Pulse.
input for the two methods of solution. Part A of
the diagram shows the system; Part B represents the pulse input; and Part C gives the output responses. The results are for the non limiting mode. The solution which uses standard
z transform techniques agrees exactly with the
continuous solution given by equation (22).
Equation (22) was found from the inverse
transformation of equation (2). The input notation Xl (t) has been changed to unit step notation U(t).
X,,(t) == 2U (t) - 2e- t cos (2t)-e - t sin (2t)
[2_2e-t +1 / 2
175
-U(t-L'2)
cos (2t-1)-e- t + 1 / 2 sin (2t-1)]
(22)
The solution as calculated from the difference
equations derived from Figure 6 leads the exact
solution, as expected, since a pulse input was
used and no delay in step or pulse inputs is introduced by the sampling process. This lead
may be programmed out, or may be desirable
in cases where instruments are driven in a
simulation. For an arbitrary input, the stairstep approximation introduces a delay in the
input which cancels all or much of the lead due
to the solution technique.
shown in Figure 7B. Curve A is the solution
of Figure 8A for the same input pulse. This
solution was achieved by Runge-Kutta integration at a solution rate of 2,000 solutions per
second. The difference equation solution leads
Figure 8B. Z Transform Feedback Control System
with Limiter.
the Runge-Kutta solution but has the same amplitude and frequency. The difference equations were written from the linear portions of
Figure 6 such that the computer would calcu-
• 80
Curve A - Runge-Kutlo Integration ot 2000 SolutiOM Se-cond .
8 - New [)jffe~nce Equation Technique
.«1
ti . . ,sec.)
-.«1
Figure SA is Figure 4 with the limiter added
to the forward loop. The limiter limits the peak
magnitude of the variable X4 (S) to unity. Figure SB is the z transform of Figure SA. It is
the same as Figure 6 except for the addition
of the limiter and the value for K. Curve B
of Figure 9 is the difference equation solution
of the system of Figure SB for the pulse input
Figure 9. Output Response for a Pulse Input for
Circuit Shown in Figure 8.
late around the loop a step at a time. This
step-wise solution was necessary to check for
the limit. The equations used were derived
from Figure SB.
From the collection of the Computer History Museum (www.computerhistory.org)
176
PROCEE'DINGS----SPRING JOINT COMPUTER CONFERENCE, 1964
X2 (nT)
Xa(nT)
==
==
Xl(nT)-X5(nT-T)
(23)
.23774X 2 (nT) + .904837Xa(nT-T)
(24)
LIMIT hi Xa (nT)
.05X4 (nT) +X5(nT-T)
(25)
(26)
Figure 10 shows, in chart form, the effect of
limiting on the system roots. A comparison is
made between the root loci of the continuous
system and the z transform system for several
values of limiter gain. There are two z transform root loci; one is for a sampling period of
T '= 0.05, and the other is for a much slower
,rate of T == 0.2. The two z transform root loci
correspond very closely to the Laplace for values
of limiting gain near unity. This is true because the z transform equations were matched
for the nonlimiting case K == 1. For smaller
values of limiter gain, the roots of the z transform deviate slightly from the Laplace roots.
This produces a small shift in the transient
response frequencies.
dependent functions. Thus, rolling of an aircraft will affect its yaw and pitch rates. Because of this interdependence of the crosscoupling terms, the equations for roll acceleration (p), yaw acceleration (i-), and pitch acceleration (4) form a system of nonlinear differential equations. For analysis purposes,
each of these equations may be analyzed separately for a predetermined region of flight
by simply considering the crosscoupling terms
as additional inputs to the transfer function.
p(t) = Ku(t)f(t)q(t) [r(t), + p(t)q(t)]
+ KIa(t)q [¢I COS a - C $in a]
(27)
II
Since the transfer function for each equation
is matched to give correct transient response
and steady-state gain, the total system of equations will behave properly because the crosscoupling terms are treated as additional inputs
to each channel. Equation (28) is the result
of simplifying equation (27) by choosing an
optimum region of flight.
1> = 65.2of
+K
ll
rq + K 12r + 19dr
-
12.2p
(28)
Limiting Gain
Laplace and
z Transform, T = •05
z Transform
T
= •2
1.000
-1.0 * j 2.00
-1.0* j 2.000
.922
-1.0*jl.90
-1.0 * j 1.899
.848
-1.0* j 1.80
-1.0 * j 1.797
.778
-1.0 * j 1.70
-1.0 * j 1. 696
.712
-1.0 * j 1.60
-1.0* j 1.595
.650
-1.0 * i 1.50
-1.0 * j 1.493
.592
-1.0 * j 1.40
-1.0* j 1.393
.538
-1.!l * j 1.30
-1. 0 * j 1. 292
.488
-1.0 * j 1.20
-1.0*J 1.191
.442
-1.(H j 1.10
-1.0* j 1.091
The flight region was chosen near the high
performance end. This choice was made so
that the coefficients in equation (28) would be
near these maximum values. This enables the
analysis of the root locus for the overall feedback system to be made at maximum loop gain.
Fora lesser performance region, the coefficients
would be reduced. This would cause a reduction
in loop gain and a shift of the operating point
of the root locus. As previously shown, a good
match between the actual system root loci and
Figure 10. Root Locus Comparison.
ROLL CHANNEL EXAMPLE
This example will explain the important
features of the z transformation of the roll
channel of Figure 1. Figure 1 is expressed in
Laplace notation, except for the roll acceleration (p) equation. Before the z transform is
computed, this equation is placed in Laplace
notation. The equation for p contains timevarying coefficients and crosscoupling terms
from the yaw and pitch channels. These crosscoupling terms have been expressed as a function of time only; however, they are mutually
Figure 11. Transfer Function Diagram for Aircraft
Roll Rate.
From the collection of the Computer History Museum (www.computerhistory.org)
NEW DIFFERENCE EQUATION TECHNIQUE FOR SOLVING NONLINEAR EQUATIONS
177
Figure 12. Roll Channel Z Transform Transfer Function (Roots and Steady-State Gain Unadjusted).
the z transform root loci is possible for lower
loop gains.
Figure 11 is the transfer function diagram
of equation (28). The diagram shows the crosscoupling terms as inputs.
The transfer function of Figure 11 is used
in place of the portion from af to p in Figure
1. Once this substitution has been made, the
roll channel transfer function is transformed
into z notation. This transformation of the
forward loop proceeds one inner feedback loop
transfer function at a time. The procedure for
transforming e.ach inner loop is the same as
discussed previously and will not be repeated.
A solution- rate of 20 solutions per second was
chosen. This rate gives satisfactory results and
permits a real-time solution. Figure 12 is the
resulting z transformation.
After performing the z transformation of
the individual loops of the system, there still
remains one final loop gain adjustment. This
adjustment is necessary to match the roots and
gain of the z transform system to the Laplace
system. The adj ustment in loop gain is determined by comparing the root locus of the z
transform with the root locus of the Laplace
transfer function. A root locus program II was
II The Control System Analysis Program computes
root loci for linear, continuous or sampled data systems
in open-loop form. The input data may be in either
S or z transform notation, or any combination of these,
and may contain transportation lags. Options include
z transform computation pole-zero loci, and gain loci for
a specified gain.
The method of computing the root locus is described
in the paper "Numerical Methods for the Synthesis of
Linear Control Systems" by Maurice E. Fowler. The
paper was published in the 1963 Volume 1 of Automatica, pp. 207-225.
used which computes points on the root locus
for various values of gain (K) which the program inserts in the loop. The gain adjustment
for the z transform system is determined by
finding the roots of the Laplace system for
K == 1, and then comparing the gain of the
z system at the same point in the S plane.
Figure 13 is a plot of the two -root loci in the
S plane.
Desired
Z Trans.fonn .
Operating POint.
II
1.24~r
G:tdTU:t::i~~: i16,;it-.~t\\11
Factor = .905
#
JI -
.8874
Legend:
- - - Z Transfonn
--laplace
- .V
1.419
.979
laplace Operating
Point
Gain Factor = 1.
Root = 19.917 +
j16.21
jl6
I
.591
.635
jl2
.369-
.390
i 8
.232
.242
i 4
-24
-16
-8
o
Figure 13. S-flane Root Locus Plot with Gain Factor
(K) as a Parameter.
Since the computer did not calculate roots for
K == 1, a linear interpolation was used to determine the K == 1 point. The resulting root is
S == -19.917 + jI6.210. The adjacent z root
From the collection of the Computer History Museum (www.computerhistory.org)
178
PROCEEDINGS--SPRING JOINT COMPUTER CONFERENCE, 1964
Figure 14. Roll Channel Z Transform Transfer Function (Roots and Steady-State Gain Adjusted).
locus does not have the same real part due to
the characteristic lead introduced by the
method; however, a close match may be obtained by using the imaginary part of the root.
For ImS == 16.210 on the z locus, the gain is
determined by linear interpolation to be K ==
0.905. Since this gain should have been unity,
the z root locus was matched to the Laplace by
reducing the z loop gain by a factor of .905.
Figure 14 is the final z transform of the roll
channel. The loop gain adjustment was made
in the forward and feedback loops. This was
done to adjust the steady-state gain of C/>C to p,
and also to obtain the correct system roots.
Figure 15 shows in chart form, the Laplace
and adjusted z transform root loci. Values of
gain less than unity may be thought of as a
reduction in loop gain due to limiting in the forward loop. The values of gain shown in the
chart are not the actual loop gains, but are
multiplicative gain factors inserted in the loop.
z Transform
T; .05
Laplace
R
Root
Root
S;Re ± jIm
S;Re ± jIm
I
Limiting Gain
R
I
m
K
-19.917
16.50
1.029
-20.323
16.52
-19.917
16.00
• 979
-20.308
15.98
-19.933
15.50
.931
-20.308
15.46
-19.948
15.00
.884
-20.292
14.91
-19.948
14.50
.839
-20.292
14.38
-19.964
14.00
.795
-20.277
13.84
-19.964
13.50
.753
-20.277
13.32
-19.980
13.00
.712
-20.261
12.79
-19.980
12.50
.673
-20.261
12.27
-19.995
12.00
.635
-20.245
11.76
e
e
Figure 15. Root Locus Comparison.
m
If, for example, the actual loop gain was 10,
then for K == .90, the system would be behaving as one with a loop gain of 9.
One last point worth mentioning is that the
root loci of Figure 13 are only a portion of the
loci of the Laplace and Z transform systems.
Actually, the z transform roots repeat themselves up and down the imaginary axis at multiples of 27r/T. It is only necessary to match the
primary roots of the z transform. The other
multiple roots will automatically be matched
when the primary roots are matched to the
Laplace roots.
CONCLUSION
The difference equation technique described
in this paper has been successfully applied to
aircraft and spacecraft simulations. In these
simulations, the difference equations were used
primarily to describe the mathematical behavior of both linear and nonlinear control systems. A reduction in the computing time for
simulating these control systems was achieved.
This reduction ranged from a factor of 15 to 20.
The results of this technique may be made
to agree almost exactly with those obtained
from standard Runge-Kutta integration techniques merely by increasing the solution rate .
However, increasing the rate will increase the
computation time which may make the realtime criterion difficult to achieve. The aircraft simulation was solved at a rate of 20
solutions per second. The maximum instantaneous deviation from Runge-Kutta solved at
2,000 solutions per second for the output of the
roll, yaw, and pitch channels was about 0.5%.
The steady-state values agree almost exactly.
The stability of the simulation is known be-
From the collection of the Computer History Museum (www.computerhistory.org)
NEW DIFFERENCE EQUATION TECHNIQUE FOR SOLVING NONLINEAR EQUATIONS
179
fore the simulation is actually performed. This
preliminary knowledge is gained, of course,
from the root locus plot.
ACKNOWLEDGEMENT
The difference equation technique may be
applied to a wide range of control problems.
Other possible applications for the technique
The difference equation techniques described
in this paper were originally developed by
Maurice E. Fowler of IBM.
outside the aerospace field are hydrofoil boats,
submarines, and industrial control applications.
APPE.NDIX-BASIC z TRANSFORMS
t Domain
S Domain
z Domain
ANY
f{t)
F(S)
F(z)
STEP
u(t)
S
RAMP
t
1
S3
Tz
(z - 1)2
PARABOLA
t2
2
S3
T2(z2 + z)
(z - 1)3
N arne of Function
EXPONENTIAL
e_at
SINE
sin bt
COSINE
cos bt
DAMPED SINE
e-at sin bt
DAMPED COSINE
e-llt cos bt
I
I
1
z
z -
1
S + a
z
z -
+
b2
Z2_(COS bT)z
z2-2(cos bT)z + 1
S
S2 +b2
(S
+
S
(S
+
e-a'r
(sin bT)z
z2-2(cos bT)z+l
b
82
1
b2
e-aT(sin bT)z
z2-2e- 'l'(cos bT)z + e'--211'1'
a
a)2 + b2
z2_ell 'l' (cos bT) z
z2-2e-IIT (cos bT) z + e'-2nT
b
a)2
+
+
II
I
BIBLIOGRAPHY
1. FOWLER, M. E., Numerical Methods for the
Synthesis of Linear Control Systems, IBM
TR 24.001.
2. JURY, E. 1., Sampled-Data Control Systems, John Wiley & Sons, Inc., pp. 1-63.
3. LEONDES, C. T., Computer Control Systems
Technology, McGraw-Hill, pp. 307-362.
4. RAGAZZINI, J. R. & FRANKLIN, G. F., Sampled-Data Control Systems, McGraw-Hill,
pp.I-116.
5. TRUXAL, JOHN G., Automatic Feedback
Control System Synthesis, McGraw-Hill,
pp. 501-557.
From the collection of the Computer History Museum (www.computerhistory.org)
From the collection of the Computer History Museum (www.computerhistory.org)