THE 502

Its Application to Simulator X

Introduction

Using minimum data, Simulator X gives a detailed radar display of a large number of aircraft manoeuvring with realism, and appraises the actions of trackers, whose task is to record manually the aircraft positions as they are displayed. In particular the display process requires a high speed computer with multiple input/output facilities, 'busy-line' connections to slow-speed devices, and a defined priority system for processing consecutive output demands. Peripheral units demanding information from the computer are subjected to a program priority system, which allows distinct program sets to be used at any time - again with some predetermined [predetermined] priority allocation.

Simulator X

The geometry of aircraft track production in creating a number of aircraft tracks involves length calculations. So that as many aircraft as possible can be displayed, the bulk of the track computation is done before the display phase, and tracks are correlated after the display phase. Another factor is the amount of data store required; neglecting the tape data sources, each of the three phases uses almost all of the 502 store space.

In phases 1 and 3 the computer is not neccesarily on-line with the simulator peripherals - it is used merely as a facility for fast data processing.

Phase 1

There are two stages: input, and track computation. The input program acts on a data tape specifying the "air space situation" to be simulated. Not all parameters need be given: the program inserts a realistic value if none is given. The data includes track geometry and bright-up parameters. For each 'line' of input data, the programs construct an Initial Data Set for each aircraft mentioned. The sets pack together in a consecutive array of about 12,000 store locations. Each set includes the time at which the aircraft will next experience a change of state. Time is measured in seconds from the beginning of the exercise. The change of state may be entry into the display system. The track computation programs act on the data store sets to provide a time-oriented output of changes of aircraft state, together with identifying codes. Most of the changes concern Cartesian positions, but also included are chnages in aerial activity, bright-up parameters and so on - some twenty different types of data in all.

The output isderived by scanning the data sets for the next earliest 'event', which is calculated and output, and the time replaced by the time at which that particular set will next experience a change. The output is compiled into blocks and written to magnetic tape. It is always re-read to check that the tape is functioning satisfactorily.

Phase 2 - The Real-Time Phase

The order-code and peripheral-machine interconnections and communication facilities have been mentioned; and use of the order code discussed. The remaining topic is the application of the available facilities in providing a simulation of aircraft tracks which incorporates realism and which employs a high percentage of useful time.

Description of Simulation Problem in Phase 2

The problem may be conveniently split into two well defined sections - the main task and the ancillary tasks. The main task is to prepare - from a magnetic tape or paper tape input source - consecutive range scans of aircraft paint sections, the paints corresponding to coincident positions of the moving aircraft and the rotating aerial. Calculations producing range scans suffer from many restrictions that influence both programming and coding technique.

The ancillary tasks are: to control the aerial simulators in a manner which allows repetition of the display process; to control the reception, analysis, and recording of track data. Broadly speaking, simulation is the synthesizing and displaying of realistic radar echoes.

The Paint Simulation Problem

The basic process commences by updating the Cartesian co-ordinate positions of all aircraft currently in the display system. The co-ordinates of all aircraft are kept permanently in the store together with the current velocity components with which the x-y positions are to be updated. It is at this point that the external data source is examined to look for changes in the x',y' values so that the aircraft may change its heading if required. At the same time, changes in other working data are examined and despatched from the data source input buffer to the system working stores. It will be remembered that the data stored on the input tapes is already time-oriented. Reception of an 'end of record' marker triggers the calculation. The only remaining 'coarse' activity is the re-formation of a crude bearing ordered aircraft directory, which may be used as an aircraft selection mechanism for any number of displays.

The buffer if re-formed from the old ones - relevant to the last basic display cycle - to minimise the time taken to sort the new directory. The bearing formulae makes use of the single-length division order in evaluating funtions of the form x / αy + β.

The next processes are 'fine': their accuracy is governed by that of the system being exercised. They are also subservient to the current position of the aerial for the following reasons.

A most important gain in the display cycles is that space and time are saved by ignoring aircraft that are far from their display positions, and by not converting the Cartesian co-ordinates to Polars. Only this aircraft just ahead of the current aerial position are selected for input to the display cycles. The selection process uses the crude directory.

