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.
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.
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.
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 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.
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 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.
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.
NOTE: This corrective action is essential if the previously predicted aircraft positions are to be reliable.
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
include "../../count.php";
countPage("ccs_502_502feat05.html");
?>