NURAD CW Data Aquisition

Prologue

This document is an HTMLized version of the documentation for Harris NURAD, provided by Arun. This document is for reference only, and refers to hardware that no longer exists!. Any errors are likely mine. -Mike Nolan

Table of Contents

  1. Introduction

  2. Setup

    1. Preparation of ephemeris files

    2. Hardware/Software requirements

    3. Command files

  3. PROGRAM STARTUP AND PARAMETERS

  4. OPERATION

  5. Program NURAD

  6. Program NURAD2

  7. ONLINE MONITORING

  8. APPENDIX 1 - FORMATS

    1. HEADER

    2. DATA

  9. APPENDIX 2 - EPHEMERIS FILE GENERATION

  10. APPENDIX 3 - POWER SPECTRUM ACCUMULATION INTERVALS

    1. Timing of the receive phase

    2. Fences

  11. APPENDIX 4 - ARRAY PROCESSOR COMPUTATIONS

Abstract

This document describes and provides operating instructions for the CW radar data acquisition program NURAD and its associated program NURAD2 under Harris VOS. Details of implementation can be found in the technical description, Computer Dept Report #xx.

INTRODUCTION

The NURAD programs perform data-taking and antenna-pointing for CW S-band and 430MHz radar observations of targets with well-known ephemerides and bandwidth less than 40KHz, e.g the terrestrial planets, main belt and near earth asteroids and the Galilean satellites of Jupiter. The data-taking functions (handled by NURAD) consist of a Setup phase followed by alternating Transmit and Receive phases. During the Transmit phase, the transmitter frequency is cycled over user specified values, with a typical frequency switching interval of 10 seconds. The pointing functions (handled by NURAD2) consist of initial specification of an ephemeris for the observed object, followed by periodic updates to the antenna position for Transmit and Receive phases. A binary ephemeris file on disk containing coordinates, round-trip times and Doppler shifts at minute intervals is used by NURAD to calculate times for transmit and receive phases, and by NURAD2 to issue pointing coordinates to the antenna. A calibration noise source can be switched on at specified intervals under program control to measure continuum background contributions.

Typical receiver bandwidths are a few kHz for small asteroids, and about 40kHz for the Galilean satellites. Hence sampling requirements are well within the capacity of the Adage. Each IPP, a buffer of sampled data is passed to the online Array Processor, where it is Fourier-transformed and accumulated. The contents of the accumulator are retrieved and written to tape after each frequency switching interval. The AP120B Array Processor can currently handle complex transforms having a maximum length of 8K words. Real-time processing speed in the AP120B is limited to about 10 us/word. Data transfer time between the AP and host computer is about 1 us/word. These figures correspond to a maximum data rate of 80 kilowords/s. Since there are always two polarization channels, the bandwidth of each individual channel is limited to about 40Khz. When 4-frequency switching is used, the bandwidth of the target is limited to less than 10Khz. The average tape output rate is typically less than a kiloword per second.

SETUP

Preparation of ephemeris files

An ephemeris file can be generated using the program RADR*GEPHEMR, which reads an ephemeris tape for a specified range of dates. The file should be generated under the 120RAD qualifier, and its name should be EPHXXX, where XXX denotes the three-character name of the target to be observed. Up to 210 minutes' worth of ephemeris information per specified day is copied in binary into the disk file. This information consists of coordinates (azimuth, elevation, RA and Dec), round-trip times and Doppler shifts at 1-minute intervals. Instructions for running program GEPHEMR are in Appendix 2.

Hardware/Software requirements

The following hardware is used or controlled by program NURAD:

  1. HP synthesizer in Carriage House 2 (for S-band transmitter only)

  2. HP #1 synthesizer in receiver room (for 430MHz transmitter only)

  3. HP #2 synthesizer in receiver room (for S-band or 430MHz LO drive)

  4. Adage interface

  5. Timing rack thumbwheels for IPP, Gate Width and Gate delay, Date, Run, Observer and Experiment number.

  6. Array Processor AP5210 ("New AP")

  7. Any one or two of the tape drive pdns 11 (STC 6740), 13 and 14 (STC 6720), 16 and 17 (STC 6730).

  8. H800 computer.