The co-ordinate conversion process terminates with a prediction process, which solves the equations of motion of aircraft and aerial to find their positions of coincidence. This presupposes knowledge of aerial behaviour, since calculations must always precede output to the displays. For any aircraft and the display for which it is being considered, the end product is a θ d r d . These values are assumed constant until the aircraft passes "off display". The range and bright-up parameters of the aircraft are stored in secondary display stores, which are smaller than the main store since the number of aircraft "on display" at any time is small in relation to the number of aircraft that the system can consider. The display bearing is sorted into a display directory of aircraft ready for, or on, display. The input mechanism results in sorting uncertainty of the display directory and it must therefore be arranged [so] that aircraft sorted into the input end do not get sorted into the static output end, from which display compilation is controlled. The control of circular buffers uses the 'collating' and 'counting in store' orders.

There is one display loop set for each display since the aerials' characteristics usually differ, and the output must depend on the relevant aerial's characteristics for realism.

For each output range scan, the final stage is computation of the bright-up levels of all aircraft on the range scan, and the sorting to range order of the compiled range scan. The final scan is written to an output buffer to await collection by the appropriate aerial. Each scan compilation cycle commences with discarding aircraft passing off the display and introducing new ones. This is done by comparing angular position of aircraft and aerial.

Requirements of Simulation System

Before explaining the mode of use of the 502 facilities, we must examine the requirements of the simulator problem. These are now outlined:
  1. Aircraft paints must be realistic. This entails building the aerial characteristics into the display programs, and ensurin realistic aircraft movement by programming the flight paths of the aircraft to correspond to 'live' situations.
  2. the phase 2 program must be repeatable, to the accuracy of the system, to allow phase 3 to be operated. Phase 2 cannot be exactly repeatable because:
    1. Aerial simulator inaccuracy of movement.
    2. The synchronous behaviour of the 502.
    By systematic sampling of aerial bearings and fine speed control, the required repetition behaviour can be maintained.
  3. The outputs to the aerials must be governed by the aerial p.r.f.
  4. The time between the aerial p.r.f.'s and between the individual outputs on a single range scan must be utilised in maintaining the output buffer stockpiles.
  5. 'Spare' time, which accrues when the output stoclpiles are in advance of output by a maximum amount, is occupied in computer and peripheral checking with use of fault-correcting routines where possible.

The Use of Program Levels and A.D.T. Systems

With the problem now in view, it is possible to consider the application of the computer.

The 502 can use up to 8 different programs, with a defined system of priorities. At any instant, only one program can operate: a change from one program to another is usually accompanied by a change of the content of working registers, these being a set[s]of fast store locations reserved to hold the working registers for each level.

Phase 2 presents but one problem - that of displaying the aircraft - but many program levels must be used to achieve a fast system with high percentage utilisation of useful time. We may now consider a program system which satisfies the requirements.

The Two Lowest Levels - 7 and Base

The phase 2 base levels operate only when all other levels are quiescent or inactive. The superior of the two is that on which all of the calculation cycles operate, i.e. calculation proceeds as a base operation interrupted by spasmodic activity on higher program levels. The calculated output is stored, not output directly, so that a stockpile is formed. When this reaches a peak the calculation level suppresses itself to allow the lowest (checking) level to operate.

Levels 4 and 5

One of the offshoots of the calculation process is input, either from paper tape or from magnetic tape. These sources are considered seperately.

Paper Tape

The input is in blocks of 128 words and is compatible with the magnetic tape system. With[e] paper tape this requires input of 512 tape characters at a nominal reading capacity of 1000 c.p.s. Thus, in general, during the operation of the input routine, the machine could be held up by a tape-reader 'busy' for what in many cases could be 100% real-time. By housing the routine on a level superior to the calculations, and using the automatic busy-breaking facility, the time between reading successive tape characters is saved. At the same time, the input of blocks may be controlled by the suppression facility used to suppress the reading level when the input buffers become full.

Magnetic Tape

