A microcomputer solution to maneuvering board problems [PDF]

CTHEE, USES OF THE MANEUVERING BOARD. All maneuvering board problems utilize the basic relative motion problem discussed

0 downloads 13 Views 5MB Size

Recommend Stories


Maneuvering Board Training System
Do not seek to follow in the footsteps of the wise. Seek what they sought. Matsuo Basho

A Convex Solution to Spatially-Regularized Correspondence Problems
Stop acting so small. You are the universe in ecstatic motion. Rumi

Problems and Solution
The happiest people don't have the best of everything, they just make the best of everything. Anony

shiphandling & maneuvering
Silence is the language of God, all else is poor translation. Rumi

Strategic Maneuvering: A Synthetic Recapitulation
Before you speak, let your words pass through three gates: Is it true? Is it necessary? Is it kind?

Solution to Problem 4.3 (pdf)
Ask yourself: What would I do with my life if I knew there were no limits? Next

Real-Time Automated Sleep Scoring: Validation of a Microcomputer [PDF]
operating system environment. Time-critical functions were written in 8086 Macro Assembly Language, using the Microsoft Assembler (Microsoft, Bellevue, W A). SCORE software used one of the IBM PCs internal timer interrupts to orchestrate data acquisi

Analytic Geometry Problems With Solution
We must be willing to let go of the life we have planned, so as to have the life that is waiting for

Basic Fighter Maneuvering Section Engaged Maneuvering
No amount of guilt can solve the past, and no amount of anxiety can change the future. Anonymous

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

[



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



••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

Smile Life

When life gives you a hundred reasons to cry, show life that you have a thousand reasons to smile

Get in touch

© Copyright 2015 - 2024 PDFFOX.COM - All rights reserved.