The following additional software is required:

  1. The PANEL pointing programs.

  2. The CH2 synthesizer control program SPEC*SENDHP2

  3. VOS operating system (6.1 or later)

Command files

The user has the option of preparing a file containing values of program parameters, instead of modifying the program menu afresh each time. The file should be named NURADXXX, where XXX is the three-character target identifier. Parameters are defined by <name> <value> pairs. Recognised <name>s are the same as those in the program menu, and are explained below. Comments may be included in the command file by placing a "$ " (dollar space) at the beginning of the comment.

PROGRAM STARTUP AND PARAMETERS

The NURAD program is generally run from the Beehive (H8675) terminal PDN 23 in the control room. Sign on to the H800 and type UCD RADR to switch qualifiers. Then type NURAD. With no arguments after this word, the default feed number chosen for pointing will be feed 2 (2380MHz). If you want to specify a particular feed instead, type NURAD FEED <feed #>. The program will resource the Adage and the Array Processor, and complain if these are not ready or available. The program SENDHP2 (CH2 synthesizer control) will be started up. The program NURAD2 (pointing control) will be started up if not already running, in which case the PANEL program will also be stopped and restarted. The user will first be prompted for a three-character target name. Simply typing <XMIT> retrieves parameters from the last run of NURAD. Typing TES (test) specifies that a 120-second run is desired, with a test set of linearly decreasing Doppler shift values.

The program next displays the menu with existing parameter values, At this point the user may change any of the parameters, including the target name and those set from the thumbwheels. These parameters are described below:

DATE
This parameter is read from thumbwheels on the Timing Rack, and must be set to the UT date of the observation (add a day if after 8:00pm). The ephemeris file (see below) must contain a record with this date.
IPP
Read from thumbwheels on the Timing Rack (microseconds). The reading must equal GATEDELAY + NDATPT * GATEWIDTH + 2ms
IGW
Gate width in microseconds read from thumbwheels on the Timing Rack. Sets the sampling interval.
IGD
Gate delay in microseconds read from thumbwheels on the Timing Rack.
TARGET
3-character target name. If TES, the round trip time is set to 120 seconds, and the Doppler shifts are calculated according to the formula
DF(i) = 4488 - (i - 1) * 32
where DF() is the Doppler shift in Hz and i is the time offset in minutes. For other settings of the target name, an ephemeris file named 120RAD*EPHXXX must exist, and is searched for the current date.
NDATPT
Number of samples per channel per IPP. Rounded up to the nearest power of 2 greater than or equal to the specified value. Defines the length of the Fourier transform in the Array Processor, and used to calculate the expected IPP value.
FREQ1
First frequency in frequency switching cycle, in MHz. Can be either S-band (2380MHz) or 430MHz. If less than 500MHz, it is assumed that the 430MHz transmitter will be used. In this case, Doppler shifts (specified at 2380MHz in the ephemeris file) are scaled to 430MHz, and the HP#1 synthesizer in the receiver room is set to the appropriate value (30MHz) to drive the 430MHz transmitter.
FRSTEP
Size of frequency step in switching cycle, specified in MHz. Together with FREQ1 and NFREQS (see below) determines the frequencies which will be used to program the HP synthesizer in Carriage House 2 (for S-band runs), or the HP#1 synthesizer in the receiver room (for 430MHz runs).
NFREQS
Number of frequencies in the switching cycle. Typical value is 4.
FRTIME
Duration of frequency switching interval in seconds. Typical value is 10.
BANDWD
Sampling bandwidth in KHz. The expected gate width is calculated as the reciprocal of this number. Currently the largest usable value is 40KHz.
CALTIM
Number of frequency switching intervals (FRTIMEs) between insertions of a calibration noise source. To use the calibration source, the TTL CAL output on the Digital Register 2 rack should be connected to the NAR inputs. This parameter is always rounded up to the nearest multiple of NFREQS greater than or specified value (includes zero). If equal to the specified value (includes zero). If CALTIM is specified value (includes zero). If zero, the CAL output is always low (no calibration). Typically, asteroid observations with short round trip times will not use this calibration. It is more useful during observations of the Galilean satellites, which are affected by the radio continuum background from Jupiter. The calibration pulse is turned ON for NFREQS*FRTIME time, i.e for a full frequency cycle.
MAGTAPE1
Physical device number (PDN) of specified value (includes zero). If first magnetic tape drive to be used. This number currently can be either 11, 13, 14, 16 or 17.
MAGTAPE2
PDN of second (alternate) specified value (includes zero). If magnetic tape drive. If zero, only the first tape drive is used.
DENSITY
Output tape density in bpi. Can specified value (includes zero). If be 1600 or 6250.
RESTART
Restart indicator, can be Y or specified value (includes zero). If N (used to recover from a crash). If N, this is a normal run (no restart). If Y, the program will prompt the specified value (includes zero). If user for a transmitter start time, which must be entered manually (hours, minutes and seconds with spaces separating). This time will then be used, along with the round trip time, to determine either
  1. the correct frequency to resume transmitting (if there is still time to transmit) or
  2. the correct time to start receiving (on a frequency cycle boundary). The last transmitter start time is retrieved from a disc file and displayed on the menu each time the program is started.