The principle is the same: successive magnetic tape orders cause 'busy' breaks to the lower calculation level. There is one difference: the frequency of magnetic tape instructions is far lower than that of paper tape ones, in view of the block input facility. Each 'block read' order is followed by a 'Reset Error Indicator' - which also causes a busy break to occur. This facility is used to 'break down a level' until the block transfer is complete, when the 'busy' goes down and the block is sumchecked. Control then returns to the magnetic tape level. The reset error indicator facility is also used before writing to the Tape Control Unit A.D.T. location to make sure that the current content is relevant. Such is the case in phase 2 where recordinjg of tracker action takes place with magnetic tape as the output medium.

Magnetic Tape Priorities

Of the two magnetic tape levels, the superior is the input, since a hold-up may result in a calculation delay, which if long enough, is catastrophic. The recording may be delayed for any amount of time, provided that the input buffers do not overflow.

Levels 2 and 3

In our system there are two different time bases for the radars, and as a time-saver, one level is allocated to each. To save time, the aim is for the programs to be ctive for a minimum time, and this is achieved by a system in which the aerial stimulates its programs, which accepts the stimulus as a time-keeping device, sets the A.D.T. location for the next range scan, starts the A.D.T. sequence and then suppresses itself by program break. From this point A.D.T.'s take place automatically under peripheral control and there is therefore no need for the computer to spend time controlling the output of the range scan words. Thus levels 2 and 3 control the output. The range scans "planted" in the output buffers are "output" in sequence, but out of phase with the calculations currently being performed. From time to time the aerial positions are sampled, an[f]d if the bearing differs significantly from the theoretically updated value, the aerial speed is corrected.

NOTE: This corrective action is essential if the previously predicted aircraft positions are to be reliable.

Level 1

This level receives error stimuli. The program interroagtes the error registers to locate the unit at fault and takes appropriate action.

Buffering Output

The level stimuli and A.D.T. system, between them, ensure a flexible program system enabling calculations to proceed in advance of output. This allows peak calculation periods to be spread, since the output stockpiles can be used when the calculation time exceeds the output time. The maximum by which calculations can be ahead is one second, the basic phase two cycle time: the theoretical minimum is the shortest p.r.f. time, but this is too low, since bulk housekeeping time is equal in duration to 2 or 3 range scans of output. The output buffer is indexed by a Directory, which is a list of output set addresses. Every time a stimulus is received on levels 2 or 3, the next address is chosen and written to the A.D.T. location.

Store Utilisation and Coding Practice

The fast store, main store ratio 1024/16384 is approximately the program/data ratio in phase 2. Most of the high frequency routines are in the fast store with the overlap in the main store. To avoid the main store program/data combination, some locations in the fast store are reserved for:
  1. High frequency data
  2. Indirect address locations for the unaddressable main store locations.
The main store's directly addressable locations are reserved for the high frequency display stores - since order-planting is frequently used by the display loops. The remaining data stores are accessed by indirect b-lines stored in the fast store.

Coding Practice

Phase 2 consists of approximately 50 blocks. Each block conforms in part to the normal layout of a subroutine, but for ease of use of the indirect addressing orders, and since main store programs require fast store working space, the tapes are retained in multiple directory form. To save further time, not all subroutines have standard entries and exits, but use advance information on the 'user' programs and on work-spaces.

Test Routines - Manipulation of Levels

Some of the base-load checking routines test parts of the peripheral equipment used by the simulation programs. In some cases, e.g. testing data handler, one of the results is a stimulus. It therefore follows that the checking routines have to "take over" the data handling level so that the stimulus does not get through to the actual simulation program. This take-over may be achieved by overwriting the sequence control register in the priority working locations in fast store.

Phase 3

Phase 3 is another data processing stage. Section-by-section the calculation cycles of phase 2 - up to the convert and predict stage - are repeated to see what was displayed. The display positions are correlated with the positions recorded from the tracker action, and the correlation table compiled is used to evaluate the tracker performance in terms of actual and recorded x-y positions.

E.M.SHORTER
25.4.62


Back - Top
Page created by Bill Purvis, last update 23rd December 2003
Contact me at: mailto:bill 'at' beeb.net