NBSIR 74-453

(See NBSIR 73-235, Instruction Manual, Volume II)

Field Service Test Model:

Computer-Controlled U System.

Operations Manual and Software

Operating System Appendices for

the Automated System. Volume I.

K. M. Gray

J. R. Ellis

Institute for Computer Sciences and Technology

National Bureau of Standards

Washington, D. C. 20234

January 1973

Instruction Manual

Prepared for Department of the Air Force

HQ - USAF (AFTAC/TAP)

Patrick A.FcBo, Florida 32925

NBSIR 74-453

(See NBSIR 73-235, Instruction Manual, Volume II)

FIELD SERVICE TEST MODEL:

COMPUTER-CONTROLLED U SYSTEM.

OPERATIONS MANUAL AND SOFTWARE

OPERATING SYSTEM APPENDICES FOR

THE AUTOMATED SYSTEM. VOLUME I.

K. Ml. Gray

J. R. Ellis

Institute for Computer Sciences and Technology

National Bureau of Standards

Washington, D. C. 20234

January 1973

Instruction Manual

Prepared for Department of the Air Force

HQ - USAF (AFTAC/TAP)

Patrick A.F.B., Florida 32925

U. S. DEPARTMENT OF COMMERCE, Frederick B. Dent, Secretary

NATIONAL BUREAU OF STANDARDS, Richard W. Roberts. Director
V m

t,i ;.*»-n 818811

' pi *Ml«V .IcUmH >iMI»»ttirf 8)288 MJi

;J30«I T23T 33JV332 QJ3I1

^ M3TZT? II 03XI08TIB3-H3n)'IMOO

MAWT3U (h ' JAUMAM 2X0ITAfl33p

W3 23D<0)*3S3A »3W2 StllTAHSsb

f Skill mii iA3!r9v»rir.sT*u/iTtitt sirf

a

"

. - V
CONTENTS

1. INTRODUCTION

’1.1 General

1.2 Requirements

1.3 Hardware Description

1.4 Basic Data Flow

1.5 Basic Software Organization

1.6 Operating System

2. E$INT - System Initialization Program

2.1 Functional Description

2.1.1 E:ANF - System Start/Restart Point

2.2 Called Subroutine

2.3 Input Parameter Descriptions

2.4 Output Parameter Descriptions

2.5 Internal Data Descriptions

2.5

Program Flow Chart

3. E$SKD - System Scheduler

3.1 Functional Description

3.1.1 E:SKD - System Scheduler

3.1.2 E:BSK - Background Task Scheduler

3.2 Called Subroutines

3.3 Data Formats

3.4 Input Parameter Descriptions

3.5 Output Param.eter Descriptions

3.6 Internal Data Descriptions

3.7 Program Flow Chart

4. E$TSI - Time Slicing Interrupt Program

4.1 Functional Description

4.1.1 E:TSI - Time Slicing Interrupt Service Routine

4.1.2 B:IOR - Background 10 Request Routine

4.2 Called Subroutines

4.3 Input Parameter Descriptions

4.4 Output Parameter Descriptions

4.5 Program Flow Chart

5. E$CLK - System Clock

5.1 Functional Descriptions

5.1.1 E:SEC - One Second Timing Interrupt Service Routine

5.1.2 E:MIN - One Minute Timing Interrupt Service Routine

5.2 Called Subroutines

5.3 Data Formats

5.4 Input Parameter Descriptions

5.5 Output Parameter Descriptions

5.6 Internal Data Descriptions

5.7 Program Flow Chart
a*msfw<lo

"

S" > 1l’ * ' -' . ’ . .-

: .

'

'i, I. ( J ii*’f

' ' S' . 1 V €>i.3 wsi,Ci aiSi^l •’.! '"'t'

' 1,7 T’„

M,Ii,.^ji|4b#£ faoZ tflr3„ '’Iff,. S^,,

•',

.i.' ': '!

'

' |wii)ri*il^'‘-**'W' I*? iuqitjC^T

Ifi/riA3Al

"S^o-Il flwasot*? 3i*S|

-"''** -' CDtS,

lhC‘ '- I - 0i

-^im

<» '

r*.\«-.

aw^liKh T «;^^1

IWiS'lO J f y't ZAifI ^u .. ' d . Cj

t'.C|

m7g0>'t*l .tfi^irp i-il 3yin>r^l^ »«it '' le5T^^

«it3MOJ4 ijftfliujMiJt' Of o«u«’a(f^Ji ‘'^&5:;|' S%r.A

'" o

' t»*

IsMl^OSS ;

'-t

m. ano-i ^ i i

.'"