OPERATION

Program NURAD

When the menu is satisfactory, the user may hit the XMIT key. The program will then che2ck availability of the specified specified value (includes zero). If tape drive(s), and initialise the appropriate transmitter drive synthesizer (CH2 or HP1) to the starting frequency FREQ1. The tape drive(s) should be ON LINE and the synthesizer should be switched to COMPUTER control. If the Carriage House 2 synthesizer cannot be initialised, the program will wait for corrective action before proceeding; other errors at this stage will cause it to halt. If all goes well the program will wait for the user to push the Adage START button. At this point, it may be aborted by pushing Adage STOP.

The start of the transmit phase is always on a ten-second tick of the station clock. The user should push Adage START around the previous five-second tick. The transmitter start and stop times will be displayed at the bottom of the program menu. Every FRTIME seconds after the start of the transmit phase, the transmitter drive frequency will be seen to change on the synthesizer digital readout. To abort the program during the transmit phase, the system-defined ABORT key may be used. (This is ALT-\ or CONTROL-\ on the Beehive terminals.) The transmitter STOP time is always 2 seconds before the start of the receive phase, which is calculated by the program as one round trip interval after the start of the transmit phase. At the transmitter STOP time, the S-band transmitter frequency will be switched to an off-band value (or the 430TX will be set at 430MHz).

