Top Banner
AfD-A 622 CN MEASUREMENT SYSTEM SOFTWARE SYSTEM MAINTENANCE 1/3 NANUAL(U) EG AND 6 WASHINGTON ANALYTICAL SERVICES CENTER INC ALBUQJERGU. R NELSON ET AL. 82 APR 82 UNCLASSIFIED EG/G-AG-1435 DNA-6232F DNA81i-88-C-8298 NL EIIIIIIIIIIl llhhlllllllll IIIIIIIIIIIIIIfllflfl IIIIIIIIIIIIII IIIIIIIIIIIIII Slflfllflfllfllfllflfl IIIIIIIIIIIIII.
220

IIIIIIIIIIIIIIfllflfl IIIIIIIIIIIIII - DTIC · 2014. 9. 27. · Manual for use by system engineers for maintenance of CWMS Upgrade software system ... kilo pascal (kPa) 1.013 25 X

Feb 06, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • AfD-A 622 CN MEASUREMENT SYSTEM SOFTWARE SYSTEM MAINTENANCE 1/3NANUAL(U) EG AND 6 WASHINGTON ANALYTICAL SERVICESCENTER INC ALBUQJERGU. R NELSON ET AL. 82 APR 82

    UNCLASSIFIED EG/G-AG-1435 DNA-6232F DNA81i-88-C-8298 NLEIIIIIIIIIIlllhhlllllllllIIIIIIIIIIIIIIfllflflIIIIIIIIIIIIIIIIIIIIIIIIIIII

    Slflfllflfllfllfllflfl

    IIIIIIIIIIIIII.

  • 'j1

    11 11.8

    MICROCOPY RESOLUTION TEST CHARTNATIONAL BUREAU OF STANDARDS-1963 A

    0

    S

    ---0

    L °

  • DNA 6232F

    N CW MEASUREMENT SYSTEM• " N Software System Maintenance Manual

    ID__" EG&G Washington Analytical Services Center, Inc.

    __ 2450 Alamo Avenue SEAlbuquerque, New Mexico 87106

    2 April 1982

    Final Report for Period 27 May 1980 -2 April 1982

    CONTRACT No. DNA 001-80-C-0290

    APPROVED FOR PUBLIC RELEASE;DISTRIBUTION UNLIMITED.

    THIS WORK WAS SPONSORED BY THE DEFENSE NUCLEAR AGENCYUNDER RDT&E RMSS CODE B362080462 G52AAXEX40502 H2590D.

    Prepared for DTICDirector "IECTE

    -. J.

    \~MAR 22 19850..DEFENSE NUCLEAR AGENCY0 Washington, DC 20305

    IB

    LA.

    85 oa 06 0070. . . . . . . . . . , • . . . . ..

  • 41-

    Destroy this report when it is no longerneeded. Do not return to sender.

    PLEASE NOTIFY THE DEFENSE NUCLEAR AGENCY,ATTN: STTI, WASHINGTON, D.C. 20305, IFYOUR ADDRESS IS INCORRECT, IF YOU WISH TOBE DELETED FROM THE DISTRIBUTION LIST, ORaIF THE ADDRESSEE IS NO LONGER EMPLOYED BYYOUR ORGANIZATION.

    -. _ . -. - . . : D :q .. - - . . .. L , . i . .- 2:. . . - . m i '

  • UNCLASSIFIEDSECURITY CLASSIFICATION OF THIS PAGE (whlen Data Entered)

    REPOT DCUMNTATON AGEREAD INSTRUCTIONS______ REPORT____DOCUMENTATION______PAGE_ BEFORECOMPLETINGFORM

    DNA 6232R FUBE 2GVT ACCESSION NO. 3. RECIPIENT'S CATALOG NUMBER

    4. TITLE (nd Subtltle) .TYEOF REPORT & PERIOD COVERED .CW MEASUREMENT SYSTEM Final Report for PeriodSoftware System Maintenance Manual 27 May 80-2 Apr 82

    6. PERFORMING ORG. REPORT NUMBER

    ______________________________________AG- 14 357. AUTIHOR(s) S. CONTRACT OR GRANT NUMBER(s).

    Rick Nelson DNA 001-80-C-0290 .Pat Lindsey

    9. PERFORMING ORGANIZATION NAME AND ADDRESS 10. PROGRAM ELEMENT. PROJECT. TASKAREA & WORK UNIT NUMBERSEG&G Washington Analytical Services Center, Inc.

    2450 Alamo Avenue, SE Task G52AAXEX-40502Albuquerque, New Mexico 871061. CONTROLLING OFFICE NAME AND ADDRESS 12. REPORT DATE0

    Director 2 April 1982Defense Nuclear Agency 13. NUMBER OF PAGESWashington, DC 20305 21414. MONITORING AGENCY NAME &ADORESS(l different fromn Controlling Office) IS. SECURITY CLASS (of this report)

    UNCLASSIFIED

    ISa. DECLASSI FICATION/ DOWNGRADINGSCHEDULE________________________________N/A since UCSSIED

    16. DISTRIBUTION STATEMENT (of this Report)

    Approved for public release; distribution unlimited.

    17 DISTRIBUTION STATEMENT (of the abstract entered In Block 20. it different from Report)

    I1. SUPPLEMENTARY NOTES

    This work was sponsored by the Defense Nuclear Agencyunder RDT&E RTISS Code B362080462 G52AAXEX40502 II2b90D.

    19 KEY WORDS (Continue on rewers& side it necessary and identify by block number)PUP-11 Flecs FORTRAN Pseudo-DeviceSoftware PCU MessageFirmware CW GPIBStructured Programming Data Structure IEEE 488 BusEPROM Global Flag Logical Device20 ABSTRACT (Continue an reverse side It necessary atnd identify by block number)

    Manual for use by system engineers for maintenance of CWMS Upgrade softwaresystem. Covers design details of PUP-11 software, and INTEL 8080 PCU software,including system data structures, communication protocol, software moduledescriptions, and description of coding practices and languages used to generatethe software.

    DD JN, 3 1473 CDITION O I NOV 6S IS OBSOLETEUNLSIFESECURITY CLASSIFICATION OF THIS PAGE (1111en Data Entered)

  • A.UNCLASS IF IED

    N. -

    SECURISECURITYICLASSIFICATIONTOFS THIS(PAOn Dlan Data Endeue.)

    ., . . .- , . . . .. . . . . • , . . . . . . . . o . . .

    ". "'A .. ' * . . . ' " .-. • "" '" ,. " '" .* ' ,-.; ' .' '- -... , "''' *.- -,-. .- L- .- ,-,. " ' . .' . . " -"-

  • 7 7toTt d - .

    CONVERSION FACTORS FOR U.S. CUSTOMARY

    TO METRIC (SI) UNITS OF MEASUREMENT

    To Convert From To klultiply Byl'

    Angstrom meters cm) 1.000 000 X E -10 --

    itosDhere normal) kilo pascal (kPa) 1.013 25 X E .2

    Par kilo pasc*l (kPa) 1.000 000 X E -2

    harn meter (m) 1.000 000 X E -28

    3ritish thermal unit (thermochemical) joule (J) 1.054 330 X E -3

    * : thermochemzcal, cm-5 mega joule/m "MJ,m') 4 134 900 K E -2

    :alrie thermochemical)§ joule (J) 4.184 000

    calarie .thermochemicall/gi joule per kilogram (J/kg)" 4.184 000 X .3

    curiei giga becquerel (GBq)P 3.'00 000 X E -1

    degree Celsius$ degree kelvin (K) t, - t*C : 73.15

    Jezree angles radian (rad) 1.-45 329 x -2

    Jeiree Fahrenhe:t degree kelvin (K) : < (:tF ' 459.67),1A

    electron volti joule (J) 1.602 19 X F -19

    erg§ joule (J) 1.000 000 x F --

    ergsecond watt (W) 1.000 000 XE -

    foot meter (m) 3.048 000 X E -1

    foot-nound-force joule (J) 1.355 18

    gallon U.S. liquid) meter3 (m ) 3.85 412 X E -3

    inch meter (m) 2.540 000 K E -2

    ,erk joule (J) 1.000 000 X E -9

    ,oule/kilogram (J/kg) (radiationdose absorbed)i gray (Gv)" 1.000 000

    kilotonsi terajoules 4.183

    kip 0n,)O lbf) newton (N) 4.448 222 X E -3

    ki inch ksi) kilo pascal (kPa) 6. 94 '57 X E .3 * ,.ktao newton-second/m -N-s /m') 1.000 000 X E .2

    i ron meter (m) 1.000 000 X E -6

    ,ii meter fm) 2.540 000 X E -s

    mile international) meter (m) 1.609 344 X E -3

    ounce kilogram (kg) 2.834 952 X E -2

    nound-force (lbf avoirdupois) newton (N) 4.148 22

    oound-force inch newton-meter (N-m) 1.129 848 X E -1

    pound-frce inch newton/meter (N/m) 1.751 268 K E -2

    pound-force/foot" kilo pascal (kPa) 4.788 026 X E -2

    oound-force,inch (psi) kilo pascal (kPa) 6.894 -57

    wound-mass Ibm avoirdupois) kilogram (kg) 4.535 924 X E -1, ,,

    oound--,si-foor " moment of inertia) kilogram-meter (k -'m"

    4.214 O l K E -2

    oound-mass foot' kilogram-meter (kV/I 1.b01 84b X E --1

    tad radiation Jose absorbedl§ gray (Gy)* 1.000 000 8 F -E

    r*oenr en 3 coulomb/kilogram CA g) 2.3 9 "60 8 -

    e second 's ) F. 0 ' 0 8 F -4

    a kilogram (kg) 1.459 390 X E -1

    rr n .i )' Z . kilo pascal kPa) 1.333 22 X E -1 F l

    ~Avvliablty Codes

    Dist SpeciaIl

  • 7". - -

    TABLE OF CONTENTS

    Section Page

    CONVERSION FACTORS FOR U.S. CUSTOMARY TO

    METRIC (SI) UNITS OF MEASUREMENT ................. 1

    SYSTEM OVERVIEW .............................. 7

    2 DATA COLLECTION MODULES ...................... 11 -,

    2-1 INPUT TASK ('INPUT') ....................... 11

    2-2 CORRECTIONS AND BUFFERING TASK

    ('CORECT') ............................. 12

    2-3 CRT DISPLAY TASK ('CRT') ................. 19

    2-4 INVERS. TASK ('INVERS') ................ 24

    2-5 HAARD COPY PLOTTING TASKS ('NHCPLT' AND

    ('NPSPLR') .......................... 32

    2-6 TAPE OUTPUT TASKS ('STRTTP' AND

    'TPWRTR') ............................. 33

    2-7 DISK SAVE TASK ('ANLSAV') ............. 34

    2-8 SET UP THE DATA LINKS TASK ('ODL') ..... 34

    2-9 MISSION FILENAME TASK ('MISNAM') ....... 34

    2-10 PROM PROGRAMMING TASKS ('DEL AND AMPL') 35

    2-11 ANALYTIC PROBE CALIBRATION TASK

    ('APROBE' ) ............................. 36

    2-11.1 Background Discussion .......... 35

    2-11.2 Operation .......................... 37

    2-12 INPUT WAVEFORM AND BUTTERWORTH FILTER -

    TASK ( THRTWV') ........................ 38

    3 INTERACTIVE ANALYST PACKAGE ... ............ 40

    3-1 INTRODUCTION ........................... 40

    3-2 COMMAND STRING PROCESSOR ............... .. 44

    3-3 ADD, MUL, DIV AND SUB .................. 45..4

    3-4 ADD HEADER PROCESS (AHD) .................. 46

    3-5 ANL .................................... 47

    3-6 CTP .................................... 47

    3-7 CVT .................................... 50

    3-8 DED .................................... 52

    3-9 FTR ............ ........................ 55

    2

  • TABLE OF CONTENTS (CONTINUED)

    Section Page

    3-10 ITR .................................... 55

    3-11 LHD ...... ......................... 56

    3-12 LON AND LOF... ...... ........ 56

    3-13 MIS ............ ....... .o .......... ... 57

    3-14 TPC ....................................... 58

    4 SYSTEM DATA STRUCTURES AND GLOBAL VARIABLES.. 59

    4-1 INTRODUCTION .................... 59

    4-2 FILE STRUCTURES- ......................... 59

    4-2.1 Operating System Constructs..... 59

    4-2.1.1 UPD'S and UIC's ........ 59

    4-2.1.2 Filenames .............. 62

    4-2.1.3 Logical Units.......... 63

    4-2.1.4 Pseudo- and Logical-

    Devices .................. 64

    4-2.2 Disk and Disk .File Organization. 65

    4-2.3 Locally Defined Disk File Struc-

    tures..... ....... ............ 66

    4-2.3.1 MENU Files ........ ..... 66

    4-2.3.2 Data Files .............. 71

    4-2.3.3 Calibration Files....... 76

    4-2.3.4 Threat Waveform Files.. 78

    4-3 MESSAGE STRUCTURES .................... 78

    4-3.1 Panel Data Block (PDB) Struc-

    tures... ....................... 79

    4-3.2 Data Block Structures ........... 80

    * 4-3.3 Error Status Block (ESB) Struc-t ures............................. 85

    4-4 GLOBAL FLAGS .............................. 86

    4-5 OTHER SOFTWARE SYSTEM STRUCTURES ....... 98

    * 4-5.1 Output Cassette File Structures. 88

    4-5.2 Frequency Table Entries......... 90

    4-6 1-DISK OPERATION .......................... 91

    4-7 TERMINAL PORT ASSIGNMENTS- ........... 92

    3

    3 - -

    *.%*.*

  • TABLE OF CONTENTS (CONTINUED)

    Section Page

    5 OPERATING SYSTEM SUPPORT PROGRAMS ............... 93

    5-1 GENERAL ........................ ........ 93

    5-2 RSX-11M ................................ 93

    5-3 THE EDITOR (EDT) ....................... 94

    5-4 FORTRAN IV PLUS (F4P) ..................... 94

    5-5 TASK BUILDER (TKB) ..................... 94

    5-6 PERIPHERAL INTERCHANGE PROGRAM (PIP)... 95

    5-7 MONITOR CONSOLE ROUTINE (MCR) ............ 95

    5-8 FILE DUMP UTILITY PROGRAM (DMP) .......... 95

    5-9 THE DISK INTEGRITY CHECKING UTILITY

    (BAD) ........ ................. ............ 95

    5-10 DISK SAVE AND COMPRESS UTILITY (DSC)... 95

    6 SOFTWARE DEVELOPMENT............................. 96

    6-1 SYSTEM PROGRAM DESIGN LANGUAGE (PDL)... 96

    6-2 PDL CONSTRUCTS ......................... 99

    6-2.1 IF-THEN-ELSE Statement (See

    Figure 6-1)................ ...... 99

    6-2.2 FOR Statement (See Figure 6-2).. 100

    6-2.3 REPEAT Statement (See Figure

    6-3) ............................ .. 101

    6-2.4 WHILE Statement (See Figure 6-4) 102

    6-2.5 CASE Statement (See Figure 6-5). 103

    6-2.6 PROCEDURE Statement (See Figure

    6-6)............................. 104

    6-2.7 PROGRAM Statement (See Figure0I6-7)... ...... o .ooooooo........105

    6-3 PDL UTILITY PROGRAMS........... ..... 106

    6-3.1 IPDL - Ident PDLs.. ............. 109

    6-4 CONVERTING PDLs to FLECS STATEMENTS-. 109

    6-4.1 IF-THEN-ELSE............. 112

    6-4.2 REPEAT-UNTIL .... ................ 112

    6-4.3 WHILE-DO .......... ..... ... 113

    6-4.4 FOR .............................. 11366-4.5 CASE..... . . .113-|

    --4e • ~ s ooooooooe oo . oeeoo oo eo. 1

    4

  • TABLE OF CONTENTS (CONTINUED)

    Section Page

    6-4.6 PROCEDURES .......................... 114

    6-4.6.1 Procedure-names .......... 114

    6-4.6.2 Procedure Declaration.. 115

    7 CONTINUOUS WAVE MEASUREMENT SYSTEM .............. 1177-1 INTRODUCTION ........................... 117

    7-2 MAJOR FUNCTIONS ........................ 117

    7-3 PROGRAM ARCHITECTURE ................... 118

    7-4 OPERATING MODES ........................ 118

    7-4.1 Manual Mode ......................... 118

    7-4.2 Semi-Automatic Operation .......... 119

    7-4.3 Automatic Operation ................ 121

    7-5 SINGLE CYCLE/MULTI-CYCLE TESTS ........... 1237-5.1 Single Cycle Test ............... 123

    7-5.2 Multi-Cycle Test ................... 123

    7-6 SYSTEM CONFIGURATIONS .................. 124

    7-6.1 Primary Cnfigurations...........124

    7-6.2 Secniary Configurations .......... 125

    7-6.3 Tertiary Configuations ........... 125

    8 DESCRIPTION OF MAJOR ROUTINES... ................ 126

    8-1 INITIALIZATION ......................... 126

    8-1.1 Reset Operation ...................... 12C

    8-2 TEST CONFIGURATION ......................... 127

    8-2.1 PINIT Operation .................... 127

    8-3 TEST CONTROL ........................... 128

    8-3.1 CWTEST Operation ................ 128

    8-4 DATA ACQUISITION AND TRANSMISSION ...... 129

    8-4.1 SYSTEP Operation ................... 129

    8-5 GPIB INSTRUMENTS ....................... 130

    8-5.1 PCU/GPIB Electrical Interface... 130

    8-5.2 PCU-GPIB Command Interface ...... 130

    8-5.3 PCU/ZT-80 Communications .......... 131

    8-5.4 Typical PCU/ZT-80 Interface ..... 132

    9 UTILITY ROUTINES ............................. 133

    5 ''; -, .;.- 2 , " ." --- ','i2 i .- . . . . .. . . . .-. -, ...-.. , .

  • • ,

    TABLE OF CONTENTS (CONTINUED)

    Section Page

    10 BRIEF DESCRIPTION OF CWMS PCU ROUTINES ......... 134

    Appendix Page

    A PERIPHERAL INTERCHANGE PROGRAM .................. A-I

    B EXAMPLE OF RSX-IIM SYSTEM GENERATION ........... B-I

    C FLEC'S USERS MANUAL .......................... C-i

    D DEFINITION OF PUBLIC VARIABLES .................. D-1

    E SUBMIT FILE FOR LINK/LOCATE WITH CODE IN ROM. E-I

    F SUBMIT FILE FOR EMULATION WITH CODE IN ROM.. F-i

    G SUBMIT FILE FOR LINK/LOCATE WITH CODE IN RAM. G-1

    H SUBMIT FILE FOR EMULATION WITH CODE IN RAM... H-i

    I VALIDATION OF THE FORWARD AND INVERSE FOURIER

    TRANSFORMS USED BY THE CW MEASUREMENT SYSTEM. I-i

    LIST OF ILLUSTRATIONS

    Figure Page

    i-i Software System Flow Diagram .................. 9

    2-1 Test Network Configuration ..................... 15

    2-2 Probe Calibratipn Configuratior ................. 18

    2-3 Example of Out-of-Range Point Interpolation.. 23

    2-4 The Approximating Function g(w) .............. ... 28

    2-5 Derivative of g(&j) ..... ...................... 29

    2-6 Transfer Function Amplitude and Phase of

    Analytic Probe with Int.egrator................ 37

    2-7 Amplitude of Transformed Input Wave ............. 39

    6-1 Flowchart of the IF-THEN-ELSE Construct ...... 99

    6-2 Flowchart of FOR Construct ................... 100

    6-3 Flowchart of REPEAT Construct ................ 101

    6-4 Flowchart of WHILE Construct ................. 102

    6-5 Flowchart of CASEOF Construct ................ 103

    6-6 Flowchart of PROCEDURE Construct ................ 104

    6-7 Flowchart of PROGRAM Construct .................. 105

    6-8 Low-Level PDL Example Before Formatting ........ 107

    6-9 Low-Level PDL Example After Formatting ......... 108

    6

    - ...-.-

  • SECTION 1

    SY3TEM OVERVIEW

    The CW Measurement Data Acquisition System is a real-

    time, multi-task, event driven software system using the Digital

    Equipment Corp's RSX-IIM real-time operating system and software

    produced by EG&G WASC Albuquerque Operation Systems Group. Theoperating system is documented by DEC in manuals supplied with

    the sy,3tem. This documunt describes the application software

    written by EG&G.

    The CW Measurement System consists of two basic

    s ctions: the cw generation and measurement subsystem built by

    Boeing and modified by EG&G, and the Data Acquisition subsystem

    consisting of a DEC PDP-lI/34A, two RL01 disk drives, an

    HP-2648A operator's console and other associated hardware. The

    data detected by the measurement subsystem receiver are

    transmitted to the PDP-11 via an RS-232 data link as 36-byte

    data records. These data are then processed in real-time; the

    instrumentation and sensor effects are corrected, the data are

    displayed on the operator's console and, optionally, saved on

    cassette or disk for future processing and archival storage.

    The software system includes the following:

    Data input task, which receives data from the

    measurement subsystem and sends it to the correc-

    tions task.

    0 Corrections and buffering task, which spools the raw

    data received from the input task. As data are

    received and time allows, the data are despooled,

    sensor and instrumentation corrections are applied,

    and the data are dispatched to the other system

    tasks.

    * Operator Console Monitor task (CRT) , which handles

    the interface between the operator and the system.

    It prompts the operator for information concerninj

    the test, and controls the graphic display.

    7V.q

    V.. -

    S.. ..- . . . . . ,. . . .-. . -

  • '.~ U

    * Inverse Fourier transforin task, waich converts data

    from the frequency domain into tne time domain,

    applying the operator-selected Butterworth filter

    threat waveform in the process.

    * Hard-Copy plot task, which plots the corrected data

    on the flatbed digital plotter, if requested.

    * Tape task, which writes corrected and transformed

    data to tape for storage and/or future processing,

    if requested.

    * Disk-Save task, which writes the requested data do-

    mains to the disk for storage for future processing.

    * Setup the remote data links task, which controls the

    optical data links and VHF switch.

    0 Name the mission file task, which allows the opera-

    tor to request an old mission file or create a new

    one.

    These tasks communicate with each other by event 'lags

    and system messages. Each task processes data as it arrives, at

    its own speed, asynchronously. Figure 1-1 represents the task

    architecture.

    The CW Measurement Data Acquisition System includes a

    number of programs which may be run either offline or concur-

    rently with data acquisition if a second terminal is available.

    These programs form the Interactive Analyst Package and enable

    a data analyst to perform mathematical operations on data, to

    * plot, list, scale and transform data, to edit data files, to

    list the contents of file headers, to add headers to data files,

    to list the contents of the mission file and to initialize

    tapes, copy data from tape to disk and disk to tape.

    The system also contains a number of stand-alone

    utility programs for use in supporting the various facilities of

    the system. These include:

    * Analytic probe calibration task. This task gen-

    erates a probe calibration file for B-dot type

    sensors.

    8

  • 0 _j

    (0 UJ'.N > 0

    00(.~zZ

    o-)

    021

    U) 0 N 39

    LU~~U Z.>Zu

    LLI-

    > >)C) I.- 3(A 4 4

    Z==!)9aU5 LL L-T- U)9

    -C6 -

  • 0 Threat waveform task. This task generates threat

    waveform files. The values for a and 1 describingthe threat waveform and the high-frequency and low- :7frequency cutoff points of a ninth order Butterworth

    filter are specified by the operator.

    * Delete frequency EPROM task. Burns EPROMs which

    contain frequencies to be deleted from the CW

    spectrum during measurements.

    0 Amplitude control EPROM task. Burns EPROMs which

    control the power output of the transmitter power

    amplifier during a test.

    The design of these tasks is described by Program

    Design Language (PDLs). PDLs are described fully in Section 5

    of this manual. The PDLs for these tasks are contained inSection 1 of the Listings Manual.

    Section 2 of this manual contains a description of all

    the tasks in the data collection system, along with details of

    data structures used by each task, and the files generated ir ..-

    used by each. Section 3 describes the Interactive Analyst Pack-

    age software. Section 4 describes the system data structures

    and global variables. Section 5 describes the software develop-

    ment tools used and Section 6 describes the RSX-11M environment .

    and support programs. Sections 7 and 8 relate to the Boeing

    Continuous Wave Measurement Subsystem (CWMS) . Section 7

    describes the function of the Program Control Unit (CPU) and

    Section 8 describes the software modules in the PCU firmware.

    * I10

    • . ... , h..

  • SECTION 2

    DATA COLLECTION MODULES

    2.1 INPUT TASK ('INPUT')

    Tne data input task, INPUT, receives data from the

    receiver program control unit (or the MFE tape unit) and sends

    the data to the corrections task, CORECT, for spooling and dis-

    tribution. This task is small and fast in comparison to other

    tasks within the system. Since it is required that the task

    have "immediate" turnaround of a received data record, it

    operates at the highest priority of all tasks in the software

    subsystem. This allows INPUT to process the data from the

    receiver PCU as soon as it arrives and to immediately start

    another read, insuring that no data are lost.

    The task issues RSX-11M QIO directives to read the data

    from the PCU. INPUT maintains two data buffers. When a record

    from the PCU is received, control is passed to INPUT by the

    RSX-11M system. INPUT then starts the read-and-proceed QIO

    directive with the inactive buffer, and processes the data in

    the active buffer (the buffer which the last read accessed).

    When a data record arrives, the first byte of the

    record is read to determine the record type. (See paragrah 4-3

    for the particulars of the PCU record formats.) Data are then

    extracted from the record and placed into messages which are

    sent to CORECT via the RSX-11M Send Message directive. There

    are three types of PCU records. One type is the Panel Data

    Block (PDB) record containing information about the receiver PCU

    front panel switch settings. The second record type is the Data

    record containing raw data for spooling and reduction. The

    tihird is the Error Status Block record containing an error code

    for an error sensed by the receiver PCU. Each record type is

    formatted differently. INPUT extracts the information and

    formats a message (or multiple messages when the record contains

    more data tnan can be packed into a single message) to send to

    CORECT. If this is completed before the read-and-proceed QIO

    11 i

    4_ Aw.. o ]

  • * issued earlier, the task waits for the read to complete, freeing

    the PDP-li so other tasKs can execute.

    When the PCU sends an end-of-sweep Data record,

    indicating the completion of a cycle, INPUT decrements a counter

    which was initially set to the number of measurement cycles

    contained in the panel data block. When the counter reaches 0,

    the task goes to end-of-task. This allows INPUT to read data

    which were previously recorded on cassette in the 'secondary'

    configuration. If the tape cassette was previously written

    upon, it may have extraneous data following the measurement.

    The shut-off feature insures that this data are not read into

    the system.

    2-2 CORRECTIONS AND BUFFERING TASK ('CORECT')

    CORECT accepts raw data from the input task ('INPUT')

    and writes it to disk. The raw data are then read and processed

    asynchronously with the other tasks. When the data are read,

    CORECT applies corrections to it and spools the corrected data;

    then dispatches the corrected data to the CRT task for plotting

    and to the Inverse Transform task. CORECT controls up to seven

    disk files which contain system and probe calibration data, raw

    data and corrected data.

    Internally, the task is in five parts. Each part is

    • invoked by sensing an event flag, set either by another task or

    o by CORECT itself. The task waits for one of these flags to be

    set, then enters the appropriate section of code. The flags

    signal one of the following events:

    a Correction Data the raw data input task

    Available has sent a data item to

    CORECT.

    * CRT Waiting for Data CRT is waiting for

    corrected data.

    * Inverse Waiting for the Inverse Transform task

    Data is waiting for correctaddata.

    120]

    * . .._..* .~. 2

  • . . .. . .. . .. . . ..

    * Primary Menu Ready CRT is signaling that the

    primary menu entries are

    correct.

    * Raw Data Waiting for there is data in the raw

    Correction data file ready for cor-

    rections (this flag is

    controlled by CORECT it-

    self).

    When corrected data are requested by CRT or INVERS,

    CORECT reads the next data point from the corrections file and

    dispatches it to the requester using the Send Message facility

    of RSX-1lM, and signals the requester by setting a global event

    flag. When the INPUT task signals it has raw data to correct,

    CORECT invokes the Receive Message facility of RSX-11M and

    writes the data. The Primary Menu Ready flag causes CORECT to

    open the primary menu file, extract the information it needs and

    close the file. The Raw Data Waiting for Correction flag is setwhen raw data are received from INPUT, and is reset when the raw

    data file is empty. An abort flag is also used to signal error

    conditions from which there is no recovery. Setting the abort

    flag causes all tasks in the system to go to end-of-task

    immediately.

    The files used by CORECT are all kept in UFD (200,1].

    (See the RSX-11M System Documentation Manual IA, the section

    entitled 'EXECUTIVE' for a discussion of UFDs and UICs, also

    refer to paragraph 4-2.1.1.) Volume SY: contains all system and

    sensor calibration files, the menu files, and a composite.4 correction file built whenever a multicycle test is performed to

    save computation time. Volume CD: (the Classified data disk;

    normally mounted on DLl:) contains the raw data file and the

    corrected data file. All files are direct access, unformatted

    files. Except for the menu files, which are discussed in the

    next section, and the inverse transform file, all files contain

    12 byte records. These records are subdivided into three fields

    which contain the frequency, amplitude (in dB), and phase (in

    degrees) respectively in internal single precision floating

    13

    " '~~~~~~~~~~~~~~~~~....'-....-i. ".......... .-"......... .. .,.".- - .• - ''-' ' ""''"--. ."'"'""' '' ,,

  • A

    point format. For measurements which do not contain phase

    information, the phase field is set to 0.

    The names of the files used by CORECT are:

    * MENU.PRI primary menu file

    0 CORECT.DAT corrected data file

    . RAWDATA.TMP input spool file

    * ACOMP.TMP composite correct file for use

    in multicycle tests

    - SYSTF.CAL system calibration file for

    transfer function measurements

    * SYSRF.CAL system calibration file for

    response function measurements

    * XXXXXX.CAL sensor calibration file where

    XXXXXX is the name (up to nine

    characters) of the sensor as

    entered in the primary menu

    The equations for the corrections are derived from the

    previous cw data reduction work done by EG&G. These equations

    assume a measurement system similar to that used here.

    The equation used for amplitude correction is:

    Corrected Ampl. = K a(Smeas - Ra) + REFGAIN - SIGGAIN

    + RPROBE - SPROBE + NADR - SCAL (I)

    where

    a = conversion factor from millivolts to dB for the

    network analyzer (here, Ka = .02)

    Smeas-Rmeas = transfer function in millivolts of the signals

    sensed at the reference and the signal channels.

    In effect, this difference is the raw data

    received by the corrections task.

    REFGAIN = Signed gain added to the reference channel.

    3IGGAIN = Signed gain added to the signal channel.

    RPROBE = reference sensor transfer function.

    SPROBE = signal probe transfer function.

    NADR = network analyzer display reference in dB (set

    on front panel of network analyzer).

    14

    " ." . * .. ., * L. ]. . . - . ,

  • SCAL = transfer function of system instrumentation

    exclusive of sensors (probes) and externally

    introduced gains or attenuations (i.e., the

    system cal).

    This equation is derived from examination of the system

    setup as diagramed in Figure 2-1

    RPRO BE REFGAIN REDLA R 1 -1e ".-..

    SIGNAL NETWORKSOURCE ANALYZER

    Figure 2-1. Test Network Configuration

    The output of the network analyzer in dB is:

    K a(Smeas - Rm ) = S + SPROBE + SIGGAIN + SIMDELAY + So (2)

    R + RPROBE - REFGAIN - REFDELAY - Ro

    where S is the signal at the signal source into the signal

    channel, R is the signal at the signal source into the reference

    channel. SIGDELAY and REFDELAY are assumed to have transfer

    functions of 0 dB and 0 degree phase distortion. So and R9 are

    the effects of instrumentation in each channel.

    The transfer function of the signal source is S-R, so

    regrouping, and solving for (S-R) one gets:IS-R) = K (S - Re) - SIGGAIN - SPROBE -0 + REFGAIN +

    a meas meas (3)

    RPROBE + 0 - (S0- R0)

    the Os in the above equation are the effects of SIGDELAY and

    REFDELAY. The quantity (S - R0 ) is the transfer function of

    the effects of instrumentation on the system exclusive of

    sensors or external gain added. This quantity is called SCAL,

    the system calibration transfer function. Reducing the above

    equation becomes:

    15

    -S • . . ... . . . " . . . .', . . . . ." " ., -.. --- --.-, - - : . - " .' , , : ..-.-." , : ."

  • (S - R) = Ka (S meas- R meas) + REFGAIN - SIGGAIN + RPROBE

    - SPROBE - SCAL (4)

    The network analyzer can scale its output so that its 80 dB

    dynamic range brackets the data. Changes in this value changes

    (Smeas - Rmeas) by a value equal in magnitude but of opposite

    sign. rherefore, adding this value, one gets the original

    equation:

    (S - R) = K a(meas - Rm ) + REFGAIN - SIGGAIN + RPROBE - SPROBE

    + NADR - SCAL (5)

    A similar derivation applies to the phase. Note that the phase

    of any gains in either channel are 0. The equation used for

    phase correction is:

    Corrected Phase = K (PS - DR ) + PHRPROBE - PHSPROBEmeas meas (6)

    - PHCAL

    where

    Ko conversion factor from millivolts to degrees

    for the network analyzer (here K= .1)

    PS meas-PR meas= Phase in millivolts of signals sensed at the

    reference and signal channels. This value is

    the raw phase data received by the corrections

    task.

    PHRPROBE = reference probe phase

    PHSPROBE = signal probe phase

    PHCAL = phase of instrumentation exclusive of probes,

    amplifiers or attenuators. This is the phase

    of the system.0 Again, consider Figure 2-1. The phase output of the network

    analyzer is:

    KO(PS meas- PRmeas) =S + PHSPROBE + PHSGAIN + PHSDEL +0(7)

    -O R - PHRPROBE - PHRGAIN - PHRDEL +ORO

    16

  • where

    PHSGAIN = phase of the signal gain = 0 as noted above

    PHRGAIN = phase of reference channel gain = 0 as noted

    above

    PHSDEL, PHRDEL = Phase of reference and signal delays. These

    are both zero due to the fact that on this

    system delays will be introduced by extra

    cabling, which, in and of itself, has phase 0.

    0,R = phase of the signal source at the signal and

    reference channels, respectively.

    Since (0 S- OR) is what we want, by substituting and regroupingone can get

    0 = (OS - OR) = KO(PSmeas - PRmeas) - PHSPROBE -0 - 0 + PHRPROBE

    +0 +0 - (0 - ORO) (8)

    The quantity (OS- OR) is the phase of the system exclusive of

    probes, gains, delays, etc., it is, in fact, the phase of the

    system cal, otherwise known as PHCAL. So reducing, one gets

    (OS -O0) - K (PS meas- PR meas) - PHSPROBE + PHRPROBE - PHCAL (9)

    To do a system cal, the reference and signal sensors

    are removed from the configuration, i.e., RPROBE, SPROBE,

    . PHRPROBE, and PHSPROBE are removed from the respective

    equations. Therefore, solving these equations for SCA. and

    PHCAL, one gets:0

    SCAL = Ka(Smeas - R meas) - REFGAIN - SIGGAIN + NADR (10)

    andPHCAL = -(PSmeas PRm ) (11)

    To calibrate a probe, the reference probe is removed from the

    system - that is the signal is run thru the system as shown in

    Figure 2-2.

    1I% i L 17 .[

    S -mr

  • ---

    mAPower

    SIGNAL IN REFGAIN EFDELA- R - -oRef

    NETWORK

    11 1 1;;;jjANALYZER

    SROBE4

    Figure 2-2. Probe Calibration Configuration

    Solving for SPROBE and going through the aforementioned -j

    T S

    derivations, one gets:

    SPROBE = Ka (Smeas - R meas) + REFGAIN - SGAIN + NADR - SCAL (12)

    and 2PHSPROBE = KO(PS meas - PRmeas) - PHCAL (13)

    When a multicycle test sequence is run, a signal-to-

    noise ratio calculation is made. This calculation represents

    the ratio of the ambient noise at the test point to the signal

    plus the ambient noise at the test point. The ambient noise

    measurement is the ratio of the signal at the test point to a Izonstant reference level, provided by the reference synthesizer

    in the CWII system. This can be abbreviated to

    SNNa N or SN - K in dB

    and the signal-plus-ambient noise at the test point, which is

    the ratio of the signal at the test point to the signal received

    at the reference sensor, can be abbreviated

    St 1Sa = -REF ,or S - SRE F in dBSa SE F REF

    This is the test measurement. What is wanted is the ratio of Stto 3 N,

    StSS =- , or S -S in dB

    NR S N t N1

    18

  • l-.

    When an ambient noise measurement is taken, K( is the value for

    reference gain added in the primary menu. In order to calculate

    SREF, a special measurement known as a reference sensor cali-

    bration is made. This is done whenever the test configuration

    is changed, or on some similarly frequent schedule. This

    measurement is the ratio of the signal detected at the reference

    sensor to a constant (K 2 ) reference level, again provided by the

    reference synthesizer. This can be abbreviated

    SS REF -K indBb 2 orSREF 2

    K2 is the reference gain added from the primary menu when this

    measurement is taken, and is saved for the signal-to-noise

    calibration.

    Now, we have (SN-K) , (St-SREF) and (SREFK2) , or N,

    Sa, and Sb, and we have saved the constant values K and K2 .

    S +S -N (S S +( S Ka b a t - SREF ) + (SREF - K2 ) - (SN - K)

    S t - SN - K2 + K

    S -S S + S -N + K -Kt N a b a 2

    The reference sensor calibration is saved on SY: in

    UIC[200,1]. The filename is RFSNS.CAL. The ambient noise and

    test data are extracted from the first and second parts of the

    corrected data file (CD: [200,1] CORECT.DAT) . The reference

    sensor calibration reference gain constant is saved in record 23

    of the primary menu file, and the ambient noise reference gain

    constant is extracted from record nine of the primary menu file. ..-

    2-3 CRT DISPLAY TASK ('CRT')

    CRT provides the interface between the operator and the

    system. The program is run by the initialization indirect

    oonmanu file, but is inactive until it receives a data block

    from CORECT.

    19

    . .. ,- - - ----...---'-.. . .... ." .-.

  • Initially, a data block is received which contains a

    description of the front panel settings of the measurement

    system (a panel data block). The information consists of the

    test type (TFA, TFC, etc.), the decade switch settings and the

    cycle number. The test type indicates to the CRT task whether

    phase data were taken. The decade switch settings are used to

    determine which decades contain measurement data so the CRT

    graph can be drawn accordingly, and how many points will be in

    each decade. These are decoded as A = 0, B = 25, C = 50, D =

    *I 100, E = 250, F = 500, and G = 1000.

    Next, the operator is prompted for the types of plots

    to be displayed. Ambient noise, pick-up noise, amplitude and

    phase plots can be overlaid. At this time, CRT requests the

    IEEE-488 control task and suspends itself. The IEEE control

    task, ODL, checks for the presence of an IEC-1IA bus controller

    *" module. If the IEC-11A status is good, ODL proceeds to validate

    the contents of the IEEE-488 device control menu. After the

    menu entries are validated, ODL issues bus commands to set the

    selected devices, verifies the settings, resumes CRT and sus-

    pends itself.

    The primary and secondary menu entries are then veri-

    fied and changed if necessary. The primary menu entries are

    displayed first. If approved, the program continues with the

    secondary menu. Otherwise, the operator is prompted for new . -

    entries to the menu.

    The secondary menu entries are displayed. Again, the

    old entries are displayed and if not approved the operator is

    prompted fur new entries.

    When the menu processing is completed, the CRT graphics

    parameters are set to their default values. This is accom-

    plished with the escape sequence '*mR'. These values are

    shown in Table 2-1.

    Next, the axes are drawn according to which plots were

    re2quested for the frequency scale, which decades contain data. IThe screen unit coordinates for the corners of the graph are

    always (49,119), (669,119), (669,335), and (49, 335). The phase

    alwas (4,11) , 669,19)20

  • Table 2-i. Default HP-2648A graphics parameters

    Parameter Default Value

    Pen Condition up

    Line Type 1 (solid)

    Drawing Mode set

    Relocatable Origin 0,0

    Text Size 1

    Text Direction 1

    Text Origin 1 (left, bottom

    justified)

    Text Slant 0 (off)

    Graphics Text off

    Graphics Video on

    Alphanumeric Video on

    Graphics Cursor off

    Alphanumeric Cursor on

    Rubber Band Line off

    Zoom off

    Zoom Size 1

    Autoplot off

    Autoplot Menu clear

    Compatibility Mode

    Page Full Straps 0 (out)

    GIN Strap 0 (CR only)

    labels appear on the right y axis and are always the same. The

    Eimplitude axis (the left y axis) is labeled according to .e

    value of the mid-range line. This is calculated by the

    following equation:

    MID (dB) -GS + GR + NADR - RV + RV (14)s r

    21Im

    [ . .'

  • wh z!r -3

    GS = Signal Gain added

    GR = Reference Gain added

    NADR = Network Analyzer Display Reference

    RVs = Representative Value of Signal Probe Calibration

    RVr = Representative Value of Reference Probe

    Calibration

    The values GS, GR and NADR are taken from the ienu

    entries made by the operator. The values RVs and RVr are taken

    from the probe calibration files specified by the Signal Probe

    and Reference Probe menu entries. These files are opened and a

    representative amplitude value extracted from each. This is

    done to insure that the effect of applying corrections from

    these files does not force the plot off scale. The computed

    mid-line value is then saved in the primary menu file. The

    amplitude scale for the plot is +40 dB from the mid-line value.

    When the axes have been drawn and labeled, a legend is

    written below the graph which describes the test being run.

    A global flag is set to inaicate that CRT is now ready

    to accept data from CORECT. The points to be plotted are

    teceived by CRT one at a time in twelve byte records each

    containing a frequency, an amplitude and a phase value.

    Frequency values are converted to screen units by the

    following equation:

    (Lgl0 (last frequency point) + Logl0 10- 6

    Logr0 (maximum frequency value) (15)

    Logl0 (minimum frequency value)Ix (669 - 49) +49 + .5

    Logl0 (minimum frequency value)]

    Phase values are converted to screen units, if a phase

    plot was requested, using the following equation:

    PHS = I((Last phase value) (-180 ((335 - 119) + .5 + 119~((Last90. (l0)((180.9-.180.)) +()

    / 90. (6

    220

    * .- . . *--.--.**° -

  • Amplitude values are converted to screen units using the

    following equation:

    SVLast amplitude value) - (minimum dB value) 335 - 119Amp= 10. 8.+ .5 + 119. (17)

    As each phase point is plotted, it is saved as the last point

    - and a line is drawn from it to the new point after it has been

    I' converted to screen units.

    Before an amplitude point is plotted it is checked to

    see if the screen value falls outside of the axes lines (top or - -

    bottom). If so, a calculation is made to find the point of

    intersection, with the axis, between the point in bounds and the

    point out of bounds. The line is drawn between the point in

    bounds and the point of intersection. This is also the case in

    drawing from a point out of bounds to a point in bounds. Figure

    2-3 illustrates this feature.

    Figure 2-3. Example of Out-of-Range Point Interpolation

    *Lines between all points are solid. To differentiate

    between the lines, a symbol unique to the type of plot will be

    printed at evenly spaced intervals. The symbols used will be:

    A - Ambient noise line

    * P - Pickup noise line

    M - Amplitude line

    F - Phase line

    Should a test be aborted for any reason, a message will

    be displayed on the CRT screen indicating to the operator the

    23

  • reason for aborting. The reason will be displayed as a code

    number which is described in Appendix A of the Operating Manual.

    2-4 INVERSE TASK ('INVERS')

    INVERS generates an inverse Fourier transform of the

    frequency domain data acquired by the measurement subsystem. '

    The method used is a variation of the Guillemin Impulse Train

    method and will be discussed in greater detail later. The

    inverse transform also folds in a Threat waveform and a ninth

    order Butterworth filter. The resulting time domain waveform

    contains all three above-mentioned components.

    DNVERS is event-driven and executes asynchronously with

    the other data acquisition tasks. The task is compute bound,

    and runs at a low priority (49). The task is activated by

    CORECT which sends INVERS a message via a send message

    directive. This message contains either a panel data block

    (PDB) or an end-of-data message. The PDB message indicates the

    start of an inverse transform, whereas an end-of-data message

    indicates that no transform is to be calculated. To generate an

    inverse transform, the task must retrieve from the primary menu

    file the name of the Th reat waveform file selected by the

    operator, the maximum time domain value and the B-field to

    E-field conversion factor. The points in the time domain to

    which the inverse is generated are then selected, the selected

    threat waveform file is opened and CORECT is signalled that

    INVERS is ready for data. Data are transferred from CORECT to

    INVERS via RSX-11M Send/Receive directives using global flags to

    signal when INVERS is ready and when CORECT has sent data. This

    allows asynchronous operation of both tasks.

    *hnen the inverse transform is completed, the Parsevalener ies , 0Oenrs ff(t)1 2 dt and 2tIF( c)I 2 dw

    -~ O

    are calculated for the time and frequency curves, respectively.

    Since the square of a straight line is a hyperbola, a hyperbolic

    24* I

    - *..*

  • 77 --7- -

    rather than trapezoidal integration method is used. The results

    are compared using the standard error formula

    X - Y -x + Yand Parseval values and the ratio are stored in the primary

    menu. Then the file, CD: (200,1]INVERS.DAT;l, is created and the

    time domain data are written to it as eight-byte records

    containing two floating point numbers. Each record consists of

    a time value in seconds and an amplitude point. There are

    always 512 records in INVERS.DAT.

    When INVERS finishes, it waits for two global event

    flags. One indicates that CORECT is finished and the other

    indicates that CRT is done. When both of these flags are set,

    all front-end processing is complete and the data are ready for

    post processing. The following operations are performed at this

    time:

    0 The operator is asked if a hard copy plot is desired

    and to enter a comment text.

    * ODL is resumed and turns off all the ODL-5Bs. Then

    it terminates, releasing the IEEE-488 bus. When the

    bus is released, all the other devices on the bus go

    to front panel or standby operation.

    * An entry is made in the mission file.

    0 The operator is prompted to determine which files

    are to be saved on tape and disk. The hard copy

    plots and tape files are spooled and the files to be

    saved for analyst are written to the analyst UFD

    [200,1] on the classified data disk.

    * If a CRT plot of the inverse transform has been

    requested, the auto-plot task is started.NHCPLT spools plots. The task which spools tape files

    is called STRTTP, and the one which saves files for analyst use

    is called ANLSAV. These tasks are installed when the data

    acquisition system is initialized (by the UP indirect command

    file) and are activated by CORECT when it receives the panel

    data block from the measurement system. The tasks receivemessages from INVERS via system message directives. The

    25

    I

    - .* * - .-•:

  • messages consist of a data type indicator and a filename. The

    value of the data type indicator tells the tasks what kind of

    data they are dealing with, and the filename becomes the output

    filename. The data type indicator has the following values and

    meanings:

    0 - the ambient noise portion of a multicycle test.

    1 - the test data portion of a multicycle test

    2 - the pickup noise portion of a multicycle test

    3 - inverse transform data4 - transfer function calibration data, response func-

    tion calibration data or probe calibration data

    5 - reference sensor calibration data

    6 - signal-to-noise ratio data

    7 - end of test

    3 - test data from a single-cycle test

    If the data type indicator is 0, 1, 2, 3, 6 or 8, themessage " filename is as follows: the first byte is the test

    facility code from the secondary menu, the next four bytes are

    the test, sequence number from the primary menu, and the last

    three bytes are the Julian date. If the indicator is 4 or 5,

    the message filename is as follows: if the test is a reference

    sensor calibrator's measurement, the first five characters are

    "INREF". If the test is a system response function calibration,

    the first five characters are "SYSRF". If the test is a system

    transfer function calibration, the first five characters are

    "SYSTF". If the test is a probe calibration, the first fivecharacters are the first five characters of the probe calibra-

    tion file ID. In all cases, the last three characters are the

    Julian date.

    The method used for computing inverse transforms is a

    variation of Guillemin's Impulse Train Method1 . Numerically its

    results are equivalent to a Fourier integral transform of

    * iErnst A. Guillemin, Theory of Linear Systems, New York: John

    Wiley and Sons, Inc., 1963, pp. 387-393, pp. 509-510.

    26

    .6

  • q

    sampled data, but it has the speed advantaje of operating on a

    relatively small number of terms. The justification frr the

    Impulse Train Method for the inverse transform follows.

    The equation for the inverse Fourier transform is

    - 0

    where F(ico) is complex with real and imaginary parts designated

    R(W) and X(wo) respectively. Consider initially only theimaginary part. Let X(w) be the function of angular frequency

    with n samples of X(co) at cj; X(woj) , j = 1, 2, ... n. X(cu) isapproximated by straight line segments between each sample; call

    this g(w). Let hj (w) be the jth line segment of g(w):

    (a + b .w, .D5(0+h ( ) = J ] j+l

    0 elsewherej = 1, 2 ...... , n-l

    Thenn-1

    j =1 (20)

    By using the Guillemin algorithm, only a simple

    summation is needed in order to evaluate the contribution from

    the imaginary part of F(iw). It Is not necessary to actuallyintegrate the approximating function. The Guillemin technique

    can be used with polynomials of order n, assuming only that

    Fk(iw) 0-for k=0, i, ... n ascj'.jOc. In this case linearinterpolation is used, and X(co) and X (cu) are assumed to go to

    0 as co goes to -cc and +o. The algorithm is developed in the

    following way, integrating by parts twice.

    I 0

    {€) e ( t d = -- -- -tdw,",.0*c 00

    X'(u (w)o e ic~tX (co) e d &1 it d c

    (it) -

    27

    f * O * c**. .

  • K 7 - - -- ° • . °'°.

    Now approximate X(w) by g(w ), which is a broken line function as

    for the linear transform (see Figure 2-4).

    X( )

    Figure 2-4. The Approximating Function g(w)

    Let hj(uj) be the jth line segment of g(w):

    a ,• + b j w), U) 3 w c j+ l1

    h (w) = (21)0 elsewhere

    j = 1, 2 ...... , n-I

    Then

    n 1

    g(w) = h.(w) (22)

    Now n-1

    g'(W) = h'j(w) (23)

    0 bi WSS<h'(w) = b j +1lI0 elsewhere (24)

    and g' is a step function (see Figure 2-5).

    28

    * A

    -. . ... • - . ° , ... , . -.. o ° . .- . - .- .. . . .... .. . ~ .°.o=. . .

  • ,'°9'

    --

    Figure 2-5. Derivative of g()6!

    Nown-i

    g (W) h" (W) (25)

    j=1 J|

    and if 3(-) is the Dirac delta function, then

    bj:(,-.) at j

    h" (-) = -bh 6 (.-wj+l) at wj+l (26)

    0 elsewhere

    j = 1, 2 ...... , n-i- -Iby virtue of the fact that h".() dw = h' ().

    f .

    Therefore9 w-.i + (b b.3

    g"(4) = b (b 2 - b2) ,(- 2 ) (27)

    + (b 3 -b 2 ) (- 3 ) + + (-b n ) (

    29

    ~~~. . . . . . . . . . . .....°- • -.- -...-- -. .. .. - - . . . .• . ... .. , . . - .. , .- .%..- .. °•.- .. . . • - . . .".. '- " .ff- ' ." " -. .- "... " -. .- . • i- -.- ' - - ' . -- .- . . - -.A " . , .. ,: '" - - . ,

  • So

    X~ eu~ 1 Ix" 2(w1 e1 t dw (28)

    i f e"w e1~t (29)

    b e 1t'e~l + (b - bl) el-2t2 V1 2 1

    + +b e ni (30)

    * Similarly,

    fR (w) e ~ 2it) 1 + (c 2 -cl) e1'w2t

    * where cj is the jth second derivative (impulse value) of R(w.).

    Since the limits of integration are from -- to +c and

    R(w) and cos wt are even functions while sin w~t is an odd

    function, the total contribution from the real part is

    2r*2 Lcl 1Cos W 1t + (c 2 c1) Cos W2 t+ +. +C nCos W tJ (32) .6

    t

    * Likewise, since iX(w) is an odd function, the total contribution

    *from the imaginary part is

    S 2 r+ - Ll si w t + (b2 b) sinl ~t + * + b sin nt] (33)t

    30

  • Scaling the integrals by then yields the inverse transform in

    impulse foim as

    f (t) b sin wt + (b2 - b) sin

    7Trt 7 1 w t

    + b sin wnt - CI cos t (C C Cos 2 t (34)

    - Cos t

    If f(t) = 0 for t < 0, the function is considered

    causal. Physical systems of the cw type may be so considered,

    and it can be shown2 that for a causal system

    flt) = - fR(w) cos wt dw - X(w) sin wt dw t

  • _oeraion. N\s indicated earlier, this task uses a

    subroutine which is a variation of Guillemin's Impulse Train

    Method. The subroutine uses only the imaginary portion of the

    frequency function; hence it is a sine inverse. It is called to

    operate on all time elements (inner loop) for each frequency

    data point (outer loop). Thus, with each entry it augments a

    partial sum for each time point allowing it to operate in near

    real time. This results in the completed inverse being

    available as soon as possible afte2r corrections have been

    applied to the final data point. The amplitude of time 0 is

    forced to 0 since the cw system does not record dc voltage.

    Jpon the first entry, a trigonometric sine function

    table is created with increments of one degree. For any given

    sine argument with times greater than or equal to 100 ns, a

    linear interpolation is performed between bracketing values of

    the table. For time less than 100 ns the FORTqAN library SIN

    function is used directly bEcause any inaccuracy resulting from

    the table look-up operation is amplified by the scaling factor

    1/It 2 . This inaccuracy is tolerable above 100 ns where the

    table look-up feature saves considerable time.

    As stated before, to use this method it is assumed that

    X(o) and X' (w) go to 0 as w goes to - and +o0. In order to make

    this true the integral is calculated as if there were a point

    (0,0) before the first frequency point and a point (10*con ,0)after the last frequency point at wn"

    2-5 HARD COPY PLOTTING TASKS ('NHCPLT' AND 'NPSPLR')

    NHCPLT and NPSPLR interface between the data collection

    tasks and the hard-copy plotter. NHCPL formats the data and

    builds the data header. NPSPLR spools the header information

    and data points to the plotter.

    NHCPLr receives the Panel Data Block from CORECT, then

    waits until LNVERS has finished processing the data and has sent

    the filename to be plotted. NHCPLT then builds the plot file.

    The main and secondary menus are opened and the data file header

    is built. See paragraph 4-2.2.2 for the data header

    32

    0..

  • " description. he data points are then copied from the input

    disK file to the plot file. NILCPLT thien sends the filenane to

    NPSPLR using the system send directive.

    When NPSPLR receives the plot filename and data typefrom NHCPLT, it initializes the plotter and waits for the

    operator to prepare the plotter. When the plotter is ready for

    operation, it writes the data header on the top portion of the -

    plotting paper. Then it plots the desired data domains.

    FreIuency-Magnitude, Frequency-Phase and Time-Nknplitude plots

    mjy be generaced. NPSPLR recycles through its procedures until

    no more plot filenames have been queued by NHCPLT.

    2-5 TAPE OUTPUT TASKS ('STRTrP' AND 'TPWRTR')

    STRTTP and TPWRTR write data files to cassette for

    archival storage. See paragraph 4-5.1 for a description of the

    cassette file structure. STRTTP sets up the file to be spooled

    to tape by formatting the file to make it compatible to the data

    files used in the Interactive Analyst Package. It receives the

    Panel Data Block from CORECT, then waits until INVERS sends a

    data filename and data type. Only the files that the operator

    has requested to be placed on tape are processed. STRTTP then

    opens the menu files to extract the needed header information.

    (Paragraph 4-2.2.2 contains the data file header description.)

    The header information and data are copied to a new data file,

    then the filename and data type are sent to TPWRTR via the send

    directive.

    TPWRTR initializes the tape unit, dequeues a message

    from STRTTP, opens the output file, then determines the number

    of records in the file. The tape identification number is con-

    pared to the tape number in the data header; if they don't match

    the operator is informed of the error. The room rf:raining on

    the tape is compared to the number of records required by the

    data file. If there is not enough empty tape, the operator is

    requested to replace the tape with an initialized tape. The

    tape nuraber in the data header is increased by one to match the

    new tape number. TPWRTR then copies the data file to the

    33

    4

    L . .. .'..:-**i -

  • cassette. While the data is being transferred, the minimum and

    imaximum values are calcul3ted, then placed into the file header

    on the tape. TPWRTR will continue processing the data files

    until no more filenames are in the receive directive queue.

    2-7 DISK SAVE TASK ('7NLSAV')

    ANLSAV writes the requested data files to disk for use

    in the Interactive Analyst Package. It receives the filename

    and data type wnich INVERS has sent via the send directive.

    ANLSAV opens the main and secondary menu files to obtain the

    information needed to form the data file header (Paragraph

    4-2.2.2 describes the data file format.) It then copies thedata file header and data to UFD [200,2] on device CD:. ANLSAV

    continues copying the data files until there are no filenames in

    the receive directive queue.

    2-8 SET UP THE DATA LINKS TASK ('ODL')

    ODL controls the Optical Data Links (ODL-5B) and VHF

    switch. It is requested to run by CRT after the type of plots

    have been selected. CRT pauses until ODL has completed setting

    up the instrumentation. ODL opens the ODL menu file and re-

    quests the operator to update the entries. (See paragraph 5-3.2

    of the CW Measurement System Operating Manual for a descrip- -*

    tion of the ODL menu entries.) First, ODL will set switch A and

    B on the VHF switch to the desired channel. It then turns on

    the requested data ODL-5B and sets it up. A five second pause

    occurs after the ODL-5B is turned on before it will accept any

    further commands. The reference ODL-58 is then turned on and

    set up. If no errors have occurred, ODL restarts CRT and

    pauses. When data collection is completed or the test is

    aborted, INVERS restarts ')DL which turns off the ODL-5B units.ST

    2-9 MISSION FILENA-E fASK ('AiSNAM')

    IISNAM is run by the startup command file whenever the

    system is booted. It asks the operator to enter a inission

    filename. The extension .MIS is appended to the name entered by

    346i! :';

  • the operator. If the mission filename is accepted, thie

    secondary nenu is opened and the name is entered into te cnt.1

    record. INVERS will try to open the mission file specified in

    the menu after all data processing is completed. If the file

    doesn't exist, a new file is created. Every time a data set is

    successfully processed, the filename along with key fields in

    the menus are written to the mission file. The Intecactive

    Analyst Package routine, MIS, will list the contents of the

    mission file to the operator's console.

    2-10 PROM PROGRAMMING TASKS ('DEL' AND 'AMPL')

    After accepting the data that will be programmed onto

    the PROM, and checking with the operator for its validity, the

    data is formatted and written to the PROM programner.

    To start programming the PROM, the letter 'X' must besent to the programmer first so that the automatic speed

    selection function of the PROM programmer can determine the

    input baud rate. A pause of approximately 2.5 seconds follows

    due to the time the PROM programmer takes to select this baud

    arate. Next, the address span to be programmed (i.e., 000-3FF)

    is sent to the programmer in ASCII. Each ASCII character sent

    to the programmer must be followed by a wait of approximately

    1/30 second. Following the six-digit address span, the letter

    'P' is sent, which sets the programmer to PROGRAM mode.

    If the PROM is not blank, the programmer sends back and,

    ASCII ; otherwise, if everything is ready, an ASCII

    sequence is sent. Once this process is complete, the data

    * may be sent to the programmer starting with address 0 and

    continuing to address X-'3FF'. The data for each address is sent

    . as two ASCII characters with a time delay of 1/30 second after

    each character. After all the data are sent, the remainder of

    the PROM is padded with zeros. The programmer then programs the

    PROM and, if successful, sends back an ASCII . If the

    programming was not successful for any reason, the programner

    sends a . The program will report to the operator whether

    * the PROM was successfully programmed.

    35

  • The tasKs perform input range checks and checks to

    insure that frequency data is in dscending order. Once the P 134

    writing sequence begins, the handshaking between the M900 and

    the POP-11 is checked for validity as described above, and also

    timed-out. This is done by setting a timer while waiting for

    the read of the M900 response to complete, using the RSX-11M

    Mark Time directive and checking various System Local Flags.

    (Local Flags are identical to Global Flags except that their

    scope is limited to the task itself.) i response time-out

    causes an error condition to be noted within the task and the

    read to be halted. If either a time-out or handshaking failure

    occur, an appropriate error message is logged to the terminal,

    and the operator is given the opportunity to abort the task or

    to retry. This feature allows the operator to correct "soft"

    errors (e.g., PROM not blank) and retry the writing step without

    having to re-enter the data.

    2-11 ANALYTIC PROBE CALIBRATION TASK ('APROBE')

    2-11.1 Background Discussion

    Transfer functions of certain probes are obtained

    analytically rather than empirically (e.g., the MCL B-dot

    probe). Analytic transfer functions of electronic integrators

    may be multiplied to yield a composite transfer function.

    The probes handled analytically by APROBE are the

    derivative type:

    V(t) = KF where

    V(t) = output voltage as function of time

    k = a constant determined by the probe

    F = d (Field Unit)dt

    in the frequency domain this transforms to

    ( ) icokF(w)) volt - seconds where2•

    ) = 2 r x frequency radians/second

    3 60

  • The transfer function of the RC integrator is

    Vo ut () 1 (39)

    V(c) -1 + iwRC

    Note that if no integrator is used, RC = 0, and the integrator

    transfer function becomes unity.

    The transfer function of the composite is therefore

    Vout i-.k (40) , -. ,

    F(w) 1 + iRC

    having amplitude and phase characteristics similar to Figure

    2-6.

    900

    IAMPLITUDE -t I 20 logl 0 (k/RC)AMPLITUDE 450 PHASE

    (degrees)

    Vout (W)

    (d B)Amplitude Slope Phase

    20dB/dec I--.

    00w=1/RC

    LOG 10 w ---4|

    Figure 2-6. Transfer Function Amplitude and Phase of

    Analytic Probe with Integrator

    2-11.2 operation

    The program opens the requested file as TYPE 'OLD',

    implicitly assuming the file already exists. If the file

    exists, the operator is given the option to supersede with new

    3-74!. .

  • AJ

    -data o r to exit. If he elects not to exit or if the file did

    not exist, a new file is opened and the operator is prompted for

    the scaling constant (k) and integrator time constant (RC).

    Having obtained this information, the program calls subroutine

    FGEN which generates 450 predefined frequency values. The

    program then generates the resultant transfer function as dB and

    degrees for each frequency and writes these values as real

    valued triplets to [200,1] PROBE ID.CAL;l on volume SY: where

    PROBE ID is the probe identifier entered by the operator (e.g.,

    B201).

    After all such triplets have been written, a final

    triplet whose first value is -1 is written and the file is

    closed. This record, as in all data files generated by the

    system, indicates end-of-file to tasks which later read the

    file.

    2-12 INPUT WAVEFORM AND BUTTERWORTH FILTER TASK ('THRTWV')

    If a network's response to a unit impulse is convolved

    with an input waveform, the result is the waveform at the

    network output. Since convolution in the time domain is

    equivalent to multiplication in the frequency doman, and the

    frequency domain transfer function is the forward transform of

    a unit impulse response, one may inverse transform the product

    of an input waveform and transfer function in order to get the

    predicted output in the time domain.

    Of particular interest is the input waveform of the

    * type:

    E (t) = A(e - t - e - t) v/m 0

  • The analytic forward transform, Ei (f) , has the

    following amplitude and phase:

    Si(f) [(a2 2 (- +w2)] -sec/m where w= 27f (43)

    =-tan- 1 ( + a) rad (44)

    On a log-log plot, the amplitude appears as Figure 2-7.

    20 dB/decade

    -40 dB/decade

    LOGIEi ()

    f-3/2r f- i/2r

    LOG f

    Figure 2-7. Amplitude of Transformed Input Wave

    Prior to performing an inverse transform, the product

    is multiplied by a ninth order Butterworth filter in order to

    reduce truncation effects. The Butterworth amplitude is essen-

    tially unity except near the lower and upper cutoff frequencies.

    Beyond these frequencies the amplitude slopes at -54 dB/octave

    (nearly -180 dB/decade). It is convenient to apply the filter

    to the transform of the input waveform.

    Finally, since the data is stored in dB and degrees,the product is converted to these units and stored on the

    classified data disk (CD:).

    39

    Kq

    6 . 2 , a l a' ' ' .e 'J- J j ' ' : . .. .

  • . ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 7 -o- -F- I --- • • . - - , , °,j _ r , j . • . _ . r A 0 !11 14 Rq 0- Q -

    SECTION 3

    INTERACTIVE ANALYST PACKAGE

    3-1 INTRODUCTION

    This section describes the tasks that comprise the

    Interactive Analyst Package (IAP). The processes provided by

    the IAP are:

    Name Process

    ADD Addition process. Performs an addition of

    two data sets in frequency or time domain.

    AHD Add header process. Add header to time and

    frequency domain files for CWII compatibility.

    ANL Analytical waveform process. Generates a

    time domain waveform based upon operator

    entries of coefficients of an analytical

    expression. This process issues subsequent

    prompts.

    CTP Cassette tape transfer process. Transfers

    data from cassette to the CD: disk for

    subsequent manipulation. Also transfers

    data from the CD: disk to the cassette.

    CVT Convert tape process. To convert tape files

    copied onto disk by TPC from the CWI file

    format to the CWII file format.

    DED Data Edit process. Performs editing on the

    data by allowing corrections, insertions,

    deletions and appendages to the data. DED

    will also accept entries in a tabular

    form for data in both frequency and time

    domain. Data can also be listed from an

    existing file using this process.

    DIV Division process. Performs a division of

    two data sets in frequency or time domain.

    4061

    . . .t

  • .7I

    FTR Forward Fourier Transform process. Performs

    a forward transform using the Guillemin

    algorithm...

    ITR Inverse Fourier Tranform process. Performs

    an inverse transform using the Guillemin

    algorithm. jLHD List header process. Lists all records of

    the header for a specified file.

    LOF Log-off process. Logs the user off the

    system and allows the deletion or preser-

    vation of all or selected files created

    during the processing sequence. When no

    processing has been done LOF allows dele-

    tion of previously created data file.

    LON Log-on process. Logs the user onto the

    system and allows the operation of the

    other IAP processes.

    MIS Mission file listing process. To list the

    contents of a requested mission file on

    the screen.

    MUL Multiplication process. Performs a multi-

    plication on two data sets in frequency or

    time domain.

    SCL Scaling Process. Performs scalar arithmetic

    on either time or frequency data files.

    SUB Subtraction process. Performs a subtraction

    of two data sets in frequency or time domain.

    TPC Tape copy process. Copy all of a cassette

    tape into a disk file. Primarily used for

    the conversion of old format tapes.

    When the operator wants to use the analyst package, the

    following command should be entered. The proper tasks will be

    installed.

    4168

  • 9NNAL (C-R>

    wnere is carriage ceturn. JThe commands used in the IAP are designed to give the

    analyst a flexible set of operations to manipulate data taken by

    the real-time data acquisition software. The commands used to

    run all of the processes are structured using a syntax very

    similar to that of the standard DEC RSX-I1M system utilities and

    language processors, like PIP (Peripheral Exchange Program) and

    FORTRAN IV-PLUS.

    The command syntax uses the concept of a process acting

    upon a source of input, yielding an output. The basic command

    syntax is as follows:

    PRC output.list=input.list

    where PRC is a three-character process name, input.list is a

    list containing specifier(s) of input source(s), and output.list

    is a list containing specifier(s) of the output(s) of the

    process. These lists can contain filenames, terminal or device

    specifiers, and process modifiers (called "switches") in various

    combinations, depending on what is valid for the process.

    Switches are indicators by which the process can be signalled of

    special conditions or of changes in the normal processing that

    the operator requires. Switches consist of a slash ("/")

    followed by a switch identifier and an optional list. The

    switch syntax is illustrated below:

    /SID: parm.l ist

    where SID is the switch identifier and parm.list is the list of

    parameters. Note that the parm.list is preceded by a colon and

    0 may or may not appear, depending upon whether parameters are

    required by the switch. If a switch requires more than one

    parameter in its parm.list, each parameter is separated by a

    colon. An example of a switch with a parm.list of six * -

    parameters is given below:

    /SID:pl:p2:p3:p4:p5:pG

    Switches can be applied to a command's input.list or output.list

    (or both), depending again on what is appropriate for a given

    0 process and switch.

    42

    0. * ii]

  • Processes can use the information in the command line

    to complete the process, or can optionally prompt for More

    information, data, etc.

    Processes generally work with disk or tape based data

    files. A file is identified by a fully qualified name of up to

    eight characters and an extension of up to three characters.

    Within the IAP, a convention provides a means of identifying the

    *- source of the data and the date of creation of the file.

    A general rule of thumb should be followed in naming a

    data file and its extension. The name is an eight character

    name with a three character extension which is in the following

    form:

    FSEQNJDT. EXT

    where

    F--- is a character A-Z or 0-9 representing a

    6 code to identify the test facility

    SEQN is four integer numbers defining a unique

    test sequence number

    JDT is three integer numbers defining the Julian

    date of the measurement. This value is

    appended to the facility code and sequence

    number by the software.

    EXT is the three character extension where:

    E -is one of the following six characters:

    A - indicating ambient noise

    U- indicating pickup noise

    C - indicating cw measured test data

    ' - indicating time data

    P - indicating pulse measured test data

    F - indicating frequency data

    43

    - ~ . -- . .- * - . * .. *- ..- * -

  • is one of the following 3 characters:

    C - indicating calculated data

    D - indicating defined data

    M - indicating measured data

    T - is an "A" except in the case of converted

    CWI data where a sequence number was used

    for more than one measurement. In this -

    case, the last character will be incremented

    through the alphabet as many times as

    necessary.

    The entire extension is also appended by the software. Cali-

    bration files saved for analyst use are an exception to the

    above convention. They will be named using the five-character

    q sensor name found in the header. The Julian date and extension

    will be used as described above.

    When an analyst is naming a file to be created by any

    operation, the first five characters can be used in any way as

    an identifier. These five characters must be unique from those

    used to name another file. The Julian date and an extension

    will be appended to the five characters as above.

    The IAP software will store the data on disk to a

    device named CD:. This device is usually assigned to DLI:, and

    is used for data storage only. The software will assure that

    * the data are stored on CD: so the operator need not specify this

    0 device name.

    3-2 COMMAND STRING PROCESSOR

    All of the IAP processes use a macro program to inter-

    6 pret their command lines. Each macro program is essentially the

    - same except for the number of switches and input files that are

    . allowed. The system routine CSI is called by the macro program.

    - Each process command string is described in detail in Section 3

    * of the CW Measurement System Operating Manual.

    44

    * -. .4 4 -.* * '-. v **-. ,**'

  • 3-3 ADD, MUL, DIV AND SUB

    The basic arithmetic functions are essentially the same

    programs except they perform different operations. They allow

    the operator to apply a function of two data sets. The command

    line syntax for ADD, MUL, SUB and DIV is:

    ADD 1DIV outfile = infilel.ext,infile2.extMUL

    Infilel and infile2 are the data files which are

    to be multiplied, added, divided or subtracted.

    Infile2 is optional.

    Outfile is the resulting file.

    In the case where only one input file is specified, the

    input data are simply copied to the output file. If a switch is

    specified for the output file, the output data are interpolated

    to the time interval or number of points per frequency decade

    specified by the switch; otherwise, time data are copied point-

    for-point to the output file. Frequency data are interpolated

    to the number of points per frequency decade specified in the

    file header.

    In the case where two input files are specified, the

    output data file reflects the mathematical result of the applied

    function: addition, subtraction, multiplication or division.

    For time domain data, the output data are interpolated to a

    regularly-spaced interval, calculated either by dividing the

    minimum time spanned by the two files (the maximum of the

    respective minimum times to the minimum of the respective

    maximum times) by 500, or input by the operator as part of the

    command line. If the value input by the operator results in

    more than 1,000 intervals, an error message is generated and thenumber of intervals is set to 500.

    For frequency domain data, the output data are inter-

    polated to a number of frequency points per decade, either input

    by the operator or gotten from the header of the first input

    file. If either input file header indicates no frequency points

    for a decade, no output data is calculated for that decade.

    45

    q

    • -...-.,. -" .. " " K. .... : ' . .. ' . , -' ' -.' "" -," : -.", .' .- , -,",'[ .- ,', '- '. i." - " " '-i"'',, "-. ." i" .. " ' ... . . *" ' " - ' .* .* .-. *, *. " * " " " " '

  • . - -7 " -- -, -7_ .- . ...

    Empty decades may occur between non-empty ones. The total

    number of frequencies may not exceed 1,000 in either the input

    or the output files.

    The selected function is applied to the data, and the

    result is stored in the output file, along with an updated

    header (see paragraph 4-2.2.2 for header format). For addition

    and multiplication, the order of operation is important only

    insofar as default values such as points per frequency decade

    are taken from the first file specified in the command line.

    For subtraction, the second file specified is subtracted from

    the first, and for division the first file specified is divided

    by the second.

    3-4 ADD HEADER PROCESS (AHD)

    AHD adds a header to a CWl data file to make it com-

    patible with the IAP. The command to run AHD is:

    AHD outfile/switch= infile.ext

    The switch specifies whether the outfile is to be a time or fre-

    quency domain file.

    AHD opens both input and output files and interpolates

    the time or frequency values to the requested interval. It then

    calculates the maximum and minimum data values while copying the

    data to the new file. The following records are entered into

    the outfile data header:

    Record Field

    1 Data domain0I3 Date

    4 Time

    5 Input filename

    7 Function code and date

    12 Comments

    13 Comments

    23-29 Maximum and minimum data point values

    37-42 Points per decade

    45 Time domain At

    46S

    - ...-. i-.-*. . - .-

  • The remainder of the header is left blank. All the

    data points are then copied to the output file.

    3-5 ANL

    ANL generates an analytical waveform in the time

    domain. ANL is run by entering the command string:

    ANL outfile

    The maximum time value and/or the desired number of points may

    be specified. To create the waveform, ANL will ask the opera-

    * tor to supply values for the following equation:

    A[ B( eCt + DteCt + EeFt Cos ((21TGt)-H) +

    After the constant coefficients have been entered, the time

    value and amplitude are calculated and written to the output

    file. The minimum and maximum time values are calculated. The

    - appropriate values are written into the header records.

    3-6 CTP

    The cassette tape task allows analyst manipuloation of

    data files between the disk and the cassette tapes. Using CTP,

    the operator can transfer files from disk to tape, from tape to

    disk or list the tape directory. The functionto be performed

    when CTP is invoked is determined by the syntax of the command

    line. To transfer a data file from disk, enter the following:

    CTP/TP:number [/NEW]= infile.ext

    Infile.ext is the fully qualified name of the file to be trans-

    ferred. This name must be unique on the tape. If the name is

    not unique, the operator is given three choices for eliminating

    the problem. One is to change the name of the file going to

    tape, another is to insert another tape, or, last of all, the

    operator may exit the program.

    If the operator chooses to change the name of the file,

    a unique name of up to five characters must be entered. A three

    character representation of the current Julian date will be

    concatenated to the five character name entered. The extension

    remains the same as the original file specification.

    When the operator desires to change the tape, the pro-

    gram reads the input from the terminal until the operator enters

    47

  • a . Then che program tries again to write the r lested

    file to tape.

    To write a file from disk to tape, each 12 by, disk

    header record is copied to an 86 byte tape header reco The

    data is converted from one triplet or one doublet (in ternal

    binary format) in a 12 oyte disk record to two ASCII tri ts or

    three ASCII doublets in an 86 byte tape record. After _ file

    is copied to the tape, the operator is given the option place

    the file name in the analyst log so that it can be delet from -

    the disk directory at log off.

    /TP:number in the above command line specifies a tape

    number to which the file is to be copied. This numb must

    agree with the number actually written on the tape. if the

    numbers are not the same, the operator is given the ch -e of

    changing the tape (as described earlier) or exiting the Dgram.

    The optional switch, /NEW, in the command line,

    specifies that the tape is to be initialized. When a ape is

    initialized, the requested tape number is written in th first

    six bytes of the first two tape records. The remainde. of the

    two records are filled with blanks. These two records nprise

    the tape directory. If no file is specified in the comm J, the

    task will exit after the tape is initialized. Otherw a, the

    file is written to the initialized tape.

    When a file is to be copied from tape to di , the

    following command line must be entered.

    CTP routfile] =infile.ext/TP: number

    Outfile, when specified, is up to five characters used w h the0I

    three character Julian date to name the disk fil The

    extension will remain the same as that on the tape file. If no

    outfile is specified, the disk file is named the sam 3s the

    tape file requested. The filename must be unique on tn isk or

    the task will exit. When the file transfer is comple , the

    filename is added to the analyst log.

    Infile.ext is the fully qualified name of the Ie to

    be copied from the tape. The tape directory is sea. ted to

    determine if the file exists on the tape.

    48

    . --. °*,. . ' "°".

    i i i, i - . .. • . 2 . ' ' • ; - - -- .

  • /TP:number is a switch indicating the number of the

    tape from which to copy the file. If the number on the tape and

    the number specified are not the same, the operator is given the

    option of changing tapes or exiting the program.

    To get a directory listing of the tape currently in the

    drive, the following command is used:

    CTP 'LP /DIR

    jTI:, is an optional device specification requesting

    LP: the terminal or line printer, if available.

    The directory listing shows the tape number, the file-

    namnes in the directory, and the number of tape records occupied

    by each file. There is a maximum of eight files permitted in

    the tape directory.

    Tapes are organized so the first two records are the

    directory of the files contained on that tape. Each directory

    record begins with the tape number comprised of a maximum of six

    digits. A maximum of 12 characters (eight characters, a period

    (' .') and a three character extension) -can be used for a

    filename. File names are followed by an equal sign ('=') and an

    integer of up to four digits, indicating the number of tape

    records used by that file. There are no more than four files

    . per directory record. The number of records used by each file

    are added together in CTP to determine if sufficient room is

    available to write the requested file to the tape. These num-

    bers are also used to calculate the number of records to skip to

    get to the beginning record of a file to copy or to reach the

    next available record.

    Each file on the tape begins with a record containing

    a '%0' and the filename. Then 57 records follow containing the

    file header. Only 12 of the available 86 bytes of tape record

    are used for each header record.

    The data is in ASCII, 33 characters per data value with

    six data values per record. The file is ended with a '%,/ E1MD OFFILE' record.

    * FDisk files are arranged with 57 ASCII records, each 12

    bytes in length, containing the file header. Following the

    49

    - - - - - ."

  • header are data records of 12 bytes which contain one triplet or

    one doublet (depending on the data type) written in realinternal binary format. The files are direct access so the end

    of file is determined when a read error occurs.

    RSX's command string interpreter is used to check for

    proper syntax in the command line. The operator must have -+

    logged on using LON in order for CTP to run.

    For communication to take place between the tape and

    the disk, the tape unit must be attached using a Wait Queue I/C

    command. When data are transferred from the tape to the disk,

    the proper function value must be sent to the tape unit to start

    sending. During the sending process, a five second timer is st

    so that when nothing is received from the tape, the send request

    is cancelled.

    For data transfer from disk to tape, the function value

    to start the tape receiving must be sent to the tape. A status

    returned from the tape must be checked, until only the ready bit

    is set, before the program continues. A function value to. stop

    the tape receiving-must also be sent.

    Files used by CTP are found on the disk assigned to

    device CD: in UFD[200,21.

    3-7 CVT

    The convert tape task is used to convert the CWI for-

    matted tape files created by TPC into individual CWII formatted

    disk files.

    Prior to invoking CVT, the operator must have logged on

    using SON. CVT can be started by entering CVT.

    When CVT begins, the operator is prompted for the tape

    number to convert. The number entered is concatenated onto a

    string of zeros to create a six digit name. An extension of

    '.OTP' is added to make a fully qualified filename. The file to

    be converted is expected to be found on the disk assigned to

    device CD: in UFD[200,2].

    50

  • CVT searches for a '%' in the first byte of each

    recorC. Whatever character is in the second byte determines the

    type of file to be created.

    When the character is a 1', a 32 record "storybook"

    follows. These records are used to create a 57 record file

    containing the header to be used in the new CWII files. The

    test sequence number and the creation date are retrieved from

    the storybook. After converting the date to a three character

    Julian date, the operator is prompted for a one character test

    facility code. The test facilty code, the sequence number and

    Julian date are concatenated to form the filename which will be

    used for each file created for any data type using that sequence

    number. The files will be distinguished by their extension.

    When the character following the % is a 2, the

    following data are ambient noise and the extension is '.AMA'.

    A 3 indicates test data and the extension is '.CMA'. '.UMA' is

    the extension used when the second character is a 4 specifying

    pickup noise. A 5 is used when inverse transform da