.(•‘r 4, *;» 4f^£4aT l,t

fMo^' s.jt* f*4»- i^jiW5t#4irii f«i)ifzr -'iti.iiiitia '.X.l.^

!8'»li.£3i!t.^^ 'tel'IJ-ttf SttL’

t 'AlArt ,^‘ 4lI0l3qZ73««Q

kf.:, %pM»^!»qiTrai!tCS!;^f

*q[oiiqi41.T»t«4' i.« fSt»JiU -1

, ®'- -a ' 3i/(f’>

',

^—'

' 1;

1

‘p"

r-dlj
6. E$UIN - U Data Input Program

6.1 Functional Description

6.1.1 E:ANL - AIS SI Interrupt Routine

6.1.2 E:UIN - U Data Preprocessing Routine

6.1.3 E:MIT - lOIS Digital Output Routine

6.2 Data Formats

6.2.1 AIS Input Data

6.2.2 Sensor Parameter Control Output via lOIS

6.2.3 DOY/TOD Input from OTC via lOIS

6.2.4 Amplitude Values

6.2.5 Phase Values

6.2.6 Blanking Rate Values

6.3 Input Parameter Descriptions

6.4 Output Parameter Descriptions

6.5 Internal Data Descriptions

6.6 Program Flow Chart

7. E$SUB - System Monitor Subroutines

7.1 Functional Description

7.1.1 EiP^VD - Power Loss Interrupt Service Routine

7.1.2 E:PWU - Power Restored Interrupt Service Routine

7.1.3 E:PAR - Memory Parity Error Interrupt Service Routine

7.1.4 E:ABR - Console Interrupt Service Routine

7.1.5 B:ORT - Background Task Abortion Routine

7.2 Called Subroutines

7.3 Input Parameter Descriptions

7.4 Output Parameter Descriptions

7.5 Internal Data Descriptions

7.6 Program Flow Chart
W ^ *}

<Wt l^iHi^'i'itittii’% 1,6

,yvA.y^i^ liir- ' -#if^'i I-i 2JA »•

-,4li'Ju ‘V>

'4 J 3 , S i( A' S?t,01 I *4. u5^ 2IA X.3^3'

saP

ft^ ^‘fSf iJO!f\yO!l' ' 5r.£»d

1 ^tvi/jiV rj* -t/a iX<^siA A.S.d

^ ' *T i#5»rai'J<B^ aUq^t

ej^i ’

-» 1'- r 3 -• » iDifeefC ft !•<£ XAfri»3oI

woI3 roliir|oi‘‘J ^6,6

!^jar5'<f‘/t tciaino^ «('?*3»t'8i ,

- aua^ai

yjAi-‘»Q X.tJ

aTr»444foK «9tV * * QW9;3 I .X^’C

»*jtvij,s fca»m5u-i»;J X.X.T

!? u-*:>i'. yW. 1^13

• <io«M4 HATlJ ,X.i,T

''wla** <1 >- ' . ;#ffo3'^ S0A':3

H

. W'‘

drt,i; J '.* -'4 t^?<rrp TSO:E , , ?»X.V ,

»Av jf I4irld3fll.

jtjwID VoXH ift-igoil d*
FIELD SERVICE TEST MODEL: COMPUTER-CONTROLLED U SYSTEM

OPERATIONS MANUAL AND SOFTWARE OPERATING

SYSTEM APPENDICES FOR THE AUTOMATED SYSTEM

VOLUME I

1. INTRODUCTION

Volume I of the "Automated U System" describes the software listings

and the operator's manual. This volume is intended to instruct the

station technician in the procedure to load programs and operate, under

computer control, the automated U system. Other manuals describe the

system and the technical design and are contained in the following

manuals

Volume II. Field Service Test Model: Computer-Controlled

U System. Operations Manual and Software

Operating System Appendices for the Automated

System.

Field Service Test Model: Computer-Controlled U System.

Manual for Receiver and ADACS Interface Chassis.

Field Service Test Model: Computer-Controlled U System.

Manual for Test Unit.

Field Service Test Model: Computer-Controlled U System.

Manual for Computer Subsystem.

Field Service Test Model: Computer-Controlled U System.

Manual for System.

Certain comjnercial equipment and materials are identified in this paper

in order to adequately specify the. components used. In no case does

such identification imply recommendation or endorsement by the National

Bureau of Standards, nor does it im.ply that the material or equipment

identified is necessarily the best available for the purpose.

1 .
-vs.*. lM-f

I

m

1,' >'

Ijr y *' '5SIVS32 aJll¥

u* ^

' i » I

J

b- • "•

iVV,,tin’ll ^Jk ".«U4«»t ‘C^irM3TO

v3^78W (JrttA»^Arv4|l "V’' H >’! 3S*>I0WM^A tCfTJJtt

><«.lf/V

&'f"'

«iT4.Vl^OJ» -w!j ^ ... ,

vlii ^r^bnmi e»::T03«i»<|o Uot

i-jiV *’ iMdiUtOJuA** *rf3 lo 1 •tflilov

TlbCMIlW *'^^-*^**^ i^4t| <ii j-:*n’^ >n'! ttl nolJ«^,

‘ . . . ..< _ ... «i ^ :j. ^ ^ r i.^ >/*v.«4 4« lt.a««b 4

•t

' fji-

,

I" ^

fc*

spivv.r:r\ <irfi-fii V«4i^*;5fTn:ii Ik^iiv^ovi wia br* moiat

lalJumanQ .. - ..'. • -.

. ^^. v,

bi4^j-3«iW -iASJ^iii'o*^ 45i'/a«2 li./4»X'^ .II »m/loV

"tJWiir- ;'t :'! b>Ii»;u7ln< :i»b»uii,^-”’'iiT i»hn»8-'‘l» W.’'< ^ . .lAur vr ^fti^araiil 30M4 %M> t«yi»04« at>8 i44ffl4» ‘ tAur vr 3MlA %M> t«yil»04« at>a Uan^

«< 3-.t

^ a IftUOiJK

j«.T ,^i^kbt^Vt

uF:

1

Tt<»ic/«»o3 to^ lMoa»3i

" ''. w.f '

'; c- V,.

4fB4j)»'V,3 0 ^ t XaAicll. oaXv^»2 bX^ll

.

‘*

, LMumH

}?

' St

^ j >

1

^>i:

£.'

i|

m-’

»"

..

• 4‘

\

,w.y

«7i ’rV*i»S fii vij'^vt bm bii& nicni:

.s^j'v.S aw- (>••’ <tji» v*ft ' t^fiJaujdi’bli -lab^o -nl

lA/)p.*^3fM //til t.tj rvaj so a 'in t^eaTut

'• * '»*^^^t4li«kil4(r* SNisU a.t» ilXiaHMasn-ti bakliio*^
lol General*

The New-U Service Test Model is the termination of a development project aimed at automating the U sensor functions* IBM

completed initial algorithm definition on the IBM Model 360/75

computer for batch mode operations in April 1968* These programs

covered the three sensors of the proposed K technique; U, Z2, and H*

In February 1969, a Scientific Control Corporation Model 660 computer

was procured to permit the processing of data from the three sensors

in real time* When the necessity to process data from all three

sensors simultaneously was removed during the following year, a

new Baseline Configuration was defined specifying simultaneous

processing of the U and Z2 sensor data, but separate processing for

the H sensor* In February 1970, the programs to implement this

Baseline Configuration were completed and the system demonstrated*

Post-baseline efforts concentrated on the U sensor alone* By

September 1970, processing algorithms had been refined and experiments conducted to demonstrate the ability of the system to operate

for extended periods of time without operator intervention* All efforts

to that time had concentrated on the use of the current sensor

1.1
hardware. By December 1970, the National Bureau of Standards

and Computer Science Corporation (under contract to the USAF) had

developed an experimental sensor front end with response characteristics far surpassing those of the current equipment. The cost

of using such new equipment was prohibitive, so effort was redirected

towai'd modifying the existing equipment to permit faster response*

By June 1971, this experiment was completed and alternative Service

Test Model configurations were defined* Due to the higher cost

involved with the gi'eater processing load necessary for the faster

response configuration, the decision was made to use the standard

outputs of the current sensor* The test model would handle fourteen

channels of U sensor data simultaneously with one processor*

Procurement specifications for the digital computer to be used in the

Operational Service Test were completed in May 1972* The contract

was ultimately awarded to Modulai’ Computer Systems Corporation

for their MODCOMP ni/5 digital computer with all necessary interface

equipment and peripheral devices* The Processor was delivered to

the Fort Belvoir experimental station in Virginia in mid- September,

followed by the interface to the first two sensor channels within a few

weeks. The softwai'e package, including both the Real-Time Operating

System (ROS) and the applications programs (both foreground and

background), was named NUSTAD (New U System of Totally Automated
Design), The skeleton of the ROS was on-line by mid- October, By

the final week in November, the ROS was completed and the preliminary check-out of the applications programs was near completion.

The system was then shipped to McClellan AFB, CA where the

remaining twelve sensor channels were interfaced and the first part

of the Operational Service Test would be performed. Program checkout by the programming staff was completed during the last week of

January 1973, and the system was turned over to the 1155th TOS to

begin formal system evaluation/prior to sending the system to a

remote overseas location for a nine month evaluation of system

performance under actual field conditions.

This document fully describes the programming associated with

NUSTAD, The information contained herein should be sufficient to

permit full understanding of the software operations and functions,

1, 2 Requirements,

The primary goal of automating the U sensor functions was to

reduce manpow’er. To meet this goal, NUSTAD was required to

perform the following operations:

a. Read sensor data in real-time at a rate consistent with

processing algorithm requirements.
b. Provide feedback control of the various parameters

associated with the sensor as necessary to maintain sensor operations at an optimal level.

c. Perform waveform analysis of sensor data to recognize

all signals of interest,

d. Monitor th-e status of sensor and interface equipment to

recognize changes which affect processing operations and respond

accordingly,

e. Maintain a station log of all status changes, parameter

changes, and signals of interest, as well as periodic reports as

required to evaluate sensor channel reliability. Also, generate

report messages suitable for transmission over standard communications lines,

f. Provide display and format checking functions to validate

or review data from the DRFUD (Digital Recorder For JLJ Data) data

tapes. This will permit the use of existing equipment for bulk data

storage independent of processor operations.

In addition to reducing manpower, the New U system will permit

standardization of reporting methods, more effective utilization of

existing equipm^ent, and an extended useful life for current sensor

equipment.

1,4
1.3 Hardware Descriptioru

The MODCOMP HI/5 is the basic model of the MODCOMP III line.

The ni/5 used for the Service Test Model has the following characteristics:

a. Central Processing Unit

1, Fifteen general purpose registers, all available for

use as accumulators, seven available as index registers,

2, 800 nanosecond cycle time,

3, 167 instructions including bit, byte, and word

manipulation, (See Appendix V for complete instruction lists),

4, Hardware multiply/divide instructions,

5, Multi-level priority interrupt scheme,

b. Memory

1, 32, 768 words (16 bits) directly addressable, in

four modules,

2, Memory parity (even parity) for each byte of memory,

c. Analog Input Subsystem

1, 48 channels multiplexed through a dedicated Direct

Memory Processor (DAIP) channel,

2, Input range of 0 to +10 volts.

3, Input in 11 bits plus sign.

1,5
d. Digital Input/Output Interface Subsystem

1, 15 basic (16 bit) digital input channels, plus 8 (16 bit)

digital input channels on the channel extender.

2, 16 (16 bit) output channels,

3, 8 user defined external interrupts,

e. Peripheral devices

1, ASR 35 Teletype (ASCH),

2, ASR 28 Teletype (BAUDOT), configured for receive

only operation,

3, Chaleo 600 character/second paper tape reader,

4, Wang 45 ips magnetic tape unit.

The sensor is the standard EECO 881M Phase tracking receiver

with modifications as described in an as yet unpublished NBS manual.

The ADACS (Automatic Data Analysis and Control System) interface

unit is described in another as yet unpublished manual. The following

list includes documents useful in understanding the software development:

310-103000-000 MODCOMP El Reference Manual

310-600101

220-600500-000

MODCOMP Assembler Reference Manual

MODCOMP Program Descriptions- Utility

Programs

210-600301-000 MODCOMP MAX I Reference Manual

1.6
220-341000 MODCOMP Tech Manual- Input/Output

Interface Subsystem 1100

220-311000-001 MODCOMP Tech Manual- Analog Input

Subsystem 1200/1500

lo 4 Basic Data Flow

The essential elements of NUSTAD can be defined with respect

to the systems hai’dware components through Figure lo lo These

elements are shown as they are related by the information flo\v among

them.

Each U channel has the following input and output data for the

processor:

a. Three analog input channelSo One each for Amplitude,

Phase, and Blanking Percentage,

b. One digital input channel to supply the processor with the

channel's frequency and cardioid settings, and the channel’s ABACS

INE, Maintenance, and AUTO/MANUAL conditions,

Co One digital output channel supplying the receiver with

the current RF gain, tracking rate, and blanking level data, and the

phase shift control bit.

The World Time Clock (WTC) supplies the follow^ing timing

information to the processor:
a, BCD (Binary Coded Decimal) time, with a three digit

Day of Year (DOY) and a six digit Time of Day (TOD)o

bo One per second and one per minute time pulses to drive

the interrupts used by the system clock routinOo

Co Ten per second timing pulses to drive the time slicing

program used to segment time for background taskSo

•i'

li

The ASR 35 is used as the primary operator/system communications

devicCo It is the means by which the operator requests the various

program options and supplies information necessary for the

processing of the DRFUD data tapeSo

The ASR 28 is used to maintain the station logo All messages or

reports of any historical value are printed hereo A five- level paper

tape is also punched, permitting the automatic preparation of data

messages for later transmission over standard communications

channelSo

DRFUD tapes are recorded concurrent to on-line processing by

a modified DRFTJD unit for each eight U sensor channelSo The tapes

are played back into the system from the Wang tape drive, using

background tasks requested by the operatoro

lo8
[

BOY

0:234 5]

\

1

/SECOND

1/MIHUTE

WORLD

TIME

CLOCK

/

10/SEC0N0

TIME

PULSES

1.8a
Figure L 1 displays the relationship among the various lO

signals and the individual programs using themo This diagram shows

the relationship among programs on the basis of data flow, while

Figure lo 2 shows how the programs are related by transfer of

program controL

lo 5 Basic Software Organizatioiio

Linkages among the various programs are more easily understood

by recognizing the naming conventions used for symbolic labelSo

ao First character - The first character of a symbolic label

tells to which basic function that particular label is associated:

lo E - used to identify operating system and executive

support functionSo

2o B - used to identify functions associated with background tasks other than DRFUD routineSo

3o M - used to identify functions related to system status

monitor ingo

4o U and W - used to denote functions directly related

to the U data analysis functionSo

5o F - used to identify functions associated with background DRFUD operationSo

bo Second character - The second character of the label

lo9
1.9a

BASSC

NUSTAD

ORGANIZATION
indicates how the label is to be used:

1. $ - used to denote a program name«

2o : - used to indicate a program entry point,

3o o - used to specify a parameter location used in

another program (an external linkage)o

NUSTAD programs may be considered of five basic types:

a« Real-Time Operating System (ROS) - those programs

which control system resources; e» go, the interrupt servicing

routines, the peripheral handlers, and the schedulerSo

bo Executive Support Programs - which perform utility

functions generally needed by the applications programs, such as

reformatting time or phase values into output format, computing the

square root, etCo

Co Monitor Programs - which sense and report changes

in hardware status and provide historic records needed to evaluate

channel reliabilityo

do U Analysis Programs - the primary applications

programs of NUSTADo These progi'ams provide automatic parameter

control and real-time waveform analysis of U data,

e, DRFUD Programs - These applications programs execute

in the background level to provide some analysis of off-line U data

recorded by the DRFUDo

1 „ 10
The interaction among the programs of NUSTAD is shown

schematically in Figure lo 2o The various tasks associated with

the system’s mission are scheduled in response to external interruptSo

As these tasks execute, they use executive support functions to

generate the system’s output, The scheduler is the heart of the ROS

and NUSTAD as all program control is made through this program,

including entry into the background statCo

lo 6 Operating Systemo

All NUSTAD programs are coded in the assembly language of the

MODCOMP in computer, and are assembled under the manufacturer’s

MAX I batch oriented operating systemo The programs are loaded

using the manufacturer’s Stand Alone Linking Loader (SAL, MODCOMP

NOo 600000-012)o After loading, control is assumed by NUSTAD’s

ROSo NUSTAD runs in two basic levels:

ao FOREGROUND FUNCTIONS: These are the primary

mission associated tasks which are scheduled in response to system

interruptSo These tasks are configured to execute to completion before

returning control to the operating system,

bo BACKGROUND FUNCTIONS: These tasks are requested

by the operator and execute subordinate to the foreground functionSo

loll
Background tasks are interrupted frequently to give the foreground

functions priority access to the system’s resourceso These

functions relinquish control to the operating system during all 10

actionSo Only one background task is permitted to execute at a timeo

L 12
2 , E$INTo

2.1 Functional Descriptiorio

E$INT is the NUSTAD system initialization routine. At load

time (see Appendix ni for loading procedures), it specifies the contents

of low-core locations necessary for interrupt and 10 operations.

Table 2. 1 lists these locations and the values stored in them. Those

specified as ’'DFC” contain the address of the symbolic label given.

2. 1. 1 E:ANF (System Start/Restart Point).

E:ANF (location 010016) is the program execution start-up point.

Transferring control to NUSTAD from SAL by means of the GO

command will cause execution to begin here. Also, depressing the

MASTER CLEAR switch on the console panel will cause a system

restart at this point.

When execution begins, E$INT performs the following tasks:

a. Reset the start-up flag for the U data acquisition program

(E$UIN).

r b. Transmit the current GAIN, TRACKING RATE, and

BLANKING LEVEL values to the sensor.

c. Clear and activate all interrupts to be used.

d. Reset to initial values all processing flags, counters,

parameters, etc. , used by the applications programs.

2,1
e. Clear the channels to the ASR 35 and the ASR 28o

fo Schedule M$STD in schedulero

go Send the system restart messages to the teleprinters;

a LF/CR to the ASR 35 and a ’’SYSTEM RESTART” message with

the restart time to the ASR 28o

ho Establish initial values for background processingo

io Transfer control to the system scheduler (E:SKD in

(E$SKD)o

2, 2 Called Subroutines.

Subroutine Program Function

E:MIT E$mN Transmit GAIN, TRACKING RATE,

and BLANKING LEVEL values to

sensor channel given in R3»

E:FRT E$FRT Converts BCD DOY/TOD to ASCH

characters for outpuL

E:035 E$T35 Transfers output message to buffer

before transmission to the ASR 35«

E:028 E$T28 Translates output message to BAUDOT

code and stores in buffer before

transmission to the ASR 28

2.2
2o3 Input Parameter DescriptionSo

Parameter Program Description

E,SF1 E$UIN Bit 0 set for first AIS record, reset

thereafter.

U,CCN U$DAT Accumulated effect of cycle shifts.

UoCPC U$DAT Channel Compressed Point Counter,

UoCST U$DAT Channel Status, set to 4 indicating

channel down.

Uo RTY U$DAT Channel Recovery Tally, counts tensecond-periods before channel can come

up.

UoIHB U$DAT Bit 0 set to inhibit processing on channel

if INE or Maintenance set on the channel.

U, TMl E$CLK Minute counter for scheduling U$RED,

Uo TM3 U$RTA Gain Clock, counts ten- second-periods

for entry to gain control section of

U$RTA,

Uo TM4 U$RTA Track Clock, counts ten- second-periods

for entry to tracking rate control section

of U$RTA,

Eo035 E$T35 ASR 35 status word.

Eo028 E$T28 ASR 28 status word.

E. T08 E$SKD Scheduler task table entry for M$STD.

EoIOF E$T35 Parameter word ased in calling E:035,

Eo28F E$T28 Parameter word used in calling E:028,

2,3
Parameter Program Description

U, AST U$DAT Channel waveform analysis status,

indicates point in signal to which

processing has progressed, initially 0,

F.MTP FSFMT Character painter for Mag Tape data

in input buffer.

B, STT E$SKD Background Status Flag, set to 0 for

no task in progress.

E, TSF E$SKD Time Slicing Flag, Bit 0 set to 0 to

inhibit time- slice processing, set to

1 to indicate background task in

execution and time- slicing needed.

E:SKD E$SKD Entry to system scheduler.

Output Parameter Descriptions,

Parameter Size

« Description

E:ANF Entry point for system start/restart.

F:ANL Dummy background task; to be replaced

by a background program to perform

v/aveform analysis on data from DRFUD

tapeSo

2„5 Internal Data DescriptionSc

Parameter Size Description

MSG0 39 System restart message:

o o o o o o SYSTEM RESTART AT 123

123456o o o o o o STIME

MSGl

Location of DOY/TOD group in MSG0,

LF/CR from MSG0o

2,4
Parameter Size Description

Message generated by F:ANL

"F:ANL CALLED”

MSGS 9
Loc C ontent Eimction Program

0000

0001

BRU E:ANE Program restart point E$INT

0021 DEC E:PWD Power Down/Up Interrupt Location E$SUB

0023 DEC ErPAR Memory Pai'ity Error Interrupt Location ESSUB

003D DEC E:ABR CONSOLE Interrupt Location E$SUB

003F DEC E:TSI Time Slicing Interrupt Location E$TSI

0063 42 Transfer Count for AIS DMP E$UIN

0064 1408^ Transfer Count for Mag Tape DMP E$MAG

0073 DEC E, UBU Transfer Address for AIS DMP E$UIN

0074 617616 Transfer Address for Mag Tape DMP E$MAG

008A DEC E:I35 Data Interrupt Location for ASR 35 E$T35

0098 DEC E:I28 Data Interrupt Location for ASR 28 E$T28

0099 DEC E:I28 Data Interrupt Location for ASR 28 E$T28

00A0 DEC E:SEC 1 per Second Interrupt Location E$CLK

00A1 DEC E:MIN 1 per Minute Interrupt Location E$CLK

00A2 DEC M:INT INE Interrupt Location (from ADACS) M$EISS

00A7 DEC M:INT Common Alarm Board Interrupt Location M$ESC

000,4 DEC E:MTI Service Interrupt Location for Mag Tape E$MAG

00Ck DEC E:35S Service Interrupt Location for ASR 35 E$T35

00Y>1 DEC E:ANL Service Interrupt Location for AIS E$UIN

0100 Program Execution Starting Point E$INT

TABLE 2. i Dedicated Memory Locations Established in E$INT

2„6
E:ANF

V

RESET BACKGROUNC'

FLAG

E.TSF = ^

2 . 6a
3. E$SKD<,

3o 1 Functional Descriptiono

E$3KD is the heart of ROS, The tasks in its task table are

scheduled in response to the various external interrupts,, Through

the task table, entry is then made to the various tasks in the system,

E$SKD consists of tv^o subprograms; E:SKD and E:BSKo E:SKD

performs three primary functions:

a. Control direct entry to the real-time tasks listed in the

task table (priorities 1 through 14),

bo Monitor CPU activity (primarily through interrupt actions)

and log loss of ROS controL

Co Control entry into the background level via priority 15

in the task table.

Control is passed to the system scheduler at E:SKD in one of

four ways:

a. After a system restart, E$INT unconditionally transfers

control to E:SKD,

bo After each dedicated real-time task listed in the task

table completes execution, it returns control to the scheduler at

E:SKD.

3.1
Co When a time slicing interrupt occurs during the execution

of a backgTOund task, E$TS1 retains the information needed to continue

that task and returns control to ErSKDo

do When a background task requests an 10 action, B:IOR (in

E$TSI) retains the information needed to continue the task, and

returns control to EiSKD until the lO action is completedo

3o lo 1 E: SKD (System Scheduler),,

At E:SKD, the scheduler begins a scan of the task table to look

for tasks which require servicingo If one is found, the task flag bit

is reset and control is passed to that task via the address stored as

that task’s entry in the task tableo The tasks in the task table, and

the program in which they may be found, are listed in Table 3o !<,

Should no task be flagged during the pass through the task table, a

counter is decremented. Should the counter reach 0, indicating that

approximately five seconds had elapsed without a scheduled task, the

system is considered dead, and E$LOG is called to generate a "T SD”

message for the station log, A system restart is then attempted by

passing control to E:ANF in E$INT, Each time a task is entered,

then completed, control is returned at E:Si<D and the counter is reset,

3. 1, 2 E:BS1C (Background Task Sc heduler ). Wnen the flagged task is priority 15, control is passed to ErBSK,

3,2
the background task schedulei'o The status of the background task is

stored in a word called B, STT (the Background ^aius)o When the

operator requests a background task, via E$OMI (the Operator Message

Interpreter), B. STT is set to a value corresponding to that task and

E:BSK is flagged in the task table., Thus, the first time E:BSK is

entered for a given task, it will find B» STT equal to 1, 2, or 3, and

will transfer control to the desired task, as listed in Table 3o 2,

Thereafter, entry to E:BSK will be to continue a task previously

interrupted. In this case, either E:TSI or B:IOR v/ill have set B, STT

to 4 to indicate that a background task is in progress, and will have

retained the location counter and the register contents so as to

continue processing at that point where the interrupt occurred.

Therefore, when E:BSK finds B, STT = 4, it restores the registers to

the values retained in holding buffers at B, RSI (for registers 1 through

7) and B, RS2 (for registers 10 through 15), and returns control to the

next instruction of the background task at the location saved in B, RET,

Should the operator wish to abort his background task, the console

interrupt routine (B:ORT in E$SUB) resets B. STT to 0a When E:BSK

finds B, STT = 0, it simply returns conti'ol to E:SKD without executing

any background task or rescheduling the background level. Therefore,

B, STT will normally be 0 when no background task is being processed.

3,3
3o2 Called Subroutines^

Subroutine Program Function

E:LOG E$LOG Generate coded log message for ASR 28.

(Also see Tables 3o 1 and 3« 2 for tasks called by E:SKD and

E:BSK)

3o 3 Data FormatSo

The primary data entity in the scheduler is the task table entry,

which is of the form:

0 1

s. 2 3 4 5 6 7 8 9 10 11 12 13 14 1 15

Address of entry point for task

= 0 if task is not flagged for execution

= 1 if task is flagged for execution

3o 4 Input Parameter DescriptionSo

Parameter Program Description

E:ANF E$INT Entry point for a system restart

3o 5 Output Parameter DescriptionSo

Parameter Size Description

E. TSK

E:SKD

E:BSK

1 Base of task table

Entry to ROS scheduler

Enti'y to background level scheduler

3o4
Pai’ameter

E. T01

E. T02

E. T0S

Eo T^4

EoT05

Ec T06

EoT07

Eo T08

Eo T09

Eo T10

Eo Til

E 0 TI 2

E0TI3

Eo T14

E0TI5

Bo STT

EoTSF

Bo RSI

Size

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

7

Descrip tion

Priority 1 task table entry (see Table 3. 1)

Priority 2 task table entry (see Table 3o 1)

Priority 3 task table entry (see Table 3o 1)

Priority 4 task table entry (see Table 3o 1)

Priority 5 task table entry (see Table 3o 1)

Priority 6 task table entry (see Table 3o 1)

Priority 7 task table entry (see Table 3o 1)

Priority 8 task table entry (see Table 3o 1)

Priority 9 task table entry (see Table 3o 1)

Priority 10 task table entry (see Table 3o 1)

Priority 11 task table entry (see Table 3o 1)

Priority 12 task table entry (see Table 3o 1)

Priority 13 task table entry (see Table 3, 1)

Priority 14 task table entry (see Table 3o 1)

Priority 15 task table entry (see Table 3, 1)

Background Status (see Table 3» 2)

Time Slicing Flag: (see Section 4« 1) = 0 to inhibit processing of time slice

interrupt

= 1 to permit processing of time slice

interrupt

Holding buffer for registers 1-7 of

interrupted backgTOund task
Parameter Size Description

Bo RS2 6 Holding buffer for registers 10-15 of

interrupted background task

Bo RET 1 Return location for interrupted background task

3o 6 Internal Data Descriptions.

Parameter Size Description

BTABL 5 Table of background task entry points

3o6
Priority

Program

Entry

Program

Name Task

1 U:RTA U$RTA U Data Real Time & Waveform

Analysis

2 M:ESC M$ESC Scan for Equipment Status

C hange

3 E:LTN E$UIN Preprocess last U Data Input

4 U:RED U$RED Perform Channel Redundancy

Check

5 E:T28 E$T28 ASR 28 Character Transfer

Ready

6 E:OMI E$OMI Interpret Operator Message

7 U:RP3 U$REP Generate Part III RSD

8 M:STD M$STD Generate Current Receiver

Status Table

q Unused

10 B:ORT E$SUB Abort Background Task

11 E;MAG E$MAG Mag Tape Transfer Complete

12 E:T35 E$T35 ASR 35 Character Transfer

Ready

13 U:PST U$PST Process Operator Requested

Parameter Change

14 M:LEy M$LEV Generate Parameter History

Table

15 E:BSK E$SKD

1

Enter Background Task Thru

E:BSK

TABLE 3.1 NUSTAD SCHEDULER TASK TABLE

3.7
B. STT

Code

Program

Entry

Program

Name Task

0 Abort Background Processing

1 F:FMT F$FMT DRFUD Tape Format Check

Program

2 F:DMP F$DMP DRFUD Data Display

2 F:ANL E$INT (Dummy Task)

4 Continuation of Task in Progress

TABLE 3. 2 NUSTAD BACKGROUND TASKS

3.8
ESSKD

E = SKD

T

E:aNF

IN E$INT J

3. 8a
3.8b
4. E$TSL

4o 1 Functional Descriptiono

E$TSI contains the two programs which permit programs to

operate on the background level while not inhibiting the processing of

real-time taskSo Since background tasks will generally require some

lO support and execute for relatively long periods of time, ROS must

ensure that a background task not be permitted to hold the CPU to

the point where priority tasks executed in the foreground are delayed

from timely execution Background tasks will therefore relinquish

control to the real time tasks via the system scheduler in one of two

ways:

a, Voluntarilyo When a background task requires an lO

operation (such as additional information from the operator, or data

from the mag tape), the program will make its request through

B:IOR (in E$TSI), which will initiate the lO through the necessary

peripheral handler, and then return control to the foreground until

that 10 action is completed.

b. Involuntarily. If a background task is executing when

the time slicing interrupt occurs (ten per second), E:TSI returns

control to the foregi’ound until any pending real-time tasks are

serviced.

4,1
4. lo 1 E:TSI (Time Slic ing Interrupt Service Routine)o

E:TSI is entered for all time slicing interrupts^ It determines

whether a background task is executing or not by the status of the

time slicing flag (E, TSF)o If the flag is not set, then the interrupt

occurred during other than a background task, and control is

immediately returned to whatever program was executing at the time

of the interr upto If, on the other hand, the flag is set, a background

task was interrupted and the contents of all registers available to the

background task (1 through 7 and 10 through 15) are saved, as is the

address of the next instruction to be executed in the background

programo The time slicing flag is reset to show that control is being

returned to the foreground, and E:BSK is rescheduled in the

scheduler’s task table to continue processing of the background program

when the priority 15 task is ready to be serviced agaim Control is

returned to the foreground at E:SKD„

4o lo 2 B:IOR (Background Program IQ Request Routine) , When a background program requests an 10 action from the

operating system, that request is made through B:IOR, which

coordinates that request with real-time requirements^ The current

register contents and the location counter are saved to permit

execution to be continued at the next location following the call to

4o2
B:IOR in the background program when the lO transaction is completedo

The time slicing flag is reset prior to entry to any of the operating

system’s peripheral handlers to prevent possible confusion by

subsequent entry to that same program in response to a real-time

request, The calling sequence supplies a parameter word which

specifies whether the request is for the mag tape or the ASR 35 handlero

Additional parameters associated with the particular device specified are

then transferred to that device’s handler» When control is returned,

B:IOR transfers it to the foreground at ErSKDo When the lO transfer

is complete, flag bits in the parameter word signal the handler to

reschedule EiBSK, which will continue execution of the background task

with the data from the transfer ready for processing.

The calling sequence for the two devices differ. If input is

required from the mag tape imit, the following sequence is used:

10 communication between the background program and the operator

via the ASR 35 teletype is more variable. In this case the calling

BLM, 15 B:IOR

#200 BIT 2 SPECIFIES MAG TAPE INPUT

(message start address)

(count of words to be read)

DFC

DFC

DFC

sequence is:
BLM, 15

DFC

DFC

B:IOR

(parameter word)

(message start address)

where the parameter word is interpreted as follows:

BIT 0 = 0 Do not reschedule E:BSK immediately after the output

is completed. This option is normally used with

BIT 1 = 1 to permit the background to request

information from the operator, then not reenter the

background program until the operator’s response

has been read. = 1 Reschedule E:BSK as soon as the output message

specified by the second parameter word has been

completed.

BIT 1 = 0 No response to the program’s output is expected from

the operator.

= 1 The message specified by the second parameter word

is a request for information from the operator. Do

not reschedule E:BSK until that response is completed.

BIT 2 = 0

= 1

Specifies request for action on the ASR 35,

Used to specify mag tape 10 action.

BIT 3 = 1 Must be set as B:IOR teletype actions must begin with

an output action.

For example, the parameter word would be if the background

program were requesting information from the operatoro The background program w^ould then continue execution after the operator

response was completedo If the background program needed to print

out the results of some operation and then continue processing,

would be used as the parameter word.
4,2 Called Subroutines.

Subroutine Program Function

E:035 E$T35 Transfers output message to buffer

before transmission to the ASR 35,

Also sets flag bits to control reschedulin:

E:BSK based on value of E» lOF,

E:MGS E$MAG Initiates Mag Tape read into specified

area of memoryo

Input Parameter Descriptions,

Parameter Program Description

E. TSF E$SKD Time slicing flag; (see section 4, 1)

BIT 0 = 0 to inhibit processing of time

slice interrupt

=1 to permit processing of time

slice interrupt

B. RSI E$SKD Holdmg buffer for registers 1-7 of

interrupted background task.

Bo RS2 E$SKD Holding buffer for registers 10-15 of

interrupted background task.

B. RET E$SKD Return location for interrupted background task.

Eo T15 E$SKD Task table entry for background system

(E:BSK)o

EoSKD E$SKD Scheduler reentry point.

EoIOF E$T35 Parameter word used in calling

E:035,

4, 5
4o4 Output Parameter Descriptions,

Parameter

E:TSI

B:IOR

Size Description

Entry to time slicing interrupt routine

Entry to background 10 request routine

4,6
$TSI

4.6a
5o E$CLK

5o 1 Functional Descriptiono E$CLK is the NUSTAD software clock. It contains the service

routines for the one per second (E:SEC) and one per minute (E:MIN)

time pulses from the system World Time Clock (WTC)o

5o lo 1 E:SEC (One Second Timing Interrupt Service Routine),

The one second time pulse triggers the level 1 external interrupt

of the lOISo Control is vectored to E:SEC, the service routine for that

interrupto It performs the following functions:

a» Supply a pulse to the ABACS power supply detection

circuitry. If twenty seconds elapses without this pulse being received

by the detectors, tlie power is turned off to the ABACS units and the

sensors revert to their manual settings,

b. Check the delay times for scheduling M$ESC, When a

change occurs in the sensor status which results in an INE interrupt,

it takes several milliseconds for the levels to stabilize before

meaningful values can be read. This may result in numerous

interrupts, most with meaningless value changes associated. Also,

when the operator changes the sensor frequency, interrupts would

occui* for each digit changed, NUSTAD therefore resets a five second

delay timer with each INE interrupt. When that timer (M, TMl) runs

5,1
out, M$ESC is scheduled in the system schedulero

Co Initiate a data transfer of U data from the sensors via

the AIS DMPo After initiating this transfer, E:SEC checks to ensure

that the DMP is then in useo If it isn’t, NUSTAD will log a failure in

the AIS (message reading ”T AF”), and set a flag to inhibit repetition

of this message until a good transfer is initiated., Without the AIS

operating, E$UIN will not be executed and real-time U data processing

will cease»

5o lo 2 E:MIN (One Minute Timing Interrupt Service Routine) o

The one minute time pulse triggers the level 2 external interrupt

of the lOISo Control is vectored to E:MIN, the service routine for

that interrupt. It performs the following functions:

a<. Check the timer for rescheduling U$RED, the channel

redundancy checkers Uo TMl is a thirty minute timer which is

incremented in E:MIN each minute until it reaches zerOo When that

happens, it is reset and U$RED is scheduled in the system schedulers

bs Data are saved to determine the following historical

information:

1. Percentage of time each channel is in the UP states

2, Percentage of UP time that each channel was at each

of the possible TRACKING RATE settingSs

5s 2
3o Percentage of UP time that each channel was in

each RF GAIN grouping,

Co Read the BCD time to determine whether it is time to

schedule execution of the M$STD or M$LEV programs,

5, 2 Called Subroutines,

Subroutine Program Function

E:LOG E$LOG To generate coded messages for the

station log and initiate their transfer

to the ASR 28 via E$T28,

5, 3 Data Formats.

The information needed by M$LEV in generating historical data

tables to evaluate channel reliability is stored in the following areas:

SLo E, TTvl3 counts the minutes that the system has been

on-line since the last execution of M$LEV or since the last restart,

whichever is more recent,

b, M. UPT is a series of counters, one per channel, used to

count the minutes during which the channel was in an UP state.

Co M, TRT is a set of counters, with ten (one per tracking

rate value) for each channel, used to tally the current tracking rate

value each minute.

d, M. GNT is a set of counters, with eight for each channel,

used to tally the gain group in which the current gain is found each

5,3
minuteo The relation between the individual gain settings and the

gain groups is given in the table below:

GAIN GROUP RF GAIN VALUES

0 0, 1, 2

1 3, 4, 5

2 6, 7, 8

3 9, 10, 11

4 12, 13, 14

5 15, 16, 17

6 18, 19, 20

7 21, 22, 23, 24

TABLE 5ol

THE RELATION BETWEEN GAIN SETTINGS AND GAm

GROUPS

The organization of the counters used to tally gain and tracking

rate settings is graphically represented in Table 5o 2»

The times at which M$STD and M$LEV are automatically

scheduled are maintained in STDTB and LEVTB respectivelyo These

tables allow the user to designate up to six times per day for M$LEV

and up to tv^enty four times per day for M$STD to be automatically

executed,, The format in which the time is stored is given in Table

5o 3, and the current times now included in the system are given in

Table 5o4o

5»4
i TRACK MEMORY

CHANNEL RATE LOCATION

A 0 M. TRT

1 M. TRT+1

2 Mo TRT+2

3 Mo TRT+3

4 Mo TRT+4

5 Mo TRT+5

6 M. TRT+6

7 Mo TRT+7

8 Mo TRT+8

9 M. TRT+9

B 0 Mo TRT+10

1 Mo TRT+11

2 Mo TRT+12

3 Mo TRT+13

4 Mo TRT+14

5 M. TRT+15

7 Mo TRT+137

8 Mo TRT+138

9 Mo TRT+139

TRACKING RATE TABLE

(M. TRT)

I

! TABLE

GAIN MEMORY

CHANNEL GROUP LOCATION

A 0 Mo GNT

1 M. GNT+1

2 Mo GNT+2

3 Mo GNT4-3

4 Mo GNT^

5 Mo GNT4-5

6 M. GNT+6

7 Mo GNT+7

B 0 Mo GNT+8

1 Mo GNT+9

2 Mo GNT+10

Mo GNT+1

1

> ; , N^ 5 Mo GNT+109

6 Mo GNT+1 10

7 M. GNT+1 11

GAIN TABLE

(M. GNT)

Mo TRT and Mo GNT STORAGE FORMAT
I

j

1

1

1

1

Time of Day Table Value Time of Day Table Value Time of Day Table Valct i

0000 000016 0800 100016 1600 2C0015

0100 020016 0900 120016 1700 2E0016

1

0200 040016 1000 200010 1800.

1 30001^1

1

!

0300 060016 1100 220016 1900

1 i 3200 igi.

0400 080016 1200 240016 2000 400015

0500 0A00|^0 1300 260016 2100 420016

1

i

1

0600 0C0016 1400 280016 2200 440016 ;

0700 0E00JL6 1500 2A0016 2300 460016

:

' i

1 —4 .!

NOTE: To get times other than the even hours, add the minutes directly to

the hexadecimal table value. For example: to get 1730, add 30 to 2E00^0

to get a table value of 2E30^g<,

TABLE 5.3

Time of Day to STDTB/LEVTB Table Entry Value Conversions

5o6
TOD TOD

0200 0000

0600 0800

1000 1600

1400 (three entries unused)

1800

2200

(eighteen entries unused)

TABLE 5,4

CURRENT TABLE VALUES FOR STDTB

AND LEVTB

5,7
5o4 Input Parameter DescriptionSo

Parameter Program Description

M, TMl M$ESC Five second delay timer for scheduling

M$ESC

E. T02 E$SKD Task table entry for M$ESC

E. T04 E$SKD Task table entry for U$RED

E, T08 E$SKD Task table entry for M$STD

Eo T14 E$SKD Task table entry for M$LEV

Uo TRK U$DAT Current tracking rate settings

Uo GAN U$DAT Current gain settings

5o 5 Output Parameter DescriptionSo

Parameter Size Description

E:SEC Entry to one second interrupt service routine)

E:MIN Entry to one minute interrupt service routine i

Uo TMl 1 Timer for scheduling U$RED II

1

' Mo TRT 140 Table of tracking rate setting frequency

(See Table 5, 2)

l|

Mo GNT 112 Table of gain grouping frequency (See Table 5. 2)'

M. UPT 14 Table of channel up time frequency (See

Section 5o3)

Eo TM3 1 Counter for system up time (See section 5, 3)

'

5,8
5o6 Internal Data DescriptionSo

Parameter Size Description

SAVRS 7 Register holding buffer

SAVRR 7 Register holding buffer

SFLAG 1 Flag set to suppress repeated ’’AF” messages

LEVTB 6 Table of times to schedule M$LEV (See

Table 5o4)

STDTB 24 Table of times to schedule M$STD (See

Table 5.4)

5o9
E$CLK
$CLK

E:MIN

SAVE REGISTERS

1 THRU 7 TO PE

TIT THEIR USE

DURING INTERRU

PROGRAM

RPT

INCREMENT U.Hil

WHICH IS USED

rO TIME SCHEDJLING OF CHAN-;

WEL RED. TEST

Reset

U. TMl = -3^

V f

SCHEDULE U:RED

[N SCHEDULER'S

TASK TABLE

MIN 02 f

SET:

R1=BASE OF M,tRT

R2=EASE OF M.QNT

R3=-1(CFAN.

POINTER)

TMCREMENr'E. m3

TO COUNT ANOTHER ^

MINUTE SYSTEM"^^

WAS ON-LINE I

MIN04 V

tNCREMENT R3

FOR NEXT

CHANNEL

INCREMENT

CHAN'S UP TIMI

COUNTER (M.UPT)

INCREMENT CHAN

:RACK RATE CNT

'OR CURRENT

fALUE OF U„TRK

'S

],NCREMENT CHAN

(;AIN COUNTER fO

CURRENT VALUE

OF UoGAN/3

MIN03^

^D 10 TO R1 TO

SET BASE OF | M,TRT FOR next!

I ... cimmEL J

ADD 8 TO R2 TCi

channel

READ BCD

'TOD FROM

WTC

SHIFT HOUR &

MINUTE CHARS

INTO R2

MIN06

SCHEDULE M:LE

IN SCHEDULER'

TASK TABLE

MIN 05

^ME IN

TN 24 ELEMI

MIN08 ^

SCHEDULE M:STD

[N SCHEDULER'S

TASK TABLE

*

r RESTORE REGIS

TERS TO ENTRY

VALUES

5.9b
6 . E$UIN

6.1 Functional Description

E$UIN is a preprocessor for the analog U data, called after each

transfer from the AIS is complete.

6.1.1 E:ANL (AIS SI Service Routine)

A service interrupt (SI) is generated by the AIS after a data transfer

from it via DMP is completed. This interrupt vectors control to E:ANL

in E$UIN where E:UIN is flagged in the scheduler's task table. Control

is then returned to the interrupted program.

6.1.2 E:UIN (U Data Preprocessing Routine)

When E:UIN is entered from the scheduler, E.UBU will contain 42

AIS channels of analog U data, multiplexed through the AIS and read

in via the DMP. These 42 AIS channels break down to three inputs

(amplitude, phase, and blanking rate) for each of the fourteen sensor

channels (see Figure 6.1). E:UIN then performs the following tasks

on these data:

a. Amplitude: The AIS presets several flag bits (see Figure

6.2) in the input word. E:UIN strips these away. The analog range i

at the sensor should be 0 to +1(3 volts. If the low end adjustment is

slightly off, a negative voltage may actually be transmitted to the ^

AIS. Since the programs expect only positive values as input, negative !

points are converted to 0.
b. Phase: Again E:UIN strips away the flag bits preset by

the AIS and checks for negative input values, converting them to 0.

The sensor has a hardware 0 to 100 to 0 equivalence. To prevent confusion in detecting when this shift of reference occurs, E:UIN anticipates

it and sends a 50 microsecond phase shift to the reference frequency in

the sensor mixer. This creates an apparent 50 microsecond shift in the

phase input, toward the midrange value. To compensate for this processor

induced shift in later computations, the sample is flagged to indicate

that the shift will have occurred before the next sample is read.

U.CYC is set to - 50 microseconds, a value which is added to subsequent

samples to provide continuity to the phase input data stream. Since

the maximum response of the sensor is about 15 microseconds /second,

the equivalent of 15 and 85 microseconds are used as the points at which

the cycle shift is transmitted to the sensor. This prevents the sensor

from ever reaching its automatic recycle point.

c. Blanking Rate: As with the amplitude value, the bits preset

by the AIS are stripped away and the negative value to zero conversion

is made.

As each value in E.UBU is examined as described above, it is moved

in a holding buffer called E.UBF. When all 42 words of AIS input have

been preporcessed and moved to E.UBF, tv;o digital words of DOY/TOD data

6.2
are read from the WTC via the lOIS and stored in the next two words

of E.UBF. This associates a time value with the current data values.

Forty-four words of E.UBF are therefore filled each time E:UIN is

executed; i.e., once per second. After ten seconds, or 44j3 words of

E.UBF, the data are transferred to U.WRK, a working buffer, and the

analysis programs are scheduled in E:SKD. The pointers for E.UBF are

reset and it becomes available for the next ten seconds of data.

Actually, U.WRK is an eleven row buffer. After each ten seconds,

E:UIN moves E.UBF to rows 2 through 11 of it. U$RTA will have moved

the previous eleventh row to the first so that the data from the most

previous second prior to the current ten second period is also available

for the analysis programs. During system startup, this first row of

U.WRK must be filled by E:UIN with unprocessed input data. This startup state is identified by E.SKl being set, which signals the program

to reset E.SFl and move the first row of E.UBF to the first row of

U.WRK and then reset the pointers to begin normal data gathering, ten

seconds at a time, for rows 2 through 11 of U.WRK.

6.1.3 E:MIT (lOIS Digital Output Routine)

E:MIT is an executive support routine which transmits the current

tracking rate, gain, and blanking level settings to the desired sensor

channel. It also transmits the 50 microsecond phase shift from E:UIN

when needed.

6.3
The calling sequence is:

BLM,5 E:MIT

with the desired channel in R3. The tracking rate value is taken from

the channel's U.TRK, the gain from U.GAN, the blanking level from U.BLL

and the cycle shift bit from SHIFT. The format of the output word is

shown in Figure 6.3. Only register 5 is affected by this routine.

CHANNEL VALUE LOCATION

A AMPLITUDE E.UBU

PHASE E.UBU+1

BLANKING RATE E.UBU+2

B AMPLITUDE E.UBU+3

PHASE E.UBU+4

BLANKING RATE E.UBU+5

C AMPLITUDE E.UBU+6

PHASE E.UBU+7

M BLANKING RATE E.UBU+38

N AMPLITUDE E.UBU+39

BLANKING RATE E.UBU+41

Figure 6.1 Input Buffer (E.UBU) Format

6.4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

i “TT“ 1 / PRESET BITS

BY AIS — SIGN BIT

DATA VALUE

Figure 6.2 Input Data Word (AIS) Format

0 1 2 3 4 5 6 CO 9 10 n 12 13 14 15

1 1 1 1 \ A. _

/•

TRACKING RATE RF GAIN

(U.TRK) :U.GAN)

BLANKING LEVEL

(U.BLL)

50 MICROSECOND

SHIFT BIT

Figure 6.3 Output Data Word (lOIS) Format

6.5
WORD 0 OF lOIS EXTENDER:

BIT 0 1 2 3 4 5 . 6 7 8 9 10 11 12 13 14 15

1

1\ yV A

DOY DOy""*”?^ DoT* 1 HR Hr'* 1 *100 * 10

WORD 1 OF lOIS EXTENDER:

BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

MIN * 10 MIN * 1 SEC ^0 SEC^^

Figure 6.4 Input Data Word (lOIS EXTENDER WORDS 0)

Format

6.2 Data Formats

6.2.1 AIS Input Data

The analog data multiplex through the AIS supplies eleven bits plus

sign for each word. Additionally, the AIS presets four bits to fixed

values. See Figure 6.2.

6.2.2 Sensor Parameter Control Output via lOIS

The tracking rate, RF gain, and blanking level settings are transmitted to the sensor/ADACS via words 0 through 13 of digital output

6.6
6.2.3

DOY/TOD Input from the HTC via 101$

The DOY and TOD are read in from words 0 and 1 of the channel extender for the digital input of the lOIS. See Figure 6.4.

6.2.4 Amplitude Values

The amplitude value ranges linearly over the range from zero to 2047

corresponding to actual amplitude values from -20 dB to +20 dB.

6.2.5 Phase Values

10

The phase values range linearly over the range from zero to 1599

corresponding to phase values from 0 to 99.9 microseconds.

10 6.2.6

Blanking Rate Values

The blanking rate values range linearly over the range from zero to

2047-j^ corresponding to blanking rates from 0% to 100%.

6.3 Input Parameter Descriptions

PARAMETCR PROGRAM DESCRIPTION

Bit 0 set to inhibit processing on channel if INE or Maintenance set on the channel.

U.IHB U$DAT

U.CYC U$DAT

U.WRK U$DAT

U.TRK U$DAT

U.GAN U$DAT

Set to - 50 microseconds for channel when cycle

shift is sent to the sensor.

Working storage for data from sensor.

Current tracking rate settings for the channels.

Current RF gain settings for the channels.

6.7
6.3 Input Parameter Descriptions (Continued)

PARAMETER PROGRAM DESCRIPTION

U.BLL U$DAT Current blanking level settings for the channels.

E.T01 E$SKD Task table entry for R$RTA

E.T03 E$SKD Task table entry for ErlJIN

6.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:UIN Entry point for data preprocessor

E:ANL Entry point for AIS SI service routine

E:MIT Entry point for executive service routine to transmit

sensor parameter settings to equipment.

E:UBU 42 Input buffer for data read in from AIS via DMP

E.UBF 440 Holding buffer for input data, preprocessed with

time words appended, for ten seconds.

E.SFl 1 Bit 0 set for first AIS record, reset thereafter

6.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SHIFT 1 Bit 15 used to flag need to send 50 microsecond phase

shift.

SCONT 1 Ten second counter used to recognize when E.UBF is

full.

6.8
ESUIN

I

6.8a
6.8b
E$UIN

6.8c
Ui.il

C E:MIT / s

Save

R6, R7

t

6.8c1
7. E$SUB

7.1 Functional Description

E$SUB contains a set of interrupt service routines for power loss,

memory parity errors, and console interrupts.

7.1.1 E:PWD (The Power Loss Interrupt)

Hardware power sensors vector control to the power down subroutine

(E:PWD) at least 200 machine cycles prior to total power failure. This

program resets the interrupt location, which indicates where the pov/er

failure service routine is located, to point to the power up subroutine

(E:PWU). When the power is restored, control will then be vectored to

that program where processing may be resumed. E:PWD also reads the current

BCD time as the time of the power failure. The program then hangs itself

in a tight no-op loop until the power drops completely out.

7.1.2 E:PWU (The Power Restored Interrupt)

When power is restored to the processor, an interrupt is generated

which vectors control to the power up subroutine, E:PWU. Here the

current time is read to indicate when power was restored, and a message

is generated to log the power loss and resumption. The interrupt location

is reset to vector control to E:PWD for the next failure. Since any

loss of continuity in data is considered serious, and the fact that power

fluctuations causes noise spikes in the sensor, the system will be restarted after each power failure. Therefore, control is transferred to

E:ANF in E$INT.

7.1
7.1.3

E:PAR (The Memory Parity Error Interrupt )

When the hardware memory parity checking circuitry detects a memory

parity error, control is vectored to E:PAR. This routine generates a

log message indicating the time of the error detection and the memory location at which the error was detected. For the first two such errors,

the system will restart at E:ANF in E$INT. In this way, if the location

affected is not executed often, the system will continue to process

where it can. System restarts would serve no purpose if the error

were common to many sections of memory, or if they were in heavily

used sections of the program, so the system halts if more than two

errors are detected.

7.1.4 E:ABR (The Console Interrupt)

When the operator depresses the Console Interrupt switch on the

console panel, control is vectored to E:ABR, where B:0RT is scheduled

in the scheduler's task table. Control is then returned to the program

in progress.

7.1.5 B:0RT (The Background Task Abortion Routine)

B:0RT is entered from the scheduler in response to a console interrupt.

This routine resets B.STT (the background status) to 0, generates a

message to the operator on the ASR 35 announcing, "BACKGROUND TASK

ABORTED BY OPERATOR," and returns control to the scheduler at E:SKD.

7.2
If the background scheduler should be entered again, it will find

B.STT = 0 and bypass background processing.

7.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:FRT E$FRT Reformats BCD time from the WTC to ASCII for

output.

E:FCT E$FRT Reformats BCD time from memory to ASCII for

output.

E:028 E$T28 Translates message to BAUDOT code and stores

it in buffer before transmission to the ASR 28

E:035 E$T35 Transfers output message to buffer before

transmission to the ASR 35.

7.3 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

E:TM1 i E:TM2JE$FRT Two word BCD time used as parameter value for

E-.FCT.

E.28F E$T28 Parameter word used in calling E:028.

E.IOF E$T35 Parameter word used in calling E:035.

B.STT E$SKD Background processing status (See Table 3.2).

E.350 E$T35 ASR 35 10 status word.

E.T10 E$SKD Task table entry for B:0RT.

E:ANF E$INT System Restart Point.

E:SKD E$SKD Scheduler entry point.

7.3
7.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:PWD Entry point to power down interrupt service routine.

E:PAR Entry point to memory parity interrupt service

routine.

E:ABR Entry point to console interrupt service routine.

B:0RT Entry point to background task abortion routine.

7.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

PWDTl 2 Storage for BCD time of power down

PWRMS 11 Power failure message "123 123456 T PF"

PMSl 9 Power restored message "123 123456 T PR"

PARMS 15 Memory parity message "123 123456 T MP AT 0(300

PARSl Memory location in PARMS

PARCT 1 Counter for mem.ory parity errors

BMSG 21 Console Interrupt m,essage:

BACKGROUND TASK ABORTED BY OPERATOR."

II

7.4
E$SUB

E:P\VD E:PWU

RESET LOG j

i -0021 TO POINT

TO ElPU’U (THE

POWER UP

'READ BCD

DOY/TOD / /FROM WTC AS/

POWER DOWN

/

TIME /

NO-OP LOOP TO

USE REMAINING

TIME TILL

POWER DROPS

OUT

RESET LOCo

-0021 TO

POINT TO

E;PWD (THE

POWER UPROUTIN

E:FRT

SET UP POWER

UP MESSAGE

E:FCT

Jin E$FHT)

V

SET UP POWER

DO\^^N MESSAGE

E:ANF

;in E$INT)y

7.4a
lUB

E:PAR

V

B

E:FRT

RETRIEVE ADDR.

lAT WHICH PARITY

ERROR WAS FOUND

fROM UIC.--'-O 023

I PARI V

CONVERT BINARY

ADDR TO HEX

ASCII & STORE

IN OUTPUT

MESSAGE

V

E;028

;”T MP at

1234"

.4b
E$SUB

E:ABR )

V

SCHEDULE I b:or: in j SCHEDULER’S j TASK TABLE

' B:ORT

v_

RESET BACKGROUND STAIITS

(3,STT) TO 0

TO CLEAR BACK

GROUND TASK

/

E:035

/'BACKGROUND

\TASK ABORTEI

\ BY OPERA- /

7.4c
8 . E$OMI

8.1 Functional Description

When the ASR 35 is in the request mode (i.e., av/aiting input not

in response to a background task request for information), E$0MI will

be scheduled when the operator completes his input, terminated by a

carriage return character. Appendix III provides operating instructions

on the operator's intercourse with the system. His request for system

action is received by E:0MI as a four character keyword and perhaps

additional information required by the desired task. Table 8.1 lists

the normal keyv;ords and the actions they generate.

KEYWORD ACTION RESULTING

LOG: Transfer operator's message to station log on ASR 28

DFC: Set B.STT = 1, schedule E:BSK to execute DRFUD tape

format checking routine.

DDD:

1

Set B.STT = 2, schedule E:BSK to execute DRFUD data

display routine.

DDA: Set B.STT = 3, schedule E:BSK. This now executes a dummy task in E$INT.

OPC: Schedule U:PST to initiate operator parameter change to

a sensor channel

.

STD: Schedule M:STD to generate a Current Status Display

table in the station loa. i

1

CRC: Schedule U:RED to perform a channel redundancy test.

j

i

Table 8.1 E:0MI Keyword Decoding List

8.1
If the first four characters of the operator's input does not match

any of the keywords in the above list, bit 7 of the console switch

register is checked. If it is set, two additional keywords are available;

"DIS:" and "SET:". These additional options are protected by the position of bit 7 as they are intended for the use of programmers knowledgeable;

in the software system design, and not by the normal operator. The !

DIS: option cuases the contents of a specified memory location to be

|

I displayed on the ASR 35. The SET: option permits the operator to

specify a value to which a location will be set. The formats are:

]

DIS:AAAA

SET:AAAA=VVVV

where AAAA is a four digit hexadecimal memory address, and VVV is a

four digit hexadecimal value to be stored in the specified memory

location.

If the keyword is not in the list in Table 8.1 and bit 7 is reset,

or if the keyword is not in the list or either DIS: or SET:, then a

keyword error is reported to the operator by an "INVALID KEYWORD,

MSG. IGNORED" message on the ASR 35. If a character used in specifying

either an address or a value in a DIS: or SET: request is not a valid

hexadecimal digit, an "INVALID HEX DIGIT" message is generated. If

an equal sign (=) does not appear betv/een the address and the value

of a SET: request, an "INVALID FORMAT" m.essage is generated.

I

I

I

I r ;

I

)

; I

}

i i

li

8.2
After E:OMI completes those actions associated with the operator's

request, control is returned to the scheduler.

8.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:035 E$T35 Transfers output messages to buffer before

transmission to the ASR 35.

E:028 E$T28 Translates message to BAUDOT code and stores it

in buffer before transmission to the ASR 28.

E:FRT E$FRT Reformats BCD time from the WTC to ASCII for

output.

8.3 Data Formats

The list of valid keywords is kept in a table called MSGTB. Each

entry corresponds to one keyword, and requires four computer words.

interpreted as follows:

WORD 1 — First two characters of the keyword.

WORD 1 -- Last two characters of the keyword.

WORD 3 -- Bit 0 set for LOG: option, otherwise reset.

Bit 1 set if request is to schedule foreground task in

scheduler's task table, otherwise reset.

Bit 2 set if request is for a background task, otherwise

reset.

Bits 13 - 15 hold value to which B.STT is to be set if

request is for a background task, otherwise unused.

WORD 4 -- Address of the task table entry to be flagged for this

request (set to schedule E:BSK for all background tasks).

8.3
8.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

E.35I E$T35 Address of first character of input from ASR 35

E.IOF E$T35 Parameter word used in calling E:035.

E.31C E$T35 Count of characters in ASR 35 input buffer.

B.STT E$SKD Background processing status (see Table 3.2).

E.T04 E$SKD Task table entry for U$RED.

E.T08 E$SKD Task table entry for M$STD.

E.T13 E$SKD Task table entry for R$PST.

E.T15 E$SKD Task table entry for E:SKD.

E.28F E$T28 Parameter word used in calling E:028.

E:SKD E$SKD Scheduler entry point.

8.5 Output Parameter Description

PARAMETER SIZE DESCRIPTION

E:0MI Entry point for operator message interpreting

routine.

8.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

MSGTB 28 Table to interpret keywords (see Section 8.3)

MSGl 17 "INVALID KEYWORD, MSG. IGNORED" message

SPACE 1 Space character

8.4
8.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

MSG2 8 Header for log message: "123 123456 L:".

MSG2A 4(3 Buffer for operator's log message.

MSGS n "INVALID HEX DIGIT" message.

MSG4 9 "INVALID FORMAT" message.

8.5
E$o:vii
B

PUTHX \

'(STORE HEX \

VALUE) /

TJ^JXAIL

#0 1 -OA

E:SKD )' E:035

7 . Sb
:$0-Vii \

GETHX J

S7.T RLJISfZiX rO'\

4 CH.-\rJ.CTi:RS

ETKl .N'

c-i-l L rtf ".A I F ROM LOG

.

GirFN IX R 1 I

IXCR-riijAl Rl

TO FOIXI iO

KEXT LOCATION

Yes -'IS GHf\] ^ CODE

IS . ^ CHf-*.R"'

HXERR

/ E:035 \

'INVALID HEx\

DIGIT" /

E:SXD ] ^

c:fth3

Yes

H:-X 11 GIF IS A - F

GETH2

HEX DIGIT

IS 0-9

V

'SHIFT" I HIS

DIGIT INiO

HOLDING REGISTER (R4)

\TUR.''

PUTHX

SET COl’NTER

FOR

2 PASSES THRU

PLTHl

SHlFr'NEXT

WORK REGISTER

ADD #3700

TO DIGIT

I ADD #3000

TO DIGIT

GET NEXT DIGI

INTO RIGHT

7.5c

INCREMENT

PASS

COUNTER
9. E$T28

9.1 Functional Description

The ASR 28 teletype is a BAUDOT character oriented teleprinter

with the capability to punch five-level paper tapes simultaneous to

teleprinter operation. In NUSTAD, the ASR 28 is configured in a

"receive only" mode of operation. It is used to maintain the station

log and prepare paper tapes with signal descriptions for transmission

over standard communications lines. E$T28 handles all aspects of data

transmissions concerning the ASR 28. It consists of three subprograms:

E:I28, E:T28, and E:028.

9.1.1 E:I28 (ASR 28 Data Interrupt Service Routine)

After the transmission of each character to the ASR 28 is completed,

a data interrupt (DI) is generated which vectors control to E:I28,

which schedules E:T28 in the scheduler's task table, and returns

control to the interrupt program.

9.1.2 E:T28 (ASR 28 Character Output Routine)

After each character has been transmitted to the ASR 28, E:T28

is entered from the scheduler to determine if another character is

ready for transmission, and if it is, to initiate that transfer.

If the output buffer (CHRBF) is empty, then all messages in that

buffer have been transmitted and the ASR 28 will go idle until another

9.1
message is entered into CHRBF via the E:028 routine. Part III of

Reportable Signal Description (RSD) messages will not be initiated

until CHRBF is empty. Therefore, whenever the buffer is emptied, a

flag bit in T28I0 is examined to determine if a Part III RSD is

waiting. If it is, U:RP3 is flagged in the scheduler's task table

before control is returned to the scheduler. If not, control is

returned immediately.

9.1.3 E:028 (ASR 28 Message Output Routine)

This routine is called by all programs desiring to transmit data

to the ASR 28 teletype. The program translates the message from the

internal storage form (ASCII characters) to the BAUDOT code, and stores

the BAUDOT characters in the output buffer (CHRBF). After all ASCII

characters have been translated (see Table 9.1 for the ASCII to BAUDOT

conversion used), E:028 determines whether the teletype is already

in use or not. If not, it initiates output by transmitting a null

character to start up the 10 interface and the teletype. When this first

character transmission is completed, a DI will occur, vectoring control

to E:T28 through the DI service routine (E:I28) and the system scheduler

to continue further output. If the ASR 28 is already outputting

characters when the last message character is moved to the output buffer,

the program will in effect have appended this new message to whatever

output is currently underway so that the E:T28 program will treat

all output as one continuous message. E.28F is then examined to

9.2
determine whether or not to set the reschedule bit for U:RP3 in

T28I0. Control is returned to the calling program.

The station log will contain four types of messages:

a. Routine; change of status, parameter value, etc.

b. Tables; current or historical data on system operating status.

c. Reportable Signal Descriptors.

d. Operator generated messages.

The first type is generated by E$L0G (see Section 23) upon request

of either an applications or a system program. The tables are

generated by either M$STD (Section 22) or M$LEV (Section 21). Reportable

Signal Descriptions are generated as a result of waveform analysis via

U$REP (Section 17). The final type of messages is generated by the

operator using the LOG: option (see Section 8, E$0MI).

The program transmits data to the ASR 28 by calling E:028 using

the following calling sequence:

BLM,14 E:028

DEC (Address of first character to be transmitted)

and E.28F is set as follows:

BIT 0 = (21 All messages other than a Reprotable Signal Descriptor.

=1 If message is Part II of a RSD and the system is to

schedule U:RP3 when all other output is completed.

9.3
ASCII

CODE

ASCII

CHAR

BAUDOT

CODE

BAUDOT

CHAR

ASCII

CODE

ASCII

CHAR

BAUDOT

CODE

BAUDOT

CHAR

ASCII

CODE

ASCII

CHAR

BAUDOT

CODE

BAUDOT

CHAR

m NUL 00 NUL 2B + F-0B & 56 V L-0F V

01 SOH 00 NUL 2C 9 F-06 9 57 W L-19 W

02 STX 00 NUL 2D - F-18 - 58 X L-17 X 03 ETX 00 NUL 2E * F-07 • 59 Y L-15 Y

04 EOT 00 NUL 2F / F-17 / 5A Z L-11 Z

05 ENQ 00 NUL 30 0 F-0D 0 5B [ F-IE ( 06 ACK 00 NUL 31 1 F-ID 1 5C \ F-06 9 07 BEL 00 NUL 32 2 F-19 2 5D ] F-09 ) 08 BS 00 NUL 33 3 F-10 3 5E A 00 NUL

09 HT 00 NUL 34 4 F-0A 4 5F F-18 - 0A LF L-08 LF 35 5 F-01 5 60 V F-06 9 0B VT 00 NUL 36 6 F-15 6 61 a L-18 A

0C FF 00 NUL 37 7 F-IC 7 62 b L-13 B

(3D CR L-02 CR 38 8 F-0C 8 63 c L-0E C

0E SO 00 NUL 39 9 F-03 9 64 d L-12 D

0F SI 00 NUL 3A • F-0E ; 65 e L-10 E

10 DLE 00 NUL 3B F-0F 9 66 f L-16 F

11 DCl 00 NUL 3C < F-IE ( 67 g L-0B G

12 DC2 00 NUL 3D = F-16 1 68 h L-05 H

13 DCS 00 NUL 3E > F-09 ) 69 i L-0C I 14 DC4 00 NUL 3F ? F-13 ? 6A j L-IA J

15 MAK 00 NUL 40- 0 00 NUL 6B k L-IE K

16 SYN 00 NUL 41 A L-18 A 6C 1 L-09 L

17 ETB 00 NUL 42 B L-13 B 6D m L-07 M

18 CAN 00 NUL 43 C L-0E C 6E n L-06 N

19 EM 00 NUL 44 D L-12 D 6F 0 L-03 0

lA SVB 00 NUL 45 E L-10 E 70 P L-0D P

IB ESC 00 NUL 46 F L-16 F 71 q L-ID Q

1C FS L-IB FIG 47 G L-0B G 72 r L-0A R

ID GS 00 NUL 48 H L-05 H . 73 s L-14 S

IE RS 00 NUL 49 Ti L-0C I 74 t L-01 T

IF US L-IF LTR 4A J L-IA J 75 u L-IC U

20 space L-04 space 4B K L-IE K 76 V L-0F V

21 1 F-16 1 4C L L-09 L 77 w L-19 w

22 II F-11 II 4D M L-07 M 78 X L-17 X

23 # F-05 NP 4E N L-06 N 79 y L-15 Y

24 $ F-12 $ 4F 0 L-03 0 7A z L-11 Z

25 % F-17 / 50 P L-0D P 7B { F-IE ( 26 & F-0B & 51 Q L-ID Q 7C • F-06 9 27 1 F-IA ' 52 R L-0A R 7D } F-09 ) 28 ( F-IE ( 53 S L-14 S 7E '\j 00 NUL

29 ) F-09 ) 54 T L-01 T 7F DEL F-14 BEL

2A * F-IA 1 55 U L-IC U

code transmits in two modes. L is used to denote characters in

^ denote characters in the FIG mode. Both ASCII and

BAUDOT codes are shown in hexadecimal.

Table 9.1 NUSTAD ASCII to BAUDOT Conversion Table

9.4
All characters in consecutive memory locations beginning at the

location specified will be translated and stored for output until a

null character (00-jg) is reached. This will be considered as a

terminator for the output message.

9.2 Data Formats

9.2.1 Conversion Table Entries

The table used to equate ASCII characters with the BAUDOT equivalents

as given in Table 9.1 is called BAUDT. Each ASCII character corresponds

to one character (byte) in the table. The Most Significant Bit (MSB)

of the byte is set if the character in that byte is in the FIG mode.

The actual bits of the BAUDOT character are stored in the five Least

Significant Bits of that byte, in reverse order. For example, the

letter "A" is normally represented in BAUDOT as an 18-jg. In BAUDT

it is stored as 03^ g.

9.2.2 FLAG

During the translation process, mode change characters (lB-|g to FIG

and IF^g to LTR) are transmitted only when the next character is not

in the same mode as the last character translated. Therefore, bit 8

of FLAG is used to determine the mode of the last character moved to

CHRBF. If bit 8 is set, the last character considered was in the FIG

mode, and a mode change character will not be needed until the next

character is in the LTR mode.

9.5
9.2.3 T28I0

T28I0 maintains all necessary status information concerning the

ASR 28. It is interpreted as follows:

BIT 0 = 0 ASR 28 is idle, no output in progress.

= 1 Output is underway to the ASR 28.

BIT 1 = 0 No report message (Part III of RSD) waiting.

= 1 Need to schedule U:RP3 first time CHRBF becomes empty.

BIT 2=0 Normal output mode.

= 1 Next DI will be to output first character from CHRBF.

9.3 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

E:SKD E$SKD Scheduler entry point.

E.T05 E$SKD Task table entry for E:T28.

E.T07 E$SKD Task table entry for U:RP3.

9.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E.28F 1 Parameter used in calling E:028 (see Section 9.1.3).

E.280 1 External name given to T28I0 (see Section 9.2.3).

E:I28 Entry point to ASR 28 DI service routine.

E:T28 Entry point to ASR 28 character output routine.

E:028 Entry point to BAUDOT character translator and buffering

routine. J

9.6
9.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

BAUD! 64 Table of ASCII to BAUDOT character equivalents

(see Section 9.2.1 )

.

PNTIN 1 Pointer to next location in CHRBF into which a character may be stored by E:028.

PNTOT 1 Pointer to next character to be taken from CHRBF

by E:T28 for transmission to the ASR 28.

CHRBF 2048 Output buffer for characters for transmission to

the ASR 28.

T28I0 1 ASR 28 status word (see Section 9.2.3).

CONTR 3 The three control words necessary to initiate a character transfer to the ASR 28.

SAVRS 7 Register holding buffer.

FLAG 1 Bit 8 = 0 if last character moved to CHRBF by

E:028 was in the LTR mode, = 1 if it was FIG mode

(see Section 9.2.2).

9.7
E$T28

E$T28

0

STORE J

STORE BAUDOT

CHAR. IN OUTplt: buffer ai

ID
10. E$T35

10.1 Functional Description

The ASR 35 teletype is an ASCII character oriented teleprinter

with the capability to punch eight-level paper tapes simultaneous to

teleprinter operation. In NUSTAD, the ASR 35 is used to provide the

operator with a means to communicate with the operating system, and

provide the control necessary to the execution of background tasks.

E$T35 handles all aspects of data transmissions concerning the ASR 35.

It consists of three subprograms: E:I35, E:T35, and E:035.

10.1.1 E:I35 (ASR 35 Data Interrupt Service Routine )

On input, after the hardware character buffer contains a character

as the result of the operator depressing a key on the ASR 35 keyboard,

or on output as the transfer of a character from the hardware character

buffer to the teleprinter is completed, a data interrupt (DI) is generated

which vectors control to E:I35, which schedules E:T35 in the scheduler's

task table, and returns control to the interrupted program.

10.1.2 E:T35 (ASR 35 Character Input/Output Routine

Since the ASR 35 is configured for both input and output, and the

same interrupts are used for both functions, NUSTAD must always know

what the ASR 35 is currently being used for. This is done by means of

a status word called T35I0. Whenever E:T35 is entered from the system

scheduler after a DI, its response depends upon what role the ASR 35

is currently playing. Basically, the roles may be considered three:

10.1
a. Awaiting the operator to request an action through the

use of a keyword input (See Section 8.1 for a discussion of keywords).

b. Awaiting the operator to respond to a background program

request for information.

c. Busy outputting characters to the ASR 35 as specified by

a NUSTAD program.

We may summarize these states as being either input (a and b) or

output (c); and if awaiting input, then either the REQUEST mode (a)

or RESPONSE mode (b).

If the ASR 35 is currently being used for output, each entry to

E:T35 signals the end of one character's transmission; thus the

teleprinter is ready to receive another. If another character is

available in the output buffer, it is transmitted. Otherwise, the

buffer is considered empty and output is terminated. When the buffer

is emptied, status bits are checked in T35I0 to determine if the output

is from a background task and whether that task is ready to resume

processing. If it is, E:BSK is rescheduled. In either case, a lack

of output puts the ASR 35 into an input state.

Normally, the ASR 35 is in the REQUEST mode. The operator calls

NUSTAD's attention by typing the slash character (/). E;T35 detects

this as the only valid initial character in the REQUEST mode, and

crosses it to form the letter X, informing the operator that NUSTAD

10.2
is ready to accept a keyword input. When the operator terminates his

input by typing a carriage return character, E$0MI is scheduled in the

scheduler's task table and control is returned to the scheduler.

If an output request from a background program sets a flag bit

to identify a request for an operator response, then the ASR 35 automatically goes into the RESPONSE mode when the output buffer becomes

empty. When the operator terminates his response with a CR, NUSTAD

will reschedule the background scheduler (E:BSK) in the task table

to permit the background task to resume processing.

10.1.3 E:035 (ASR 35 Message Output Routine )

Any foreground program (or B:I0R for background programs) which

desires to output to the ASR 35 does so by calling E:035. This

routine transfers the message into an output buffer. When the transfer

is complete, T35I0 is examined to determine if input is actually going

on. If it is, T35I0 is flagged to indicate that output is pending, to

be started as soon as the current input is terminated. If there is no

input underway, E:035 checks to see if output is underway. If it is,

the current message will be considered as a continuation of the current

output stream and nothing further need be done. If neither input nor

output is underway, the output is initiated by issuing a terminate

command to the ASR 35. When this is received, a service interrupt (SI)

is received, vectoring control to E:35S where the first of two null

10.3
characters is transmitted. E:035 returns control to the calling

program after checking the desired options as requested in E.IOF and

setting T35I0 accordingly.

The calling sequence to initiate an output to the ASR 35 is:

BLM,14 E:035

DEC (Address of first character to be transmitted)

and E.IOF set as follows:

BIT 0=0 Do not reschedule E:BSK immediately after the

output is completed. This option is used by

foreground tasks with output to the ASR 35 or

by background tasks in conjunction with BIT 1 = 1 to permit the background to request information

from the operator, then not reenter the background

program until the operator's response has been read

= 1 Reschedule E:BSK as soon as the output buffer is

empty.

BIT 1=0 No response to the program's output is expected

from the operator.

= 1 The message now in the output buffer is a request

by a background program for information. Do not

reschedule E:BSK until the input is complete. The

ASR 35 will be put into the RESPONSE mode when the

the output buffer is emptied.

All characters in consecutive memory locations beginning at the

location specified will be moved to the output buffer (two characters

per v/ord) until a null word (0000ie) is encountered. This will be

considered as a terminator for the output message.

While entering his input data stream, the operator may use two

options designed to permit text editing:

10.4
a. The most previous character entered may be deleted from

the input buffer by typing a RUB OUT character. This feature may be

repeated to delete several letters to the point where the initial

system call request is deleted, at which point E:T35 will disregard

the entire message and reset flags to begin receiving input anew.

b. The entire message may be disregarded by typing a CAN,

entered by simultaneously depressing the CONTR and X keys. Input

may then begin anew for that message.

E:T35 expects the first character entered while in the REQUEST

mode to be the slash (/). If it is not, an "INVALID SYSTEM CALL"

message is generated and the message is disregarded.

10 . 2 Data Formats

10.2.1 T35I0

The current status of 10 operations with the ASR 35 is maintained

in T35I0. The bits of this status word are interpreted as follows:

BIT 0 = ^ Input is expected. The ASR 35 is set to respond

to input characters entered from the keyboard,

but has not yet received the first character of

an input message.

= 1 Output is currently in progress to the ASR 35.

Further output requests are not needed as additional

messages will be appended as a continuation of the

current data stream. Input is inhibited until

output is complete.

10.5
BIT 1 = 0 Data input is awaiting the first character of

an input message.

= 1 Input message is underway; i.e., past the first

character.

BIT 2 = 0 Input is in the REQUEST mode. Input message will

be processed by E$0MI.

= 1 Input is in the RESPONSE mode. Termination of

input message will cause E:BSK to be rescheduled.

BIT 3 = 0 No output messages have been entered into the

output buffer while current input has been underway

= 1 At least one program has requested a message to

be output to the teleprinter while input was underway. When the input is completed, initiate the

sequence to begin the character output transfer.

BIT 4 = 0 The ASR 35 is not currently busy with output.

= 1 The ASR 35 currently has output underway.

BIT 5 = 0 Do not reschedule E:BSK after the output is

completed. If the output is generated by a background program, an operator response is expected

before background processing may be resumed.

= 1 When the output buffer becomes empty, reschedule

E:BSK to permit the background task to resume processing.

BIT 6 = 0 Normal output underway.

= 1 The current DI follows the first null character

transfer, transmit another null as the next output character.

BIT 7 = 0 Normal output underv/ay.

= 1 Second null completed, begin with first character

from output buffer.

10.6
10.3 Input Parameter Descriptions

PARAl^ETER PROGRAM DESCRIPTION

E.T06 E$SKD Task table entry for E$0MI

E.T12 E$SKD Task table entry for E:T35

E.T15 E$SKD Task table entry for background system (E:BSK)

E:SKD E$SKD System scheduler entry point

10.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E.35I 80 Input character buffer, one character per word.

Input character stream terminated by word = 0000ig

E.31C 1 Counter of input characters in input buffer. Used

as a pointer to indicate where to store next

character during actual input.

E.IOF 1 Parameter word used with call to E:035

E.350 1 External reference to T35I0 (See Section 10.2.1)

10.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

T35I0 1 ASR 35 processing status (See Section 10.2.1)

FOULl 13 "INVALID SYSTEM CALL" message

GOODl 3 Backslash response to valid system call

CRLF 2 Carriage return and Line feed

OUTBF 256 Output character buffer, pack two characters per word

PNTIN 1 Pointer to next location in OUTBF into which a character may be stored by E:035

PNTOT 1 Pointer to next character to be taken from OUTBF

by E:T35 for transmission to the ASR 35

SAVRS 7 Register holding buffer

E35SV 7 Register holding buffer
E$T35

10.7a
B

REPLACE C/R

WITH ?r0000 AS

LAST CHAR OF

MSG

CLEAR MSG PAST

FIRST CHAR EL/.

TO TERMINATE

MSG

V

EiSKD

10.7b
E$T35

10.7c

E$T35

TOTST

4

SET Bir IN I T33IO TO SHOW I OUTPUT' FUNCTION

TO USE ASR35 i V

CLEAR output: ' WAITING BiT j IN T35IO I V

ENABLE SERVICE

INTERRUPT TO j RESPOND TO ! TERMINATE COMf

HAND FOR INPUT

NOW SET J

rrSSTJE TERPTT

tnate com - / MAND TO /

I E:35S

I RESTORE REGISTERS 1-7 TO

ENTRY VALUES

VironrTNT

6c RETUkN

10. 7e
n. E$MAG

11.1 Functional Description

The WANG 45 ips nonvacuum tape drive is used to process 7-track IBM

compatible magnetic tapes. In NUSTAD, this device is dedicated to the

input of DRFUD data from tapes previously recorded on the DRFUD units.

E$MAG consists of three routines, E:MTI, M:MAG, and M:MGS.

11.1.1 E:MTI (Mag Tape SI Service Routine )

Whenever a mag tape data transfer (via DMP) is completed, a service

interrrupt (SI) vectors control to the interrupt service routine,

E:MTI. This routine flags E:MAG in the scheduler's task table and

returns control to the interrupted program.

11.1.2 E:MAG (Mag Tape Error Checking Routine )

E:MAG is entered from the scheduler to examine a completed

data transfer from the mag tape unit. It reads the hardware status for

that transfer and checks for the following errors:

a. If switch register bit 2 is reset, E:MAG will record parity

errors with a "MAG TAPE PARITY ERROR, CALLING TASK ABORTED" message. If

switch register bit 2 is set, parity errors will be ignored.

b. Tape defects will be brought to the operator's attention with

a "TAPE DEFECT DETECTED, CALLING TASK ABORTED" message.

c. If the end of tape marker is discovered, an "END OF TAPE

DETECTED, CALLING TASK ABORTED" message is generated.

d. If the tape unit became inoperative during the transfer, a

"TAPE UNIT INOPERATIVE, CALLING TASK ABORTED" message is generated.

’^ 11.1
If any of these errors are reported to the operator on the ASR 35, the

background task is aborted (B.STT is set to 0), and the data transfer

is ignored. If, however, no errors are discovered, E:BSK is rescheduled

to permit the current background task to resume processing and control

is returned to the scheduler.

11.1.3 E:MG$ (Mag Tape Input Initiate Routine)

Currently, the only program which requests a mag tape data transfer

is B:I0R, which does so for the background programs processing DRFUD

data tapes. The calling sequence for a data read from mag tape

is:

BLM,13 E:MGS

DEC (Memory address into which first word to be stored)

DEC (Count of words to be transferred)

The two parameters are stored into the DMP transfer address and

transfer count (after negating the TC).

The status of the equipment is read and if it is either off-line,

not ready, or without power, a "MAG TAPE NOT READY, CALLING TASK

ABORTED" message is generated and the background task underway is

aborted. If all equipment is ready for the transfer, it is initiated,

and control is returned to the calling routine.
n.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:035 E$T35 Transfers output message to buffer before

transmission to the ASR 35.

11.3 Input Parameter Description

PARAMETER PROGRAM DESCRIPTION

E:SKD E$SKD System scheduler's entry point.

E.Tll E$SKD Task table entry for E:MAG.

E.T15 E$SKD Task table entry for background scheduler (E:BSK)

E.IOF E$T35 Parameter used in calling E:035.

B.sn E$T35 Background processing status (See Table 3.2)

F.MTP F$FMT Mag tape buffer word pointer.

11.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:TMI Entry point for mag tape SI service routine.

E;MAG Entry point for mag tape transfer completed routine

E:MGS Entry point for input request routine for mag tape.

11.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

M01 24 "MAG TAPE NOT READY, CALLING TASK ABORTED." message

M02 14 "MAG TAPE PARITY ERROR," message

M03 13 "TAPE DEFECT DETECTED," message

M04 13 "END OF TAPE DETECTED," message

M05 14 "TAPE UNIT INOPERATIVE," message

M06 13 "CALLING TASK ABORTED." message

TEMP 7 Register holding buffer.
11.3a
G

E:MGS j

V

SAVE REGISTERS

1-7

11.3b
12 . U$RTA

12.1 Functional Description

12.1.1 U:RTA (U Data Real Time Analysis Routine) i

/ X U:RTA (^eal Time Analysis) is the program responsible for maintaining;

j the sensor parameters at optimum operating levels. It is entered from

E:SKD after E:UIN flags the scheduler that ten seconds of data have

been collected. It performs the following functions with that data

from the ten-second time segment just ending:

a. Monitor channel amplitude. Amplitude values between AMPMN

and AMPMX (see Figure 12.1) are considered "good" points. Any value

below AMPMN is considered low and any value above AMPMX high. These

points are tallied in counters called HIVTY (HJ_gh V^alue Tall^) and LOVTY

(L^w V^alue Tall^) respectively. Furthermore, points below AMPDR indicate i

sufficient loss of signal strength to cause the phase value at this time |;

to be considered unusable. The first three amplitude samples during a

|

ten-second time segment which are below the AMPDR level cause the previous

second's phase value to replace the current one. This substitution of

phase values account for the last second's data from the previous tensecond time segment being saved in the first row of the working buffer--

U.WRK (making eleven rows in all). If more than three values below AMPDR

are encountered, a data validity flag, MUBAV, is set to -1 to indicate a

signal lost condition. Of the points greater than AMPMX, those above
SATUR saturate the sensor, causing the phase estimation to be distorted

and therefore unreliable. If more than six points are greater than SATUR

during a ten-second time segment, MUBAV is then set to +1 to indicate a

saturated signal condition. The last amplitude value from the ten-second

time segment is saved for each channel in U.AMP as that channel's amplitude

estimate for the ten-second segment.

b. Monitor channel phase. When a fifty microsecond phase

shift is induced in the reference frequency of the sensor's mixer,

E:UIN (see Section 6.1.2 (b)) sets a flag bit for the then current phase

value to show that the shift v/ould take place before the next sample.

The phase monitoring part of U:RTA detects this bit and adds U.CYC (which

was set to +5(3 microseconds, depending on the direction of the shift)

to U.CCN, which contains the total compensation for the cycle shifts to

the moment, before the next point is considered. U.CCN is added to each

phase value to create continuity in the data stream over these shifts.

This extends the phase range from 1(30 microseconds at the sensor to about

8000 microseconds at the processor. The average of the current ten-phase

values, including the shift compensations, is finally stored for use by

the least squares slope algorithm (U:LSQ).

c. Performs data compression. Each data point is compared to

the current window maximum and minimum values to determine whether or

not it lies within the current window (see Section 12.3.2 for a discussion

of the data compression algorithm). If a point falls outside the window,

it is established as the center (CEMTR) of the new window, around which

new maximum (WINMX) and minimum (WINMN) values are computed. The window

12.2
size is determined by the standard deviation of the phase values. The

new window center is considered a compressed data point, and is held with

its time in a buffer (U.CMP) and tallied by a compressed point counter

(U.CPC). Each time a compressed point is discovered, bit 11 of the

console switch register is examined. If that bit is set, and the binary

representation of the sensor channel on which the point was discovered

is given in switch register bits 12 - 15, then the time and phase value

of that compressed point is displayed for the operator on the ASR 35

teleprinter.

The following table relates the sensor channels and the value to

be entered into bits 12 - 15 of the console switch register for use

in specifying which channel's compressed data points are to be displayed

on the ASR 35.

m l>

0 = Reset Bit :

1 = Set Bit ; I

Table 12.1 Compressed Data Point Channel Specification

12.3

CHANNEL 12

BIT

13 14 15

A 0 0 ,0 0

B 0 0 0 1 C 0 0 1 0

D 0 0 1 1 E 0 1 0 0

F 0 1 1 G 0 1 0

H 0 1 1 1

I 1 0 0 0

J 1 0 0 1 K 1 0 1 0

L 1 0 1 1 M 1 1 0 0

N 1 1 0 1
d. Monitors percent blanked level. The last "percent blanked"

value of each ten-second segment is summed (for each channel) over two

minutes (i.e. twelve points).

e. Controls channel RF gain. Every two minutes, controlled by

the gain clock (GCLOK), the number of points tallied below AMPMN and

above AMPMX are compared to a count of 90 (i.e. 75% of all points

during that two minute period). If one of these levels exceeds this

value, the RF gain is increased or decreased accordingly, and the

action is logged on the ASR 28. All counters and clocks are reset for

the next two minute period.

f. Controls blanking level. When the gain control program

completes execution, the sum of "percent blanked" values over the

previous two minutes is compared against BLKMN and BLKMX (see Figure

12.1) to determine the need to increase or decrease the blanking level.

If such a change is made, the action is logged on the ASR 28.

g. Compute standard deviation. In the phase monitoring

part of U:RTA,the difference between the individual phase values and

the previous ten seconds' average (XBAR) was accumulated. Once every

90 seconds, controlled by the tracking clock (TCLOK), this accumulated

sum is fed into the standard deviation algorithm described in Section

12.3.1 and a standard deviation estimate (SIGMA) is computed.

h. Controls tracking rate. The standard deviation is compared

against TRMIN and TRMAX (see Figure 12.1) to determine the need to

increase or decrease the tracking rate. If such a change is made, the

action is logged on the ASR 28.

12.4
GAIN CONTROL LEVELS

.--AMPDP -19 dB

BLANKING RATE CONTROL LEVELS

4a% 4.57=

BLKMN BLKMX

TRACKING RATE CONTROL LEVELS

Standard Deviation: .5 microseconds 1.25 microseconds

TRMIN TRMAX

Figure 12,1 Parameter Control Levels

12.5
i. Controls the channel down sequence. When MUBAV is set to

-1 , the data during that segment is considered invalid, and the channel is

put into, or continues in a down sequence. The channel passes through

four states (determined by the value of U.CST):

(1) UP (U.CST=1). In this case, MUBAV = p, indicating

good data. Waveform processing continues as normal.

(2) COASTING, NO REPORT (U.CST=2). The first two times

MUBAV is not 0, the channel is put into the first coasting state. The

operator is not informed and most waveform processing continues as

normal

.

(3) COASTING, REPORTED (U.CST=3). After thirty seconds

of bad data; i.e., MUBAV r / three times, the channel is put into the

second coasting state and the reason for the data being considered invalid

is logged on the ASR 28. If MUBAV was -1 all three times, the signal will

be logged as lost ("CF", channel £oasting for signal £ailure). If

MUBAV was +1 all three times, the signal will be logged as saturated

("CS", channel £oasting for signal Saturation). If neither of these

cases should occur, the channel is logged "CN." In this state, the

waveform analysis will be permitted to continue on any signal currently

in progress, but new signals will not be started.

(4) DOWN (U.CST=4). Whenever processing is inhibited by

an INE or MAINTENANCE condition (see Section 20), or in a coasting

state for five minutes, the channel is put DOWN. While in the DOWN

state, no data processing whatsoever is performed on that channel.

12.6
A channel's status will be returned to UP from any state when

three minutes pass with all values of MUBAV = 0, indicating a continuous

stream of good data for 180 seconds. The amplitude monitoring part

of U:RTA performs this movement to the UP state by incrementing the

recovery tally (U.RTY) each time it is not zero and MUBAV is zero.

When U.RTY reaches zero, the channel is put up and the necessary

parameters are reset to permit the data processing to resume on it.

12.1.2 U:CNI (Signal In Progress Checking Subroutine )

U:CNI is a subsection of the internal subroutine called CANI.

During periods when a valid signal is probably in progress, NUSTAD

refrains from making automatic adjustments to the control settings

on the sensor. The OPC: option permits the operator to request these

adjustments without his knowing the waveform processing status.

Therefore, before his requested adjustment is made, U:CNI is called

to determine whether or not a signal is in progress. The following

criteria are used to establish a signal as in progress:

a. U.AST, the analysis status, indicates a peak has been

found.

b. If an onset has been found, more than 50 seconds have

elapsed since that onset.

The answer as to whether a signal is in progress or not is indicated

to the calling program by the location where control is returned.

If the adjustment is not permitted, control is returned immediately.

Otherwise, the location counter is incremented by two before the

return. The calling sequence looks like this:

12.7
BLM,15 U:CNI

BRU CANOT (return if signal in progress, not allowing

adjustments to sensor settings)

(return if no signal in progress,

adjustments may be made).

Where channel being checked is indicated in R6.

12.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:DIF E$DIF Establishes whether or not a signal is in

progress on a given channel, and if one is,

returns the time difference in seconds

between onset and the parameter value.

E:SRT E$SRT Computes the square root of the parameter.

E:MIT E$UIN Transmits sensor parameter settings to

equipment.

U:LSQ U$LSQ Least squares slope computation routine,

next step in processing current ten-second

data segment.

E:035 E$T35 Transfers output message to buffer before

transmission to the ASR 35.

E:FCT E$FRT Reformats BCD time from memory to ASCII

for output.

E:LOG E$LOG Generates coded messages for the station

log and initiates their transfer to the

ASR 28 via E$T28.

E:FMF E$FMF Reformats phase values from internal

binary representation to ASCII decimal

for output.

12.8
12.3 Computational Techniques

12.3.1 Standard Deviation

NUSTAD uses the standard deviation of the incoming phase values

to adjust the tracking rate and to determine the offset necessary

to trigger the waveform analysis routine. The standard deviation is

computed by a variation on the mathematical definition of the standard

deviation. The actual definition for the standard deviation of a

set of n elements, call them (x^, Xp x ^_-|) is:

Standard deviation

Where x

"i

n-1

i=0

\!

(n - 1)

n

In NUSTAD, the buffering requirement necessary to actually use this

approach (90 samples per channel times 14 channels) makes the computation

impractical. Therefore, x (called XBAR) is approximated by the arithmetic

mean of the previous rather than the current 90 second period. Experience

has shown this to be reasonable as the standard deviation is "frozen"

during periods of large phase offsets, where this computation would

be most affected by such a substitution. The sum of the

12.9
differences between the individual points and XBAR is stored (double

precision) in U2ACC; while UACCl accumulates the sum of the current

points to determine XBAR for the next 90 second interval. The square

root is computed by the executive support subroutine E$SRT (see

Section 28).

12.3.2 Data Compression

The data compression algorithm used by NUSTAD is based on a technique

called the Zero-Order Predictor Floating Aperture method. The procedures

of the technique are:

"In the floating aperture algorithm of the zero-order predictor,

an aperture of 2K is placed around the last transmitted data point.

If each new data point lies within the aperture placed about the

last transmitted data point, then the new data points are not

transmitted. If a new data point falls outside the aperture about

the last transmitted data point, then the present data point is

transmitted and the process is repeated. The predicted point in

this case is the last transmitted data point with a tolerance of

+K placed about it. The aperture, then, has the effect of 'floating'

with the last transmitted value."

(From: Andrews, CA.; Davies, J.M.; Schware, R.R.; "Adaptive Data

Compression," Proceedings of the IEEE , Volume 55, Number 3,

March 1967, page 268.)

In NUSTAD we refer to the aperture as the data window and establish its

size as + DELTA, a variable as defined below. The window therefore,

has minimum and maximum values as defined by:

WINMN = CENTR - DELTA

WINMX = CENTR + DELTA

Where CENTR is the last point to fall outside a previous data window.

We refer to these points as compressed data points and retain them as

the only phase values used by the waveform analysis programs.

12.10
The original design was to establish DELTA as a constant times

the last computed standard deviation value (SIGMA), with a minimum value of

one microsecond. Experiments with this approach were very encouraging, but

a major flaw was soon uncovered. The trigger detection algorithm (see

Section 14.1.1) requires a predetermined number of compressed data

points in a single direction to establish an event trigger. If a sudden

phase excursion occurred near the end of a 90 second interval for which

a new value of SIGMA would be computed, an insufficient number of

compressed points may have been read to establish the trigger. The

I ; new SIGMA value, however, would have ballooned due to the effect of

||

points significantly apart from XBAR, and the window opened up }'

i

' accordingly. This would naturally reduce the number of compressed j

'

j

i points considered, and on several occasions, to the point where the

remaining points needed to establish the trigger, or to confirm a potential

peak were not detected. To avoid this situation, SIGMA from the previous

computation, called LSIGM was used to establish the value for DELTA,

ensuring that the phase excursion could not occur in the same interval

for which the standard deviation was computed. Therefore, we may

summarize that DELTA is determined as follows:

a. If LSIGM, the standard deviation value used to estimate

the background noise level, times 1.5 is less than one microsecond,

DELTA is set to one microsecond.

b. If LSIGM times 1.5 is not less than one microsecond, DELTA

is set to LSIGM times 1.5.

12.11
c. If a signal is in progress; i.e., U.AST > 1, DELTA will not

be adjusted.

In this way, compressed points are collected based on the level of

the background noise for that channel. In a very quiet environment,

points separated by no less than one microsecond are examined, while

greater noise will desensitize the triggering and waveform analysis

routines

.

12.4 Data Formats

See Section 6.2 for a description of data values used by U:RTA.

The phase range, however, has been extended by the addition of U.CCN

to compensate for the 50 microsecond phase shifts as described above.

The internal representation of phase may be regarded as follows:

BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 1 A J

INTEGER PART

(in microseconds)

f

FRACTIONAL

PART

ASSUMED

BINARY

POINT

Figure 12.2 Internal Phase Value Representation
12.5 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.CYC U$DAT Set to - 50 microseconds when cycle shift is sent

to the sensor.

U.WRT U$DAT Working storage for data from sensor.

U.RTY U$DAT Channel recovery tally. Counts ten-second

segments with good amplitude values to bring

channel up after three minutes.

U.IHB U$DAT Bit 0 set to inhibit processing on channel if INE or Maintenance condition set on the channel.

U.AST U$DAT Channel waveform analysis status, indicates point ip signal to which processing has progressed.

U.FAC U$DAT The update factor used in the digital filter for

the diurnal estimate.

U.CCN U$DAT Accumulated effect of cycle shifts.

U.LST U$DAT Table of ten-second averages used in least squares

slope computation.

U.LSP R$DAT Pointer to next row for storage of points in U.LST.'

1 U.LTF U$DAT The longer time constant factor for the digital

filter of the diurnal estimate.

U.DIU U$DAT The diurnal slope estimate, an estimate of the

long term trends in phase deviation.

U.BLL U$DAT Current blanking level settings for the channels.

U.TRK U$DAT Current tracking rate settings for the channels.

U.GAN U$DAT Current RF gain settings for the channels. i

U.CPC U$DAT Channel compressed point counter.

^ U.CMP U$DAT Compressed point phase and time value table.

U.CTM U$DAT Two words of BCD time for the last samples read;

i.e., the current time for the ten-second segment.

12.13
12.5 Input Parameter Descriptions (continued )

PARAMETER PROGRAM DESCRIPTION

U.TRF U$TGR Channel trigger flag, indicates status of

trigger detecting program.

E.TMlI

E.TM2J

E$FRT Two word BCD time used as parameter value for E:FCT

U.CST U$DAT Channel status, used to indicate validity of input

data based on amplitude monitoring program evaluation.

U.AMP U$DAT Amplitude estimate for current ten-seccnd segment,

taken from last second's value of segment for

each channel

.

U.CPP U$DAT Pointers to the beginning of each channel's section

of U.CMP.

E.IOF E$T35 Parameter word used in calling E:035.

M.STA M$ESC Current values of digital input word status from

the sensor.

12.6 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

U:RTA Entry point for Real Time Analysis routine

(see Section 12.1.1).

U:CNI Entry point for routine to determine whether signal

is in progress for granting permission to make

sensor parameter setting adjustment. (See Section

12.1.2.)

U.SIG 14 Standard deviation estimate. U.SIG is used to

externally access internal parameter SIGMA.

U.TM3 1 External reference name for the gain clock, GCLOK.

U.TM4 1 External reference name for the track clock, TCLOK

12.14
12.7 Internal Data Descriptions

.

PARAMETER SIZE DESCRIPTION

LSTMS 5 DOY/TOD group for optional compressed point listing.

LSTMG 7 Phase value for optional compressed point listing.

COSVR 6 Register holding buffer.

TREGS 7 Register holding buffer.

AMPMN 1 =614-j^ (equivalent of -8dB) minimum amplitude in

"good" range.

AMPMX 1 =666-j^ (equivalent of +5dB) when added to ,AMPMN,

gives the maximum amplitude in the "good" range.

AMP DP 1 =563^^ (equivalent of ~19dB) when subtracted from

AMPMN, gives the minimum amplitude in the "valid" rang

SATUR 1 =707-j^ (equivalent of +18.8 dB) when added to AMPMX,

gives the maximum amplitude in the "valid" range.

LOVTY 14 Count of amplitude values below AMPMN (2 minutes).

HIVTY 14 Count of amplitude values above AMPMX (2 minutes).

SATTY 1 Count of amplitude values above SATUR (10 seconds).

DRPTY 1 Count of amplitude values below AMPDP (10 seconds).

MUBAV 1 Amplitude validity flag:

+1 if amplitude indicates saturated data

0 if amplitude indicates valid data

-1 if amplitude indicates lost signal

UBADT 14 Counter of ten-second segments during which MUBAV 0.

UBADS 14 Sum of MUBAV values during times of "bad" amplitude.

UACCl 28 Double precision sums of current phase values with

cycle shift compensation included.

U2ACC 28 Double precision sums of the difference between curren' phase values and the average phase value of the previo

90 second interval (i.e., XBAR)

SIGMA 14 Computed standard deviation of incoming phase values.

(See Section 12.3.1 .

)

12.15
12.7 Internal Data Descriptions (continued)

PARAMETER SIZE DESCRIPTION

LSIGM 14 Value of SIGMA during previous 9p second interval.

XBAR 14 Average phase value during previous 9(3 second interval,

used as average phase value in standard deviation

computation (see Section 12.3.1).

WINMX 14 Upper bounds for current data windows of the data

compression algorithm (see Section 12.3.2).

WINMN 14 Lower bounds for current data windows of the data

compression algorithm (see Section 12.3.2).

DELTA 14 One-half the current window width, minimum value = 1 msec

WINMX = CENTR + DELTA

WINMN = CENTR - DELTA

K , 2 Double precision constant = 1.5. Used to compute DELTA;

DELTA = K * LSIGM

UBACC 14 Sums last percent blanked value of each ten second

segment over a two minute interval.

CFLAG 1 Bit 0

= 1 if an adjustment is needed for the gain or

blanking level on the current channel.

BLKMN 1 = B9ie»rninimum acceptable blanking percentage, = 4.1%.

BLKMX 1 = A9iei maximum acceptable blanking percentage, = 4.5%

GCLOK 1 Counts ten-second time segments for two minutes to

control entry to gain and blanking level control

sections of the program.

TCLOK 1 Counts ten-second time segments for 90 seconds to

control entry to the tracking rate control section of

the program.

TRMAX 1 = 14ie (equivalent of 1.25 microseconds) maximum

acceptable value of SIGMA for a good tracking rate

setting.

TRMIN 1 = 08i 6 (equivalent of .50 microseconds) minimum

acceptable value of SIGMA for a good tracking rate

setting.

CENTR 14 The center of the current data window, also the last

compressed data point encountered for each channel.

12.16

12 . 16b
U$RTA 0

'DOUBL’r PREClSiON PtL^SE

\'ALUE 10

Ri0, Rll

C OMP U I ( F H.1 s

;

K3AR) - A’ ~RE

aBAr is PREDOITP^ UTJFCIS:

[A.DD (BIt\SjrIXBAK ^0

IRIZ, R13

ON

UPDATE SlTi OF

POINTS ACcip:ui-'\tor

I'ACClr UACCl-

(R10,R 11)

T-*T') T> L L LJ L SIM OF

SOU.\RF.S ACCLTl UIA.iOR

U2A CCrl’pACC -V- (R1 2, Ri3)

V

12 . 16c
12 . 16J

12 . 16 f
U$RTA

{on)
V

mi{^7XE
U$RTA

I

i

12.161

I
13. u$Lsg

13.1 Functional Description

Two parar.eters are used by the trigger detection and waveform

analysis programs (U$TGR and U$WFA) in processing U data signals

in real time. While selected phase values are stored for use

by U$RTA in its data compression sch-eme (see Section 12.3.2), the

waveform analysis algorithm used by NUSTAD also relies on information

regarding the trends in the phase data. The values used to determine

these trends are derived from the short term estimates of the phase

slope. NUSTAD uses a Least Squares Estimation as a maximum likelihood

fit to determine this short term (100 second) slope value. Each

ten seconds, after U$RTA passes control to U:LSQ, the slope estimate

for the preceding 1(30 seconds is computed and stored in U.SLP for

for each channel. When completed, control is passed to U$TGR for

trigger detection.

13.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

U:TGR U$TGR Trigger detection routine, next step in

processing current ten-second data segment.

13.1
13.3 CorrDutational Methods--Least Sauares Alaon'thm

The short term slope estimate is made by NUSTAD by applying a least

squares fit to ten-second segment average phase values over a period

of 100 seconds. The formula for such a slope estimate is:

SLOPE = ST SY - K S T„Y„

n n n ~T

0 )

Where: K is the number of average values considered, currently = If) (i.e. 100 seconds)

The sums are taken between the limits of n = 1 and K

T^ is the time value (in seconds) for the n^^ average value

Y^ is the 10 second phase average at time T^

Since the actual value of T^ is immaterial to the computation,

and samples are taken at uniform intervals, assume the interval value

A = 10 seconds and assign Tx = zero. Then we can determine T^ as follows

= A(n - 1) (2)

Then it follows:

_ AK (K - 1) (3) ^

'n "

2

and st!= a\^(K - 1)(2K - 1) (4)

" 6

Substituting these values in (1), we determine:

AK(K - 1) - AK E (n - 1)Y^

SLOPE = 2 (5)

A^K^(K-l) - A'^K^(K - 1)(2K - 1)

4 6

13.2
Which simplifies as follows:

AK(K-l) - 2AK z(n-l)Y^

2

SLOPE = 2~2 2—

2 3A K (K-1) - 2A K (K-1)(2K-1)

12

6AK[(K-1) ZY„ - 2 S(n-1)Y„]

SLOPE = 2-Z —

A K (K-1) [3K-1) - 2(2K-1)]

12[ Z (K-1)Y

„

- S(n-1)Y„]

2

1

1

*1 slope = ^ AK(K-1)(-K-1)

Since our selection of the starting point is immaterial, a unit

in n (i.e., let n = n-1 , changing the limits of summation from

n = 0 to K-1) will not affect the computation:

-12 s -(K-l)Y. SnY

SLOPE

12

AK(K -1)

-AK(K -1)

K-1

I [

n=0

(6)

(7)

( 8 )

adjustment

(9)

SLOPE

(10)
The leading factor is a series of constants, where:

A = 10 seconds (the interval between averages)

K = 10 intervals (resulting in a second slope estimate)

These values are combined with a scaling adjustment to give the slope

in microseconds/minute (at equation (1^)) the result is in microseconds/

second) reducing the leading factor to:

12 * 60

10 * 10 * 99

720 .^imn

The expression in brackets ranges from

^

-

' to +

unit steps, or the set of points (-4.5, -3.5, -2.5,

+4.5) for the ten intervals currently used by NUSTAD.

(Ml

2

in

+2.5, +3.5,

To simplify internal representation of these constant values (primarily

eliminating the need for both integer and fractional representation

causing mixed multiplications which result in wasted time for a real-time

system), the leading factor is multiplied by ten, and the factor in

the brackets is divided by ten (this also results in steps of .10 rather

than one between the bracket factors). In NUSTAD, these values are

given the following names:

TUFAC = .727272 (the leading factor, adjusted)

TUMAX = .45 (the maximum value for the bracket expression

adjusted

TUWDF = .10 (the incremental step between successive values

for the brackets expression adjusted)

TUWAT The variable which corresponds to the brackets

expression, assuming the values of -.45, -.35,

-.25, +.25, +.35, +.45

13.4
13.4 Data Formats

13.4.1 U.LST and U.LSP

To compute a new least squares slope estimate at each ten-second

interval, it is necessary to have the previous ten-phase averages

available for each channel. This results in a 10 by 14 word matrix

called U.LST. To eliminate a lot of data shuffling within the matrix,

it is designed to be wrapped-around, using a pointer called U.LSP

to indicate where the "oldest" values are located. This is convenient

as the U.LSP also indicates where the. next values are to be stored,

giving double duty to the single value. U.LST may be pictured as

shown in Figure 13.1. U.LSP can be represented as n * 14, where n

ranges from 0 to 9, corresponding to the relative location of the

"oldest" average value (Y^ in the derivation of Section 13.3) for

channel A.

CHANNEL

A B C D E

U.LST U.LST+1 U.LST+2 U.LST+3 U.LST+4

Tii U.LST+14 U.LST+15 U.LST+1

6

U.LST+1

7

U.LST+1

8

RELATIVE —

1

1—

1

HH U.LST+28 U.LST+29 U.LST+30 U.LST+31 U.LST+32

TIME • • SEPARATED • • BY TEN • • SECONDS • • U.LST+126 U.LST+1 27 U.LST+1 28 U.LST+1 29 U.LST+1 30

Figure 13.1 Structural Organization of U.LST

13.5
13.4.2 TUWAT, TUWDF, TUMAX, and TUFAC

The interval values of U$LSQ which represent totally fractional

values are represented in the following format:

BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

t

^ ^

*

FRACTIONAL VALUE (i.e. bit 1=2 , bit 2 = 2 , etc.)

ASSUMED BINARY POINT

SIGN BIT

Figure 13.2 Internal Representation of Fractional Values

13.4.3 U.SLP

The computed value of slope is stored in U.SLP as a value in

microseconds per minute, and may be interpreted as follows:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1

1

1

T

. yV —L,

INTEGER PART FRACTIONAL PART

SIGN BIT ASSUMED BINARY POINT

Figure 13.3 Representation of Slope in U.SLP

13.6
13.5 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.LST U$DAT Table of ten-second phase averages for last 100

seconds, see Section 13.4 for description.

U.LSP U$DAT Pointer to base of oldest row in U.LST (see

Section 13.4)

U.CST U$DAT Channel status, used to indicate validity of input

data based on amplitude monitoring program

evaluation.

U.SLP U$DAT Computed slope estimate in microseconds per

minute. Indicates short term data trends.

13.6 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

U.LSQ Entry point for least squares slope computation

routine (see Section 13.1).

13.7 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SUM 28 Double precision accumulator for the term

n - (K-1) in equation (1) of Section 13

TUWAT 1 The "brackets expression" value (see Section 13.3)

TUWDF 1 = 0CCCie = incremental step value

for the "brackets expression" of equation (10),

Section 13.3.

TUMAX 1 = 3999je = absolute value of the

extreme limits of the "brackets expression" of

equation (1(3), Section 13.3.

TUFAC 1 =5D17-,^ = .727272-,^; the "leading factor" of

equation (10), Settinn 13.3.

13.7
U$LSQ

1

13.7a
14. U$TGR

14.1 Functional Description

14.1.1 U.TGR (U Signal Trigger Detection Routine)

After the sensor parameter control is completed by UrRTA, and the

values needed by the waveform analysis programs are determined by U:RTA

and U:LSQ, U:LSQ passes control to U:TGR to begin signal processing.

The waveform analysis consists of recognizing key characteristics of

the incoming waveform, computing descriptive parameter values based

on data values at the key points and comparing the computed values

against predetermined criteria.

The initial problem in the waveform analysis algorithm development

was to readily recognize a significant phase excursion from the long

term trend (see Figures 15.1, 15.2, and 15.3 for the onset portion of

the waveforms). The technique finally chosen was to designate a predetermined number of compressed data points in the same direction as

the signal onset. NUSTAD uses the standard deviation of the incoming

signal to determine the window width in the data compression algorithm

and thus effectively eliminating the effects of the background noise

in signal processing. The selection of compressed points which

consistently increase or decrease becomes a fair indication of short

term monotonic trends. The number of points required to recognize an

onset, also known as triggering the waveform (hence U:TGR), is stored

14.1
in U.TRL (the IJ S^ignal Trigger Umit) . This value is normally set as

five, but may be reset to other values during other portions of the

waveform processing. Since the phase excursion should be somewhat

sudden, NUSTAD requires that the time difference between the first

and last points in the triggering sequence be less than TRTIM (Trigger

Time ) seconds, currently set at 30.

The progress in the waveform analysis is reflected by the value of

a parameter called U.AST ((^Signal Alarm ^atus). The values which

this variable may take are represented graphically in Figures 15.1,

15.2, and 15.3 for the three signal types which must be recognized.

While seeking an onset, U.AST will be set to one. When U:TGR identifies

an onset, it sets U.AST to either two or three, reflecting the direction

of the phase excursion and in so doing, triggers further waveform

processing by U:WFA (^Signal Waveform Analysis)

.

The status during the trigger detection process is maintained in a

parameter called U.TRF (IJ Signal Trigger Rag) for each sensor channel

and takes on the following values:

a. U.TRF = 0. No compressed data points have been encountered

yet. This value can occur only upon initial startup, or after a channel

comes up, as thereafter, compressed data points will always have occurred

at sometime in the past.

b. U.TRF = 1. One compressed data point has been encountered.

Again, this value will only occur as a channel comes up. Since two

points are required to determine direction, nothing significant can

14.2
happen until a second point arrives. At that time, the direction is

determined and U.TRF set to two or three to indicate an advance or

retard trend, respectively.

c. U.TRF = 2. Two or more compressed data points have been

encountered, each point with a phase value numerically smaller than

the previous. NUSTAD considers these points as being in the

ADVANCE direction. The number of points currently encountered in

the possible triggering sequence is contained in TRCNT (Trigger Counter).

As long as points continue the decreasing value trend, U.TRF will

remain set at two, until TRLIM (Trigger Limi t) points have been

counted. At this time, U.TRF may be set to four, after additional

processing as described in paragraph (e) below.

d. U.TRF = 3. U.TRF is set to three when two or more compressed

data points have been encountered, each point with a phase value numerically

greater than the previous. NUSTAD considers these points as being in the

RETARD direction. U.TRF set to three is the counterpart of U.TRF set

to two for data trends in the opposite direction. See Figures 15.1

and 15.2 for this contrast.

e. U.TRF = 4. When TRCNT reaches TRLIM, sufficient data have

been encountered to trigger the waveform analysis. However, at this

point, the timing requirement is checked by comparing the time differences

between the first and last points against TRTIM. If this check is

successful, the trigger is considered valid, U.TRF is set to four,

and U.AST is set to the previous value of U.TRF (either two or three.

14.3
indicating the type of signal under consideration). On the other hand,

if the time difference is greater than TRTIM, the points are "slipped,"

making the previous second point the current first, and TRCNT one

short of reaching TRLIM. If the next compressed point is again in the

same direction, the time duration will be checked on the new first

and last points.

If at any time after U.TRF reaches two or three, a point is

encountered which is in the opposite direction from that under consideration, the value of U.TRF is reversed to three or two, respectively,

and the two most recent points are established as the first two in the

new potential triggering sequence.

When discussing the compression algorithm. Section 12.3.2, we

said that a tolerance of + DELTA is placed about the last value used.

For the timing and phase values at onset, NUSTAD uses the first point

in the triggering sequence for the "onset phase value," and the time

of the second point as the "onset time." Figure 14.1 will intuitively

explain the rationale behind using these values. Remember that DELTA

is assigned a minimum value of one microsecond and typically v/on't

significantly exceed this.

14.4
Figure 14.1 Onset Value Determination

14.1.2 U:6ET (Compressed Data Point Retrieval S ubroutine)

U:GET is a subroutine by which U:TGR and U:WFA retrieve compressed

data points from the compressed data buffer (U.CMP). By manipulating

the return location, the subroutine identifies the absence of compressed

points for the desired channel when the buffer is empty.

14.5
A counter (GETCN-- Get Counter) is used to point to the next data

point (consisting of three computer words, one of phase and two of

BCD time) in the buffer. When the compressed point counter (U.CPS)

reaches zero, GETCN is reset to zero to effectively empty the

buffer.

The calling sequence is:

BLM,14 U:GET (DESIRED CHANNEL IS IN R6)

BRU NONE (RETURN LOCATION IF NO COMPRESSED POINTS)

(RETURN WITH PHASE IN Rll, BCD TIME IN

R12, 13)

14.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:C0T E$DIF Converts the BCD time characters to the

binary count of seconds.

E:DIF E$DIF Used to determine the time difference in

seconds between two time values, one in

binary and the other in BCD characters.

U:WFA U$WFA The program dedicated to the waveform analysis

after onset has been identified by U:TGR.

U:RP2 U$REP That portion of the Reportable Signal Description

message generator which initiates reports

for Part II of the RSD to conclude the report

message.

14.3 Data Formats

14.3.1 TRBUF

The compressed data points of a potential trigger are stored in

a buffer called TRBUF (Trigger Buffer) . Each entry requires three

14.6
computer v;ords, the first gives the phase value, and the next two give

the BCD characters of the DOY/TOD group. Since the buffer is purged

by U:TGR and/or U:WFA each ten seconds, it is designed to hold a

maximum of ten entries at any one time, for each channel. This amounts

to 30 words per channel for 14 channels, or 420 words. The ten entries

for each channel are arranged in continuous memory locations. A

14-element table called TRBFP (Trigger ^ujffer pointer) indicates the

first location (of the 30) used by each sensor channel.

14.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.CPC U$DAT Channel compressed point counter

U.CPP U$DAT Pointers to the beginning of each channel's

section of U.CMP.

U.AST U$DAT Channel waveform analysis status, indicates

point in signal to which processing has

progressed.

U.CDT U$WFA The phase value of a likely candidate in the

peak detection algorithm.

U.CDM U$WFA The DOY/TOD group for a candidate in the peak

detection algorithm.

U.AMP U$DAT Amplitude estimate for current ten second segment

U.OAM U$DAT Amplitude value assigned as amplitude at onset.

U.DIU U$DAT The diurnal slope estimate, an estimate of the

long term trends in phase deviation.

14.7
14.4 Input Parameter Descriptions (continued)

PARAMETER PROGRAM DESCRIPTION

U.ODI U$DAT The diurnal slope value assigned at

onset.

U.OFZ U$DAT Phase value at onset.

U.OTM U$DAT Time of onset, binary count of seconds for

day.

U.OTB U$DAT Time of onset, BCD characters for DOY/TOD

group.

U.CST U$DAT Channel status, used to indicate validity

of input data based on amplitude monitoring

program evaluation.

U.OSG U$DAT The standard deviation of the incoming phase

signal assigned to the onset.

U.SIG U$RTA Computed standard deviation of incoming

phase (see Section 12.3.1).

U.DTM U$DAT Parameter used by E$DIF to permit finding

time difference between any two values (program

designed to find difference between onset time

and given value).

U.END U$DAT Bits used to flag conditions under which signal

processing was terminated.

U.CLS U$DAT Flag to indicate which set of criteria was passed; =1 for class A criteria, +2 for class B,

+3 for COCO signal.

U.LTF U$DAT The longer time constant factor for the digital

filter of the diurnal estimate.

U.FAC U$DAT The update factor used in the digital filter

for the diurnal estimate.

U.LFZ U$WFA The most recent compressed data point for each

channel

.

U.LTM U$WFA The DOY/TOD group for U.LFZ for each channel.

14.8
14.5 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

U.TRF 14 The status flag of processing of triggering

sequence (see Section 14.1.1).

U.TRL 14 The count of compressed points required to trigger

waveform analysis (see Section 14.1.1).

U.TGR Entry point for onset detection program.

14.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

TRCNT 14 Count of points currently under consideration

for potential onset.

TRBUF 420 Buffer for compressed data points in possible

triggering sequence. Three words per data point

X 14 channels x lj3 points per channel.

TRBFP 14 Pointer to first word of each sensor channel's

partition of TRBUF.

PONST 28 Binary value for possible onset time.

TEMP 1 Working storage.

TEMPI 1 Working storage.

TRTIM 1 =30^^; maximum number of seconds permitted between

first and last points of triggering sequence.

GETCN 14 Counters used to point to next data point in

compressed data point buffers.

t-R

^3

B

14.9b
]$TGR

U:GET

V

ro" -

STPON

^ .A'. R -Si R*- 1 - 7

STORE BCD

TIME FROM Rli

R13 FOR bUER

r;-cov5:ry and

1

E;COT

.(in E$DIF)

I

STORE BINARY

EQUIVALENT OF

BCD ONSET TIM3

IN PONST

RESTORE

R13 TO

VALUE

R12,

BCD

14.9c
15. U$WFA

15.1 Functional Description

The last program entered (after U:RTA, U:LSQ, and U:TGR) at the

end of each ten-second interval is U:WFA (£ Signal Wavejform Analysis).

Whereas U:TGR is responsible for detecting signal onsets, U:WFA

handles the remainder of the waveform analysis. This consists of progressing through the waveform, recognizing key points, determining

whether the characteristics for the section just completed meet

predetermined criteria, and permitting the processing to continue

if they do. The primary vehicle for determining the point in the

waveform, and which section of U:WFA to execute, is a flag called

U.AST (jJ Signal Alarm ^atus). Figures 15.1, 15.2, and 15.3 will

illustrate the values U.AST will take during the various sections

of the three waveforms which NUSTAD will recognize.

Upon entry, some status checking is done, and waveform processing

is performed for those channels which are not down. U.AST is examined,

and control is transferred to that portion of the program responsible

for the current section of the waveform.

When U.AST = 1, there is no signal currently in progress. The

diurnal slope estimate (U.DIU) is updated (see Section 15.3.1) and

processing is considered complete for that channel. When all channels

are done, control is returned to the scheduler.

15.1
xsvn

II Hin<

WCOC

PMa

M

COC

w

C_) z

M

H

O

zM

CO<

w

pp

C_) z

m

0)

bO

15.2

WAVEFORM

PROCESSING

FOR

ADVANCE

SIGNAL

15.4

Figure

15.3

WAVEFORM

PROCESSING

FOR

MULTIPLE

PEAK

ADVANCE

SIGNAL
15.1.1 Peak Search, Advance

When U.AST = 2, U:TGR has detected an onset in the advance direction

(decreasing numeric values) and the section of U:WFA called UAST2 will

seek the signal's peak. The minimal phase value is considered the peak,

so the search consists of merely determining the smallest numeric value.

The smallest value encountered is held in U.CDT, the candidate for the

position of signal peak, until four consecutive compressed points follow

with a greater numeric value to confirm the point. If no point meeting

these restrictions is encountered with T1 seconds (currently established

as ten minutes), the signal is rejected and U.AST is reset to 1 to again

try to determine a signal onset. When a possible peak is confirmed, control

is passed to the section of the program called PVALC (see below).

15.1.2 Peak Search, Retard

When U.AST = 3, U:TGR has detected an onset in the retard direction

(increasing numeric values) and the section of U:WFA called UAST3 will

seek this signal's peak. The inflection point where the slope of the

retard signal reduces significantly is considered the peak. NUSTAD

computes the slope between the onset point and each succeeding compressed

data point, and seeks the maximum such value. When four consecutive

onset to current point slopes fall under 75% of the maximum slope, the

peak has been confirmed. As in UAST2, the T1 second limit is enforced

and control is passed to PVALC when successful.

15.5
15.1.3 Peak Validity Check

PVALC is tasked to determine whether the onset characteristics between j

the now identified onset and peak meet the predetermined criteria. The phai|

offset, compensating for the long term trend at onset, and the average !

rate of onset are computed (see Section 15.3.2). These values are

applied against the following standards, and U.CLS is set accordingly: |

I

i

y

i

i If the computed onset rate (W.ONR) and phase offset (W.OST) do not meet j these cirteria, the signal is rejected as being impulsive noise. If i either of the sets of criteria are passed, U.AST is set to 5 and processingj

continues. j

1

15.1.4 Begin Recovery 1

When U.AST = 5, a valid peak has been encountered, and control is passai

* i to the section of U:WFA called UAST5 to seek out the beginning of the |

t phase recovery portion of the waveform. At peak, the long term trend

I estimate (U.DIU) was reset to the onset value (U.ODI). Recovery begins Ji

U.CLS = 1 if:

Onset rate (W.ONR) not less than one of the following values,

based on the tracking rate (U.TRK):

PONLO (6 microseconds/minute) for tracking rates 0, 1, or 2.

PONMD (Id microseconds/minute) for tracking rates 3, 4, or 5.

PONHI (2(? microseconds /minute) for tracking rates 6, 7, 8, or 9.

And the phase offset was not less than 10 microseconds.

U.CLS = 2 if:

Signal was in the advance direction.

And the onset rate was not less than 3 microseconds/minute.

And the phase offset was not less than 2 microseconds.

15.6
when the phase begins a trend in the retard direction. This is

identified when U.DIU, operating with U.FAC = .10, exceeds the onset value

(U.ODI) by ALPHA (currently set to .3 mircoseconds/minute) . If this

occurs within T2 seconds (currently set at 20 minutes) after onset, the

beginning of recovery is confirmed and U.AST is set to six. If not, it's

another reason to reject the signal.

15.1.5 Valid Recovery

When U.AST = 6, recovery has begun. The next key point in the waveform is the half, also known as valid, recovery point. This is reached

when the following conditions have been met:

a. The phase has recovered within the following limits:

(1) ADVANCE SIGNAL, to within half of the difference between

onset and peak (Figure 15.1).

(2) RETARD SIGNAL, to within half of the difference between

peak and one cycle above onset (Figure 15.2).

(3) MULTIPLE PEAK ADVANCE SIGNAL, to at least three microseconds from the final peak value (Figure 15.3).

b. Ten minutes (T3, the minimum time for full slope recovery)

has elapsed since onset without the current long term trend (U.DIU)

recovering to within BETA (currently .2 microseconds/minute) of the

long term trend estimate at onset (U.ODI).

All the while we are attempting to process this part of the waveform,

the possibility of a multiple peak signal exists. Therefore, the maximum

15.7
phase value and its time are saved. In the event an advance signal

fails to meet point b, above, U.AST is reset to two to attempt to

find another peak while the signal class (U.CLS) and direction (U.ODR)

are set to 3 to indicate a multiple peak advance signal. When UAST2

finds another peak, the previous reporting criteria are ignored and U.AST

will again be set to five. If any other type signal fails point b,

above, the signal is rejected. When the above points are satisfied,

U.AST is set to seven to search for the end of the signal. At this time,

the first part of the report generator is called (U:RP1) to report on

the waveform between onset and the valid recovery point (see Section

17.1, U:REP).

15.1.6 Terminate Recovery

When U.AST = 7, the signal is considered valid and the first part

of the report message (called the RSD, Reportable Signal Description)

is output to the logging teleprinter via U:REP. The final task of

the analysis program is to termine processing on the current signal,

which may be done in one of several ways:

a. NORMAL TERMINATION. When the phase recovers to within

TREC (currently set at three) microseconds of the onset value AND

the long term trend estimate (U.DIU) recovers to within BETA (.2

microseconds /minute) of the long term trend estimate at onset
b. TIME LAPSED TERMINATION. When T4 seconds (currently

set at one hour) passes since onset.

c. SECOND ONSET DISCOVERED. While U.AST = 7, U:TGR will be

permitted to look for new signals which may occur on the tail end of

the current signal. During this period, though, the number of points

required to trigger a new signal (U.TRL) is set to eight, requiring

more certainty in calling a phase excursion a probable signal, and

terminating the processing of the current signal.

d. SIGNAL LOST. If the channel should go down while U.AST

is either 6 or 7, the chance that a reportable signal was in progress

is sufficient to warrant generating a RSD with the notation that

the signal was terminated because of signal drop out.

15.1.7 Signal Rejection

When a signal is rejected for any reason, a flag called REASN

is set to a value corresponding to the reason, and a part of U:WFA

called FAIL is entered to reset flags and variables to permit MUSTAD

to begin looking for a new signal on that sensor channel. If the

operator has switch register bit 10 set, the failure will be indicated

for the operator on the ASR 35 teleprinter, under the following

format:

15.9
DDD nTTTT C Rn

Where DDD is a three character DOY

TTTTTT is a six character TOD ^ is the sensor channel indicator (A thru N)

R indicates a rejected signal

n^ is the reason, interupted as follows:

1

2

3

4

5

6

7

Excessive time, onset to peak.

Retard signal fails offset criteria.

Advance signal fails secondary offset criteria.

Advance signal fails secondary onset rate criteria.

Excessive time, onset to beginning recovery.

Slope recovery too soon after onset.

Recovery rate greater than onset rate.

Table 15.1 Signal Rejection Message Format

After each section completes what processing it can with the

data available, the diurnal slope estimate is up dated for that channel

and U:WFA goes on to the next sensor channel.

When U:WFA completes all processing, control is returned to the

operating system at the scheduler reentry point (E:SKD).

15.10
15.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

U:RP1 U$REP Generates Part I of RSD at valid signal

point in waveform.

U:RP2 U$REP Generates Part II of RSD at final recovery

point in waveform.

U:GET R$TGR Routine to retrieve compressed data from the

compressed data point buffer.

E:DIF E$DIF Computes the time difference between

onset and later point in time.

E:SKD E$SKD Operating system scheduler entry point.

E:C0T E$DIF Converts the BCD time characters to the binary

count of seconds.

E:035 E$T35 Transfers output message to buffer before

transmission to the ASR 35.

E:FRT E$FRT Reads current BCD time and reformats for

output message.

15.3 Computational Methods

15.3.1 Diqital Filter in Diurnal Estimate Algorithm

The least squares slope estimate described in Section 13.3 is used

to determine the short term (Ipp second) trends of the input phase

samples. These short term estimates are put through a long time

constant first order digital filter to provide the long term trend

estimate which NUSTAD labels the diurnal slope (U.DIU).

15.11
The first order digital filter performs the arithmetic manipulation

Where

^(nT)

^(nT)

^(nT-T)

""(nT)

K

T

(T-X)y(nT-T) *^^(nT)

is the filter output at time t = nT

is the previous filter output

is the filter input at time t = nT

is the constant with limits such that 0 <K <1

is the time between samples

_i

The filter is depicted in Figure 15.4, with Z denoting the T second delay.]

•(nT)

(K) - ^(nT)

Figure 15.4 First Order Digital Filter

Equation (1) is rewritten to reduce the number of multiplication

operations required during real tim.e execution:

'(nT) ^(nT-T)

^ ^^(nT)" ^(nT-T)^ ( 2 )

15.12
The characteristics of the first order digital filter will be

considered by examining the filter's response to step and impulsive

inputs. For the step input, consider the following conditions applied

to equation (2):

^(0)

" 0

f0 n=0

’'(nT) " \}9 nf0

Figure 15.5 displays the response over ten minutes (600 seconds)

for the two values used by NUSTAD (K = .05 and K = .10) as well as

two greater values to illustrate the relationship of K to the response

time. In all cases approaches = 10 as n increases, but

does it slower for smaller K.

The conditions imposed for the impulsive response are:

*'(nT) "

0

'l0

. 0

n=20

n^20

Figure 15.6 illustrates the response of the first order digital

filter to an impulse and plots its response over a period of 5 minutes.

Note that the effect of the impulse is lessened by smaller values of

K; i.e., the maximum offset is directly proportional to K. However,

the decay time increases with decreasing K. Also note the similarity

between the impulse and step responses shown in Figures 15.5 and 15.6

and those of a first order analog filter (low pass RC filter).

15.13
Figure 15.5 Step Response of First Order Digital Filter

15.14
5.0

Figure 15,6 Impulse Response of First Order Digital Filter

15.15
Engineers unfamiliar with digital filters of this type generally

request data concerning the filter's time constant (TC). For the

sake of comparison to analog devices. Figure 15.7 is included to show

the relationship between the values assigned K and a computed

equivalent time constant (TC). The curve was arrived at by plotting

the time at which 83% of the maximum offset of a stepped input signal

was reached versus the value of K used in equation (2) above.

In NUSTAD, the digital filter is used to determine the long

term trend estimate, called U.DIU. Equation (2) then becomes:

U.DIU = U.DIU + U.FAC * (U.SLP - U.DIU) (3)

where: U.DIU is the diurnal slope (long term trend) estimate

U.FAC is the filter update factor:

= .05 normally

= .10 while seeking recovery

U.SLP is the least squares slope estimate from U:LSQ.

15.16
360

320

280

240

200

160

120

80

40

0

Figi

K

15.7 Relationship Between K and Filter Time Constant (TC)

15.17
15.3.2 Offset and Onset Rate Computation

The phase offset between onset and peak consists of the difference

between the phase values at onset and peak, minus the product of the

long term trend estimate at onset multiplied by the time interval

between onset and peak. This attempts to cancel the effect of the

long term trends in determining the phase offset. That value divided

by the amount of time between onset and peak gives the onset rate.

Figure 15.8 Phase Offset Computation

15.18
15.4 Data Formats

15.4.1 U.DIU

Since the long term slope estimates are the result of filtering the

short term slope estimates (U.SLP), the data format will be the same.

See Section 13.4.3 for the format of U.SLP.

15.4.2 U.ONR

Unlike the slope representation used for U.SLP and U.DIU (see

Section 13.4.3), the average onset rate between onset and peak (W.ONR)

uses the following format:

BITS 0 1 2 3 4 5 6 7 8 9 Ip 11 12 13 14 15

! K _ J

INTEGER MICROSECONDS/MIN FRACTION OF

MICROSECONDS/MIN.

Figure 15.9 Format of Computed Onset Rate (W.ONR)
15.5 Input Parameter

PARArCTER PROGRAM

Descriptions

j DESCRIPTION

U.CST U$DAT Channel status, used to indicate validity of

input data based on amplitude monitoring

program evaluation. | U.AST U$DAT Channel waveform analysis status, indicates point

in signal to which processing has progressed.

r U.SLP U$DAT Computed slope estimate in microseconds per

minute. Indicates short term data trends.

U.DIU U$DAT The diurnal slope estimate, an estimate of the , long term trends in phase deviation. |

U.FAC U$DAT The update factor used in the digital filter for?

the diurnal estimate.

[ U.CTM U$DAT Two words of BCD time for the last samples read;]

i.e., the current time for the ten-second

j

segment.

|

U.CLS U$DAT Flag to indicate which set of criteria was

|

passed: =1 for class A criteria, =2 for

| class B, =3 for COCO signal.

|

W.PFZ U$DAT Phase value at signal peak. I

W.PTM U$DAT BCD time of peak value.

W.PAM U$DAT Signal amplitude at peak.

W.OST U$DAT Computed phase offset, onset to peak (see | Section 15.3.2) | W.ONR U$DAT Average onset rate, onset to peak. j W.LPK U$DAT Phase value of first peak of multiple peak

advance signal.

W.LTM U$DAT Time of first peak of multiple peak advance

signal

.

W.VPK U$DAT Phase value of valley peak of multiple peak

advance signal.
15.5 Input Parameter Descriptions (continued)

PARAMETER PROGRAM DESCRIPTION

W.VTM U$DAT Time of valley peak of multiple peak advance

signal

.

W.RFZ U$DAT Phase value at valid recovery point.

W.RTM U$DAT Time of valid recovery point.

W.RAM U$DAT Signal amplitude at valid recovery point.

U.END U$DAT Bits used to flag conditions under which signal

processing was terminated.

U.OFZ U$DAT Phase value at onset.

U.ODI U$DAT Long term data trend estimate (U.DIU) at onset.

U.BGF U$DAT The shorter time constant factor for the digital

filter of the diurnal estimate.

U.LTF U$DAT The longer time constant factor for the digital

filter of the diurnal estimate.

U.TRK U$DAT Current tracking rate settings for the channels.

U.ODR U$DAT Direction of onset, =1 for advance, =2 for retard,

=3 after second peak of multiple peak advance

signal

.

U.OTM U$DAT Time of onset, binary count of seconds.

E.IOF E$T35 Parameter word used in calling E:035.

U.AMP U$DAT Amplitude estimate for current ten-second segment.

U.DTM U$DAT Parameter used by E$DIF to perm.it finding time

differences between any two values (program

designed to find difference betv/een onset

time and given value).

W.LAM U$DAT Signal amplitude at first peak of multiple

peak advance signal.

W.VAM U$DAT Signal amplitude at valley peak of multiple

peak advance signal.

15.21
15.5 Input Parameter Descriptions (continued )

PARAMETER PROGRAM DESCRIPTION

U.FRQ E$L0G Current sensor frequency for each sensor

channel

.

U.TRF U$TGR Status flag of processing of triggering

sequence.

U.TRL U$TGR Count of compressed points requied to

trigger waveform analysis.

15.6 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

UrWFA Entry point for waveform analysis program.

U.LFZ 14 The phase value of the last compressed data

point encountered on each channel.

U.LTM 28 The BCD character time of the last compressed

data point encountered on each channel.

U.CDT 14 The "candidate" peak phase value used in

searching for waveform peaks.

U.CDM 28 The BCD character time of the "candidate"

peak points.

U.CCL Label used to externally reference CYCLE,

the number of microseconds in one cycle

for the frequencies of each channel.

15.7 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SLOPE 14 Slope value computed in section UAST3 to

determine the inflection point of a retard

signal in recognizing signal peak.

CFIRM 14 Counter used by peak detection routines to

confirm the recognition of a signal peak.

15.22
15.6 Internal Data Descriptions (continued)

PARAMETER SIZE DESCRIPTION

TEMP

TEMP 2

2

1 Working storage.

T1 1 =60^^

p

; Max time allowed from onset to peak

(1(3 minutes)

T2 1 =12(30-j^ ; Max time allowed from onset to

beginning of recovery (20 minutes)

T3 1 =600-j0 ; Minimum time allowed for signal

duration onset to full recovery (10 minutes)

T4 1 =3600^

p

; Max time allowed for signal duration

onset to full recovery (one hour)

POFF 1 =160-jj^ ; (10 microseconds) Primary offset

criteria

PONHI 1 =140-|g ; (20 microseconds/minute) Primary onset

rate criteria for high tracking rates; i.e.,

U.TRK=6,7,8, or 9

PONMD 1 =0A0-jg ; (10 microseconds /minute) Primary

onset rate criteria for medium tracking rates;

i.e., U.TRK=3,4, or 5

PONLO 1 =060^g ; (6 microseconds/minute) Primary onset

rate criteria for low tracking rates; i.e.,

U.TRK=0,1, or 2

SOFF 1 =32-|^ ; (2 microseconds) Secondary offset criteria

SONRT 1 =030-jg ; (3 microseconds/minute) Secondary onset

rate criteria, all tracking rates.

LOPEK 1 =80^^ ; (5 microseconds) Minim.um allowed offset

for first peak in multiple peak advance signal.

15.23
r

15.7 Internal Data Descriptions (continued)

PARAMETER SIZE DESCRIPTION

TREC

ALPHA

BETA

RCMIN

CYCLE

REASN

FLMSG

1

14

14

14

10

=48^^ ; (3 microseconds) Point to which phase must

approach onset phase, or next cycle for retard

signals, for recovery to be considered complete.

=38^^ ; (.3 microseconds/minute) Point to which

U.DIU must exceed U.ODI for beginning of recovery.

=26-.

n

; (.2 microseconds/minute) Point to which

\\fi

j U.DIU must return toward U.ODI for slope recovery to

be considered complete. [ Microseconds from peak which signal must recover

before recovery is considered valid. (See

Section 15.1.5.)

Number of microseconds in one cycle at the frequency

to which each sensor is tuned.

Flag indicatinq why signal was rejected (see

Section 15.1.7).

"123 123456 C R

2

"; signal rejection message.

I

I

1

I

15.24

J
15.24a
UGVVFA

15.24b

USWFA

0

15.24d
^FA E

i

I

lS.24e
USWFA

0

r'lag onset

direction

:

UoODR=UoAST-1

15.24f
A

15.24g
ISWFA

15.24h
=A

15.241
USWFA

UAST7

V

15.24J
fir^

rUAST4

15.24k
USWFA 0
16. U$DAT

16.1 Functional Description

U$DAT contains no executable statements. It is a storage area

where variables, flags, etc. are made available to the various applications programs in NUSTAD.

Because of the unique characteristics of this program in NUSTAD,

the following write-up will differ slightly from those of the rest of

the system. Section 16.2 will indicate the various formats which the

parameters may assume. In Section 16.3, each of the parameters is

described, and where applicable, a reference is made to its format as a

subsection of 16.2.

16.2 Data Formats

16.2.1 Long and Short Term Trend Estimates

The lease squares slope estimate to approximate the short term data

trend and the long term estimate for the data trends use the following

format:

0 1 2 3 4 5 6 7 8 . 9 10 11 12 13 14 15

'

1 — A /

SIGN BIT INTEGER PART FRACTIONAL PART

ASSUMED BINARY POINT

Figure 16.1 Trend Estimates Format

16.1
16.2.2 Pure Fractional Values

At several points in the programs, values which are purely fractional

are required. These values use the following format:

SIGN BIT

Figure 16.2 Fractional Value Format

16.2.3 Phase Values

The internal representation of the Phase values in the various programs,

including such values as the phase offset between onset and peak of a

waveform, and the standard deviation, is as follows:

BITS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

^ A /

INTEGER PART FRACTIONAL PART

ASSUMED BINARY POINT

E!

Figure 16.3 Phase Value Format

16.2
16.2.4 BCD Time

The DOY/TOD group is input from the WTC via the MODCOMP III lOIS using

the following format. Since the representation is compact, and the

conversion from BCD to ASCII is straightforward, the internal representation

of most time values is kept in this same format.

FIRST WORD:

BITS g 1 2 3 4 5 6 7 8 9 1(3 11 12 13 14 15

; - .. DOY D0Y*1(3 DOY*l HR*1(3 HR*1

SECOND WORD:

BITS

Figure 16.4 BCD Time Format
16.2.5 Binary Time

!

For ease in computation, the BCD time is occasionally converted to a

form more compatible with binary arithmetic. This form consists of the

equivalent of the TOD value represented as a binary count of seconds.

UNUSED COUNT OF SECONDS

Figure 16.5 Binary Time Format

16.2.6 Amplitude Values

The internal representation of amplitude is an integer with a range

from zero through 2047-|^ corresponding to amplitude values of from

-20dB to +20dB.

16.4
16.2.7 U.WRK Buffer Format

After E.UIN collects ten seconds worth of data, it transfers that

cata to the working buffer (U.WRK) and schedules the series of applications

programs. The format of the data in U.WRK is as follows:

Chan A AMP 0 U.WRK; FAZ 0 U.WRK+1; BLL 0 U.WRK+2; etc.

Figure 16.6 Working Buffer (U.WRK) Format

16.5
16.2.8. U.CMP Buffer Format

U.CMP is a buffer of compressed data points encountered during the

current ten-second interval. Each entry requires three computer words;

one for the phase value and two for the BCD time. Each of the fourteen

channels has room for ten entries, resulting in a buffer 3 x 14 x 10,

or 420 words, arranged as follows:

PHASE

1 BCD TIME I

CHANNEL A U.CMP U.CMP+1 U.CMP+2

U.CMP +3 U.CMP+4 U.CMP+5

U.CMP+6 U.CMP+7 U.CMP+8

U.CMP+27 U.CMP+28 U.CMP+29

CHANNEL B U.CMP+30 U.CMP+31 U.CMP+32

U.CMP+33 U.CMP+34 U.CMP+35

U.CMP+36 U.CMP+37 U.CMP+38

U.CMP+57 U.CMP+58 U.CMP+59

CHANNEL C U.CMP+60 U.CMP+61 U.CMP+62

Figure 16.7 Compressed Point Buffer (U.CMP) Format

16.6
16.3 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

U.TRK 14 Current setting for sensor channel tracking rate.

Value between 0 and 9 inclusive.

U.GAN 14 Current setting for sensor channel RF gain. Value

between 0 and 24 inclusive.

U.BLL 14 Current setting for sensor channel blanking level.

Value between 0 and 63 inclusive.

U.DIU 14 The diurnal slope, or long term data trend, estimate.

Format as in 16.2.1 as microseconds/minute.

U.LTF 1 =0666^g*, (.05-|^). The longer time constant factor

from the digital filter used in determining U.DIU.

U.BGF 1 =0CCC^g*, (.10-|0). The shorter time constant factor from

the digital filter used in determining U.DIU.

U.FAC 14 The current factor, set to either U.LTF or U.BGF, used

in the digital filter for determining U.DIU.

U.LST 140 A wrap-around buffer of ten-second phase averages used

in computing the least squares slope estimate (see

Section 13.4.1).

U.LSP 1 A pointer to the current row in U.LST (see Section

13.4.1).

U.SLP 14 The current short term phase trend estimate determined by

the least squares slope computation described in Section

13.3.

U.WRK 484 The vyorking buffer into which the data from the AIS and

the DOY/TOD group from the lOIS are transferred for use

by the applications programs (see Section 16.2.7).

U.CTM 0 The BCD time value read into the last two words of U.WRK;

hence, the current time of the current ten-second

interval

.

16.7
16.3 Output Parameter (continued)

PARAMETER SIZE DESCRIPTION

U.CMP

U.CPP

U.CPC

U.CYC

U.CCN

U.IHB

U.RTY

U.CST

42p The buffer of compressed data points (phase and BCD

time) for each channel encountered during the current

ten-second interval (see Section 16.2.8).

14 A table of pointers to the first word of each sensor

channel's partition of U.CMP.

14 A counter for the number of compressed data points

encountered on each sensor channel during the current

ten-second interval.

14 A flag, set to +50 or - 50 microseconds (see Section

16.2.3) when a phase shift is induced by NUSTAD to

indicate the direction, of the shift. See E:UIN for

complete details.

14 Accumulated sum of U.CYC to indicate the total effect

of cycle shifts induced by NUSTAD.

14 Flag bit (BIT 0) is set to inhibit processing on a sensor channel when a maintenance of INE condition

exists on that channel.

14 Counter for consecutive ten-second intervals of "good"

data required to bring a channel to the UP state.

14 The channel's processing status, based on the results

of the amplitude monitoring section of U:RTA;

=1 for channel UP

=2 for channel COASTING, with NO REPORT

=3 for channel COASTING, REPORTED on logging teleprinter

=4 for channel DOWN

U.AST 14 The channel's waveform analysis status, determined by

the point in the signal to which processing has

progressed;

=1 while looking for onset

=2 while looking for peak in the advance direction

=3 while looking for peak in the retard direction

=5 while awaiting recovery to begin

=6 while looking for valid recovery point

=7 while looking for end of signal

I

16.8
16.3 Output Parameter Descriptions (continued)

PARAMETER SIZE DESCRIPTION

U.CLS 14 The class of the waveform being processed;

=1 for those meeting primary criteria

=2 for those meeting secondary criteria

=3 for multiple peak signals

U.END 14 Flag to indicate how processing terminated on waveform

just completed;

Bit 0 = 0 Normally

= 1 Signal terminated due to channel going down

Bit 1 = 0 Normally

= 1 Time limit T4 exceeded, signal terminated

Bit 2 = 0 Normally

= 1 New onset terminates former signal

U.OTM 28 Signal onset time, binary (Section 16.2.5)

U.DTM 2 Dunmy binary time used by E$DIF (Section 16.2.5)

U.OTB 28 Signal onset time, BCD (Section 16.2.4)

U.OAI^I 14 Signal amplitude at onset (Section 16.2.6)

U.OFZ 14 Phase value at onset (Section 16.2.3)

U.ODI 14 Long term phase trend estimate at onset (Section 16.2.1)

U.ODR 14 Direction of onset;

=1 for advance

=2 for retard

.

=3 for advance, multiple peak

U.OSG 14 Standard deviation (U.SIG) at onset (Section 16.2.3)

W.PFZ 14 Phase value at peak (Section 16.2.3)

W.PTM 28 BCD time of peak (Section 16.2.4)

W.PAM 14 Signal amplitude at peak (Section 16.2.6)

W.OST 14 Phase offset, onset to peak (Section 16.2.3)

W.ONR 14 Average rate of onset, onset to peak (Section 16.2.3)

16.9
I

i

1

16.3 Output Parameter Descriptions (continued) ,

PARAMETER SIZE

i DESCRIPTION i

W.LPK 14 Phase value at first peak of multiple peak signal

' (Section 16.2.3).

‘

W.LTM 28 BCD time at first peak of multiple peak signal i (Section 16.2.4).

W.LAM 14 Signal amplitude at first peak of multiple peak signals

(Section 16.2.6). 1

W.VPK 14 Phase value at valley peak of multiple peak signal i (Section 16.2.3).

| W.VAM 14 Signal amplitude at valley peak of multiple peak signal'

(Section 16.2.6).

W.VTM 28

1 BCD time at valley peak of multiple peak signal

(Section 16.2.4).

W.RFZ 14 Phase value at valid recovery (Section 16.2.3).

W.RTM 28 BCD time of valid recovery (Section 16.2.4).

W.RAM 14

1 Signal amplitude at valid recovery (Section 16.2.6). ,

U.AMP 14 Estimate of current signal amplitude based on the i value from the last input of each ten second intervals

(Section 16.2.6).

16.10
17. U$REP

17.1 Functional Description

When a signal meeting reporting criteria is encountered by U:WFA,

a message called the REPORTABLE SIGNAL DESCRIPTION is generated in

three parts for the station log. Each part is called in sequence as

conditions dictate.

17.1.1 U:RP1 (Generator for Part I of RSD)

When U:WFA sets U.AST to seven, it considers the signal reportable

and calls b';RPl to generate the first part of the RSD and start it on

its way to the ASR 28, the logging teleprinter. The first part of the

RSD supplies the operator with a relatively detailed description of the

waveform to the point where the recovery is considered valid. This

information is intended for the operator's use only. After the message

is generated and transferred to the ASR 28 output buffer via calls to

E:028, control is returned to the calling program.

17.1.2 U:RP2 (Generator for Part II of RSD)

When signal processing terminates for a signal in progress, U:WFA

will call U:RP2 to generate a followup to the message generated by U:RP1.

This followup is the second part of the RSD and supplies the operator with

the same type of information formerly output, but concerning the signal

termination. When this part of the RSD is transferred to the output

buffer, a flag bit is set in E.28F to signify that U:RP3 is to be scheduled

17.1
the next time the output buffer in E$T28 is empty. This procedure

I is a precaution against the lengthy U;RP3 message becoming disturbed i

in the wrap-around designed output buffer.

I

I After the call to E:028 during which R:RP3 is effectively scheduled,

1

I

I control is returned to the calling program. i

I 17.1.3 U:RP3 (Generator for Part III of RSD)

I Each time the output buffer in E$T28 becomes empty, a flag bit is i

checked to determine whether there is a need to schedule U:RP3 (see

| Section 9.1.2). If the bit is set, due to a previous call to E:028

| by either U:RP2 or U:RP3, U:RP3 is scheduled in the system scheduler. j Control is thereafter made to U:RP3 from E:SKD.

|

I

*} Whereas Parts I and II of the RSD were designated for operator informa- !|

i tion. Part III is formatted for transmission over standard communications i

1

I lines. Therefore, a series of null characters is generated before and after*

Part III of the RSD to create a leader on the data tape, and numeric

characters are spelled out ("ONE" for 1, "TWO" for 2, etc.). When !

! U:RP3 transfers its message to the ASR 28 output buffer in E$T28, it sets!

!j the flag bits in E.28F to cause U:RP3 to be rescheduled after the output |

I buffer again becomes empty. In this way, only one Part III RSD message

'

may be generated at a time. j

When U:RP3 is finally entered with no further message to generate, a

| final call to E:028 is made to transmit two "LTR" characters without

the flag bit set in E.28F.

17.2
U:RP3 returns control to the scheduler each time it completes

execution.

17.2 Called Subroutines

SUB ROUT INE PROGRAM FUNCTION

E:FRT E$FRT Reformats BCD time from the WTC to ASCII for

output.

E:BAD E$BDC Converts binary value to ASCII decimal characters

E:FMF E$FMF Reformats phase values from internal binary

representation to ASCII decimal for output.

E:FAM M$STD Reformats amplitude values from internal binary

representation to ASCII decimal dB for output.

E:FCT E$FRT Reformats BCD time from memory to ASCII for

output.

E:028 E$T28 Translates output message to BAUDOT code and

stores in buffer before transmission to the

ASR 28.

E:C0T E$DIF Converts the BCD time characters to the binary

count of seconds.

E:SKD E$SKD Operating system scheduler entry point.

E:BDC E$BDC Binary to BCD (decimal) conversion routine.

E:DIF E$DIF Computes the time difference between onset and

later point in time.

17.3 Data Formats

17.3.1 U:RP1 Message Format

Part I of the RSD is generated by U:RP1 at the time when a reportable

waveform is considered valid. The data applicable to the key points of the

17.3
waveform up to that point are output in tabular form as shown in

Figure 17.1. The following describes the format of the message:

LINE 1:

DDD miTT REPORTABLE SIGNAL DESCRIPTION, PET NNN

where: ^ indicates a digit of DOY

T indicates a digit of TOD

indicates a digit of detachment number

17.4
rcc-HOK TMdLc. ilbiMAL DL3C K I P T i (JN> L)t.T 213

0J2

ChhN diKKc.3 21. J JNK; Fk-^J bNl 6 : dLJ 2; CHr<L)3

3 Iui\hL Tt'r’n.: hLPHh Sib/iH 32.23

UOY T 1 /i- Hrlz-otL UIJK

0i\' 3 2-^ 2122j 1 <5.3333.37 -33.36 <u333.3

PK 32a 21223A iL33l6.37 -33.1 6

HK 32A 21323V <5.3326. 73 -33.63 i333.6

0PF6t.T: 3313.33

0N3£T KhTl: 33V.

1

325 10A132 HEPCKTMbLc. SIGMPL DhSCHlPT 1 0N> DLT 215

0 1 3

CHP.M CiFR23 21.3 UNK J TK a; bN 1 5 : bL3 a; C ARD 1 SIGNAL TYPl: bRAVO SIGNa 33.56

DOY TiMb PHASb ANP DIUR

ON 025 133052 <5<3373.31 -0A.66 -030.2

P^< 025 133120 ,&33Vl.A3 -04.63

HR 025 134355 <5.3135.93 -04.66 &033.6

OFFSbT; 3321.16

ONSET RATE: 345.4

024 223921 REPORTAbLE SIGNhL DESCRIPTION, DET 215

03 5

CHAN bJFREJ 21.0 JN6 J TR5J GN 1 6 : bL3 2i C ARD5

SIGNAL TYPE: DbLTA SIGNa 30.53

DOY TI/iE PH aSE ANP DIUR

ON 024 222V1

6

<5.33 56 . 43 -35.36 -030.

2

P< 324 2230 1

5

&33 4V . 6

1

-35.32

HR 3 24 223V21 E0356 . 56 -06. 40 &0 3 3 .

3

OFFSuT: 0300.53

ONSlT RATb: 036.6

Figure 17.1 Three Examples of Part I of the RSD Message
LINE 2;

NNN

where: indicates a digit of a three digit serial identification

number, used to associate the three parts of the RSD

with the si gnal

.

LINE 3:

CHAN C;FREQ FF.F LLL ;TRN;GNNNN;BLNN;CARDN

where: ^ indicates the sensor channel reporting

£ indicates a digit of the sensor frequency

£ indicates a letter of the call letters for that frequency,

UNK used when no known call letters correspond to that

frequency.

£ indicates digits used to indicate the current values

associated with the sensor's TRACKING RATE, RF GAIN,

BLANKING LEVEL, and CARDIOID CONFIGURATION.

LINE 4:

SIGNAL TYPE: YYYYYY SIGMA SS.SS

where: £ indicates a letter in the signal type designator:

(ALPHA, BRAVO, COCO, or DELTA)

£ indicates a digit of the standard deviation of the

input signal at onset.

LINE 5:

DOY TIME PHASE AMP DIUR

where: DOY is the column heading for the Day of Year data

TIME is the column heading for the Time of Day data

PHASE is the column heading for the Phase value data

AMP is the column heading for the signal amplitude data

DIUR is the column heading for the diurnal slope estimate

data.

17.6
LINE 6: (data from onset)

ON ODD TTHTT PPPPP.PP AAA.AA RRRR.R

where: ON indicates the line covers onset

indicates a digit of DOY

T indicates a digit of TOD

P^ indicates a digit of phase value (microseconds)

A indicates a digit of amplitude value (dB)

R^ indicates a digit of diurnal slope estimate

(mircoseconds/minute)

LINE 6a: (data for the first peak of COCO signal, not used with other tyeps)

IP DDD TTTTTT PPPPP.PP AAA.AA

where: IP indicates the line covers the first peak

£ indicates a digit of DOY

T indicates a digit of TOD

P_ indicates a digit of phase value (microseconds)

A indicates a digit of amplitude value (dB)

LINE 6b: (data for the valley peak of COCO signal, not used with others)

2P DDD TTTTTT PPPPP.PP AAA.AA

where: 2P indicates the line covers the valley peak

£ indicates a digit of DOY

T indicates a digit of TOD

P^ indicates a digit of phase value (microseconds)

A indicates a digit of amplitude value (dB)

17.7
LINE 7: (data from signal peak)

PK DDD TTTTTT PPPPP.PP AAA.AA

where: PK indicates the line covers the signal peak ^ indicates a digit of DOY

T indicates a digit of TOD

£ indicates a digit of phase value (microseconds)

A indicates a digit of amplitude value (dB)

^ indicates a digit of diurnal slope estimate

(microseconds/minute)

LINE 9:

OFFSET: NNNN.NN

where: ^ indicates a digit of the computed phase offset,

including the compensation for the diurnal slope

estimate at onset, (microseconds)

LINE 10:

ONSET RATE: NNN.N

where: indicates a digit of the computed average rate of

onset between onset and peak, (microseconds/minute)
17.3.2 U:RP2 Message Format

Part II of the RSD is generated by U:RP2 when processing is terminated

on a current signal. Data concerning the reason for termination and

applicable to the time of termination are output in the same basic

format as Part I of the RSD. Figure 17.2 displays three examples of

Part II of the RSD, and the following explains the format:

LINES 1 through 5 are the same as Part I.

LINE 6: (data from the time of signal termination)

FR DDD TTTTTT PPPPP.PP AAA.AA RRRR.R

where: FR indicates the line covers the time of final recovery

D^ indicates a digit of DOY

T indicates a digit of TOD

P_ indicates a digit of phase value (microseconds)

A indicates a digit of amplitude value (dB) ^ indicates a digit of diurnal slope estimate

(microseconds /minute)

LINE 7:

SIGNAL TERMINATED:

where: M is a letter from one of the following:

NORMALLY for normal signal termination

TIME LAPSE for signals that exceed one hour

SIGNAL LOST for signals when amplitude drops out

NEW ONSET for signals which lead into a new signal

17.9
Kc.r*OKT/-'uLt: SICjNmL bc.:iCf\I PT I OM/ Dc.T klb

J0 2

CHr^N b;FKcJ 21. J JNK; Tk^J UN16:bLiJ2JCPKD5

ilbN^L TYPc-l r^LPHi-^ t32.2b

DQY TlMc. PHHbL H/iP DIJK

Fk J2a 21^jbv (jvJ.Joo.d/ ~J:>»'aa &iJi4iJ.2

SIbtMHL Tc.K;-1I NhTlD: i\UK>'^f^LLY

^2b 11*;)343 ktiPOkTPDLt. SIGNAL bbSCk I P T 1 0N> UbT 21b

01 3

CriHN CiFKcJ 21.0 JNKJ Tk^; biMl 5 ; bL0 ChRUI

SIGNhL TYPG: bKMVO SIGkirt 00.36

DOY TiMb PriHbb Mi'-lP DIJK

FR 023 110339 &01 16.00 -0-^.36 i000.0

SIGNAL Tbki0 1 iMhT £D : NORi0hLLY

02^ 22^531 kbPGKTPbLE SIGNAL DbSCRIPTlON, D£T 213

00 5

CriAN biHRL0 21.0 JNkJTR3iGN16JbL02JCAkU3

SIGNhL TYPL: DLLTh SlGi'^H 00.30

DOY TIME PHhSE AMP DI Jk

FR 02a 22a51S Al0J36.12 -0A.A6 &000.0

SIGNmL TERMINATED; NORMALLY

Figure 17,2 Three Exanples of Part II of the RSD Message

17.10
17.3.3. U.RP3 Message Format

Whenever U:RP2 or U:RP3 transmits part of an RSD message to E:028

for output to the ASR 28 teleprinter, they set a flag bit in E.28F to

cause E:T28 to reschedule U:RP3 when the output buffer next becomes

empty. Part III of the RSD message is then generated using the

following format, as illustrated in Figure 17.3.

LINE 1:

RSD (serial number)

where: The serial number is a three digit value used to identify

the signal on this sensor channel. It is initialized each

time NUSTAD is reloaded and incremented for each new RSD

message generated. It allov/s the operator to associate

the three parts of the RSD with the same signal.

(Class) , (Type) , (Frequency & Call Letters) , (Path) ,D0Y)

v/here: Class is either A or B corresponding to whether Class A or Class B criteria were met.

Type is one of the following: ALPHA, BRAVO, COCO, or DELTA

Frequency is the sensor frequency setting, given digitally,

and the call letters are those associated with that frequency.

Path is either FRONT or BACK, based on the cardioid pattern.

DOY is the three digit DOY.

LINES 3 & 4: (Paragraph A)

A. (Onset time) , (Offset) , (Di rection)

(Onset Rate), (Onset Amplitude)

17.11
kSD Zc.nO Zc.nO I vvO

»-j Ji\X> Zc.HO TiMj ^^JJ^<

t->. T v%0 OM- T Aij Twu Trif\c.c. ui\c.> Zc.nu uNc. Fi\Zc.^ hUv/MNOc.

Zc.nO Thnc.c. NlNc-j ,'tlNJ^ Zc.nu 6 1 X Ui>

D • Fc. f-X Zr.f\0 Zr.r^L> rrif\c.c.> Zc.nO 61X L»d C» H/nLF uNn. Zc.nO FOJnj .•iiiSJJi Zlku SIX L)b

D« p'jLL TaO UiMc- FOJrc> I'^INJS Z£nu SIX ba

£. rOJk> Zt-KU T vsu T ^.0 FWc. Fil CKuS£Jui\DS^ hLFHh

RSD ZERO ONE Tm REE

bKHv/O j El.J JiNlX^ FkUNT^ ZErO Ti'.O Fl\/E

ONc. ZERO TrlREc. ZErO FIVE TaO> ZEkO T wO ONE# REThkD

ZERO FOJft FIVE# NlNJ:^ ZERO FIVE Ua

b« REhX ZlKO zero FOJR# MINJS Zt.r<0 FiVt. Dd

C» HhLF ONtL ZERO Zc.rO# FiINJS ZlkO FIVE Da

D» FJLL THRt-c. T i^O Sc-VEN# MiNJS Zt.KU FIVE L)b

E. FOJk# ZEKO zero FIVE SIX /i I C ROS t-CONUS # oRbVO

RSD ZERO Zc.txO F L c. bj Dt-LT/^.# 2 1 . 0 JNX# bMCX# ZERO T wO FOlIR

Two TWO T wO NINE ONE SIX# ZERO Zt.RO NINE# ADVHNCt.

ZEKO ZERO NINE# NINjS ZERO SIX Db

B. PEb< ZEkO ZERO NINE# /il N JS ZEkO SIX Db

C. HhLF one ZEkO ZEkO# NlNJS ZEkO SIX Dd

D. FJLL ONE SIX ZEkO# NINJS ZEkO FIVE Db

L. FIVL# zero zero five zero NI CkOSECONDS# DElTm

Figtire 17.3 Three Exanples of Part HI of the RSD Message

17.12
where: Onset time is the TOD at onset.

Offset is the phase offset computed betv/een onset and peak,

given in three digits to the nearest microsecond.

Direction is either ADVANCE or RETARD, the direction of onset.

Onset Rate is the average rate of onset to peak, given in

three digits to the nearest microsecond per minute.

Onset Amplitude is the signal amplitude at onset to

the nearest dB.

LINE 5: (Paragraph B)

B. (Time from onset to peak), (Peak Amplitude)

where: Time from onset to peak is given as three digits representing

tenths of minutes.

Peak Amplitude is given to the nearest dB.

LINE 6: (Paragraph C)

C. HALF (Tim.e fron onset to valid recovery) , (Half recovery Amplitude)

where: Time is in three digits of tenths of minutes.

Amplitude is given in dB.

LINE 7: (Paragraph D)

D. FULL (Time from onset) ,( Amplitude at full recovery)

or

D. LOST (Phase offset remaining) MICROSECONDS, (Ampl itude) or

D. HOUR (Phase offset remaining) MICROSECONDS, (Amplitude)

or

D. (Phase offset remaining) MICROSECONDS, (Ampl itude) , SECOND ONSET

17.13
where: Time from onset is three digits of tenths of minutes.

Amplitude is given in dB.

Phase offset remaining is the phase difference between

the current phase value and that needed for full recovery.

LINE 8: (Paragraph E)

E. (Tracking Rate), (Sigma at Onset) MICROSECONDS, (Type)

where: Tracking Rate is one digit value of sensor setting

Sigma is the onset standard deviation value

Type is repeated from Line 2, above.

17.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

E.BDF E$BDC

U.FRQ E$L0G

U.TRK U$DAT

U.GAN U$DAT

U.BLL U$DAT

M.STA M$ESC

U.CLS U$DAT

U.ODR U$DAT

U.OSG U$DAT

E.TMl[

E.TM2j E$FRT

E.28F E$T28

U.AMP U$DAT

Buffer of decimal digits from binary to decimal

conversion.

ASCII characters of sensor frequency settings.

Current setting for sensor channel tracking rate.

Current setting for sensor channel RF gain.

Current setting for sensor blanking level.

Digital lOIS status word from sensor channel.

Waveform class corresponding to criteria met.

1 Direction of onset; =1 for advance; =2 for retard;

=3 for multiple peak advance.

Standard deviation (U.SIG) at onset.

Two word BCD time used as parameter value for E:FCT.

Parameter word used in calling E:028.

Current signal amplitude estimate.
17.4 Input Parameter Descriptions

PARAMET ER PROGRAM DESCRIPTION

U.OTB U$DAT Signal onset time, BCD format.

U.OFZ U$DAT Phase value at onset.

U.OAM U$DAT Signal amplitude at onset.

U.ODI U$DAT Long term phase trend estimate at onset (U.DIU).

W.PFZ U$DAT Phase value at peak.

W.PAM U$DAT Signal amplitude at peak.

W.RTM U$DAT BCD time of valid recovery.

W.RFZ U$DAT Phase value at valid recovery.

W.RAM U$DAT Signal amplitude at valid recovery.

U.DIU U$DAT Current long-term phase trend (diurnal slope) estimate

W.LTM U$DAT BCD time at first peak of multiple peak signal.

W.LPK U$DAT Phase value at first peak of multiple peak signal.

W.LAM U$DAT Signal amplitude at first peak of multiple peak

signal

.

W.VTM U$DAT BCD time at valley peak of multiple peak signal.

W.VPK U$DAT Phase value at valley peak of multiple peak signal.

W.VAM U$DAT Signal amplitude at valley peak of multiple peak

signal

.

W.OST U$DAT Phase offset, onset to peak.

W.ONR U$DAT Average rate of onset, onset to peak.

U.LFZ U$WFA Phase value of the last compressed data point

encountered on each channel.

U.LTM U$WFA The BCD character time of the last compressed data

point encountered on each channel.

17.15
17.4 Input Paramete r Descriptions (continued)

PAR-4METER PROGRAM DESCRIPTION

U.END U$DAT Flag to indicate how processing terminated on waveform just completed.

W.PTM U$DAT BCD time at peak.

U.DTM U$DAT Dummy binary time used by E$DIF.

U.OTM U$DAT Signal onset time, binary form,at.

U.CTM U$DAT BCD time of current ten-second interval.

E.BSG E$BDC ASCII characters for sign of output of E:BDC,

binary to decimal conversion.

U.CCL U$WFA Number of microseconds in one cycle for the

frequencies of each channel.

17.5 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

U:RP1 Entry point to routine to generate Part I of RSD.

U:RP2 Entry point to routine to generate Part II of RSD.

U:RP3 Entry point to routine to generate Part III

of RSD.

U:UDR 1 Serial counter for reportable signals.

17.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

f-1SG01 M01S1

28 Part I & II of RSD, Line 1

17.16
17.6 Internal Data Descriptions (continued)

PARAMETER SIZE DESCRIPTION

M01S2

MS31S3

M01S4

62 Part I & II of RSD, Lines 2 through 5.

MS31S5

MSG(32

M02S1

M0252

22 Part I & II of RSD, buffer for lines of numeric data.

MSG03

M03S1

M03S2

20 Part I of RSD, Lines 9 & 10.

MSG(?4

M04S1

19 Part II of RSD, Line 7.

LEADS 3 C/R followed by five L/F characters.

LEADR 27 Buffer of null characters for leader generation.

MSG05

M05S1

23 Buffer for Part III of RSD, Line 1.

MSG06

M06S1

82 Buffer for Part III of RSD, Lines 2 through 8.

CALTR 56 Table of frequencies and associated call letters.

LLABE 6 List of data line labels; "ON", "PI", "P2", "PK",

"HR", and "FR".

UDRNO 14 Value of serial counter for signal on each channel.

LINEN 1 Pointer to current line number; entry in LLABE.

TYPEA 3 "ALPHA" in ASCII characters.

TYPEB 3 "BRAVO" in ASCII characters.

TYPEC 3 "COCO" in ASCII characters.

17.17
17.6 Internal Data Description (continued)

PARAMETER SIZE DESCRIPTION

TYPED S "DELTA" in ASCII characters.

TEMP 5 Working storage.

TPHAS 1 Parameter for internal subroutine; phase value.

TAMP 1 Parameter for internal subroutine; amplitude value.

TDIUR 1 Param.eter for internal subroutine; diurnal slope estimate.

RPSVl 7 Register save area.

RPSV2 6 Register save area.

ENDl 6 "NORMALLY" in ASCII characters.

END2 6 "TIME LAPSE" in ASCII characters.

ENDS 6 "SIGNAL LOST" in ASCII characters.

END4 6 "NEW ONSET" in ASCII characters.

NOTBL 24 Pointers to ASCII characters of words in output messages.

NO(3 S "ZERO" in ASCII characters.

NOl S "ONE" in ASCII characters.

N02 S "TWO" in ASCII characters.

NOS 4 "THREE" in ASCII characters.

N04 S "FOUR" in ASCII characters.

NOS S "FIVE" in ASCII characters.

N06 S "SIX" in ASCII characters.

N07 4 "SEVEN" in ASCII characters.

NOS 4 "EIGHT" in ASCII characters.

N09 4 "NINE" in ASCII characters.

17.18
17.6 Internal Data Description (continued)

PARAMETER SIZE DESCRIPTION

NO10 4 "FRONT" in ASCII characters.

NOll 3 "BACK" in ASCII characters.

N012 3 "PEAK" in ASCII characters.

N013 3 "HALF" in ASCII characters.

N014 3 "FULL" in ASCII characters.

N015 3 "HOUR" in ASCII characters.

N016 3 "LOST" in ASCII characters.

N017 7 "MICROSECONDS" in ASCII characters.

N018 5 "ADVANCE" in ASCII characters.

N019 4 "RETARD" in ASCII characters.

NO20 3 "PLUS" in ASCII characters.

N021 4 "MINUS" in ASCII characters.

N022 2 "DB" in ASCII characters.

N023 7 "SECOND ONSET" in ASCII characters.

ZCLS 14 Copy of U.CLS

ZTYPE 14 Pointer to TYPEA, TYPEB, TYPEC, or TYPED above.

ZFRQ 28 Copy of U.FRQ

CALL! 28 Computed call letters for sensor frequencies.

ZSTA 14 Copy of M.STA

ZOTM 28 Copy of U.OTM

ZOTB 28 Copy of U.OTB

ZOAM 14 Copy of U.OAM

17.19
17.6 Internal Data Description (continued)

PARAMETER SIZE DESCRIPTION

ZOST 14 Copy of W.OST

ZODR 14 Copy of U.ODR

ZONR 14 Copy of W.ONR

ZPTM 28 Copy of W.PTM

ZPAM 14 Copy of W.PAM

ZRTM 28 Copy of W.RTM

ZRAM 14 Copy of W.RAM

ZRFZ 14 Copy of W.RFZ

ZTR 14 Copy of U.TRK

ZOSG 14 Copy of U.OSG

ZOFZ 14 Copy of U.OFZ

ZFAM 14 Copy of U.AMP

ZFFZ 14 Copy of U.LFZ

ZFTM 28 Copy of U.LTM

INPRG 14 Flag to indicate on which channels a report is in progress

ZEND 14 Copy of U.END
U^RPl )

Save registers

1-7 in RPSVl

and registers

lC-15 in RPSV2

Set channel's

UDRND to U.UDR

to assign an

I.D. number to

this report

Increment U.UDR

for next

signal report

Save onset and

descriptor data about

signd;

ZODR= U.ODR

ZCLS = U-CLS

ZOTM=U-OTM

Set onset

data:

TPHAS=U.OFZ

ZOFZ = U.OFZ

TAMP = U.OAM

ZOAM=U.OAM

TDIUR=U.ODl

E.TM1, E.TM2=U.OTB

ZOTB= U.OTB

Save signal class ZCLS= U.CLS

NO

Set LINEN = 1 For first peak

line

I

Set up first peak

data:^

TPHAS = W.LPK

TAMP=W.LAM

E.TMl, E.TM2 = W.LTM

I / SHRTL

(short FIRST

\ PEAK LINE

Set LINEN = 2

For valley peak

line

Set up. valley peak data;

TPHAS = W.VPK

TAMP = W.VAM

E.TMl, E.TM2 = W.VTM

/ SHRTL

\SHORT VALLEY

\ PEAK LINE

PKOUT W

Set LINEN = 3

for peal:

line

Set peak data: TPHAS-WoPi'Z

TANIP -W.PAM

ZPAM -W„P'H

WoP_M

ZPTM-WoPIM

SHRTL

SHORT PEAK

LINE —J—

Set LIiTen = 4

for valid

(half rcv>' In

Set valid recovery data:

TPHAS = W.RFZ

ZRFZ = W. RFZ

TAMP = WRAM

ZRAM = W.RAM

TDIUR = U.DiU

E.TMl, E.TM2 = V/.RTM

ZRTM = W.RTM

LONGL \

LONG VALID / .RECOVERY LINE/

17.20a
Save Offset:

ZOST - W. OST

17.20b
u

U:RP2

17.20c
U$REP

No

U:RP3

Reset channel

pointer to 0

Move pointer

to next chan

E:028

(in E$T28)

(LEADER)

EiSKD

RF301 '-J Set rt-sched-.dt'i request bit

in E.28F

V E:028

(in E$T28)

(LEADER)

clear INPRG

flag for this

channel

Pick up sgnl's

I, Do number

from UDRNO

E:BDC

/ OUTNO

yS digits)

'

I Terminate

Line

E:028

l(RSD number)

Pickup signal

class from

ZCLS

ZCLS=2 Yes

No

Set Class="B

in output

buffer

Set Class="A"

in output

buffer ^

Store comma

(#2C) in output buffer

\.f

Set pntr to

sig type (Ait,

of alphabetic

chars of ^pe ' From ZTYPE

STRCH

(6 character)^

Signal

Store comma

(#2G) in output Duffer

Set pntr to

charac of

channel ‘

s

freq from

ZFRQ

STRCH

^(4 Char freq^

/

©

17.20d
Set p ointer id chara of chnls

call letters

from C.YLLT

Y

/ STRCH

((4 char call

letters)

y

/ABC NO

(("FRONT '7

\ "BACK")

Store c ODrii

a

(#2C) in output buffer

Pick up day

of year from

UoCTM

ABC NO

'(3 times for

3 digits of^

DOY)

TERLN

Set first

paragraph flag

"A" in output

buffer

Y

Set onset time

from ZOIB

, ABC NO

1^6 times for

^6 digits of

time )

i

Store comma

(#2C) in output buffer

Get onset tm

ZOST & round

off to psec

E:BDC

OUTNO

(3 digit

of f set)>

Store comma

(#2C) in output buffer

Bet pointer to “'RET/\Pd)" v;oru ble

Set pointer

to "ADV.\NCE"

word i n table

ki

17.20e

F3

YES

YES

YES

V

Set pointer to "FULL "in word

table

ABCNO

(”Full”)

E:DIF

'(ZFU'l-ZOTM)

Divide time

dirt bv 6 to

get time to A miiuit ea.,. V

1 LTEND

Set pointer tc "LOST" in wore table

HREND

Set pointer to

"HOUR" in wore table

/abcno

(("LOST"/

\ "HOUR")

NOND V

Compute phase

recovery nded

to full

rZOFZ-ZFFZ)

Add in one cycle from

U,CCL

<-

W

Round off phs

difference to

ol pseconds

17.20g
U$REP

17.20h
17.201
U$REP

17.20J
t'

SHSET

Pick up 2 char

line laoel pntd

to by linen | from LLABE i

Sbrtne/

\Rtn/

K

ABCNO

V

Save registers 4-7

Pick up addr

of first char

of desired

wrd fm NOTBL

index by pntr

in RS

>

ABCNl ^

Get next chai

from mem-

, ory .. T

I No

Store char in

output buffer

i Increment ptr

to next char

_ 6c pointer to

next buffer

location

Restore

Registers

17.20k
STRCH

Sav

Registers

3 - 7

Get next ctiar

fm location

given in R4

Store char in

output buffer

Increment char

pointer to nx[;

output char &

buffer pntr to next loc

Increment

char

Counter

ABCNO

[(’’PLUS”/

’’MINUS”)/

17.201
EP

OUTNO

V

NXTLN

M

Store carriage

rtn & line

feed (7r0D0A)

in output

buffer

Store 4 s (#20) as chars of

line

3CS

cirst

lext

f

Sbrtna

\Rtn/

17.20111
18. U$RED

18.1 Functional Description

As NUSTAD is designed to run unattended for extended periods of time,

and the system mission requires that reliable data be maintained on at

least the highest priority channels, several sensor channels may be tuned

to the same frequency to supply back-up coverage of the high priority

paths. U$RED determines whether those sensor channels tuned to the

same frequencies are arriving at the same processing results and logs

those cases where channels fail to do so.

U$RED is entered at U:RED from the scheduler. This task may be

scheduled either by E:MIN at a regular interval, or by E:0MI in response

to an operator request (the CRC: input option). When completed, control

is returned to the system scheduler at E:SKD.

U:RED first pairs all sensor channels which monitor the same paths.

Where three channels monitor the same path, the three possible pairs are

all detected. Two channels are considered to be monitoring the same

path if:

a. Neither sensor channel has its processing inhibited; i.e.,

neither has a Maintenance or INE condition set.

b. Both sensor channels are tuned to the same frequency.

c. If both sensor channels are using a cardioid pattern, the

FRONT/BACK directional selection is the same for both. If both are not

18.1
using a cardioid pattern, they will be considered to be in the same directi on

.

When a pair of sensor channels are encountered monitoring the same

path, the processing results for those channels will be compared. If

the results compare favorably, the channel pair will have passed the

redundacy test successfully. If all pairs test successfully, a "T RS"

(Total system Redundancy test Successful) message is entered into

the station log. Where some pair fails, a message is generated indicating

the sensor channels add the reason for the failure. The format for

that message is:

DDD THTT RED FAILURE CHAND, C AND C ON LEVEL N

where: R is a digit of DOY

T is a digit of TOD

S is a character of sensor channel designation (A through N)

R is a digit indicating where the test failed, interpreted

as follows:

LEVEL REASON

1 The channel status, determined by the amplitude characteristics,

is not the same for both channels. (U.CST)

2 The analysis status, indicating the progress in waveform

processing, is not the same for both channels. (U.AST)

3 The short term noise characteristics are not the same on both

channels. (U.TRK)

4 The long term trend characteristics are not the same on both

channels. (U.DIU)

18.2
If no pair of channels monitoring the same path are encountered,

no message is generated.

The tests conducted on the channel pairs include:

a. Channel Status. The pair passes this test only if both

values of U.CST are the same.

b. Analysis Status. The pair passes this test only if both

values of U.AST are the same.

c. Short Term Noise Characteristics. Since the tracking rate

is adjusted on the basis of the signal standard deviation, the use of the

tracking rate settings as a basis for this test is deemed reasonable.

Since monir variations in the sensor itself can produce slight differences

identical settings will not be required. Therefore, the pair will pass

this test if the tracking rates (U.TRK) for the two channels are within

three settings of one another.

d. Long Term Trend Characteristics. Again, minor variations

in the sensors will cause some differences in these estimates. The

pair will pass this test if the diurnal slope estimates (U.DIU) are

within .1(315625 microseconds/minute of one another.

18.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:SKD E$SKD System scheduler reentry point.

E:028 E$T28 Translates output message to BAUDOT code

in output buffer before transmission to

1 and stores

ASR 28.

1 E:L0G E$L0G Generates coded log message for ASR 28. 1

j E:FRT E$FRT Reformats BCD time from the WTC to ACCII

output.

for

18.3
18.3 Input Parameter Descriptions

PARAMETER1 PROGRAM DESCRIPTION

U.CST U$DAT The channel's processing status, based on the

results of the amplitude monitoring section of

U:RTA.

U.AST U$DAT The channel's waveform analysis status, determined

by the point in the signal to which processing has

progressed.

U.TRK U$DAT Current settings for sensor channel tracking rates.

U.BIU U$DAT The diurnal slope, or long term data trend, estimate

E.28F E$T28 Parameter word used in calling E:028.

U.FRQ E$L0G The current settings of the sensor frequency

switches.

U.IHB U$DAT Flag bit set to inhibit processing on a channel

when a Maintenance or INE condition exists.

M.STA M$ESC lOIS digital input word with frequency, INE,

Maintenance, Auto/Manual, and Cardioid settings

for each channel

.

18.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

U:RED Entry point for channel redundancy checking routine.

18.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

FMSG 27 "123 123456 RED FAILURE, CHANS A AND B ON LEVEL 1"

message text.

FLAG 1 Flag word for status of U:RED processing:

Bit (3 = 1 if failures have been found.

Bit 1 = 1 if sensor channel pairs monitoring same path found.

18.4

/

RED01 "F

Increment

first channel

pointer

18.4b
19. U$PST

19.1 Functional Description '

^ p;

This program allows the operator to make changes to the sensor

tracking rate, gain, and blanking level by typing the desired value

with a keyword identifier and sensor channel information on the ASR 35

teletype. NUSTAD responds by either carrying out the desired task or

explaining why it couldn't.

19.1.1 U:PST

U:PST is entered from the system scheduler when E:0MI identifies ^

an operator keyword designation of OPC: and serves two primary functions:

a. A link between NUSTAD and the operator used to pass parameter

values to the sensor channels.

1

b. Text editing to prevent improper parameter values from being;

transmitted.

Parameter change messages are fixed format as explained in Section 19.3

and are passed Via the ASR 35 and NUSTAD to the sensor channels. Prior

to any change being made, a check (MAYI) is made on the affected channel

to determine if a signal is in progress. If a signal is in progress, a

message is output explaining that no change can be made at that time. j

Once a change is made, control is returned to NUSTAD and the operator must

reinitiate the calling sequence to make additional changes.

19.1
19.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:035 E$T35 Transfer output message to buffer before

transmission to the ASR 35.

U:CNI U$RTA Entry point for routine to determine whether

a signal is in progress for granting permission

to make sensor parameter setting adjustments

(see Section 12.1 .2)

.

E:SKD E$SKD System scheduler entry point.

E:MIT E$UIN Transmits GAIN, TRACKING RATE, and BLANKING

LEVEL values to sensor channel given in R3.

E:L0G E$L0G Generate coded log message for ASR 28.

19.3 Data Formats

The operator calling sequence used in this program includes the

keyword OPC: followed by the channel designation, function code, and

parameter values desired. The channel designations are the letters

A, B, C, through N, and correspond to the fourteen sensor channels.

A single letter is used to denote the function desired, B for BLANKING

LEVEL change, G for GAIN chainge, and T for TRACKING RATE change. Each

of these functions have an upper and a lower limit to the value that can

be requested; BLANKING level ranges from 00 through 63, GAIN from

00 through 24, and TRACKING RATE from 00 through 09. The request

should take the form of the following example:

19.2
KEYWORD -~l rFUNCTION

EXAMPLE: OPC:B,G,08

CHANNEL L'— VALUE

The request should be followed by a carriage return

19.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.GAN U$DAT Current sensor RF GAIN setting (see Chapter 16).

U.TRK U$DAT Current sensor TRACK RATE setting (see Chapter

16).

U.BLL U$DAT Current sensor BLANKING LEVEL setting

(see Chapter 16)

.

E.35I E$T35 Address of first character of input from ASR 35.

E.IOF E$T35 Parameter word used in calling E$T35.

19.5 Internal Data Description

PARAMETER SIZE DESCRIPTION

ILLCH 11 "INVALID CHANNEL" output message.

ILLVL 15 "VALUE NOT WITHIN LIMITS" output message.

NOPAR 23 "NO PARM. CHANGE PERMITTED, SIG. IN PROG."

output message.

ILFUN 11 "INVALID FUNCTION" output message.

INFMT 10 "INVALID FORMAT" output message.

ILVAL 14 "CANNOT USE NEG. VALUES" output message.

19.3
U$PST
o

Combine the

tu'o digits

into 1 word

OPERATOR MUST USE TWO

DIGITS FOR VALUE.

V

Send

new sett.

>

, E:MIT / E;SKD

19.5b
251. M$ESC

20.1 Functional Description

NUSTAD monitors the hardware status of the sensor and ADACS

interface through digital information transmitted from these devices

to the processor via the lOIS digital input. Specifically, the sensor

frequency setting, the cardioid configuration, the position of the

maintenance and auto/manual switches, and the status of the INE check are

made available to the system through fourteen words, one per sensor channel, of the digital input portion of the 10 IS. When any of these values

change, the level three user defined external interrupt of the lOIS,

referred to as the INE interrupt, vectors control to M:INT of M$ESC.

20.1.1 M:INT (INE Interrupt Service Routine)

An INE interrupt vectors control to M:INT when any of the information in the digital status words in the first fourteen channels of the

digital lOIS changes. M:INT then sets a five second delay timer (M.TMl)

in E:SEC when the timer reaches zero, E:SEC flags M:ESC in the system

scheduler. After starting the delay timer, M:INT returns control to

the interrupted program.

20.1.2 M:ESC (Equipment Status Change Monitor) .

M:ESC is entered from the system scheduler to determine the cause

of the INE interrupt and to react accordingly. The previous values for

the digital status words are stored in M.STA (known internally as SVWRD).

Channel by channel, the current values are read and compared with the

old values. The following actions are taken when the various parameters

have changed:

20.1
a. Auto/Manual bit changed. An "AU" message is generated

for the station log if the change is to the Automatic position, or a "MN"

message if the change is to the Manual position.

b. Maintenance bit changed. A "MS" or "MR" message is generated

for the station log to indicate whether the maintenance switch had been

set or reset, respectively. If the sensor channel has been put into

maintenance, the inhibit bit (U.IHB) is set to cease processing on that

sensor channel, and the channel is put DOWN. If the channel has been

brought out of maintenance, and the INE condition is not set, the inhibit

bit is cleared and the processing parameters for that channel are

reinitialized to permit the channel to restart.

c. INE bit changed. An "IS" or "IR" message is generated for

the station log to indicate whether the maintenance switch had been set

or reset, respectively. If the sensor channel is going into the INE

condition, the inhibit bit (U.IHB) is set to terminate processing on

that sensor channel, and the channel is put DOWN. The INE condition

refers to a state of In_valid data, Equipment sensed; i.e., detection

circuits in the sensor and ADACS interface indicate a hardware condition

which invalidates the data. When coming out of the INE condition,

and the maintenance switch is not set, the inhibit bit is cleared and

the processing parameters for that channel are reinitialized to permit

the channel to restart.

d. Cardioid configuration changed. The one digit code for the new

configuration is logged in a "CC" message on the ASR 28.

20.2
e. Frequency changed. The new frequency setting is logged

on the ASR 28 with a "FC" message. The sensor channel is put DOWN, and

the processing parameters are reinitialized to permit the channel to

come up on the frequency.

When all channels have been checked and all changes logged,

control is returned to the system scheduler at E:SKD.

20.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:SKD E$SKD System scheduler reentry point.

E:L0G E$L0G Generates coded log messages for the ASR 28

20.3 Data Formats

20.3.1 Digital Input From lOIS

The first fourteen words of digital input from the lOIS supply the

status data on the equipment condition. The format for these inputs, one

word per sensor channel, is:

BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1

V *10

^ ^ u

FREQUENCY

*.lyCARDIOD

CONFIGURATION

AUTO/MANUAL

MAINTENANCE

INE

Figure 20.1 Digital lOIS Input Data Format

20.3
The frequency readings are input in 9's complement. The individual

digits may be interpreted as follows:

1 TENS DIGIT 1 INPUT VALUE ACTUAL VALUE

TUNITS AND

INPUT VALUE

TENTHS DIGITS

ACTUAL VALUE

0 1 0 10 0 1 0

0 0 1 10 0 0 1

1 1 2 0 111 2

1 0 3 0 110 3

0 10 1 4

0 10 0 5

0 0 11 6

0 0 10 7

0 0 0 1 8

0 0 0 0 9

Table 20.1 Frequency Value Interpretation

The value which is actually read into the processor is the ones complement of all bits except bits 14 and 15. M:ESC first complements bits

0 through 13. The cardioid configuration is interpreted as follows:

VALUE CONFIGURATION

0 LOOP/WHIP NORMAL

1 LOOP NORMAL

2 WHIP NORMAL

4 LOOP/WHIP REVERSE

5 LOOP REVERSE

6 WHIP REVERSE

7 NO CARDIOID USED

Table 20.2 Cardioid Configuration Interpretation

20.4
Bits 13, 14, and 15 are interpreted as follows:

Bit 13 = 0 INE condition is RESET

= 1 INE condition is SET, processing is inhibited.

Bit 14 = 0 = 1 Maintenance condition is RESET.

Maintenance condition is SET, processing is inhibited.

Bit 15 = 0

= 1 Sensor channel is operating in AUTO mode.

Sensor channel is operating in MANUAL mode.

20.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.IHB U$DAT Flag bit set to inhibit processing on a sensor

channel if the INE or Maintenance bits are set.

U.CST U$DAT The channel's processing status, based on the

results of the amplitude monitoring section of

U:RTA.

U.RTY U$DAT Counter for consecutive ten-second intervals

of "good" data required to bring a channel

to the UP state.

U.END U$DAT Flag to indicate how processing terminated on signal just completed.

U.CLS U$DAT The class of the waveform being processed, based

on the set of criteria met.

U.TRF U$TGR Flag to indicate the status of the trigger detection

program based on the progress of the triggering

sequence.

U.OTM U$DAT Signal onset time, binary format.

U.CCN U$DAT Accumulated sum of U.CYC to indicate the total

effect of cycle shifts induced by NUSTAD.

U.TRL U$TGR The count of compressed data points required to

trigger waveform analysis.

20.5
20.5 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

M:INT Entry point for INE interrupt service routine.

M.TMl 1 Five second delay timer for scheduling M:ESC.

M:ESC Entry point for Equipment Status Change monitoring

program.

M.STA 14 Current values for input digital status words,

after all changes are logged.

20.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SVWRD 14 Value of digital input status words from last call

to M:ESC. Also called M.STA by external programs.

INWRD 14 Buffer of input values read in from first fourteen

words of digital input of lOIS during this call to

M:ESC.

20.6
J Vx

A

M:INT

Save one

Register
ESCl V

Store, INWRD

as new value

of SVWxRD
20.6c
Rti
21 . M$LEV

21.1 Functional Description

M$LEV generates a table indicating historical information about

each sensor channel which can be used in determining the sensor channel

reliability. The table, call'ed the PARAMETER HISTORY, indicates the

percentage' of time which each channel was in an UP state, and the

’

percentage of up time that each channel was at each tracking rate or

gain setting.

M:LEV is entered from the system scheduler when the current time

matches an entry in LEVTB of E:MIN (see Section 5.3). E:MIN identifies

the need to generate a PARAMETER HISTORY table, and flags M:LEV in the

scheduler's task table.

Figure 21.1 shows an example of the output generated by M:LEV on

the ASR 28 logging teleprinter. The DOY/TOD group and detachment

j

number are supplied in the healing. The columns correspond to the sensor

channels, labeled A through N. The row marked UP gives the percentage

of time. since the last-system startup or the last execution of M:LEV,

whichever is more recent, that each sensor channel wa§. in the UP state

(i.e. U.CST =1). Under the heading TRACK RATE, each of the possible

tracking rate settings corresponds to one row, and the percentage of up

time that each sensor channel was at that setting is given in that row.

Since there are 25 gain settings, the settings are grouped as shown in

Table 21.1. The percentage of channel up time that each sensor channel

was in each of the gain groupings is given in the section under the

heading of GAIN.

21 .1
02^ f->MKP..Mh:TtLK H13TUKY DiiF 215

CHAN A B c D £ F G H 1 J K L N

JP 99 1 0 J 1 00 99 1 00 1 00 1 00 0 0 0 0 0 99 73

THAC-< i 0 0

RAT £

0 0 1 2 7 0 1 0 0 0 0 0 0 0

I 0 0 0 9 d 0 1 0 0 0 0 0 0 0

2 0 0 0 1 9 41 0 1 0 0 0 0 0 0 0

3 0 0 0 1 6 25 0 1 0 0 0 0 0 0 0

A 0 0 0 6 1 d 0 0 0 0 0 0 0 0 0

5 0 0 0 d 1 0 1 0 0 0 0 0 0 0

6 0 0 0 6 0 0 0 0 0 0 0 0 1 0

/ 0 0 0 1 ^ 0 2 1 0 0 0 0 0 1 1 6 A 0 0 1 1 0 5 3 0 0 0 0 0 0 4

9 95 100 1 00 0 0 93 91 0 0 0 0 0 9d 95

GAIN

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3 56 0 0 0 5d 9d 0 0 0 0 0 0 0 0

A AA 1 00 1 00 0 30 2 49 0 0 0 0 0 0 0

b 0 0 0 0 1 2 0 24 0 0 0 0 0 73 0

6 0 0 0 8d 0 0 27 0 0 0 0 0 27 0

7 0 0 0 1 2 0 0 0 0 0 0 0 0 0 1 00

Figure 21,1 Example of PARAMETER HISTORY Table Generated by M:LEV

21.2
When the table is completed, the counters are all reset and control is

returned to the system scheduler at E:SKD.

GAIN GROUP GAIN SETTINGS

0 0, 1. 2

1 3, 4, 5

2 6. 7, 8

3 9, 10, 11

4 12, 13, 14

5 15, 16, 17

6 18, 19, 20

7 21, 22, 23, 24

Table 21.1 Organization of Gain Groupings

21.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:FRT E$FRT Reformats BCD time from the WTC to ASCII for

output.

E:028 E$T28 Translates output message to BAUDOT code and

transfers message to output buffer before

transmission to the ASR 28.

E:BAD E$BCD Converts binary values to ASCII decimal

characters for output.

E:SKD E$SKD Reentry point for system scheduler.

21.3
21 .3 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

E.TM3 E$CLK Counter for minutes of system up time.

M.UPT E$CLK Counters for minutes of sensor channel up times.

M.TRT E$CLK Counters for minutes of channel up time at

various tracking rate settings.

M.GNT E$CLK Counters for minutes of channel up time at

various gain group settings.

E.BDF E$BDC Buffer of ASCII decimal characters generated

by E:BAD.

E.28F E$T28 Parameter word used in calling E$T28

21.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

M:LEV Entry point for PARAMETER HISTORY table generator.

21.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

LINE^l

LINEl

f

55 Output buffer for first two lines of output,

through column headings.

LINE2 8 "TRACK RATE" section heading message.

LINE3 5 "GAIN" section heading message.

TERMN 4 Five line feed characters used to terminate output.

BUFFR 31 Output buffer for data lines.

UPFLG 14 Set to percentage up time, therefore = 0 for channels

for which TRACK RATE and GAIN section values are all

LFLAG 1 Bit 0=0 during TRACK RATE section; = 1 during GAIN

section.

ENDVL 1 Set to highest setting value possible for TRACK RATE

and GAIN sections to control number of rows of

output in each section.

21.4
(^M:LEV ^

I

E:FRT

/

y

lead det

number

^from lOIS

V

)tore det no.

p.n output

)uffer

E:028

'(in E$T28)

\(Header

Lines)

I ^toFe”^"UP'’Td

label first

line (#5550)

^eset to 0:

]han pntr &

output bfr ptr

Get E.IM3-the

amt of time

since last out- put that sys

has been on-line

LEV01 ^

A

Compute % tme

chan was UP:

M„UPT-n00 \

EolH3 /

(Round off

Result)

V

Hold % up

time in

UPFLAG

E:BAD \

(in E$BDC))

LPACK

Move pointer

to next chan

E:028

'(in E$T28)

y(% up data

line)

/ E:028 \

/(in E$T28) \

\ ("TRACK RAT^'

\heading) / '

\ Set

;

Increm Val=10

Val Pntr=0

LFLAG Reset

ENDVL=10

Base pntr to

lUTRT

A1

LEV02 V

leset to 0

:

];han pntr &

)utput buffer

pointer

nvrt value

mtr to ASCII

3: store for

E:BAD

v(in E$BDC)

LPACK

Add increm va]

to base pntr

fr next chan

at this level

Increment

chan pointer

21.4a
M$LEV

E:028 \

(in E$T28) \

(One output''

line) /

Move base ptr

to next value

first chan

Increment

value pointer

E:028

\in E$T28)

(’’GAIN”

^Heading:)

gitT

Increm Val=8

ENDVL = 5

Val Pntr= 0

Base pntr to

0

LEV05 1

Reset all

counts in

]V[.UPT,rvI.TR^

&1VLGNT to 0

E:028

(in E$T28)

y(Line

Feeds)

E:SKD
i$LEV

i

I

LPACK

C

Set char

counter to 4

>

LPCIC7

21.4c
22 . M$STD

22.1 Functional Description

22.1.1 M:$TD (Status Display Routine)

NUSTAD logs pertinent information about the sensor parameter

settings and processing status on the ASR 28 in the form of a table

entitled the CURRENT RECEIVER STATUS. This table is generated by

M:STD either at predetermined times listed in the STDTB of E:MIN (see

Section 5.3) or in response to an operator request via E:0MI (the

STD: input option).

If the current time, read from the WTC, corresponds to an entry in

STDTB of the one minute interrupt service routine (E:MIN) E:MIN sets

the flag for M:STD in the scheduler's task table. If the operator

enters STD: as the keyword request on the ASR 35 teletypewriter, E:0MI

will flag the scheduler task table entry for M:STD. In either way,

the scheduler will transfer control to M:STD to generate the CURRENT

RECEIVER STATUS table.

After the table is generated, M:STD returns control to the scheduler

at E:SKD.

22.1.2 E:FAM (Amplitude Reformat Subroutine)

E:FAM is an executive support subroutine which converts amplitude

values from internal binary representation to ASCII decimal characters

representing the signal amplitude in dB.

22.1
Calling Sequence:

BLM,14 E:FAM

DFC STORE

where the value of U.AMP for the channel specified in R6 is converted to

ASCII decimal characters and stored in three computer words starting at

the location passed in the second statement of the calling sequence

(at the location called STORE in the above example). The format of

the subroutine output is: -00(30

22.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:FRT E$FRT Reformats BCD time from the WTC to ASCII for

output.

E:028 E$T28 Translates output message to BAUDOT code and

transfers message to output buffer before

transmission to the ASR 28.

E:BAD E$BDC Binary to ASCII decimal conversion routine.

E:FMF E$FMF Reformats phase values from internal representation

to ASCII decimal for output.

E:SKD E$SKD Reentry point for the system scheduler.

22.3 Data Formats

Figure 22.1 shows two examples of the CURRENT RECEIVER STATUS tables

generated by M:STD. Line 1 includes the DOY/TOD group and the detachment

number with the table identification. Each row of the table itself

supplies the following information for one sensor channel.

22.2
a. Channel designation, A through N.

b. Frequency, as read from the sensor through the digital

input portion of the lOIS.

c. Cardioid configuration, a single digit, interpreted by

Table 21.1.

d. INE condition, = 0 if INE condition reset; = 1 if INE

condition set.

e. Maintenance condition, = 0 if channel not in maintenance;

= 1 if channel is in maintenance.

f. Auto/Manual selection, = A if channel is in Automatic mode

= M if channel is in Manual mode.

If either the INE or the Maintenance conditions are set, the line

is terminated after the Auto/Manual indication. Otherwise, the line

continues:

g. Gain setting, the current sensor RF gain setting.

h. Tracking Rate setting, the current sensor tracking rate

setting.

i. Blanking Level setting, the current sensor blanking level

setting.

j. Diurnal slope estimate, the current long term phase trend

estimation, given in microseconds/minute. Positive value corresponds

to the retard direction, negative to the advance direction.

22.3
1(324 06(di34.3 CJKRt.NT HECt-lVt-K STmTJS> ULT 21b

CH /->N F KE'o) C I N GmI N TR bLL l)L URNAL S I G i''j A A/iPLI TuUl

H 11.6 d 0 0 A 09 d 00 -000 .

d

00.6 2 -09 . O0 UP

d 21.0 b 0 0 M 1 2 9 02 -000.

1

00.62 -06 . 76 UP

C 21 .0 1 0 0 A 1 2 9 0 4 -000.

1

00.62 -0d . 16 UP

D 16.0 b 0 0 A 20 2 00 -000 .

1

00 . 2b -0b . 0 4 UP

E 22. 3 1 0 0 A 09 2 01 ii0 01.7 06 . 6

d

&0 0 . 6 d UP

F 1 d . 6 b 0 0 A 1 1 9 00 -000 .

1

00.00 -00 . 0d UP

G 24.0 b 0 0 A 20 3 00 —000.

7

0 1.37 -01.24 UP

H ZERO INRJT • # •

I 1 7 .d 7 0 0 A 1 1 d 00 -00d .

9

00.00 -19.96 DOWN

J ZERO INPUT • • •

*< ZERO INPUT « • • L ZERO INPUT • • • 24. 0 7 0 0 A 1 9 9 00 &0 23 .

d

1 0. dl -06 . 4d C j R

N 1 7 . d 7 0 0 A 24 6 00 -000 .

4

11.00 - 1 d . d0 C*H

024 0901b3 CJRKt-NT RLGEI\/t.K STMTJb> DET 21b

CHAN FREo) C I M AM GaI N TR

A 1 7 . d b 0 0 A 1 2 9

B 21 .0 b 0 0 A 1 6 1 C 21 .

0

1 0 0 A 1 4 1 D 16.0 b 0 0 A 22 2

E 22. 3 1 0 0 A 1 1 1 F 1 d.6 b 0 0 A 1 1 9

G 24.0 b 0 0 A 1 d 9

H ZhKO INPUT • • •

I 1 7 . d 7 1 1 M

U ZEhO I INPUT • • • K ZbHO INPUT • • • L ZERO I NPUT • • • M 24.0 7 0 0 A 20 9

N 1 7 . d 7 0 0 A 24 9

BLL DIURNAL S I GMa AMP LI TUDE

00 -000 .

1

00 . 1 d -03.04 UP

1 6 &0 0 0 .

6

0 3.00 -0b . 36 UP

1 7 (Sc000 . 7 0 3.00 -06.96 UP

00 <5(000 .

0

00 . d 1 -01.76 UP

01 <5(00 1 . b 00 . 2b -00 . 6 d UP

00 -000.2 00.06 <U 0 0 . 7 6 UP

00 -000.

1

00.2b <5(04. b2 UP

00 -000 .

1

00.06 <5(0 3 . 4d JP

00 -000 .

1

1 1 . 9 J -19.44 Du W

Figure 22*1 Two Examples of ClIRRElvT RECEXVER STATUS Tables Generated by M.STD

22.4
k. Standard Deviation estimate, the current standard deviation

value for the incoming phase signal, given in microseconds.

l. Amplitude value, the current signal amplitude in dB.

m. Channel processing status, the channel processing status

based on the amplitude evaluation; UP if the channel is up; C,NR if the

channel is coasting, no report; C,R, if the channel is coasting, and

the reason has been reported in the station log; and DOWN if the

channel is down.

Additionally, if the channel's digitial lOIS data word is zero,

the INE and MAINTENANCE conditions are set by default. This state

is entered as a

I

ZERO INPUT...

entry in the table.

22.4 Input Parameter Description

PARAMETER PROGRAM DESCRIPTION

E.28F E$T28 Parameter word used in calling E:028

E.BSG E$BDC The ASCII representation for the sign of the

output of E:BAD.

E.BDF E$BDC The buffer of ASCII decimal characters resulting

from E:BAD.

U.GAN U$DAT The current sensor channel RF gain settings.

U.TRK U$DAT The current sensor channel tracking rate

settings.

U.BLL U$DAT The current sensor channel blanking level settings

U.SIG U$DAT The computed standard deviation of the incoming

phase signals.

22.5
22.4 Input Parameter Description (continued )

PARAMETER PROGRAM DESCRIPTION

U.FREQ E$L0G The current sensor channel frequency settings.

U.AMP U$DAT The current signal amplitude estimates.

M.STA M$LEV The current digital lOIS status from the sensors

and ADACS interfaces.

U.IHB U$DAT Flag bit used to inhibit processing on channels

with either INE or Maintenance conditions set.

U.CST U$DAT Channel processing status based on amplitude

evaluation by amplitude monitoring section

of U:RTA

22.5 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

M:STD Entry point to CURRENT RECEIVER STATUS table

generation program.

E:FAM Entry point to executive support subroutine to

reformat amplitude values to ASCII characters of dB.

22.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

linejTI

lineJ

54 First two lines of table, through column headings.

LINEZ"!

L2AlJ

31 Data line for table

LINES 11 "ZERO INPUT..." line for table

TERMN 3 Three line feed characters to terminate output.

TEMP 5 Working storage.

STAT 8 Table to convert U.CST from numeric to characters

for output.

22.6
MSSTD @

M:STD

__s:

E:FRT I yr^

/Read det

number

'from lOIS

Store det nOo

in outout

butrer

E:028

(in E$T28)

(2 line

header) / T Reset chan

pointer to 0

STDl

Cnvt chan ptr

to, alphabetic

value & store

for output

Set up to reac digital statuj

data from

lOIS

READI

Read digi-

:al status

/word of

)ACS/REC.

/from lOIS

'I V

Hold status

word in

]\L STA : 1 V

Extract freq

fm status wrd

6c str in UJ’RQ

and in output

buffer

Extract

B bit

cardioid value

6c str in output buffer 1 Copy INE bit

into holding

register ‘ 1 y

store INE bit

value in outDut buffer

Or maint bit

into holding

register

Str maint bit

value in output buffer 1 V , str auto/manl

bit as "A" or ^ in output;

buffer i

Is \ .T )it set \ No

.n holding^ ^ reg

Yes

SHORT^

Terminate

line after

A/M value

Set processing inhibit

bit in UoIHB & UoCST = 4 1

Cnvt U.GAN fm

binary toASODL

decimal &. str

for output V

iCnvt U,TRK fm

Binary to ASCII decimal & str

for output

Cnvt UoBLL 5fm^

Binary to ASCII decimal 6t str

for output

Get UoDIU &

scale diurnal

slope to ol

'minute

E:BAD

(in E$BDC)

Pack 6c store

signed diurnal

sip fr output .

Get U. SIG

(Standard

Devia^tion)

E:FMF y

store away

sigma for

output

E:FAM

/in M$STD) \
STD

22.6b
MS3STD

22.6c
23. E$LOG

23.1 Functional Description

Routine messages concerning changes to parameter settings, etc.

are entered into the station log on the ASR 28 in a coded form.

Systems and applications programs generate these messages by calling

E:L0G, the executive support subroutine to generate routine log

messages.

The calling sequence depends on whether or not a new value is

appended to the message. The basic calling sequence is:

BLM,4 E:L0G

If further information is required, as in a parameter change message,

it is passed in a second word, as:

BLM,4 E:L0G

DFC (New value or other additional information)

The message text and sensor channel are identified in R5 as

follows:

Bits (3 - 7 Channel designation, (3 for chan A, 1 for chan B, etc.

Bits 8 - 15 Message designation number, see Table 23.1

23.1
MESSAGE NO. MESSAGE GENERATED ADDITIONAL INFORMATION

n "U" Channel UP Frequency, Track Rate, Gain,

Blank Lv

(31 "FC" Frequency change New frequency setting

(32 "CC" Cardioid change New cardioid pattern code

(33 "TC" Tracking rate change New tracking rate

(34 "GO" Gain change New gain setting

(35 "BC" Blanking Level change New blanking level setting

(36 "RS" Redundancy check successful None

(37 "SD" System Dead in scheduler None

(38 "MN" Auto/Manual set to Manual None

(39 "AU" Auto/Manual set to Auto None

1(3 "MS" Maintenance switch set None

11 "MR" Maintenance switch reset None

12 "IS" INE condition set None

13 "IR" INE condition reset None

14 "CF" Channel coasting, failure None

15 "CN" Channel coasting, noise None

16 "CS" Channel coasting, saturation None

17 "D" Channel Down None

18 "AF" Analog subsystem failure None

19 "PF" Power failure None

2(3 "PR" Power restored None

21 "Mp" Memory parity error Memory location of error

Table 23.1 Message Number Designation and Interpretation

After the message is generated and transferred to the ASR 28 output

buffer via E:028, control is returned to the calling program.

23.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:028 E$T28 Translates output message to BAUDOT code and

transfers message to output buffer before trans

mission to the ASR 28.

E:FRT E$FRT Reformats BCD time from the WTC to ASCII for

output.

E:BAD E$BDC Binary to ASCII decimal conversion subroutine

23.2
vj Lo 220 i Ay G TC0 3

023 2201 A9 I TC0d

'023 220 1 A9 TC03

023 2201 A9 N TC0i

023 220302 L : njstad going jnattendld. . .

.

023 22031

9

A TC09

023 22Jol

9

b TC0 3

023 22031

9

c. TO 0 9

023 22031

9

F TC09

023 22031

9

G TC09

Figure 23 .1 Example of Routine Log Messages

23.3 Data Formats

The routine log message, as illustrated in Figure 23.1, assumes the following

format

:

DDD TTTTTT C MMAA

where: D indicates a digit of DOY

T indicates a digit of TOD

C indicates an alphabetic designation for sensor channel

M indicates one of tx-70 characters giving the message text,

see table 23.1 for interpretation of the legal messages.

A indicates a character of additional information which may

be associated with the message text.

NOTE: Line 5 of Figure 23.1 illustrates an example of the output generated

by the operator LOG: option (see Section 8.1).

23.3
23.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.TRK U$DAT Current sensor channel tracking rate settings.

U.GAN U$DAT Current sensor channel RF gain settings.

U.BLL U$DAT Current sensor channel blanking level settings.

E.BDF E$BDC Buffer of ASCII decimal characters from call

to E:BAD

E.28F E$T28 Parameter word used in calling E:028

23.5 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:L0G Entry point to routine log message generator.

U.FRQ 28 ASCII characters for current sensor frequency

settings.

23.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

MSGTB 22 Table of the character message texts for the routine

log messages.

OBUFF

OBUFl

17 Message output buffer.

SAVRS 7 Register storage area.

23.4
OG

E:LOG

E:FRT

Save Registers 1 - 7

Convert chan

designator to

alphagetic &

store for

output

Recover msg

designation

code from

param et er

Get two char

msg code from

MSGTB & store

for output

Terminate

Short Msg

1

GETCH

Get freq» fm I U.FRQ 6c store!

for output I

Get track rate! fm UoTRK 5c

' store for j output

Get gain from

UoGAN

E:BAD

(IN E$BDC))

Pack 2 digits

to one word 6c store for

nil tpii.t

Get blanking

level from

UoBLL

E:BAD \

(in E$BDCy

Pack 2 digits

6c store for

output

Store Msg

Terminator

LOGl T.r E:028

'(in E$T28)

RESTORE

REGISTERS

23.4cn
ESLOG

V

Reset return

addr to skip over parm loc

i V

Convert new

value to ASCII

Store in UoiHQ

6c in output

buffer

Store Msg

Terminator in

output buffer

PRMSG

Get new parameter value

from calling

sequence

£

Modify return

addr to skip

over parm loc

E:BAD \

(in E$BDC)

)

—i ' r

Pack ASCII

chars 6c store

in output buf

:

V

( GETCH J

~~ir

Recover char

from output

buffer that

designates

channel

Convert alpha

betic char

back to num- eric value

for channel

23.4b
(

24. E$BDC

24.1 Functional Description

24.1.1 E:BDC (Binary to Decimal Conversion Subroutine)

E:BDC is an executive support subroutine designed to convert binary

values to BCD (decimal) equivalents. The calling sequence is:

BLM,14 E:BDC Binary value to be converted in R12

The sign of the value is stored in E.BSG as either 2{32B^g (the ASCII

characters for " + ") for positive values or 202D^g (the ASCII characters

for " - ") for negative. The least significant five digits of the

resulting BCD value are stored in E.BDF, the least significant digit first.

After the conversion, control is returned to the calling program.

24.1.2 E:BAD (Binary to ASCII Decimal Conversion Subroutine )

Normally a binary to decimal conversion is made to generate output

data in a form usable by the operator. E:BAD performs the sarre conversion

as E:BDC, but also converts the BCD digits to ASCII characters during

the process to have them in the form compatible with standard output

devices. The sign is stored in E.BSG and the least significant five

digits of the resulting value are stored in E.BDF as with E:BDC. These

values are ASCII rather than BCD characters. Calling sequence is:

BLM, 14 E:BAD Binary value to be converted in R12

24.1
24.2

Computational Methods

The binary to BCD conversion is made by successive divisions by

ten. The conversion from BCD to ASCII is made by adding 30-jg to each

24.3 digit.

Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:BDC Entry point for binary to decimal conversion routine.

E:BAD Entry point for binary to ASCII decimal conversion

routine.

E:BDF 5 Output character buffer for BDC or ASCII digits,

arranged with least significant digit first, etc.

E:BSG 1 =202B-jg (ASCII " + ") if value is positive;

-202D^g (ASCII " - ") if value is negative.

24.4

Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

CONVR 1 Bit 0 = 0 for BCD output, = 1 for ASCII decimal

SAVRS

output.

7 Register storage area.

24.2
SDC

M.

DIVLP

Divide number

(Quotient) by

10

Store rmdr in

next location

of E,BDF

Ig-S.

^E:BDC ) Q

E:BAD ^

i

Set FL/\G bit Reset FLAG

in CONVR bit in

CONVR

1 1 V'"

Save registers

1-7

ake absolute

alue of

umber

Convert remdr

to ASCII by

adding #30

Restore

Registers

24 . 2a
25. E$FRT

25.1 Functional Description

25.1.1 E:FRT (Refonnat Real Time for Output Subroutine )

NUSTAD generally includes the time of message generation in most

of the messages entered into the station log. Those message generating

programs normally call E:FRT to accomplish this function. The calling

sequence is:

E:FRT reads the current BCD time from the WTC, rearranges the

characters, converts them to ASCII_values, and stores them in five

computer words starting at the location specified by the second

instruction of the calling sequence. Control is returned to the calling

program when the conversion is complete.

25.1.2

E:FCT (Reformat BCD Time Value From Memory for Output Subroutine)

Several NUSTAD programs store a time value in the BCD format for a

period of time before that value needs to be output in a message. E:FCT

is a variation on E:FRT which takes the BCD formatted time from memory

locations E.TMl and E.TM2 rather than reading the time from the WTC.

The calling sequence is:

BLM,14

DFC

E:FRT

STORE

BLM, 14

DFC

E:FCT

STORE

25.1
E:FCT goes directly to E.TMl & T.TM2 to get the BCD time. It

shares coding with E:FRT to reformat this value to ASCII characters

and to store them in five computer words starting at the location specified

by the second instruction of the calling sequence. Control is returned

to the calling program when the conversion is complete.

25.2 Data Formats

The output of either E:FRT or E:FCT is stored in five memory locations

with two ASCII characters per location, in the following form:

DDD TTllTT

WHERE: 2 indicates a digit of DOY

T indicates a digit of TOD

25.3 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:FRT Entry point for subroutine to convert real time to

ASCII characters for output.

E:FCT Entry point for subroutine to convert BCD form.atted

time from memory to ASCII characters for output.

E.TMl

E.TM2

2 BCD formatted time value converted by E:FCT.

25.4 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SAVER 6 Register storage area.

25.2
ESFRT

Set up to reac

2 word BCD

time via lOIS

.nput two

/v7ords of

5CD DOY/TOD

/from WTC

'via lOIS

Store input

data in

EcTMl, E„TM2

FMTIM V

Get location

into which

reformated tm

wl be stored

from calling

(iodify return

addr to skip

over parm Ictr

Shitt^2 digits

DOY*100&DO§*1C

into one word,

convert to

ASCII & STORE

for output

Shift D0Y*1

digit 6c space

:har, convert

to ASCII 6c STORE

Shift 2 digits

ER*10 5c HR*1

into one word,

convert to

ASCII 6cSTORE _

|Shi f t ^2 dicits

pIN*106cMIN^a

[into one word,

[convert to

ksCII 6c

1 STORE

E:FCT ^

Save registers

10 - 15

Shitt^l^ digits

SEC*106cSEC-l

unto one word,

::onvert to

ASCII 6cSTORE

Restore

Registers

25.2a
26. E$DIF

26.1 Functional Description

NUSTAD stores most values for time in the BCD format. This is

the format under which time is read from the WTC, and conversion from

this format to ASCII characters for output is very straightforward.

However, the processor cannot perform computations with the time value

in a packed BCD format, so the following executive support subroutines

are included in NUSTAD to permit conversion between the BCD and binary

time formats and to perform the most common computation using the

time values.

26.1.1

The waveform analysis programs have frequent need to know how much time

has elapsed since the signal onset. When onset was discovered, both

the BCD time (in U.OTB) and the binary time (in U.OTM) were saved. Any

program which requires the time difference between onset time and a

BCD formatted time value calls E:DIF where the time difference in seconds

is computed and returned to the calling program. E:DIF also indicates

the absence of a signal in progress by adjusting the return address.

The calling sequence is:

BLM,14

DFC

BRU

E:DIF

ADDRS

NO SIG

Sensor channel designated in R6

Address of BCD value

Return if no signal in progress

Return with time difference in R12,R13

26.1
Upon entry, E:DIF checks the onset time (U.OTM) for the sensor

channel specified in R6. If it is zero, there is no signal in

progress, and E:DIF returns control to the calling program. If the

onset time is nonzero, E:DIF recovers the BCD formatted value from the

location specified by the calling sequence and converts that value to

its binary equivalent. The difference between the onset time and

converted value is computed and adjusted if the time span overlaps the

240(3 hour. The return address is adjusted and control is returned

to the calling program with the time difference (in seconds) in R12,

R13.

If a program requires the time difference between a binary value

and a BCD time when the binary value is not a signal onset time, E:DIF

can be used to store the binary time value in the two memory locations

immediatedly following the U.OTM storage area. This two-word time

buffer is called U.DTM. Setting the channel designation in R6 to

will cause E:DIF to compute the time difference as if a fifteenth

sensor channel existed and the time elapsed since onset on that channel

were required.

26.1.2 E:C0T (BCD Formatted Time to Binary Equivalent Conversion Subroutine

When an applications program needs to convert a BCD time value to

its binary equivalent, as to supply U.DTM with a binary value prior to

calling E:DIF, E:C0T can be called to perform the conversion. The

calling sequence is:

26.2
BLM,14

DFC

E:COT

ADDRS Address of BCD value to be converted

E:C0T retrieves the BCD value from the location specified, converts

the value to its binary equivalent and returns control to the calling

program with the result in R12, R13.

26.2 Computational Methods

The BCD time value is formatted as illustrated in Figure 16.4.

The conversion from this format to the binary equivalent, the format

of which is illustrated in Figure 16.5, is made by the following

computation:

"^bin

where: D

0

( ( ( (

( D^xl 0+D^ )6+D^ ) xl 0+D

3

)

6+D^) xl 0+Dg

)

is the hours x 10 digit

is the hours x 1 digit

is the minutes x 10 digit

is the minutes x 1 digit

is the seconds x 10 digit

is the seconds x 1 digit

26.3 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

U.OTM U$DAT Signal onset time in binary format.

26.3
26.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:DIF Entry point for time difference computation subroutine.

E:C0T Entry point for time format conversion subroutine.

26.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SAVER 7 Register storage area.

FLAG 1 =1 if entry made through E:C0T; = 0 if through

E:DIF

26.4
i;
27. E$FMF

27.1 Functional Description

When NUSTAD needs to output a phase value, the executive support

subroutine E:FMF is called to reformat that value from its internal

storage format (Figure 16.3) to a decimal form indicating microseconds.

The calling sequence is:

BLM,15 E:FMF Phase value to be converted in R12

DFC STORE Address where result to be store

E:FMF assumes the value in R12 is a phase formatted value, converts

that binary number to a decimal value, and stores the corresponding

ASCII characters in five computer words starting at the location

specified in the calling sequence. The format of the resulting output is: -00(30.^0

which represents a signed phase value in microseconds.

27.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:BAD E$BDC Converts binary value to ASCII decimal for output

27.3 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

E.BSG E$BDC Sign of the output to call to E:BAD

E$BDC Buffer for ASCII characters generated by call

to E:BAD

E.BDG

27.1
27.4 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

E:FMF Entry point to phase reformatting subroutine.

27.5 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

SAVER 7 Register storage area.

27.2
ESFMF

27 . 2 a
28. E$SRT

28. 1 Functional Description

E:SRT is an executive support subroutine to compute the positive

square root of a double precision binary value. The double precision

value is entered in R12, R13 and the subroutine is called by the

following sequence:

BLM,14 E:SRT D.P. value in R12,R13

The positive (single precision) square root is returned in R13.

28.2 Computational Methods

The square root is computed using Newton's method of tangents,

process is iterative and uses the following scheme:

>‘n+l ^

^ ""

The

where: is the current estimate of the square root

x^^-j is the next estimate of the square root

A is the argument of of the function

To aid in convergence of the successive estimates, the initial

value x^ is chosen to be close to the final value. That initial

estimate is made thusly:

28.1
(A / 2

^0 (n/2)

Where: n is the number of significant bits required to represent

A in binary.

(Note: n/2 is truncated to give an integer)

28.3 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

SAVER 7 Register storage area.

28.2
IT

Save registers

1-7

T"V
29. F$FMT

29.1 Functional Description

F$FMT checks the DRFUD tape data for invalid bit configuration by

checking for known zero bit locations in the DRFUD data stream. If

a bit is found to be set at one of these locations, the tape track

containing the improper bit state is labeled and output to the ASR-35

teletype for the operator's information. By working in conjunction with

F$DMP, the entire data scan containing the bit error is displayed on

the ASR-35 teletype to further aid the operator in locating the

discrepancy. This routine is used to check the reliability of the

DRFUD data and is therefore run in the background mode.

29.1.1 F:FMT ( DRFUD format)

F:FMT is the operator entry point to F$FMT from E:BSK and performs

two basic tasks:

a. Interprets the operator's intentions by

(1) Checking status of bit (3 of switch register. (Figure 29.1)

(2) Requesting number of blocks of DRFUD data to be checked.

b. Sets a counter to control the number of blocks of data

checked.

F:FMT is entered only after the operator requests a format check

action using DFC: as a keyword.

29.1
29.1.2 F:CHK (DR£UD Recking Routine)

F:CHK performs the checking function and enters an error locating

routine if an error is detected. The sequence is executed using the

following steps.

a. Compares the DRFUD data, one word at a time, to a known fixed

format. If any ones compare, an error is present and a branch is made

to an error locating routine.

b. Goes through a word mask and a bit shifting sequence to

locate the bit in error.

c. Outputs a message telling the operator which tape track

contains the error.

d. Executes a branch to F:DDD and displays the scan containing

the error.

e. Checks bit position 0 of switch register to determine if

operator intends to continue checking same block of data.

29.1.3 F:TRD (Tape Read)

F:TRD sets required parameters and initiates a mag tape read

via B:I0R. Data is stored in MTBUF (Mag Tape £uffer).

29.1.4 F:U$E

F:USE serves two primary functions:

a. Responds to a need for a mag tape read by calling F:TRD.

b. Transfers 55 byte blocks of data from MTBUF to FUDBF

(DRFUD Data Buffer).

29.2
Bit 0 Reset

Bit 1 Reset

~ Bit 2 Reset

Background task is aborted after detecting first

format erroro

Processor continues using data from the

buffer now in memory.

Parity check performed (even parity

expected)o

Switch

Register

Bit 1 Set

Parity errors ignoredo

Each time DEC or DDD is called, the storage

buffer is refilled with new DRFUI) data.

Bit 0 Set

Pro^am does not terminate on format errors, but

continues until requested task has been completedo

Figure 29.1 Switch Register Options

29.3
29.1.5 F:CVT

F:CVT is a general purpose routine that performs text analysis

on and converts operator responses to ASCII.

29.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

E:SKD E$SKD Scheduler reentry point.

B:I0R B$TSI Background program I.O. request routine

F:DDD F$DMP DRFUD data display routine.

29.3 Computational Methods

29.3.1 Error Detection Scheme

Error detection is accomplished by checking the DRFUD data for bits

set in known zero locations. Once an error has been detected, the

word is examined by extracting the data and checking for the set bit

position through a series of shifts. Once the set bit position has been

located, the tape track containing it is labeled and output to the

ASR-35 teletype.

29.4 Data Formats

29.4.1 DRFUD Tape Format

Input requests by the operator in response to "NO. OF BLOCKS TO

BE CHECKED" should be a positive integer less than 32,767 and are

entered as explained in Appendix III.

29.4
DRFUD data is read from magnetic tape in the format shown in

Figure 29.3. It is repacked, two bytes to a word, and is stored

in MTBUF. The same format is kept when the data is transferred to

FUDBF. Zeros are inserted in the last byte position of FUDBF to insure

that any error detected is not the result of this byte containing

previously set values.

29 . 5 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

B.sn E$SKD Background status flag, set to 0 for no task

in progress.

E.35I E$T35 Address of first character of input from ASR-35.

1

29.6 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

F:FMT Entry point for DRFUD format check routine

(see Section 29.1 .1 )

.

F:CHK Entry point to the format checking sequence

(see Section 29.1 .2)

.

F:TRD

1 Entry point to the tape read initiator (see i Section 29.1.3).

F:USE Entry point for operator response conversion

routine (see Section 29.1.5).

F.DBF 1 External reference name for the DRFUD data

buffer (FUDBF).

F.MTP 1 Location pointer for MTBUF.
IRG $ CHECK CHARACTER

ONLY IF THIS 5C AN IS FIRST OF NEW RECORD

I 2 4 8 A 6 C

IRG 3 /4

"

Figure 29.3 DRFUD TAPE FORMAT (NEW U SYSTEM)^

29.fi -
29 . 8 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

NUBK 16 "NO. OF BLOCKS TO BE CHECKED" message.

BADNO 16 "INVALID CHAR, TASK ABORTED" message.

X.VAL 12 "FORMAT ERROR BIT 8" message.

FINSH 10 "TASK COMPLETED" message.

QUIT 12 "FORMAT CHECK TERMINATED" message.

TAB 6 Table of mag tape track labels used to indicate

errors present.

MTBUF 7Q40 Mag tape buffer.

FUDBF 28 Working buffer for DRFUD data.

FRS 7 Temporary storage for contents of registers

1 through 7.

29.7
29.7a
YES

29.7b
F: USE j

V

29.7c

BLM , 14

F:DDD

F$DMP

^^"Display B.
30. F$DMP

30.1 Functional Description

F$DMP enables the operator to display DRFUD data on the ASR 35

in a usable format. He can specify the parameters of the display

as either time or number of data scans to be displayed. The data

to be displayed is taken directly from FUDBF using byte addressing it

is reformatted in the progress and is displayed in two lines, the first

containing time and location information and the second being made up

of the phase and amplitude values of the eight recorded channels.

Before being displayed, the data is examined by F:CHK and errors are

handled as explained in Chapter 29.

The program is entered in F:DMP from E:BSK bit 0 of the switch

register is checked to determine whether or not a new block of data is

to be read from mag tape. The initial dialog is then started to

determine which option the operator wishes to use. The options

are listed in the table below.

1. START TIME AND STOP TIME.

2. START TIME AND NUMBER OF DATA BLOCKS.

3. START IMMEDIATE AND NUMBER OF DATA BLOCKS.

Table 30.1 Operator Display Options

30.1
The conversation is carried on via the B:I0R subroutine of

E$TSI. Information from the operator is retrieved from E.35I (E$T35)

at various points in F:DMP. F:FST first determines if the operator

wants a start time, if not, it outputs a message requesting "NUMBER

OF BLOCKS TO BE DUMPED." Operator response to this inquiry is

converted to ASCII and set in a counter (BLKBF) that limits the

display length. Each time a data scan is displayed, F:USE is entered

and new data is transferred from MTBUF to FUDBF. If a start time is

desired (option 1 or 2), a message is output stating "SPECIFY START

TIME DESIRED." The operator's response is converted to binary (PACK)

and held in NGSTR and NGSTR+1 . The contents of MTBUF are scanned via

FUDBF until the difference between the time requested and the tim.e

of the data scan is zero. The contents of MTBUF are automatically

updated as explained in Chapter 29. A format check is performed

prior to each time comparison to insure that the data contained in

the time locations of FUDBF are not simply phase and amplitude data

misplaced because of a dropped character. In the event that the

DRFUD tape data was recorded sometime after the start time requested,

a message is output stating this fact and control is returned to

NUSTAD. Once the start time has been located, a message is output

requesting a stop time (option 1) or a number of data blocks (option

2). The stop time is converted to a number of data scans (1 /second)

and stored in BLKBF. The number of blocks is converted from ASCII

and stored in BLKBF. The display is continued until BLKBF reaches

zero.

30.2
30.1.1

F:DMP

F:DMP is the program organizer for F$DMP. It serves three

basic purposes:

a. Checks status of bit position 0 of switch register to

determine if the operator wants to refill MTBUF with new data.

b. Calls for a start time message which gives the operator

the three options previously mentioned (Section 30.1).

c. Keeps track of the amount of data that has been displayed

and returns to E$SKD when the assigned task is completed.

30.1.2 F:DDD

F:DDD simply repacks the DRFUD data one byte at a time into the

format shown in Figure 30.1. The data is stored in two separate

locations, HEADR and DATA. HEADR contains time and location -information and DATA contains phase and amplitude for eight DRFUD channels

plus three fixed control characters that appear at the end of a data

block. The two information blocks are output one at a time to avoid

tying up the output channel with large message outputs.

30.1.3 F:FST

F:FST is the routine that sets the DRFUD tape to the desired

starting position. It also performs some text analysis on operator

responses to machine requests.

30.3
3i3.1.4 F:TIM

F:TIM converts both operator requested DOY and DRFUD DOY to

binary for comparison, then performs a greater than or equal to

check to see if the tape is positioned at the correct DOY. If the

DOY requested is less than the DOY contained on the DRFUD tape, a

message (PASTD) is output informing the operator of this fact. If

the DOY's are the same, a branch is executed to F:BBT which converts

the DRFUD time data to binary. A comparison is made between the

DRFUD time and the requested time resulting in either an additional

read to advance the mag tape or an output message (PASTT) informing

the operator that the tape is positioned past the time desired. Once

both comparisons are satisfied, a request is output for stop time

information. The stop time requested is simply converted to a number

of data scans (1/second) and stored in BLKBF. If during the time

search, an error is detected, the task is aborted and control is returned

to E:SKD.

30.1.5 F:BBT

F:BBT converts BCD to binary time and returns with the result in

registers 12 and 13.

30.4
30.2 Called Subroutines

SUBROUTINE PROGRAM FUNCTION

F:CHK F$FMT Performs the checking sequence in F$FMT

and enters an error locating routine

(F.BAD) if an error is detected.

B:I0R E$TSI Background program I.O. request routine.

F:CVT F$FMT Routine to convert operator response to ASCII.

E:SKD E$SKD Scheduler reentry point.

F:USE F$FMT Routine that transfers data from MTBUF to FUDBF

30.3 Data Formats

30.3.1

% DRFUD Data Formats

DRFUD data is input in the format shown in Figure 29.1 and is

|

output in the format sho'wn in Figure 30.1. If an error is detected,

|

the standard output formiat will be preceded by an error statement as

shown in Figure 30.2. j

30.3.2 Operator Response (Time Data) j

I

I

I Operator response to a time request is changed to a format

| compatible with DRFUD data. |

i (D0Y)(Time) (Time) i 123 123456 is repacked to 123456 (DROP DOY)

j

j 30.3.3 Operator Response (Parameter Format)

j

Operator responses to machine request for parameter information I

are outlined in Appendix III.

30.5
'l )U I b i 1 r1 L J t* b.-i i' ( rl K .'I i -C ;

IS DAY Jh YEA.}<

^

uE. I is ut. i HOni'i u J i'J Ui'i bLi;

V V ^ TOD tiicJlJ7c'r> uJY DLJ c! 1 b

7 3*7 ^!v! by • 1 33 7 2 • 31 bu* 1 2 7 A 4 A

CH. 1 A/if^L I 1 UDEi^

Cri, 1 ArmSL

v—Crt CH

2 Jo 0 C • 2 3 y b 2 • A 3 y 00

2 AAJ-L. I

'1 U0 0^

2 H f i A b £

KiAEU TKAlLEK' CnAKr\CTt.Kb

brtJULD ALl'.A/b b£'31323^^

IF A Crt AKA C TEA Ib l^K'Ji'HLu

bJ '•1 E £ rt E K £ I n TH L S GF-iN > 'f A £ b £

CHAkACTEKb £1LL bn 1 F T TJ THE

LEFT * ^

1 0 b 3 1 3 2 3 -^i A

r AKL. Elbrii GriM'Jvh.Ub Jr n’JrK i 1 UUr- A \! b rrlAbc. H.'.K UU.-’iKLU *

EXAIKLL: uKFUD UA Im IAJHP H •

iris . 30.1

30.6
y L'fC:

I'viJ. JK tLjCXh ! ,) b£ CH LOUi-L? O

r Ji<.’^Ai hr.

jk i' I 1 o

TJLj ??G9L^5 UJi' i)2A ULT c'A b

1 b* b a 2 bo • d 33 7 b • A 31 u 3 • 1 3 2o *

F J h ‘l f\ T Cd F CK '] i. ; ^ ’] I . V H 1 t, U

r

/ J; i'd/'il'J;. C.MLLd rJn .1 S' ; . r 3 u

1 - . r

' A T yr. r.C,N. r

1 1

i ' L ix/-. i J i\ .‘'..'V IS Av) 0 6 SCHi'fS LJ

C'T n.C.K r_ u .

fdj •i t. i-. F 1. 1 \ i .V J d L Cri r. '3.K i b

jCt'.Sd." i .d L. r. JUl'i .'v S L't. i sC'l lL

!ijf 0-jD:. AS IS rl J V..V i NJ

ri c- UU.'iP AS A •.*’?.

1 3^' i. . cl 3> :?3t3' Ay yy*l k;3 3 1 3;^3

r'

I i I . r.A i .V M 'i I J.v d M T \L:A L.s; i

^ [ .V L' i Cm 1 i ,'J u '! A i D i 'i y

!jr 1 ri £ .SF I '[ Cd i\Lb £ /vb bc.1.

V

y DFG;

NJ« JF FLOCKS Tj b£ CHECKLD?7yy

T ASK COFi PL £ l t.b T I'-iA/i i V A 1 i J "i d TA T F>i t-.s‘ '1 / .'J U i C A I ^ Cri :,Ca Of*' All /yy SCrv.'jD Dt.ln.G~

<.\J LkKJ/;S. TaLkL Lb ,\!J DU'ir

1 :'V I llA'lLU ir .'jJ LIlLOks AKc.

DLi l.CTlD.

r. \ FL L : L'.". M'l.i r'O.'s '.i L-.-i l-C''v <

fig. 30.2

30.7
30.4 Input Parameter Descriptions

PARAMETER PROGRAM DESCRIPTION

F.DBF F$FMT External reference name for the DRFUD data

buffer (FUDBF).

B.STT E$SKD Background status flag, set to 0 for no task in progress.

E.34I E$T35 Address of first character of input from

ASR 35.

F.MTP F$FMT Location pointer for MTBUF.

30.5 Output Parameter Descriptions

PARAMETER SIZE DESCRIPTION

F:DMP Entry point for DRFUD data display routine

(Section 30.1.1)

F:FST Entry point for section of program that

requests one of the three options (Section 30.1.3)

F:BBT Entry point for conversion routine to change

BCD to binary time (Section 30.1.5).

F:TIM Entry point to routine that finds the time

requested on mag tape (Section 30.1.4)

F:DDD Entry point to the routine that formats the

data and displays it on the ASR 35 (Section 30.1.2)

30.6 Internal Data Descriptions

PARAMETER SIZE DESCRIPTION

BLKBF 1 Storage for a block count value.

SVDDD 13 Temporary storage for registers 1 through 7 and

10 through 15.

30.8
30.6 Internal Data Descriptions (continued)

PARAMETER SIZE DESCRIPTION

HEADR 18 "TOD 123456 DOY 123 DET 515" output message.

DATA 37 Phase and amplitude display message for eight

channels of DRFUD data.

OPTS 20 "SPECIFY ACTION DESIRED, 1, 2 or 3." output

message.

NOBLK 16 "NO. OF BLOCKS TO BE DUMPED" output message.

TIME 16 "SPECIFY START TIME DESIRED" output message.

QUIT 15 "SPECIFY STOP TIME DESIRED" output message.

FORM 17 "INVALID FORMAT ON TIME REQUEST" output message.

T.MBF 6 Address of first BCD word of time used in F:BBT.

RFCRS 7 Temporary storage for registers 1 through 7.

OPDOY 1 Storage for operator requested day of year.

NGSTR 2 Storage for operator requested time of day.

SAVER 7 Temporary storage for registers 1 through 7.

PASTT 22 "FUD TAPE POSITIONED PAST TIME DESIRED" output

message.

PASTD 22 "FUD TAPE POSITIONED PAST DAY DESIRED" output

message.

NOGOl 19 "SEARCH ABORTED DUE TO FORMAT ERROR" output

message.

BBTSV 7 Temporary storage for registers 1 through 7.

30.9
R -ill Iar--e

DRFL'D tape

b'j Iter wi til new data

1 30.9a
1
r—

I

-JL

jave TO iTi p Cpt

|[ thru 7

:onverC oper

icSiiP'-' DO^

into 3lNo

Jepsc K oppr o :ime response

ind get it

ready to

: onvert

»

V

/ BLM, 15

F;BBT

Convt oper,

I time to

bin.

Store neg. of

result in

\GSTR and

NGSTR + 1

Convert F<,DBF

DOY to binary

ERROR

RETURN

Set -

B. STT=0

BLiM, 15

B:IOR

"Search abor/

bad format

Set B,STT

= 0

Pick up } OPDOY

1

1 V

Cor.T'iarv: i 50i with OPDO^

1

50.9c
/

-> f

__jC

Binary equivalent of BCD number is in

2 » 3 S

p

l‘

1

I :ie Jd

\-f

rnJ^F ii»»i

' ''

T.- ^ 3 ilj

‘ 3»1 1-

Vi

flii SncNflfTsnf

Mi

lUf.W. ^ jrt^re

'Jjl$tt os T

'^i^ti's'isn •%

'9a<i4i «oj'^

Ni#- rn

.^«'i,o'i<i' n^5'' J* • gJily n V^oAlf

i-.-^

1 ^ffi^jaftJ'

i^'’ 3?. ?*hSf5?)[o^

3n*j^tr?f'T

t^aaioa 3ac*» •

'tM*1 wail' 1!!

Qi J%9V0O.}

'; ‘jjl

?Jlq taqO ttj 3r.

^ I^

HI

-
II3S-114A (REV. 7-73) —u.S. DEr^l- ;j(- COMM.

BIBLIOGRAPHIC DATA

SHEET

1. Pl.’Hl.K A riO.N' OR Ri;i>ORT NO.

NBSIR 74-A53

2. Gov't Accession

No.

i 1 i i.:. field service test MODEL: COMPUTER-CONTROLLED U SYSTEM

OPERrYTICMS MmiAL AND SOFTWARE OPERi\TIMG

SYSTEM APPENDICES FOR THE AUTOMATED SYSTEM

VOLUME I

.AUTHOR(S)

R-: R K 0R M I G O R ( . A N 1 7. A T 1 0N .NAM!-: AND ADDRESS

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

2, Sponsoring Organization .Name and Complete Address (Street, City, State, ZIP)

Department of the Air Force

HQ USAF (AFTAC/TAP)

Patrick A. F.B. , Florida 32925

5. suhple.mentary notes

3. Rec ipic i.l ' s .Accessinn 2...

5. i’uM 11 a' ii’i) D.iu- January 1973

6. Perfoimiiig (Jr ^;aiu.-at i-.,n

8. Pcrtorming (Jrgan. Repv-rt N ^SIR 7A-A53

10. Proii. i.t 1.1 >k 'i- I'r. ;• 6505413

11. Contract Grant No. AFTAC T/2301 and

4307/U/NBS

13. Type of Report PericJ Covered

Instruction Manual

14. Sponsoring Agency Code

i. ABSTRACT (A 200-word or less (actual summary of most significant information. If document includes a significant

bibliography or literature survey, mention it here.)

Volume I of the "Automated U System" describes the software listings and the

operator’s manual. This volume is intended to instruct the station technician in

the procedure to load programs and operate, under computer control, the

automated U System.

i KEY UORDS (six to twelve entries; alphabetical order; capitalize only the first letter of the first key word urdess a proper

name; separated by semicolons)

Operating system; program listings; software utilization.

1. AVAILABILITY Unlimited

19. SECURITY CLASS

(THIS REPORT)

21. NO. OF P.52-ES

Offici.i! Di.srrihiitior.. Do Not Release ro NTIS

UNCLASSIFIED

317

1 Or.lcr ! re.m Sup. o: i' c., 1. .S. Civ'vurnmen: Printing (Jmee

Uashinuton, D.C. 2(J ;u2. -SD ( at. .No. ( M ,

20. .''Fa.L K1 1 5 C LASS

(THIS PAGE)

22. U'.'

1 Order From N.uion.il loclinical Information Service (NTIS)

Springfield, Virginia 22151

UNCLASSIFIED

— ' eSCOMM-Ui-
I

4|W«« 'VH

li^i m t

#• HP T

V

p» •** *

«• >4 I

f»k f^4 l vXwnW

_'-i_Ll__

HO wr\,rA H jir w I «xem«

T j, * i>a

iu58r3 M i2a4iotTiiD>-ji3t;m>3 .jaoo^i t23t t5iwja awX

Drrr\«3

^

I»/s^CR GHA ZmkTAJ^Q

Haiarc i*UA«ot*ii. irt >rrT g’uiiR^m

X Olt JJW

. ' ^

• »H>« | ,t» 4«i tiKS'.i '<t^A —.IW.. I.

I ., •«•< 1 ti'^

** *» < j»

'

ft-."'.. -^' J --in 34ffl

. . -^ t '>1 I

"ff

«*JWia'f‘rt«A''*^’ • ft V >, i;i fcsn{f,.fi3 KlPAQMitZ n0 4i> 9 ltU« ^ «KC'rAN

so T#iSm70*^36

, 3»0 ,l40 »MmiA»

* .^. ,. , —- - .. n^„ I > liSSll#

1 ‘Ul *»•*> .Xi*3 !.*»• aaM.V:

••>1o1 tW *4^ lo 3 aB0tJTAq<KS ^

I4 ftw~7j5h|

(^T'tVAriA) tA2UtJ^(

It^U

1L*»i v •»**%•• \ ^ i arb &tta a7«<v5\«a »4i aatUtc»a9^ ‘*'4:j3rtX tjl baa&soiuA^' »ib £

X mJj Ji«rr3anl o? tviraajMi al ^wtilov etrfT .Ijuioa*

aifi tI*.tT3av:> *;^;ti«<jc(09 ralwiu ,a]a7a-jo bna nsiftii^QT^ faa«X o3

^KtsSthti tr b«l3i

T .

a.

•• . j i i-

•i'

I ..I . .•ii t m III ^

t-*' "'. ".—*,<!» , fj wi - '' — —-*H——•"fWBIPJ

MfrW« * •'«» V’ft" ' •* vai* * H»\ *41 ^(«<t» • ,»' *.*• tnU*d*Ac|\<r ; «' ?J*22i

'f* -noU,-* 7iJifu »i»w3 ic»a ;aant4 «IX &«3|OT9 {italtta

•-Jft t’ .. -.;

<

4 ia ^s'sTiK

j ^y!n rna":irr. ft

’

' * ^

I,’ tifTi n *» I n^ :ir.v . ^

U - ^%

YlUUiC

ft'l

'T-» .. * -vimimWA ‘

•» >i;«H *.* I

1

• ,ii,.i » 4 ,05

O 4 f

.it. im J14 , l.^;,<- -.iai

;i’-, Ir^wbgiX 'iv.l

•oU3T/0/i/

%