During the receive phase, the LO drive synthesizer (HP#2 under the EECO clock) frequency is updated every IPP to a value interpolated from the Doppler shift table in the ephemeris file, using a fourth-order polynomial fit. The interpolation algorithm uses five equally spaced points from the table, chosen to afford the maximum time coverage not greater than the duration of the receive phase (i.e the round trip time). Samples from two Adage channels are sent to the Array Processor every IPP for Fourier transformation, squaring and accumulation. At the end of every frequency switching interval after the start of the receive phase, the accumulated power spectrum is retrieved from the Array Processor and written to tape. The algorithm for computing starting and ending times of accumulation intervals is described in Appendix 3.

The receive phase may be terminated at any time by pushing Adage STOP. Other conditions which could cause the program to stop abnormally are parity/timing errors in reading from the Adage interface, physical end of tape or lost Adage interrupts. Normal end occurs at the computed end of the receive phase; a double end of file mark is written on the tape, and the tape is positioned backwards over the last EOF to permit further runs.

Program NURAD2

This program performs automatic antenna-pointing functions for NURAD, but normally does this transparently. It may however be commanded from a separate terminal (usually the ADDS PDN 24). The program accepts several types of commands, and may be run independently of NURAD if desired. When started up, NURAD will check if NURAD2 is running, and will start it up if not running. NURAD2 will stop and restart the PANEL pointing programs when first started up; hence a "panel interrupt" must be supplied at this time (by pressing any switch on the pointing console) to actually begin tracking. NURAD2 initially uses a "dummy ephemeris" to keep the antenna stationary, and will wait for further commands either from NURAD or from PDN 24. When a new ephemeris is supplied, the program calculates two tables (for transmit and receive ephemerides), and (if pointing control is enabled) commands the antenna to the first position in the transmit ephemeris.

Terminal commands to NURAD2 have the form <Ctrl-X> <command>, where the <command> is usually a single letter followed by an argument. For example, if the automatic pointing feature is desired, the user must first enable it by hitting <Ctrl-X> P <return> on PDN 24. The full list of available commands is as follows:

S
Used to (stop and) restart the PANEL programs. A dummy ephemeris (see below) is loaded with the current date.
P <MANUAL/AUTO>
Switches between NURAD2-controlled pointing (via a file) and panel-controlled pointing (i.e via thumbwheels). If no argument is supplied, the current state will be toggled. Initial state is MANUAL, i.e., the automatic pointing feature is NOT used.
D <DDMMYY>
Sets the Gregorian date for the current run. Used to search the specified ephemeris file (see below). Must be specified BEFORE the ephemeris file itself.
F <FILENAME>
The ephemeris file should be created under the "120RAD" qualifier. It is shared by both NURAD and NURAD2, hence must be named "EPHXXX" where "XXX" is the 3-character target name. If the word DUMMY is used as argument, a dummy ephemeris is generated. This is for an imaginary source which has coordinates derived from the current antenna position, and moves 60min in Right Ascension per hour, remaining fixed in Declination: so the antenna does not move.
T <HHMMSS>
Instructs the program to point the antenna for transmitting at the specified time. If the time has not yet arrived and the PANEL program is in FILE mode, NURAD2 will wait for the specified time before issuing the pointing command. If the PANEL program is not in FILE mode, and/or automatic pointing is not enabled, no actual command will be issued, but the appropriate coordinates will be printed out on the terminal for verification.
R <HHMMSS>
Instructs the program to point the antenna for receiving at the specified time. Similar comments apply as for the T(ransmit command.
E or X
Exit program.

The NURAD2 program does NOT automatically stop when NURAD stops. This allows multiple restarts of NURAD without interfering with the pointing programs, and consumes minimal resources. However it is advisable to stop the program when datataking is complete, in order to free the command terminal (PDN 24) and remove the program from the system scheduler tables. A <Ctrl-X> E <return> achieves this gracefully.

ONLINE MONITORING

ANALYZ functions are available to perform on-line monitoring of NURAD spectra. These are in the ANALYZ library RADR*AGVLIB which must be ATTACHed to use them. The procedure is as follows:

  1. Sign on to a graphics terminal (The Tektronix 4010 PDN 26 is preferred).
  2. Type $MO PS=512 to set your maximum program size to 512 pages. This size is usually set at login time to 256 pages.
  3. Type "ANALYZ" to start ANALYZ. The program will request your initials and STO/RCL register specifications. Enter your 3 initials followed by "<SIZE> 2" where <SIZE> need only be twice as long as the maximum Fourier transform length you want. "8192 2" is a typical choice.
  4. Type <return> in answer to the library query (no standard library required). Type "ATTACH RADR*AGVLIB ULIB" to obtain access to the monitoring functions.
  5. To start monitoring, type "FFTMON <TIMEOUT>" where <TIMEOUT> is the maximum time in seconds to wait before a transform becomes available (default is 10 seconds). An interface module will be started to place the spectra in STO/RCL registers. ANALYZ intrinsics are used for actual display. Spectra from two channels will be displayed side-by-side without the DC channel, and will be smoothed and decimated to produce 512 plotted points.
  6. To stop monitoring, the <Ctrl-X> key may be used while the external module waits for a spectrum, or the end of the receive phase will cause a timeout.

APPENDIX 1 - FORMATS

The output tape produced by NURAD may contain several files. Each file consists of a single header record followed by multiple data records. The last file on the tape is empty, i.e., the end of data is signalled by a double EOF.

HEADER

The NURAD header is 100 words long; however only 36 words are used.
WORD(S)NAMEDESCRIPTIONTYPE
1-2PROGRMProgram name i.e "NURAD"CHARACTER
3-4TNAMETARGET name e.g "TES"CHARACTER
5 IDDUT day of observationINTEGER
6IMMUT month of observationINTEGER
7IYYUT year of observationINTEGER
8-9FREQ1First transmitted frequency in MHzREAL
10-11FRSTEPFrequency step in MHzREAL
12NFREQSNumber of frequenciesINTEGER
13-14FRTIMEFrequency switching interval in secondsREAL
15NCHANNumber of Adage channels (always 2)INTEGER
16-17BANDWDSampling bandwidth in KHzREAL
18NDATPTSamples per channel per IPPINTEGER
19NCPOLNumber of switching intervals between cals. Will always be a multiple of NFREQS. 0 ==> no cals are inserted. For other values, the first block (NFREQS*FRTIME) always has a cal inserted.INTEGER
20IGWGate width in microseconds (<=9999)INTEGER
21IGDGate delay in microseconds (<=9999)INTEGER
22IPPIPP in microseconds (<=999999)INTEGER
23IRUNRun number read from thumbwheelsINTEGER
24IEXPExpt number read from thumbwheelsINTEGER
25IOBObserver number read from thumbwheelsINTEGER
26-27XSTARTTransmitter start time in secondsREAL
28-29XSTOPTransmitter stop time in secondsREAL
30-31RTIMEReceiver start time in secondsREAL
32IRESTRRestart indicator: "Y" or "N"CHARACTER
33MT1Physical device number of first magtape.INTEGER
34MT2Physical device number of second magtape.INTEGER
35IDENSMagtape density in bpiINTEGER
36ILOLocal oscillator drive code: 0 = 45MHz (S-band), 1 = 30MHz (430TX)INTEGER

DATA

Each data record consists of spectra from two channels averaged over FRTIME seconds, followed by a 16-word tag (8 real numbers). There are NDATPT real numbers for the first channel followed by an equal number for the second channel, NDATPT being the length of the transform. Hence the record length in words is NDATPT * 2 + 16. The significance of the tag words is as follows (the word numbers give the position within the tag section):
WORD(S)NAMEDESCRIPTIONTYPE
1-2CUMGOStart time of accumulation in secondsREAL
3-4CUMENDStop time of accumulation in secondsREAL
5-6COUNTNumber of IPPs averaged for this record If a cal was inserted, this number is negative.REAL
7-8CYCLEPosition within frequency cycle (0 to NFREQS-1)REAL
9-10ELEVATIONElevation in degreesREAL
11-12AZIMUTHAzimuth in degreesREAL
13-14RTTRound trip time in seconds at start of the accumulationREAL
15-16DFDoppler shift in KHz/s at start of the accumulationREAL

APPENDIX 2 - EPHEMERIS FILE GENERATION

The program RADR*GEPHEMR can be used to create ephemeris files on disc for the NURAD programs, using as input tapes of ephemeris information generated either at the Arecibo Observatory or at MIT Lincoln Labs. Tapes from these two sources differ slightly in format. The MIT tapes are written in EBCDIC and contain Right Ascension and Declination, while the AO tapes are in ASCII and contain derivatives of Doppler shift and Round Trip Time. MIT ephemerides are exclusively used for asteroids and the Galilean satellites of Jupiter.

The following procedure should be followed to run GEPHEMR/code>:

  1. Sign on and transfer if necessary to the 120RAD account.
  2. Resource the input tape on LFN 30 as follows:
    RS 30=INPUT WA [ EBC ]
    where the EBC (for EBCDIC tapes only) is optional.
  3. Type RADR*GEPHEMR. The program will ask for the number of files to be skipped on the tape, the name of the file to be generated on disc, the starting and ending dates to be read from the tape. Only RECEIVE ephemerides are used by the NURAD programs; hence the tape position should be properly specified if both Transmit and Receive ephemerides are supplied.

When all information is in order the program will read the tape and print out the first two (header) records for verification. PEP (MIT) ephemeris tape headers generally carry the target name and an indication if the following file contains Transmit ephemerides. GEPHEMR will read through the tape, storing information in 2103-word disc file records, until the last day required is reached, or the end of the tape file. The tape will be left positioned after the last record read.

GEPHEMR may be run on either the H800 or the H1000. If the latter, the file should be transferred to the H800 (datataking computer) before running NURAD.

APPENDIX 3 - POWER SPECTRUM ACCUMULATION INTERVALS

Timing of the receive phase

The NURAD program begins receiving on the nearest one-second tick of the station clock before the actual computed time of return of the echo. The program cannot read the station clock while datataking is in progress, hence it uses periodic interrupts from the Adage interface to reckon time.

Fences

The IPP "frame sync" pulse is not, however, synchronised to the frequency-switching times during the receive phase; hence there is an unavoidable loss of data when a frequency-switch occurs in the middle of an IPP. Up to one IPP's worth of data can be lost on either side of a frequency switch. The NURAD program sets two "fences" for each frequency switching interval, which demarcate the IPPs which will actually be accumulated. These fences are set one IPP before and after the corresponding switching instants. Specifically, if T1 and T2 are consecutive frequency-switching instants, the fences are

CUMGO = T1 + IPP
CUMEND = T2 - IPP
where CUMGO is the fence for start of accumulation and CUMEND is the fence for the end of accumulation. Accumulation begins on the first interrupt after CUMGO, and terminates on the first interrupt after CUMEND.

APPENDIX 4 - ARRAY PROCESSOR COMPUTATIONS

The Array Processor code used to accumulate Fourier transforms is written in the Vector Function chainer language supported on FPS systems. Explanations of library function calls are given below (see AP Math Library manuals for more info):

VMOVNN
Vector move without normalisation.
SPLIT2
Arecibo-library function to unpack two 12-bit two's complement samples from a 24-bit word and convert to real numbers.
CFFT
Complex in-place Fourier transform.
SCJMA
Self Conjugate multiply (magnitude square) and accumulate.
VSMUL
Vector scalar multiply.
        DEFINE XRADAR(MODE,NSPP,NSPP2,APCNT,APCUM)
     "
     " ACCUMULATES SPECTRA FROM TWO POLARIZATIONS IN ARRAY PROCESSOR
     " MODE  = 0 FOR ACCUMULATION
     "       = 1 FOR DIVISION
     " NSPP  = NUMBER OF COMPLEX SAMPLES / POLARIZATION / IPP
     " NSPP2 = 2 * NSPP
     " APCUM = ADDRESS OF ACCUMULATED SPECTRA
     " APCNT = ADDRESS OF COUNT
     "
     IF MODE > 0 GOTO DIVID
     SPLIT:  CALL VMOVNN(1,2,NSPP2,1,NSPP)
             CALL VMOVNN(0,2,0,1,NSPP)
             CALL SPLIT2(0,0,NSPP)
             CALL SPLIT2(NSPP2,NSPP2,NSPP)
             CALL CFFT(0,NSPP,1)
             CALL CFFT(NSPP2,NSPP,1)
             CALL SCJMA(0,2,APCUM,1,APCUM,1,NSPP2)
             GOTO RET
     DIVID:  CALL VSMUL(APCUM,1,APCNT,APCUM,1,NSPP2)
     RET:    END

Arecibo Observatory Logo Return to NAIC Home

Last update: 1996 February 2.

Mike Nolan