Idea Transcript
Calhoun: The NPS Institutional Archive DSpace Repository Theses and Dissertations
1. Thesis and Dissertation Collection, all items
1973-06
A microcomputer solution to maneuvering board problems Kerns, Kenneth Harper Monterey, California. Naval Postgraduate School http://hdl.handle.net/10945/16700 Downloaded from NPS Archive: Calhoun
A MICROCOMPUTER SOLUTION TO MANEUVERING BOARD PROBLEMS
Kenneth Harper Kerns
H|nn i
lit
UHUyl bj, Uull
'^E3
rg
71
L
iUs Situ
fTSra&fi
mm
MICROCOMPUTER SOLUTION
A •^:,
TO
;
MANEUVERING BOARD PROBLEMS by
Kenneth Harper Kerns and
Roger Stuart Cooper Thesis Advisor:
G.
A.
Kildall
June 1973 -
Approved
fan.
public leXease; diMtAibatioyi iiYiLvtuXtd.
A
Microcomputer Solution to
Maneuvering Eoard Problems by
Kenneth Har per Jems Lieutenant Commander, United States Navy B. A. # Vanderbilt University, 1961 and
Roger Stuart Cooper Lieutenant, united States Naval Reserve A.B., Princeton University, 1968
Submitted in partial fulfillment of the requirements for the degree cf
MASTER CF SCIENCE IK COMPUTER SCIENCE
from the NAVAL POSTGRADUATE SCHOOL June 1973
"777
ABSTRACT
digital
special-purpose
A
using
the
primary
new
microprocessor
LSI
ECS
gcal of this work was to solve
computing task using limited
development
ships'
maneuvering
deter ruination
approach cf
of
other
simultaneously.
time.
speed,
ships.
Ten
A
the
and
system solves
closest
contacts a
logic
including
and
decimal
version
of
tracked
be
can
the
point
involved
triangula tion
these
in cf
the
complete maneuvering situation can be
computed in 4.5 seconds. drive
random
problems
course,
The
fairly complicated
a
computing
This
board
The
algorithm.
technology.
minimal amount of
a
calculations is performed using COREIC
computer has been developed
displays,
required
Except for
hardware
all
is
contained
chips,
which
logic
in
to
the
software-encoded
read-only-memory
single CPU chip.
Approximately eight hundred man-hours were
drive
a
required to develop the programs and prototype the hardware. The
system
is
modular
and easy to maintain, low in bulk,
power consumption, and cost.
TABLE OF CONTENTS I.
INTRODUCTION
II.
THE MANEUVERING BOARD A.
B.
8
THE EASIC RELATIVE MOVEMENT PROBLEM
B.
C.
IV.
The Relative Plot
10
2.
Ihe Vector Diagram
11
CTHEJ USES 01 THE MANEUVERING EOARD
13
1.
Stationing Problem
13
2.
Intercept Problem
13
3.
True Wind Problem
13
H
Military Applications
14
.
CCfiDIC PRINCIPLES
15
15
1.
Iteration Equations
16
2.
Convergence Scheme
17
3.
Shifting
16
4.
CORDIC Computing Process
18
APPLYING CCREIC TECHNIQUE TO THE MCS-4
19
1.
Decimal
2.
Rotation Mode
21
3.
Vectoring Mode
22
I
nplementation
OTHER IMPLEMENTATIONS CF CORDIC
20
23
1.
Decimal Approach
23
2.
HE-35 Approach
23
IMPLEMENTATION
25
A.
HARDWARE CONSIDERATIONS
25
B.
MANEUVERING BOARD SOLUTION ALGORITHM 1. Solution of the Relative Plot
26
29
C.
Solution of the Speed Triangle IKE CONTROL PROGRAM
D.
THE DISPLAY INTERFACE
30
2.
V.
10
1.
III. CORDIC COMPUTING TECHNIQUE A.
10
27
29
CONCIUSICN
32
RESULTS
32
A.
E.
FUTUEE WORK
35
GUIDE TO MANEUVERING BOARD COMPUTES
APPENDIX
A
USERS
APPENDIX
E
CCNTROI PROGRAM LOGIC DESCRIPTION
44
APPENDIX
C
ESTIMATES OF MANUFACTURING COSTS
50
APPENDIX
D
FLOW CHART FOR CORDIC ROTATION KCDE
51
APPENDIX
E
ELCW CHART FOR CORDIC VECTORING MODE
53
APPENDIX
F
FLOW CHART FOR MANEUVERING BOARD ALGORITHM
1
..
..
37
55
COMPUTER PROGRAM
57
LIST OF REFERENCES
80
INITIAL DISTRIBUTION LIST
81
FORM DD 1473
82
LIST OF TABLES
I.
COEEIC ARCTANGENT CONSTANTS AND SUBITEBATIONS ...... 20
II.
CPA PROBLEMS
34
LIST OF DRAWINGS
1-
MANEUVERING EOARD SCHEMATIC
12
2.
PROTOTYPE KEYBOARD/DISPLAY SCHEMATIC
38
ACKNOWLEDGMENT
assistance
The
members
faculty
three
of is
Naval
gratefully
Postgraduate
acknowledged.
School
Assistant
Professor Gary A. Kildall served as both thesis advisor
and
chief scrounger, mysteriously acquiring all sorts of surplus
supposedly
and
Brubaker,
second
defective
hardware.
Instructor
Bay
reader and remedial soldering instructor,
demonstrated his infinite capacity for capacitors and light
bulbs
in
H.
building
the
small
LED display and writing its
associated
software.
Richard
Franke expended much of his time and more of his
H.
And
finally,
Assistant
Professor
patience in premasticating several of the COEDIC papers. Dei sub numine yiget.
I
A
•
rapidly developing
IMBO DOCT IOM expanding
and
area
of
ccirputer
application is that of microcoiip uters. and technology Composed cf miniaturized software-encoded chips and minimal
hardware
circuitry, the microcomputer is ideally adapted to
specialized tasks and applications. It is the purpose of thesis to demonstrate the applicability cf the this comparatively inexpensive microcomputer technology
to
Navy
functions and problems. An application which has been investigated by the Naval Electronics laboratory Center, San Diego (NELC) , is that of computerizing certain maneuvering beard problems, in deter raining the closest point of approach (CPA) particular, of
NELC has constructed a
multiple radar-detected contacts.
"breadboard Refs.
1
version"
and
components.
North
array
divide)
and
of
read-cnly-meraory
three
chips,
(PROM)
They contain
subtract,
(add,
and
logarithm, in
Microelectronics
and 4.
3
functions
natural
off-the-shelf
of
Rockwell
Refs.
in
arithmetic
stored
is
use
unit is six MOS 1SI chips
the
American
scientific
expenent,
program
maximum of
described
and
standard cosine,
heart
The
manufactured by Company
making
2,
CPA calculator, described in
its
of
Intel with
multiply,
constants PI).
a
(sine,
control
The
programmable
four
Signetics
random-access-memories (RAM) used for data storage. The NELC unit has a twenty key control keyboard and an eleven key
(with decimal point)
numeric keyboard, while the cutput
is in the form of a light display of six digits
Infcrmaticn
on
plus
sign.
five contacts can be stored simultaneously.
Data input fcr each contact reguires six individual entries unigue to that contact, plus two which are the same fcr all
contacts.
Five
pieces
of
output
8
information
for
each
contact
computed
are
directed by the user, with
trigonometric functions are approximated
[
a
the
of
not
multiplicative
by
time as
a
Ihe NELC CPA calculator
time
NEIC's method of
input
available,
using
data
the Law of Sines and the Law of Cosines.
primarily
5.
at
total machine computation
a
manipulation
solution involves
Bef.
one
less than sixteen seconds.
solutions
for
displayed,
and
Inverse they
and
are
constants, as indicated by has
been
tested
at
sea
5], and this test showed that a device which provides
Ref .
guick,
board
accurate,
problems
reliable
and
solution
to
maneuvering
be eagerly received by potential Navy
will
users. The
system
described
below
has
alternate microcomputer solution to the
been developed as an
CPA
problem.
hardware is the Intel MCS-U microcomputer set.
The
The software
functions have been limited to those which are required
for
extensive control program not only orders the various algorithms, but also makes sufficient
the
solution.
CPA
checks
on
actions
complete and output
implemented
uses
An
by
the
will
keyboard
be
user
to
insure that input is
meaningful.
The
system
input and light display output,
although alternate, more automated input/output schemes
suggested.
as
are
THE MANEUVERING BOARD
II.
When a proceeding ship is near other ships, knowledge of
the
of its motion to theirs becomes important
relaticr.ship
in preventing collisions at sea. has
prepared
sheet
plotting
a
Hydrcgraphic
The
2665-10)
(H.O.
Office
called the
Maneuvering Eoard which facilitates the solution of a ship's This solution involves finding ncvement problem. relative the closest point of approach of another ship along with its
course
and
Reference
speed.
defining the terras
various
and
used
was
6
plots
on
as a
guide in
Manuvering
the
Board.
THE EASIC RELATIVE MOVEMENT PROBLEM
A.
Figure
1
illustrates the format of
Ship positions system.
are
plotted
Maneuvering Eoard. polar
the
co-ordinate
of the plot represents "reference" or
center
The
using
a
"own" ship ard any other point represents the position of
"maneuvering"
ship,
plotted in true bearing and range from
own ship at various times.
problems but
a
Solutions
of
relative
motion
with the Maneuvering Eoard consist cf two distinct
related
parts:
the
relative
plot
and
the
vector
diagram, the latter often called the speed triangle.
1 .
I
he_Relati ve_Plot
In
the
relative
plot
the
"maneuvering"
plotted at various times: its position at the the plot is labeled M1, M2, M3, M1
#
M2,
etc.,
is
called
the
1.
The
of
line
through
relative moticn line,
defining the direction of relative motion and of relative notion.
beginning
and subseguent positions are labeled
etc., as indicated in Figure M3,
ship is
the
distance
From this plot are obtained the bearing
10
and range of the maneuvering ship from own ship at any
and
time
bearing and range of the closest point of approach
the
of the maneuvering ship from own ship.
closest
Ihe
of approach is indicated as the
point
point labeled CPA in Figure
1.
The range of CPA
simply
is
the distance from the center of the plot to this point.
The
tfotion bearing of CPA is equal to the direction of relative plus or minus ninety degrees, dependent upon the quadrant
The time of CPA
containing the CPA point. adding
distance from motion.
quotient of the measured
time,
speed,
distance
and
1
er indicates the course
(vector nagnitude)
course
represents the Thus,
given
direction cwn
and
course
Figure
em
speed
of
a 1.
and speed
represents
of the maneuvering ship.
relative
Vector rm motion.
ship's course and speed and the direction
and speed of relative motion determined plot,
in
(vector direction)
of own ship, while Vector
speed
and
the
The vector diagram is
triangle composed of the three vectors shown
the
(fi.O.
he_ Vector Diagram
speed of the maneuvering ship.
Vector
scale
.
The vector diagram is used to solve for
and
relative
found at the bottom of the Maneuvering Board
nomogram
•
the
M1
by
last computation can be accomplished through
logarithmic
use of the
2
of
to the CPA point and the speed of
H1
This
2665-10)
time
the
tc
obtained
is
frcm
the
relative
the course and speed of the maneuvering ship is found
by drawing vector em to complete the triangle erm.
11
MANEUVERING EOARD SCHEMATIC
FIGURE
12
1
B.
CTHEE, USES OF THE
relative
discussed
problem
motion
utilize
problems
board
maneuvering
All
MANEUVERING BOARD
above.
the
basic
In addition to
determining CPA information, the Maneuvering Eoard can be
used
required
the
find
to
course
also
and speed tc take
station en or to intercept another ship, to find true or
courses
find
to
speeds
and
for
wind,
scouting
and
speed,
and
torpedo- firing situations. S ta
1 •
tioning_Prgbl em
position
some
at
ship's
maneuvering
Given the
•
stationing
the
time,
course,
problem
determine own ship's course, or course and speed, to
maneuver
tc
maneuvering ship.
relative
the
range
certain
a
and
from
The basic solution technigue is
motion
from
line
the
order
in
bearing
to
is
the
draw
tc
starting maneuvering
position to the point of required range and tearing frcm the
maneuvering
ship,
and
then
tc
solve the relative motion
problem.
l£terce£t_Problem
2-
Given the' maneuvering
position
at
some
time,
time.
course,
speed,
the
To find a solution,
maneuvering
ship
the
maneuvering
by
a
the relative moticr line
is drawn from the maneuvering ship's position to the of
and
the problem is to find own ship's
course and speed to intercept
certain
ship's
center
board, after which the relative motion
protlem is solved.
3
True, Wind .Problem
Since the knewn apparent wind is
ship's
motion
and
the
resultant
of
true wind, the maneuvering board can be
13
used to sclve for true wind.
simply
the
em
The solution for true wind
is
of the vector diagram, where ship's
vector
motion is the er vector and the treasured
apparent
wind
is
the rm vector.
4
.
M il i t ary__A_pj:lJ.ca.
The
tion
Maneuvering
such as
scouting
involve
determination
and
Board
torpedo cf
desired scouting or search
reguired
to
shoot
provides descriptions
a
used fcr ether problems
is
problems.
These
courses and speeds to undertake path,
or
a
course
spread cf torpedoes. and
problems
solution
speed
Dutton [Eef. 6] technigues for these
prohlems as well as the problems outlined above.
14
and
a
Ill
C0RDIC_C0«P_U1ING_TECH NI CJJE
.
The maneuvering board algorithm described below is based
upon
vector analysis of the data, which in turn requires
a
sine, inverse certain transcendental functions: cosine, Sine and cosine generating techniques tangent, and modulus.
had already been implemented on the MCS-4, Kef.
described
as
in
with average run times of 650 and 750 milliseconds,
7,
It was recognized that these
respectively.
routines
would
an unexceptable total computation time if used in the
yield
maneuvering
algorithm
board
algorithm.
described
Conse guen tly,
the
CCEDIC
was investigated and eventually
below
implemented, significantly reducing the
required
time
for
each function.
COREIC
The
technique It is
was
developed
by J. E.
simple, accurate, and
a
transcendental
generating
Rotation
(CO-ordinate
Digital
Computer)
Voider in 1959 [Bef. 6].
relatively functions
fast
method
for
only
the
involving
operations of addition, subtraction, and shifting. principle
The
involved
in
CORDIC
is
to
rotate
an
imaginary vector represented by its x,y components through seguence
a
steps of predetermined magnitude.
At
each step the values of the angle and the x,y components
of
angular
of
the vector are modified according to a set of equations that can be inpleroented with add, subtract, and shift
A.
operators.
CORDIC PRINCIPLES J.
S.
Walther has described [Ref. 9]
algorithm
single
unified
for the calculation of elementary functions using
co-ordinate rotation in
a
co-ordinate
Eor
description
a
system. of
the
linear,
CORDIC
circular,
or
hyperbolic
sake
of
simplicity,
the
technique
is
based
upon
the
the
15
circular co-ordinate system Iteration_E3uatjLons
1.
Consider 2
E
=
P
i+
+
=
(x
y
and angle
)
i+1
1
#
y
(x,y)
P
with
radius
new
vector
-1
1/2
2
(x
vector
a
A
tan
=
be obtained from P
)
let a
y/x.
=
i+1
(x
i
,y
by rotating
)
i
i
-1
the co-ordinates by tan
according to
D i
=
x
x
i+1
y
The
and
(+) ""
i+1
(+")
+
D
y
i
i
T x
= y i
(D i
D
(2)
.
i
i
signs indicate that
i
are either added
to
or
subtracted
from
the
and
D
y
D
x
i
i
first
i
term
-1
depending
polarity
the
on
of
tan
D
in which D
,
is an i
i
arbitrary value that will be described below. in terms
The angle and radius of the new vector P i+1
of the old vector
are
P
i
-1 =
A
tan
A
i+1
D i
i
1/2
2
=
R
i+1
1/2
2
where
(1
+
D
)
K
(1
i
+
D
)
,
i
represents the elongation factor of the
i
magnitude of the vector after each co-ordinate rotation. For n iterations:
16
=
A
- a
A
n
n
where -1 n-1 5 tan D
=
a
i=
i
and n-1 TT i=0
K =
Let
a
1/2
C
+
)
i
variable
third
D
provided
be
Z
fcr
the
-1
accumulation of the angular variations tan
so that
D i
-1 =
Z i+
+
Z
tan
D
Solving the set of equations (1), iterations, the final values are X
(3)
.
i
i
1
(2),
and
=
K (X
cos
a
+
Y
sin
a)
=
K (Y
cos
a
- X
sin
a)
(3)
for n
n
Y n
= Z
Z
+
a.
n
2
.
Con vergen c e_S chera
Ihe
angle
A
of vector P can be forced to
zero by
a
-1
converging seguence cf rotations,
tan
D
,
which
at
each
i
ster
brings
the vector closer to the positive x-axis.
direction of rotation must be determined at each
17
step
The
such
that -1
U.
|
=
|
|
1+1
It can be shown that
zero.
tan
D. l
(4)
|.
idea applies to forcing the angle in
same
The
-
A.| l
A
or
converges
Z
to
Z
within
to
-1
tan
of zero in n iterations [ref. 9].
D
n-
3
1
Shif ting_
.
Ihe CORDIC technique requires the use of shifting to
effect the multiplication in equations
(1)
and
let
(2).
D i
-i =
where r is the radix of
r
positive integer; then
a
a
number system and
multiplication of
by
x
is any
i
is
D
a
i
shift
of
The integer i must be
by i places to the left.
x
-1 -i
chosen
such
that
the
angle
tan
satisfies
r
the
convergence criterion discussed above. Note that the accuracy at the n-th iteration is approximately equal to n-1 places
[
t»
ref.
CORDIC Computing Process In
(2)
,
and
9 ].
the
computing
process iteration equations
are used, while the direction
(3)
(1)
rotation
of
is
-1
determined
ty
equation
(4).
The
tan
constants are
D
i
preloaded in either degrees or radians for i=0, Ihere
vectoring.
are
two
computing
In the rotation mode Z is
modes,
1, 2, 3,
rotation
n.
and
driven to zero, and in
the vectoring mode A is driven to zero;
that is,
=0.
Y
n
18
. . . . ,
With the circular co-crdinate
entering
X
=
1/K,
angle
some
=
2.
*
system Q
as f
basis,
a
and using the
rotational mode, the results will te X
= cos
6
Y
= sin
6
Z = 0,
approximately
which are accurate tc
vectoring mode entering
X=x,Y 2
X = Y
=
Z
=
y,Z
=
+
y
y
/x
=
the
In
leads tc
1/2
2
K (x
places.
n-1
)
-1
tan
,
accurate to approximately n-1 places. Using the linear or hyperbolic systems as the CCBDIC technique, multiplication,
hyperbolic sine and ccsine, or
functions functions
obtained.
are
can
involving
be
computed
basis to
divisicn, square rcot,
inverse
hyperbolic
tangent
remaining transcendental from mathematical identities
The
COBDIC-derived
the
a
functions.
Reference
9
supplies more information in this area.
B.
APPLYING CORDIC TECHNIQUE TO THE MCS-4 In order to solve the basic relative movement problem of
the
maneuvering
board,
conversions
rectangular co-ordinate systems are
between the pclar and required.
The
is ideally suited for this task since it prcvides
technique
the sine and cosine values of an angle in the rotation 2
and
(x
1/2
2
+y
CCBDIC
)
-1
and tan
y/x in the vector mode.
19
mode
1 .
Ee c in a .1 I
The
MCS-4
number system. point
B
decimal
pie m e n ta t i o n
prototype
uses
the fixed point decimal
The CORDIC technique was developed in fixed form to facilitate the required shifting
operation, since in this case
shifting
is,
effect,
in
a
relccaticn of the decimal point. The radix of the decimal system is ten, thus
was
E i
chosen
-i as 10
order to cttain
-1
and angular steps of tan a
-i
are used.
10
desired four digit accuracy, five -1
steps
were
required.
The values of tan
approximately 1/10 whenever
In
angular
-i
decrease by
10
is increased by one.
i
To cover all angles between zero and ninety degrees,
several subiterations were required for each
angular
step,
as outlined in Table 1.
TABLE I
COEEIC ARCTANGENT CONSTANTS AND SUEITERATIC NS
i
tan
Number of Subiterations
10
U5o
1
1
5.71 C59310
2
0.57293860
9
3
0,05729570
9
4
0.00572950
10
20
.
7
subiterations j fcr each was determined from the inequality
The number
iteration
i
of
-1
2
tan
-(i+1) 10
-i
-1 <
tan
angular
10
.
3
This
to minimize the total number of iterations,
done
was
thus reducing the execution time of the MCS-4 prototype. For
angular step numbered four or greater, the
any
-1
number of subiterations will be ten.
preloaded
were
into
out that angular
radian
units,
ROM in degrees.
values
could
have
Values
tan
of
-i 10
It shculd be pointed
been
represented
in
but degrees were chosen to allow the user to
enter information without the need for conversion. Botation Mode
2.
In the rotation mode the sine and cosine of
ranging
angle
from
zero
an input
to 360 degrees is computed.
The
flow chart for this process is shown in Appendix D. Ihe initial values are: X =
1/K - 0. 682594516
Y = Z =
K
0.
represents the elongation factor which is precomputed from
the formula
-i j/2
4 K »
where
j
in lable
.JT (1 + 10
)
represents the number of subiterations for each I
as
above.
Pricr to the first angular iteration
degrees,
i
of
forty-five
the input angle is tested for polarity and the x,y
components rotated plus or minus ninety degrees to place the angle in the first or fourth quadrant.
21
This is done so that
at the next rotation of plus or
forty-five
minus
degrees,
angle will be within forty-five degrees of the positive
the
x-axis. At each angular iteration,
zero; that is, if
negative
is positive, the rotation is done in the
1
Ihe iteration equations are then carried out
addition
or subtraction, and by a shift of
X =
V
.
decimal
i
cos
Y
=sin
Z
= 0.
Z
Z
ec t c_r in^_Mode
the vectoring mode the
In
driven
y
component of the pseudo
vector is equivalent
to driving the vector angle A tc zero.
chart
this
tested
for
appropriate zerc.
by
After the final iteration
places to the left.
3
is tested and driven to
direction, or if negative, rotated in the positive
direction.
either
Z
and
process
shown
is
are entered for
values
test
This
zero.
to
The flow
Appendix
in
is
I
The
.
Z
equal to
There are two tests made prior to the first
angular
and
X
Y
with
The output is -1 =
tan
X =
K (X
Z
Y/X 1/2
2
2 .
+
Y
)
Y = 0.
Ihe first test is to compare the input values of
iteration. Y
and
X.
absolute
If
the absolute value of
value
of
ninety degrees in will
keep
the
truncation
If
it
X
is
than
the
then the x,y coordinates are rotated
neagative
a
Following the test positive.
X,
greater
is
Y
direction.
procedure
This
error
of
Y/X
examined
to
insure
to
a
that
minimum. it
is
is net positive, the x,y coordinates are
22
rotated 180 degrees to make X positive. After the final iterations are done, the value of is multiplied by 1/K in order that 2
1/2
2
(X +Y
where
,
)
elongation factor previously
the
is
K
contain
finally
will
X
X
described.
C.
OTHER IMPLEMENTATIONS OF CORDIC Two ether approaches to the CORDIC technique are briefly
discussed.
They are
decimal approach proposed in Ref.
a
and an approach described in Ref.
11
commonly used for
10
hand
calculators including the Hewlett-Packard KP-35.
electronic
Decimal^Approach
1
CORDIC technique has primarily been implemented
The
method
10] demonstrate
Schmid and Bogacki [ref.
in binary form.
using the CORDIC technique in decimal ferns.
cf
a
For
all angular steps after the first, they
suggest
constant
This simplifies the
number
substeps,
of
nine.
programming cf the algorithm, but as total
steps
thirty-seven
cf
to
functions tc five-digit accuracy. of
substeps
described
is
Using a
there
the
number
1
trigoncnetric
constant
number
substeps
of
was
place accuracy.
In many small calculators
important
than
In
speed.
compactness the
of
K
ccs
Z
where
K
is the elongation factor.
derived from these by division and then sin
derived
using
identities
cede
is
HP-35 Calculator the
CORDIC algorithm is used to simultaneously generate and
a
HE-_3 5_ Approach
2.
more
compute
uses
it
constrained by the convergence criterion and the
minimized, desired n-
result
the
contrast to the decimal implementation
.in
above.
a
using
Z
K
sin
Tan
and cos
Z
Z
Z
is
are
involving square root and tan Z.
23 v
The sguare root function uses the conventional
digits
algorithm.
advantage
The
is important in
a
[
constants,
decimal machine where the nurrter of
subiterations and the seguence of rotation function of the data
odd
of
of this approach is the
lack of any need to use predetermined elongation which
sum
Ref .
11].
24
constants
is
a
IV
I M PLE
.
ME NT ATI C
Software implementation is divided into two major areas, maneuvering
the
algorithm and the ccntrol
The maneuvering board solution
program. heart
solution
board
the software system.
of
algorithm
To be executed sucessfully,
the maneuvering board algorithm must have inputs
complete
within
and
certain bounds.
An
which
necessary
all
maneuvering
Additionally,
control
the
and
to
input values are supplied before the
solution
board
are
extensive ccntrol
program is reguired to protect the user from misuse
insure
the
is
algorithm
can
be
called.
facilitates stcrage of
program
observed data for multiple contacts.
HARDWARE CONSIDERATIONS
A.
The concept of solving Navy problems with microcomputers in
is
dependent
way
no
characteristics
of
particular
a
capabilities
the
upon
manufacturer's
MCS-4 Micro Computer Set as the prototype hardware
maneuvering School,
interactive
CP/CMS
on
the
The
Intel
read-only-memory etching.
After
operates
product
(FROM)
functioning prototype
Naval
the
Postgraduate
assembler/simulator running School's IBM 360/67, as described in
an
12.
at
library of associated utility
good
a
and
software
.
available
with
along
the
fcr
Ihe computer set is relatively
toard computer.
inexpensive and was
Ref
product.
factors, however, led to the selection of the Intel
Several
under
and
,
allowing
without
the
selection
of
using
programmable
construction added the
of
a
ROM
expense
of
MCS-U,
several
implementation decisions made during development cf the system were directly dependent upon hardware features of the set.
25
COREIC algorithm is essential to the implementation CCREIC, of the maneuvering board solution described below. The
in
requires
turn,
MCS-4
is
efficient
an
hexadecimal
a
shifting operation.
The
shifting
is
binary
machine:
cumbersome and time consuming. For this reason, and because numbers input by the user is in the form of decimal digits, are stored and manipulated in decimal character form through use
machine's
the
of
random-access- memory
decimal
adjust
MCS-4 is organized and
the
of
(RAM)
The
instruction.
this For addressable in sixteen-byte blocks or registers. and because all values involved in computation fall reason,
within
a
of
was chosen as the simplest and least time consuming
numbers for
narrow enough range, fixed point representation
manipulation.
The
largest
maneuvering
board problem is
limited
search
hy
thousand
yards.
radar
a
to
input
value
any
in
contact's range, practically
approximately
All numbers, therefore,
hundred
one
are represented as
sixteen-digit decimals in tens-complement form, seven digits before the decimal point and nine after.
Reference hardware and
B.
13 a
complete
is a
description
of
MCS-4
the
full explanation of its instruction set.
MANEUVERING BOARD SOLUTION ALGORITHM maneuvering
The
algorithm was designed to solve
board
the basic relative movement problem described
this
algorithm
closest
point
above.
approach
of
station,
With
prolleras,
intecept
stationing problems given
time
problems
The algorithm utilizes conversion
can
be solved.
co-ordinates,
between polar and rectangular
vector
addition
and
maneuvering board problem. rather
than
using
to
subtraction
to
and
together
solve
the
The decision to use this
with
basic
method
the Law of Cosines and the Law of Sines
was based upon the realization
that
the
CCRDIC
algorithm
neatly provides the cosine and sine of an input angle in the
26
+y
functions
These
mode.
(x
1/2
2
2
rotational mode and
-1
)
and tan
are
necessary
y/x
the
in
in conversion from
pclar to rectangular co-ordinates and back again.
flow
The
for the maneuvering board solution algorithm is found
chart
in Appendix
1
vector
•
F.
Sclutign_gf the^Relative Plot Let the following be inputs:
speed,
SO,
own ship's course, CO,
and two positions in time; that is, bearing, B1,
E2, range, Rl, R2,
and time, 11, T2.
The first step
is
to
convert the positions to rectangular co-ordinates: X1
=
R1
cos B1
Y1
=
R1
sin B1
X2 = R2 cos B2
Y2 =
R2 sin B2.
Considering X1, Y1 and X2, Y2 as the x,y conpcnents two vectors, V and W respectively, the relative motion
of
line can he
considered
subtraction
of
vector
as V
the
vector
derived
from
vector
W.
from
Thus
the
the x,y
components of the relative motion line are XO = X2 - X1 YO = Y2 - Y1.
Since the guotient YO/XO represents the slope of the
relative motion line, YO and XO are compared to avcid a possibly infinite slope. If |Y0| is greater than XO , then |
the x,y components are rotated ninety degrees and the M
=
(DRE)
by
YO/XO
is
computed.
j
slope
The direction of relative motion
and the speed of relative motion
(SRM)
are then
found
converting the x,y components of the relative motion line
back to polar co-ordinates.
27
-1
DRM = tan
(YO/XO)
2
The
closest
1/2
2
SRM = JXC
+
YC
)
point of approach can be solved for in
rectangular co-ordinates as the intersection of the relative motion line having slope M and passing through points (X1,Y1)
and
motion
line
-1/M.
(X2 # Y2)
and a line perpendicular to the relative
which
passes through the origin and has slope
Specifically, 2
XCPA
=
X1
-
M
YCPA = II - XI
Y1 M
M.
The rectangular co-ordinates of the closest point of
approach are then converted to pclar co-ordinates, the range and bearing of CPA
2
CPA Range
=
(XCPA
1/2
2 +
YCPA
)
-1
CPA Bearing
=
tan
(YCPA/XCPA)
where the time of CPA is
2
2
+ JYCPA-Y1)_J L1XCPA-X1J ^ -r *— SEA
28
1/2 '
+
T1
Yielding
2
Sol u tion_o f _t he_S£eed_Tr ian^l§
.
Considering that the speed triangle is three vectors and that the speed
maneuvering
ship's
a
triangle of
course
and
one of these vectors, then the maneuvering
represent
ship's course and speed can be found as the resultant of the other two.
ideas
The basic
described
above
are
used
again
that speed replaces distance as the magnitude of the
except
The polar forms
vectors.
two
the
of
known
vectors
are
transformed to rectangular co-ordinates. Given own ship's course
relative
speed
of
motion
(DRM)
,
motion
own ship's speed
(CO),
(SEM)
,
(SO),
and direction of relative
then X1 = SO cos CO Y1
=
SO sin CO
X2 = SEM cos DBS Y2 = SRM sin DRM.
Thus vector are X1
components of the maneuvering ship's ship's X2 and Y1 + Y2 where the maneuvering x,y
the +
speed is 2
'
[
(X1
+
1/2
2
X2)
(Y1
+
+
Y2)
]
and the course is -1
tan
C.
(Y1
+
Y2 / X1
+
X2)
.
THE CCN1R0L PROGRAM The CEA algorithm and other routines invoked as reguired
by
the
actions
of the user are controlled by and imtedded
29
within
a
constantly executing, continuously looping
program.
depressing
of control is determined by the user's
flow
The one
twenty-five
of
keys.
detected,
and
secticn
corresponding
branches
then
program
code.
of
the
to
loop
depression
key
a
control
to
completion
Upon
selected function, control returns
control
The
constantly gueries the keyboard input until is
control
a
of the
keyboard
guery
specify
which
loop.
Although only five bits are reguired
to
key has been depressed, the control program is written for
keyboard with
six
.bit
a
key
when
only
and
a
output, the sixth bit being en is actually depressed.
program therefore reads two
sequence,
first
the
four-bit
containing
ROM
a
when
The control
input
pcrts
in
the indicator bit ard one
identification bit, the second containing the four remaining identification
bits.
The five identification bits are used
as an index into a table of branch instructions to
routines
corresponding to the keys. The ccntrcl program performs two guery
The
while
loop,
repeatedly invokes digital output.
a
After
waiting for
subroutine a
to
additional a
functions.
key tc be depressed,
display
the
current
key has been depressed, the control
loop zeroes the information on a particular ROM output port.
One
bit
on
this
pert
is used to indicate to the user an
incorrectly selected key. The key routines are heavily interactive, and any key depressed out cf proper seguence will cause this bit to be turned
on,
activating
an
error
light.
Details of the control program's logic are Appendix
D.
provided
in
B.
THE DISPLAY INTERFACE
Output light
to the user is provided in two forms:
previously
emitting
diode
described
(LED)
light sixteen digit The routine controlling this
and
display.
30
the error
a
display is dependent upon the hardware used. this
routine,
however,
Prior to
invoking
this
to
displayed
routine,
the
interface
independently.
information
to
be
must be placed in a RAM register in the following the rightmost digit of the display must be the
manner:
order
determined
is
The
digit
(digit
zero)
the
in
RAM
register,
low
and
correspondingly the leftmost digit must be in the high order (digit location fifteen). The decimal points of the LED's are lighted by the display routine according to the contents of
sixteen
the
characters. on
of
the
RAM
register's four status
The leftmost bit of status character zerc being
indicates
order
bits
that
digit
is
to
the
decimal
be
lighted.
point in front of the low
Correspondingly,
the
rightmost bit of status character three controls the decimal point in front of the high order
address
of
character.
the
the RAM register to be displayed must le placed
in the particular CPU index register pair
required
by
the
Since the display hardware is assumed to
routine.
display
Finally,
have no memory, the display routine must be invoked ever and over at
a
rapid rate to achieve sufficient brightness and to
avoid flicker. The particular display routine for the prototype machine is available in
the
program
listing,
annotated
*.ith
an
explanation of the basic hardware and how it is used. Another display scheme is described in Ref. 14, included in which is a brief explanation of the problems involved in MCS-4 input/cutput.
31
CONCLUSION
V.
cesicning
In
the software for the MCS-4 prototype, the
considerations
three most inportant
memory
size,
and
interaction.
user
execution
were As
result,
a
maneuvering toard algorithm was written to solve relative
time,
the
the
basic
Since all of the maneuvering
motion problem only.
board prcfcleos use this basic solution, or at least part it,
of
algorithm provides the solution foundation fcr all
the
related problems.
A.
RESULTS
Presently the MCS-4 information
for
prototype
simultaneous
ten
handle
will
input
all
contacts, and it can be
used to solve the CPA problem, the stationing problem and the intercept problem.
to station,
time
given
These prcblems
are solved in 4.5 seconds of execution for all five items of
output
This relatively fast solution time is
information.
largely due
functions
to
speed
the
developed
the
of
approximately the arctan/modulus function takes
while
milliseconds,
about 410 milliseconds.
COEDIC
this computer as described above:
for
the rotation mode yields sine and 360
transcendental
cosine
in
Additionally, output information is
displayed, not one item at
a
time,
but in sets of associated
information: the course and speed comprise one set, and
the
CPA range, bearing, and time, the other. As a demonstration of the capability of this
several Board
example
(H.C.
problems
2665-10)
and
were
on the Maneuvering
worked
compared
prototype,
with
the
prototype's
Differences between the two methods of solution are one minute in less than one degree in course or bearing,
output. time,
one
hundred
yards
in
32
range,
and one-half knot in
Ihe accuracy of the nicrocompu ter
speed.
been by
'
outputs has also
s
through comparison with the answers frcvided FORTRAN simulation of the maneuvering board algorithm
verified
a
for debugging purposes during implementation cf the
written
prototype.
Table
II
illustrates
comparisons
for
three
example CEA problems. Three additional points reguire
for
CPA
where both maneuvering ship positions are exactly
solutions
but
same
the
explanation.
solution
different
at
appears
times,
the
prototype
MCS-4
to be in error as to the closest point of
approach.
In this special situation the solution is
that
maneuvering
the
reference
and
simply
ship are on the same
course and speed and that the maneuvering ship is constantly prototype's software was designed to compute at CPA. The the CPA point as the intersection of two straight line,
therefore actually
will a
modified
not handle
point. to
a
and
case where one of the lines is
The maneuvering board algorithm cculd
handle
this
be
situation, but since this rarely
occurs, and since the solution is
apparent
immediately
to
the trained operator, it was not incorporated. The second point pertains to the inability
stationing
given
problem
speed
(speed)
a
This problem
to station.
requires solution for the x,y components of the ship's vector where the magnitude
sclve
to
maneuvering
of the maneuvering
ship's vector is known, but the magnitude
of
relative
the
motion vector cannot be obtained using the methods described The maneuvering board algorithm finds the
above.
of
speed
relative
motion by using the time between observations as
divisor.
Since the time on station is not an
this
time
difference
is
not
available.
input
a
value,
The ccirparable
manual solution technique requires swinging an arc of radius egual
to the stationing speed to find its intersection with
the relative motion vector, thereby defining the rm
Finally,
the
ability to solve true wind problems cculd
have been incorporated in the prototype, but
additional
vector.
control
logic
precluded
33
it
the
in
the
need
for
present
TABLE II
CPA PROBLEMS
PROBLEM ONE
JEFfRENCE
PROBLEM TWC
PROBLEM TKREE
SHIP.
350°
000O
025O
15 kts
14.5 kts
20
Time
0910
140
1400
Bearing
0120
103O
340O
Course Speed
kts
MANEUVERING SHIP
Position
1
Range Position
27,600 yds
14,000 yds
27,000 yds
2
Time
Bearing Range
0920 000O
1406 330O
1429 148
22,000 yds
14,000 yds
18,800 yds
MANEUVERING ECARD SOLUTION CPA Bearing
3190
27 10
(past
CPA
Range
CPA
Time
0939
Course
2690
3110
1650
20 kts
8.5 kts
28.5 kts
Speed
9,800 yds
16,500 yds CPA)
1416.8
MCS-4 PROTOTYPE
SOLUTION CPA Bearing
318.90
27 10
(past
9,695 yds
CPA
Range
CPA
Time
0938.9
Course
269.30
310.30
164.40
19.8 kts
8.4 kts
28.3 kts
Speed
16,594 yds CPA)
34
1416.8
implementation.
problems
wind
Irue
utilize
plot, and hence would
only
no relative
require
portion
that
the
cf
maneuvering toard algorithm dealing with the speed triangle. Examples
stationing
of
intercept
problems
guide
the
tc
station
tc
provided in Appendix
are
prototype
presented in Appendix
time
given
the users'
estimates
Cost
machine.
A,
and
are
C.
FUTUEE HCBK
B.
The maneuvering toard computer can be
valuable tccl to
a
Several extensions are possible,
Navy users as iirplemented.
however, in both software and hardware.
Certain software features have not been implemented lack
ability
The
time.
of
The ability to compute
entered cculd be added most guickly. the
reciprocal
data in
ship
required.
is
would be the ability
stationing
requires
bearing may be of use while entering
a
stationing problem, where own ship's bearing
a
another
of
data previously
display
to
for
a
more significant improvement time
of
course
stationing
compute
to
instead
speed
A
from
station,
to
second solution algorithm with
given
tut this
different
inputs
as described previously.
The system can be
contacts.
modified
require
would
This
to
handle
more
reallocating
than
ten
cf
the
one
sixteen display digits to the contact identification number. Each
additional
contact
registers, or half of
a
requires
additional
two
RAM
RAM chip.
input/output could significantly improve the maneuvering beard microcomputer as hardware
Alternate
a
converted
by
take a
microcomputer-controlled
outputs
circuits and
a
of
The present keyboard input could be largely
total system.
supplanted
methods
taken
real-time
the fcrm of
a
directly clock.
analog- tc-digital
from the radar's cursor
Similarly,
output
cculd
video display whose input is prepared by
microcomputer-controlled digital-to- analog
35
conversion
of
presently
the
could
be
available
inplemented
microprocessors;
digital
output.
inexpensively
These features
independent
using
the maneuvering board computer,
handling
a
more complex problem, requires only thirteen BOM chips, nine
RAM's, and a single-chip CPU. The results of this thesis indicate
that
microcomputer
technology can feasibly be applied to the ideas above and to similar Navy problems.
36
APPENDIX
This
US EES'
GUIDE TO
M ANEUVERING
guide
to
MCS-4
the
computer is divided consists
A
instructions
cf
prototype maneuvering beard sections.
two
into
EOARD COM PUT ER
first
The
part
to the user and a description of
the interactive responses the user may expect in solving CPA
contains examples of other types of maneuvering board problems and directions en how the prototype computer can be used for their solution. problems.
A.
section
second
Ihe
THE EASIC CPA PROBLEM all maneuvering board problems the identification of
In
both a reference ship and In
maneuvering
a
ship
is
reguired.
CPA problem the reference ship is the user's own ship,
a
and the maneuvering
ship
is
a
contact
whose
first
energized,
range
and
bearing are known. When
machine
the
reinitialization
located
button
should be depressed. the
is
on
the
the body of the MCS-4
Then, or at any other time desired
user, this button erases all stored information,
by
rlanks
the display, and restarts the itternal program. In
instructions
the
symbols used in Figure
2,
below, keys are identified by the the keyboard/display
organization
locations of the various information items same in the LEE display are indicated in Figure 2 by these
schematic.
The
key indentif ication symbols.
There are two types of data which must
stored
prior
consists cf
consists
of
a
to
any
solution.
course and speed. an
identification
entered
and
The reference ship's data The maneuvering ship's data number,
range for each of two observations.
37
be
time, bearing, and
Certain input
instructions
Depressing
information.
terminates
entry
the
for all six items of
common
are
item's
the
key
i^nput
of any previous item and enables the
number keys; there is no visible interaction.
For each item
at least one number must be entered before a different input An incorrectly entered
key can be depressed.
item
can
be
erased
from the display by depressing that item's input key
again.
For each item there is a maximum
which
can
entered.
be
number
but
All
range
contact
and
identification number can have an additional digit decimal
digits
of
after
a
After at least one digit has been entered,
pcirt.
the decimal point key may be depressed, followed by cne more
Although
digit.
the user has displayed a decimal point,
digit dees net have to follow; enter
To
the speed in
either
left of
a
zero will be assumed.
ship's information, first depress either
own
or course
(S)
a
(C)
Speed
order.
key:
these items may be
entered
may have up to two digits to the
Speed is measured in
decimal point, course three.
PHOTOTYPE KEYBOARE/DISPLAY SCHEMATIC LED DISPLAY
T
N
T
I
a
T
.T
C
C
C
.C
3
B
B
-B
B
R
R
S
S
R
R
.
S 5
KEYBOARD 1
CPA
CLEAR KEY 7
8
9
1ST
4
5
6
2ND
1
2
3
OS
COMPUTE
•
FIGURE 38
2
TS
SAVE
N
1
C
E
s
R
kncts, course in degrees
zeroes are assumed.
entered after same
the
a
between
zero
and
Leading
360.
When course and speed have not yet been
reinitialization, both
entered
be
roust
When course and speed appear correctly on
time.
the display, depress the own ship
key.
(OS)
once either the C cr and
Ncte that
key has been depressed, the N,
S
1,
B,
cannot be depressed without error until the OS
keys
R
display
The
then be blanked, indicating proper storage.
will
at
key has been depressed successfully or
until
CLEARKEY
the
CLEARKEY clears the display whenever it been is depressed, thus erasing any entries which have net key
depressed.
is
stored.
any
At
time a key is depressed cut of acceptable
sequence, the error indicator
light
will
remain
and
lit
until a vaild key selection is made.
Contact number
function
keys
(N)
,
time
similarly
(T)
to C and
digit, between zero and nine. left
of
decimal
a
T
decimal B
digits,
assumed.
and
is measured in yards.
and range
(S)
will take only one
digits
the
tc
a
twenty-four
point
represents
takes three digits,
again measured in degrees from zero to 360. six
,
point, measuring time on and is optional.
minutes
of
N
S.
(E)
takes four
The digit after the
hour clock.
tenths
bearing
,
R
takes
up
to
Leading zeroes are
These four items may be entered in any order,
and
once all four are correctly displayed, they may be stcred by
depressing
either
observation
key,
the
first
(1ST)
second
or
Note that depressing 2ND
as appropriate.
will generate an errcr and will rot blank the displaj first
cbservation
has
not
(2ND)
already
been
stored
if
a
for the
once Again, contact whose number appears in the display. these four keys is depressed, C and S cannot be one of depressed without error until 1ST, 2ND, or CLEARKEY has been
successfully selected. To compute CPA information for only
the
contact's
a
contact,
first
enter
number in the display, If two observations for this
identification
then depress the COMPUTE key.
39
contact
and
the
reference ship's data have been stored previously, the display will be blanked, and after 4.5 seconds the contact's number will reappear along with its time, bearing, and
range
contact's
earlier
CPA
is
of
CPA.
than
the
If
time
the
time
the
cf
its second
of
observation, the contact is past CPA and the display will remain fclank except for two decimal points. In either case depressing the "targetship" key will (TS) display the
contact's course and speed. output data to the display. display,
the
The CPA key will return the CPA
Since
CLEARKEY
merely
erases
TS and CPA can be successfully selected after
CLEARKEY.
After
computation on a contact, either the first or seccnd observation data can be saved to be used as the first observation for a later CPA calculation. Depress either 1ST followed by SAVE.
or 2ND, as appropriate, a
COMPUTE,
only
and
or
E
a
one or a two as
the
SAVE will blank the display and store the
digit.
designated data as
remain
after
will blank all of the display
then,
except the contact number and display
rightmost
1ST or 2ND
a
first
new
observation.
TS
and
CPA
After a COMPUTE, depressing C, S, N, T, B,
enabled.
will clear the display and disable CPA, TS,
2ND,
1ST,
and SAVE.
Any stored contact observation may be overwritten ty the
user in the manner of
a
normal entry described above.
After
own ship's course and speed have once been entered following a
reinitialization,
entered if either however,
trust
then
only
one
be changed.
or
In
the other need be
this
circumstance,
all contact observation data is erased.
valid solutions, all observations and computations made
for
a
reference ship on
As a general rule,
ship
data
are
a
if observation
To obtain
must
be
constant course and speed. data
and
new
reference
available for entry at the same time, enter
reference ship's data first. computer will store The
data for up to ten contacts.
Solutions for the ten contacts may be computed in any order.
40
E.
EXAMFIES OF USE OF THE MCS-4 PROTOTYPE As indicated above the MCS-4 prototype is primarily used
for
solutions,
CPA
but it can also be used for intercept,
collision
and
stationing given time to station,
avoidance
ihe sample problems below are used to illustrate
problems.
how the MCS-4 prototype can be employed.
lUi^rcept^Frobl em
1 •
Consider at
ship contact which is on
a
speed of 10 knots.
a
ship
own
from
ship.
own
At
time
1010
the ship contact at time
intercept
to
course of 200°
Its bearing and range at time 1010
are 340° and 15,000 yards
maneuver
a
1100.
solution
The
contact
maneuvering the C,
reference
the
as
procedure ship
reference
own
ship
the ship
the
as
the
contact
is
the
enter the reciprocal of the first tearing,
ship,
the time of
1010,
and
the
Command keys B, R, T, N, and 1ST are used.
number.
Next enter as the second position of
and
Since
160°, the range of 15,00C yards,
contact
consider
to
Enter course 200°, speed 10 knots using
ship.
and OS command keys.
S,
is
a
bearing of 160°,
a
range
one yard, the time of 1100, and the same contact number.
Command keys Tc
B,
T,
R,
compute
N,
the
and 2ND are used.
soluticn, enter the contact number
and depress the COMPUTE key.
will be displayed.
1100
A
yards
CPA of zero
at
time
For the intercept ccurse and speed
depress the IS command key.
The course and speed of
261.7°
and 6.5 knots will be displayed. A
obtained
solution of 262° and 6.6 knots was
when
working the above problem on the Maneuvering Eoard. 2
•
Stationing Given Time to Stat ion Prcblem >
Consider
a
ship contact which is on
41
a
course of 160°
Its bearing and range from cwd ship
at a speed of 18 knots.
020°
are
16,000 yards at time 1320.
and
1320 maneuver
hx.
own ship to take station so that the ship contact bears 070° at
range of 2,000 yards at time 1350.
a
Again the solution procedure is to consider the ship
contact
Enter
maneuvering ship. knots.
the
Since
ship
reference
the
as
a
ship
and
ship
own
course of 160° and
a
the
as
speed of
18
contact is now the reference ship
enter the reciprical bearing 200°, range 16,000 yards,
time
the contact number for the first position.
Next
and
1320,
reciprical bearing 250°, range 2,000
ejnter the
1350,
yards,
time
and the same contact number for the second position.
For solution results, enter the contact
number
and
Once the CPA results are displayed depress the TS command key to obtain the course and speed to station. The course and speed of 104.7° and depress
the
COMPUTE command key.
10.0 knots will be displayed.
solution of 104° and 10.1 knots was obtained when
A
working the above problem on the Maneuvering Board. 3-
Collision
A voidance_ Problems
Collision avoidance problems are situations uhere ship contact is determined to be holding a
very slight bearing drift with
a
steady bearing or
decreasing
a
a
range.
In
situation the MCS-4 prototype can be used to determine some course and speed which will open the CPA range. If
this a
specified
time is given, for example the tine the collision
is expected to occur,
exactly
the
stationing
a
ship contact is
reciprocal
problem
treated
bearings
collision as
avoidance
problem
given time to station.
the
are entered.
reference
ship
and
is
The its
The second position data
is entered as the desired closest point of approach
of
the
ship contact at the expected collision time. Note that in solving any of these ncn-CPA
entering
a
contact's
course
42
and
speed
prctlems,
as the reference
ship's data will, for the reasons described above, the
erase all
previously entered observation data for other contacts.
43
APPENDIX
B
CONTROL PROGRAM LOGIC DESCRIPTION
the control program is described below in terms of
its
flags and counters and the functions performed when
logical
each key is depressed by a user.
A-
FLAGS ANE COUNTERS
Before
CPA solution can be determined for a particular
separate
eight
contact,
must
inputs
be
stored
The flags and counters described below
computer. to
a
the
in
are
used
the input of information and the execution of the
guide
CPA algorithm.
1.
Eor roat_Fla.gs
Inputs to foraats.
The
machine
the
corresponds
first
information reguired
are
to
represent
made
in
the
to
the
one
four
two
cf
pieces of
observation
of
a
contact's identification number, the time of format observation, its bearing, and its range. The second
contact: is
the
used for entering the reference ship's course and speed.
There is
a
flag
corresponding
to
each
format,
set
when
information making up that format is being entered. 2
•
Selection_Elags When information is being input to the computer, one
of
six selection flags will be
particular item being entered.
44
set,
corresponding
to
the
3
I
.
nru t_Fla_gs
input
Six
correspond
flags
Ihese flags are set
flags.
when
the six selection
to
sufficient
a
of
nuirter
digits for the current item has been entered.
**
S
-
torag_e_Flags
flag is set when the contents of
A
One storage
is entered into storage.
reference
the
ship's
course
complete format
a
flag
indicates
that
and speed have been entered.
The twenty ether storage flags, two for each of ten possible
contacts,
used
are
to
indicate
the storage of first and
secend observations' data. l]}e_Becimal_Pcint Flag
5-
decimal point may be reguested
A
given
input
item,
ence
only
for
a
and a flag is set when this reguest has
been made. 6
•
The_ goluticn^Flag
When the CPA algorithm is executed, is
set
a
solution
flag
indicating that output information is available for
display.
7.
Counters Two CPU registers are used
the
counters
indicating
maximum number of digits allowed and the minimum number
reguired for
E.
as
a
particular input.
THE KEYBOARD
Twenty-five functional and numeric keys are reguired for control cf ard input to the computer.
45
1 .
Input^JKeys
are
Ihere
input keys corresponding to the six
six
contact identification
types of input information:
time
observation,
cf
its
bearing
reference ship's course and speed.
and
Each
number, and
the
performs
the
range,
key
following functions: a.
fcmat
verifies that
Each
format
the
flag
for
the
Otherwise,
not corresponding to the key is not set.
it indicates an error and returns to the ccntrcl locp. b.
verifies that the minimum number of
then
Each
digits fcr the preceding input item has
ascertains
that
the
preceding
supplied,
been
item is also the item just
Otherwise., it indicates an error and
selected.
or
returns
to
the ccntrcl lccp. c.
decimal
Ihe
flag,
selection
key then resets all
the
and the input flag corresponding to the item
It sets the format flag and
selected.
flags,
selection
the
flag
corresponding to the item selected. If the solution flag is set, it resets that flag and blanks the entire display; otherwise, the display it blanks that portion of corresponding to the item selected. d.
Finally,
it
initializes various CPU registers
as reguired to prepare the display for the digits which will
follow.
2-
Stprage^Keys The
three
storage keys correspond to the first and
second observations of
ship's
course
and
a
contact,
speed
data.
and The
to
the
reference
following
common
functions are performed by each of the three keys: a.
Each
verifies that all input flags reguired by
the corresponding format are set.
Otherwise,
it
indicates
an error and returns to the control loop. b.
It
stores
information,
the
appropriate storage flag.
46
setting
the
It
c.
There key routines.
blanks the display. are significant differences among the storage As
infcrmaticn
for
unless data
from
protection against error
a a
the
by
user,
second
observation
will not be stored
first
observation
has
a
already
been
Otherwise, an error condition will be signaled.
entered.
The reference ship storage function
complicated First, once the reference ship's course and by two factors. speed have been entered, the user may desire to change only one
Conseguently, if the course and speed
ether.
the
or
is
storage flag is already set, only one or the other reguired.
Second,
algorithm
CPA
the
is
item
based
on
is
all
observations being made while the reference ship mairtains a Conseguently, if the reference constant course and speed. ship course and speed storage flag is set, or
speed
change
will
reset
entering
storage
the
flags
a
course for all
Observations on all contacts. the first and second observation keys have
Finally, a
secondary
function
described below.
connection
in
the
save
key
Conseguently, if the solution flag is set,
depressing one of these keys will load
indicating
value
with
which
key
a
been
has
CPU register with
a
depressed, and the
normal function of the key will be suppressed. 3-
lJ2 e
_£om£ute_Key
The following functions are performed by the compute
key a.
It
verifies that only
a
contact
identification
number is presently entered in the display, and that storage flags for the reference ship's data for
the indicated contact are set.
and
both
observations
Otherwise, it indicates
an error and returns to the control loop. b.
It
transfers
contact
observation
reference ship's data to RAM register locations as by the CEA algorithm, and executes the algorithm.
m
data
and
reguired
course
sets
It
c.
speed
and
the
flags,
observation flags
solution resets
other
for
and
all
contacts,
reference ship's other flags except and
restores
the
ship' s data to the RAM register location reguired
reference
by the ccntrcl program.
zeroes
It
d.
all counters, and reinitializes the
CPU registers as reguired by the control program.
finally,
e.
it
displays the contact's number and
the time, range, and bearing of its CPA.
4
Cutput Keys
.
Ihe two output keys first verify that
flag
is
set,
and
then display the reguested information.
Otherwise an error will be indicated.
displays
The CPA key
identification number and the time, range, and
contact
the
solution
the
bearing of its CPA.
The "targetship" key will
display
the
contact's identification number and its course and speed. 5
Ihe Save Key
•
executing
After
the
contact, the user has the option first
algorithm for
CPA of
saving
a
the
second observation data for future use.
or
selected
contact's The save
key performs the following functions: It
a.
verifies
that the solution flag is set and
that either the first or second
depressed
.
observation
key
has
been
Otherwise, it indicates an error and returns to
the contrcl lecp. 1).
If
second
the
observation
key
depressed, it transfers the seccnd observation data
solution
contact's
first
observation
RAM
has to
been the
location, thus
destroying the first observation information. c.
It
resets
the
first
storage flag for the solution contact.
48
observation
location
6
Clear_ Display.Kgy and _Beinit.iali2ati.cn Button
.
The clear display key blanks the display and
This is to te distirguished
all flags except storage flags. from the reinitialization button,
microcomputer
MCS-4
set
resets
a
hardware feature cf
the
which first zeroes memory and all
CPU registers, and then restarts the program.
7
1 h e__ D e ci m a 1__P
.
cin _____ Kej_
The decimal point
key
verifies
the
that
decimal
flag is not set and that the minimum number of digits
point
current input item have been entered. an error is indicated and the control returns to
reguired for the
Otherwise,
The decimal point is then displayed in
the ccntrcl loop.
a
position corresponding to the present input, and the decimal point flag is set. Ihe Number Keys
8-
There are ten digit keys, each performing
the
same
functions: a.
inspecting
Each the
verifies that digits minimum
may
digit counter:
entered
te
unless
a
selection
key has been depressed, this counter will indicate that
maximum
number
of
digits
has
already
been
by
the
entered.
Otherwise, it indicates an error and returns.
the
b.
It
increments the maximum digit counter.
c.
If
the decimal point flag is set,
it
displays
newly selected digit to the right of the decimal point.
Otherwise, it enters the
new
digit
to
the
left
cf
the
decimal pcint, shifting the already entered digits left. d.
been
If
entered,
the minimum number of digits has not already it increments the minimum digit counter.
the minimum cumber of digits has now been achieved, it the input flag for the item being entered.
49
If
sets
APENDIX C ESTIMATES OF MANUFACTURING COSTS
Est ircat ed .Cost Breakdown, .o£„. the_MC_S-;U__pi:gtotj;p e -
QUANTITY
COMPONENT Power Supply (+15v,-10v) Clock 1702 FROM 4002 RAM 4004 CPU 4008 Memory Interface 4009 Memory Interface P C . Eoard Display Package
$
COST PER UNIT 60
1
1
10
13
45 30 60 30 30 75 80 75
9 1 1 1
1
.
1 1
$1275
Total Cost
B•
Estimated Cost Breakdown^ of Mass-Produced Computers
COMPONENT Power Supply Clock 4001 ROM (13) 4002 RAM (9) 4004 CPU P.C. Eoard Display Package
Computer Total Cost
_
$
COST PER UNIT IN QUANTITY RAN-GE 25-99 100-999 1000 PLUS 40
25
t5
10
5
3
15 15
5
30
20
25.50 21
42 25 50 40
$727.50
5
10
7
30 25
20
$455. 00
15
$190.00
A six hundred dollar initial etching cost per BOM, totaling $7800 regardless of quantity,, was not included in the above cost estimates for mass production.
Note:
50
APPENDIX
D
FLOW CHART FOR CORDIC ROTATION MODE
Z
=
X
=
Y
=
Z
=
Z
=
Y
=
-1/K
Z
=
Z
X
= Y
-G-27
€-900
1/K
-1
YES
-1 Z
=
X
= -Y
Z
-tan
1
51
+tan
1
!l
—
NO
.
FOR 1 = 1 UNTIL
l*y~-
YES
NO
—
YES
NO
iTWUNTIL 1,7,9,9,1ft YES
X = XO Y = YO
M =
Y/X
r
I -1 DRM = tan 2
SRM =
(X
1/2
2
+Y
Y/X
)
/(T2-T1)
55
XO -YO XI = -Y1 X2 = -Y2 Y1 = X1 Y X
=
=
XCPA
=
X1H -Y1M H^+T —
YCPA = Y1-X1M
YES-
V
(XCPA +YCPA
E =
1/2
2
2
CPA
)
-1
YCPA/XCPA
CPA B = tan T =
LIXCPA-XT).
1/2
2
2
CEA
+ JYCP
A-Y1]__J
cos OC YO = OS sin OC X1 = SRM cos DRM Y1 = SRM sin DRM XO = OS
Jfc
X2 = X0+X1 Y2 = Y0+Y1
2
SPEED
1/2
2
(X2 +Y2
=
)
-1
COURSE
(
=
Y2/X2
tan
STOP j
56
*-
+
T1
LU
m «•«
•* 2-
z 3 u u
-
•>(_)
LUCXLU
iluoolux
^:oo^
-
O.X LJOj—irvj
x—
1—
>-
H-X JLO O-J
—
<
of-
>• u
00
IX
LU UJ ••'X
i-ouj>d: a *: = 3X Z(0
cu
00 x^ UJ CD
ox
LLOJU
X
ZQ-o«OX'JJ •
•-«
h-00
_l
«rvl
LU
LU—,00X
CJ
>-
...CO
••>
•••^ouj-j
-ZO UJ^ X_JLUid
t-
u.r
XH-
Z>.»
.—1^
*-H
••>
X
•*
00
LUOO
M_IO
Zllujq;
LU CJ
aj •••
>
• •*
>•
2:h•
OOO :*:o
O
00 • »•
••UJ
0^ •>
< .*oxx< "s:lu x >
x o X
cq •••
—J
O Q
OUJOO
""O 00—JZ a. LU
» rsi
•* UJ
• •>
z
LUO
•-•
X X H-t—
•••
••LU^ih-
^Z -OOCLZ o0LU_j>O UJ O •*000_J5T^-_JO^< LULU z < X a£UJH-00>~ JUDOhIoO'-•-aj S-OOOOOOOOO-^r^^^^-J-^-^-^r^-^cNjrNjCMrsjrNjc^cNjcNjcNjcNjnw^rtitxirorOi'Tmrfi It
OOOOO 00 o^-> OO 00 00 OO 00 00 00 OO 00 00 00 00 OO OOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
57
ro —i II
•>
II
U-
O UJ QC
••>
•*
LIJ
1-1
OC UJ J. »—
CL 21
QC D_
|!— ex
oc
Q. ..
:*c
_j cu
O X2.Z O
••
ro
_j co
—
3E
It
o I—
2:
UJ CD LJ QC
UJ CU
UJ
UJUJ COOJ
UJ CD
l_)
CJ
UJ CO •»LJ
OC QC OCQi H»^l (/)««-ooo0
U-QC
H
QC K00
ffl
I
00
UU ——
—
••••.
••X(/)
I— UJCT*
QC
••O-
D OS z *-^uj III—
^21-
OOQC
(X a.
QCoCOwt/i
••
^
LJ
••>»»lO
I
—I_J'-h
O
z»QQ" < OO
UJ qc
OO
00
— 11
QC
2
uj CD QC
o < QC
<
Ht—
I
••
O
OC
UJ
11
2-
-
CC
QCCU-J-Ji-i
00
00
i
i
t-
>zzzzzzzzz-czzzzzzzz^zzz2^zzzzzz-cz UJDDDDJJDOJDJODJDJDD-JDDDZIDDDDDDDDD ->-)-)-} ~3 —)—) ~) —} —) >C -> -)-> -)->-> ~) -)-) -}-}~)->~)~>->~i~)
»•
[*-
COIDDjDJDjODIUJXJlID03;Q^uJujujujujujujujujiC5:i^oc^:i«cujijXLo««0— U £X O 2
•—i
Q
_i •«i
z CC Z "-O
«C-L
0C.4Z.CC
00
O
Q
UULU
'D^O UO«>•—(—
a3
••>
cMceoce 2 = :£Z
1
CCOOOLL
1—
•
hU
(_>
a.
OLU
jCh• »••! 00
Y-
000^: OOCCiC — z
i?o LU
> III
Z
LUO
LU CC
If- CO
«*—II
v-cc Lur> <
z>
ooxu.u__j-j
>
CX.
••3
LULL
o-j^
OOOZ ^oooo wza.
•-»
CC
JQ.H<
OCO CCO
CL—i
UI>IU<
00 CC f—
00O
LU CC*~*
^:lu
OOZ003^-»
»oo
••r
_J>-h0
a z < ^ z aj
OCC
»—4 »—
A <
*>•«*
U.CC
0_«£ l/)o
SS
02.000:00:0
• •
•
coo
•
t*Z
ce ••
-JjS
ZLU
o(
z
ZQ z-^Z) CQ_JU_-^
2. LU CC
0oornmcoooooornocT'0>
cr>cr«
y>y>U^««««(BCOOQCDCDcQCQ(DoOOQQQQQOOQLUUJlUO'JOaOOOOOOOOOOO OO OOOO O OOO OO OOO OO OO OO 0(-> OO OOOO OO 00^4 r-l—lr-(^t—1_|_(_»_(^-l^^-|—(^ l^-«^~«-^~u v
,
—* —<
—
•
—* —1 •— — 1
<
—— «
•
~< —<
—
'-^
—— *
<
—1 —4
— — — c%j cnj cm cm ^
(
\j i \j c\i nj rvj f\j c\j c\j c\j
rg
\| (\J Pvj
ogrvjcNKNfNJ-'NjcMi-MCM.'Njrg
oooooooo
00
1
0«*
••>
ooi/>x
—
•••000
cC
<
CXCM
uj
OJ ~3
OOOO xxxx 00 O x •• oooo o a cc x -cc m cc
,
00
••>
r
• •>
• »•
O O
••••»
tx
rvl
30 UO 0000 33 I— I—
oooo srs: •*
r»-
<
• rs
U.
oooo 5:2: -3-3
5_J
•»>
o
•• ••> I— H-
o*" OCM s 51
JDQ X_l
••
a.*-
LU co
o
~•••
••>
...•*•»•
cC >-
0••>
I
szssjis^niz^w oos 2: ^s:s:z o> o>
cr^ cr>
u> ch
cr>
u> o^ a> o^ o> cr» c> u_ lo co
lO^-JLI
— m co < o •
3_J00'-i_J_l_J-J-3LLU_-3OLLLLU->-ro»Dcocj lt\ — r*u> —« ^j au L'Mjr*-i'~coouu' opu^O"—>oo-H.^c%jiNjcNjn)vr^-ininuiu^vor*-i'~i^-
>
ooooooooooooooooqooooooooooooooocjooooooooooooooo u»sor-coo>«o—»c\jn)«ru^>oiN-a3cr>o—0'-0'-TM"T^r^^^^u^Lnu^lnlnlnlnlnu^lns0 vL;
• *•
•
—
)
S^OCXCXCX "CX "CX ••CXOO
>-icx
—•
=
S
LL
-5
cnj
u?:
1/)
y-
•=
o
if\
LU
=
••»
.».«-oo_l_J^-
2: cj _j
*£ •— CJ t— o-3 .»...uj
LL Qi
z_i
i_)»»o»*o»*
e_)
o
^
2.
2.
••
O'" lucj
in
ZZOUDOUO 0->-5-5~>~5-5
>
•••cu
z
cu ca
t\ivoosti>-"j^ NUvO^OL^in-^^^^^vQ^^-ocMCMCMcM'^rcr'-^'^'^r^-riiin'-^rncT.'-^r') oeJUO'^'^•^'-^l(Ml^J(Vlcr>^r^^Tlf^u^^llX1u>u^^ur^^^a^ouu^cT>oO'-^'-^'-><
UJ co
oo
r
o
r
»»
••••ll
.».
to
•* i.
••>
CO '-CC
«3.
^
(Nl
o«-
OO
—
••
llh-
*H
2.U. CX.
huj
Z O -j
CO
OJ =
CM'»-0
2: a:
VI
o
M
os so O
to
nc
->
••>
O
s ••>
00 i-5.a l«*LJ LJCX.I-1UJS ^C
UU."
cC
o
00 •*oo
s r
a •» 2; (X :s
(X
O O O0S CC CC o 3 3 ZO "-KX •*o«* O o o "02. O-JO
.«£
2.0
o
•.-o
C_)
O
•>
O
.»
.«,
••>LL
00«*
(X
_j
N u I/)
O
2:
OOS
S
—ILL 2.
uj
x
2:
,,>
ce
o o
o •••
.» cnj
nc
•-«
«/j
«*js u.
z:
-j
21
r
o
•*
cc
•»
<
ujs:
ini
><
-iH-i
U_ CC U_ U_ LL LL U- LL
OJL1
I
eg mr» C7>ca u_or\jc\j c\j vo< Qro loco
oomr-r^r^ 00 o °o o^oC>CJ>U>OC^ cMCMCMCMcMCMCMr\jcMCMcMCMiMCMCMCMCMCMCMCM'Mrnrnnirnrnrncnrnrnmrnrnni(^o ,
oooooooooooooocjoocjoooooooooooooooooooooooooooooo
63
• •»
• •»
m
• #.
rn CO CD
m
••>
m
co CO
z
CO CO
• «»
o
>—ict
5:0
LL
O
5
= ~
2.
__,_•_._
I_J
LJQCLJLJ
IX
_-l_£_|O0
1
t-
O O
o
ooouj
cc
(XOiCth-
• •»
o
UUUifl
5,
__,
ocqclcc.*.
>—
00
00 00 00 ->
Li_
••» •
|«|f ••»••. n ~ —
s
••(_)
O-OO:
—CS-JOOLJ--.
a___o:
#»>r->j
z
z
—
••
X
0:
5:5:
— JJ^tHMMMQwl-H^ -
1—<
< 1
_!
H-U
)
Oct
cc
cc
•*-
«»-oo
•
00 CC Z
«•
LU
Q_
1
LU5;
2:2:2:5.2:2:5:2:
->
_i.
-t-
LU _J
Q.
#•
• •>
<
O CC
Q_
LU
OO
5.0
<
OCO Q-0
-l_l
—J
CD
00 CC y—
O-
•
^_: = ••
<
0_
LU
Qina MW —ll_(Q >—l 11
ILL
-
z
til-
C\J
=
r
—1
UJ
(/)
i»>S
LJ_
•H- LLO .•.0"-r~- •* • r..«>l/)S LU
E
• •»
•-
r
i. C-> l_J
• 9*
=
5: cc _s
~j
-3
--.••>__.
U-
UJ • •«
LLI— • •*
• r-
s r-
CCLU
>r co CO
c
CO CO
UOO>-'inp-r-r»vO«Q"'I o:ii)«)q:io>hoozoo >o (X
OOO-J CO zzza o mwmcd lu
LUO
»»•*».*•«
-Jh-
ZttLL^JZUQQlIQJZ o o^oujzjuuju^: 1i: OO-o lu xx 00 •»>•• lu o o •
CO •-
•
CO
—2-LJ
t
•»••>
XXXO
i*i
1—
••»
oou-qx
co XXX s«»o
r-j
CO OC••>••>
5 (X
O^O
IX
3TO'XLU •-
X
< •«.»••*
ox
COCOO
•
•
S
»»-o
CJO X-J
•»
XO —
XXO
i-"--t
LUhOOOJ axazzco
•»••*• _J
i= OO**
••
E
h Mti>
CO
Q
X
.scqcu.*
DD-»
""S^S
~3->rg ••••J!
X
o
i-,
TU^Lau^^^^uI^^^(^c^Jcocucoa^u^OlJOOO^cMl^JCMCM Ml^JO)cocr>oooooooooO'-(^.t^^^^-j^^^^-tcMcMfM rncncororocoromco cocoenro rOLI_LULl_|— I—•!— LUXw LJ
cMro
*-*
Q X O x
• I—
*£. >->
i— ••-»c/)x j-cx^h-
Q
<
Q5. II
x 2L u_ a; i—
cr> cr>
a> o^
m ro ro m rn m ro rn H co co lu lt»
cji cj> cr>
a>
ct>
u^
cr>
c^
vj-
c^ONoo^ocQcDcQUJujroc30cocr>cj«er>cr> CO CO
CM C\J CM c\| CM CO (T| HI
m
000^0--•^Nn»i— h-'-'~uo
OSN tUQ-OCXO "CC CU
*•
OX"-
c\j
•
cocoo
h-
00 5: -5
t-h-*-£.
u_
• •>
00
2:
00
_!-•
-J
V)
••—3—5 !—00
luq:
t-
CCcC -J-J 2-2: 0000 2:2: '+—)-)
•
• «n
«#>
s
X
••>
^
LLU.
HU«OOOQQO •»o< OO
O ••<
-02.2:2: 002:2.2.2:2.2:002.002!. 2.
•
^T lil — * « -fc-d — j-*» i—i .^-_ — * »—* i~_^ ^—^ O-LUCvJ-JLLLLLL. .»-Lm-LL.U.U.U_-7LL-0LLLL
•^^ \j
LL U-
ZJ> -•»•
Or
lljZs::
r
OOOO x 000 00 00 00 00 xoo -IO 30u_cjr -r~aooo 'Laooc^roLr\— s s 00 ,
,
;
5:X < 5:o«. OCM O
1
w'
u>o—0'-"MnKj-m-ui^-coo^o--ii\ioi>ru^>Oi*^coc^c_>^-if\jn)>j-m>ur-'Coo >o--^c'virn ,
,
,
LJo
»"m>o
»^c\ic\ji\jc\jr^r^i\iiNirM(\4rncaraoirnmran)c^ira^v4-^••>
•»£»» •••«• OOLU
(NJQm
•
CO
oa:
CO
X
sUC>0
•——I
C)
C_)
X
cu-3-5-)--)
^m •• -
<
XUoOLLXX>-'>-<
uj'i::Q CO<
.*o
_J
rvJH-Z
CO
CO CO CO CO
X
O O 1— Z —4
2:= ojscm
"•
H X
s
2.1— I— COC)
2:
(_)LUQL>—"•— •-£-2.
1
1— '-LL =
0)0.- _il— * Q-L_l_CO
ocxx:
ll^^i— 1— Lnso sOo^u>r
- ct»
u^
cf>
m^f^^-^r^nic^mi^coH-nirricnrocr*
cjulju-*-^cMiM(MCMCMi\ii\jo)c^^vr^^NTN-uALnMj^ur^r^r^r^(^r^cv)coc^Lr oO'-^--JCMCMrcioivrvr^T-T" ,
o-
o
^^ cm ni>r in ^r- 00 u>o»^cNir i^cm^^cm^^oooocjoooou^h^^^ LncnLOLac!^ij^Lou>LOLnu^Lnu^Lr\Lair^Lnij^ix^LOLnu^unij^L^ O-OvO^JnOOnO^JnOOvOnOvOvO-o 0O00C_)0OO0000O00OO0O00O0cJOOOOOC_)O
nO
•*>
4
^j r- r-
o — cm c
—< cnjim ^- u no r- ao C* cm rn r~ r- r*- r— r- r- co co co cu co u-> co ro 00 ex) cr>
r^- 1*»
-\
•
tr> ct>
69
1
^: =
Ha: CD
••>
00
000 z.
02 _j—
J_
o>
OCQ
o
oac U_
"~3r
O O O ••>O
CC CC
u_x
••k
: :
<
oooos u_= =
<
2 <
2~ •» oct:-^-'-'^- •• •••o»»>c\4—<
1x12.
—-* 2: -2. 2: 2. UL U_ ~>~3 —} ~>
o
i_LLU.-J
2.2.2-«»-:: = =
s s s s s
QLUCtXS 00
*-JOOOO — -
js.
oo
jejso—umo
O '"UJ
LJ^JLJ
cxom
= r = = s z
sf--3--o
^ -^ O O t ex ex cc a:
##•..»•••
;:
= = = .^.»>.^r
_ia:
'ON(jq:
•••ljo
-•
oz-cx r
Q.Q. •
-?= =
ccac
_s
O
Q. ••>••»(_)
m
00 22
oo«* 2:2: -JCC r
O0
cccccc a: ooz-2.a-i.21 00 2: 2:2.5: 2.2:^-2:2:2. 2.2. «-H(XQCDCQl CC "-"UZ (X CC CC 2. •—< »—< •—I t—< t—i >—» t—t _< cC>-*>—• U_tX-> •>O-)O')O0'--"0 • f « ^ • f •«*»««»«» tft •»'J— y^ • r- •»>,»,. t- . «. « ^ • t. U. ;s o^cxr 0002: 21— = ex: ou-iuj SSI 5:2: £
:
•
>
2: \jiMog'Ni(MrfisrsTu>Lr\suvui^-i
— cuuJcooJcuu'•cJ^c^>u
,
triv/,
ouu'sjUkj rj'-'-j-'•--•
UU
O-J
a^co 0O:
^
hQC LU LL
CJ>
X
O > ••>
in
> -<
r~* ii
o
o u lu hu_ a i-h
X
V) ••
LU 00
0«*
• •»
••*
-H ot^
ct
*•
t—
qc
,
C3.t -D
^.(_J^>LJ
o
OrvJO >-cta:x
1—0
•
O
00
_J
^-,\-
^ X _2- Ci 00 -l(/)'/)UJ
• •>
t
o wax ^ sh ~0 00«» —
oo
Q.
.r-o
cc
0">J-
->_i
O
-J
•*
<
H~
•*
^. H-
Q.Q-X o —I
M
cc
O
—
••
•«*
u ••»
Z O
OO
2C~
XXU.
XXH-UJ
00U-LL
u .ocotcjx r>i— >r u a» 00 O^O^^O-JDCistO^O Z Q..«l.^r-4 0- XXXa.(3 iXCtX-3—>CCCCh- < - XX(X~5 .^ OCL«5"> OOCdCL O < -< Z 0>U^C^U^C^y^L^>U N C^ ,
1
OOOOOO OOOOOOOOOOOOOOOOOOO'-'OOOOOOO^-'OOOOOOO^-'OOOOOO — r^ rn <
r>-
r~
^-1
-r ^^in r-
vj- vj-
T *T nT -T T "T >1" -T 3" ^'^c\jfNjr\jc\jrN)c\ji\ic\jrvjc\i{V)rrin) "q
in 'U r>- a> c/> o«-«
000-^'^'^'^ ^'— •^^
r
l
ooooooooooo-•* nJ-
00
oz ZO •-it-"
CCH-
cjo (— *£
o_> LULU
>
1
«0 »U.N
1
,
••
02:00
?
LC
OO
•»••
O
S -
CC
oooo 5:2: -J
o
—-)llllo: h
3JaoQ^U'^wuji»-ru^vOi^TOc/>cj,^(M(^>Tu^sOP^cx)cT»0'^cM i, i>rT»>ot*"COcj>o
>
>iJi
cr>cj>cT»cr>cj^o^c^^^c^ ••—
s
cjooooooooooooujoooocjoooooooooocjoooooooooocjooooooo
76
o •»•»
ow
2:0
z:>" aui•UNIX
lu
..•»•_)
^.
.*.
• •*
••>
•
*
•»
—•
—izcx. SUOU acc-j
«"0 cc
_JLU
(/)
co^oo--0'^ aa •• •••cocoo 00 _i •o< ocx 2: »* oina*"0< -o in cc :ou_x ljo -h
(•>-
^:s
i£
••z^zr^z »z
uj^or\jorooz^z luLL O CT< iuc_) Qejcz < m CM CX ooo NX'«JMI1I CX2 ro^< 2LUQ
CM
cx
•»•
.*.*
ha. (X _i
tXQ
•••
_
Oh-Uw X
X< XO
O Z
o
x
x:s
••>
a. CX
•—
O •XX
• »>
•.LU
X X
•* Ql
-i
f— jS.'-
_)•••
XCX 000 OcO X h~J»» O ootNjuj t-^az uz: OOCD a. m.«x z ^ch-«* 0.* _iX iUUm W-XXJ.U U^(JCO-i(X O —3 _IOCM••«
...
••>
l/)
•»
...
,
1
ifl
••>
.«l/)
X
(JUCt
r-l
C_>
J'»>>»XX^
UQ.3O »ZO^ OJ OhNZO>"5 QZWO O CO 2. _J «i CJ X "UQO -Xh5:_i-jQOujM-5cQcf»t-a:
••
0< J ,
,
•»
Mouat\jiLa:<
Q>
Z_JI— LU
JW>ZQ ZUWQmZ iiiU M JLLaowaj QXM
l/
o lu cm un 00 o lu —< lo o lu in co x x m 00 < o
c\i
rn
^
nj-
^or^r^r^^f^ooci3cococa(^u>cT>(T>u^a>(^ooO'^'^'^iviNjc\ini^iM^>rLnu\NU>u^ui^i^r^couuc^ ^^,^^^™4^^^^(\ii\lCMCMlMCMCMl\)(MCMCMC\)C\JCMr\|CMr\Ji\|CMC\|CM