DESIGN AND IMPLEMENTATION OF A L-BAND SINGLE ANTENNA POLARIMETRIC ACTIVE RADAR CALIBRATOR Karal Sarabandi Yisok Oh James J. Ahne Fawwaz T. Ulaby Radiation'Eaboik-`y University of Michigan Ann Arbor, Michigan

TABLE OF CONTENTS LIST OF FIGURES............................. iv LIST OF TABLES.............................. vi LIST OF APPENDICES......................... vii CHAPTER ABSTRACT............................ 1 I. INTRODUCTION........... 2 II. PARC THEORY / DESIGN CRITERIA... 4 2.1 PARC Radar Cross Section 2.2 Antenna Design 2.2.1 L-Band Antenna Specifications 2.2.2 L-Band Antenna System Performance 2.2.3 Summary of Horn Performance 2.3 GLoop Design 2.3.1 Delay Line 2.3.2 Amplifiers 2.3.2.1 Input Power Calculations 2.3.2.2 Feedback Oscillations 2.3.3 Attenuation Switches 2.3.4 Notch Filter ii El

2.4 Control and RF Detection Circuitry 2.4.1 Control Circuitry / Control Panel 2.4.1.1 LED Battery Power Monitor 2.4.1.2 Battery Over-discharge Protection 2.4.1.3 Automatic System Activation Timers 2.4.1.4 Voltage Regulation 2.4.1.5 Auxiliary Switching Capability 2.4.1.6 External Source Hook-up 2.4.1.7 Recharge Ports 2.4.2 Detection Circuitry 2.5 Temperature Stabilization 2.6 Assembled Prototype III. EXPERIMENTAL RESULTS............ 41 3.1 Anechoic Chamber Tests 3.1.1 SAPARC Time Domain Response 3.1.2 0~ Orientation Test 3.1.3 45~ Orientation Test 3.2 GLoop Measurements 3.3 Thermal Gain Testing 3.4 Field Deployment Conditions 3.4.1 Battery Capacity 3.4.2 All-Weather Performance IV. CONCLUDING REMARKS............. 63 REFERENCES APPENDICES iii

LIST OF FIGURES Figure 2.1 Basic PARC Configuration 2.2 L-Band SAPARC System Block Diagram 2.3 Magnitude and Phase Patterns For a Two Antenna PARC 2.4 Side View of the L-Band Tapered Square Horn Antenna 2.5 Depiction of Adequate and Inadequate Beamwidths For a Horn Antenna 2.6 Multipath Contribution Scenarios For Horn Antennas With and and Without Significant Sidelobes 2.7a L-Band SAPARC Antenna System 2.7b View of the L-Band OMT 2.7c Detail Drawings of the L-Band OMT 2.8 The Effects of Placing a Delay Line Within the PARC System 2.9 S21 Frequency Domain Response of the L-Band Delay Line 2.10a JPL AIRSAR Fly-by Geometry 2.10b NASA SIR-C Fly-by Geometry 2.11 Frequency Response of the Notch Filter 2.12 SAPARC Control Printed Wiring Assembly (Unstuffed) 2.13 SAPARC Control Printed Wiring Assembly (Stuffed) 2.14 Blueprint of the SAPARC Front Control Panel 2.15 SAPARC Front Control Panel 2.16 Internal Components of the L-Band SAPARC Unit 2.17 a Disassembled L-band Antenna Unit and Support 2.17 b Assembled L-band Antenna Unit and Support 2.18 a Fully Assembled L-Band SAPARC for the 0~ Antenna Orientation 2.18 b Fully Assembled L-Band SAPARC for the 45~ Antenna Orientation iv

3.1 Frequency Domain Response of Goop at 24~C 3.2 L/C/X-Band POLARSCAT Test Equipment 3.3 Anechoic Chamber Measurements at the University of Michigan's Radiation Laboratory 3.4 SAPARC Time Domain Response 3.5 SAPARC 0~ Orientation Phasor Polarizations 3.6 SAPARC 0~ Orientation RCS Azimuthal Patterns at 20~C (SIR-C Mode) 3.7 SAPARC 45~ Orientation Phasor Polarizations 3.8 SAPARC 45~ Orientation RCS Azimuthal Patterns at 20~C (SIR-C Mode) 3.9 SAPARC 45~ Orientation Phase Patterns at 20~C (SIR-C Mode) 3.10 Phasor Diagrams for the 45~ Orientation 3.11 L-Band SAPARC Thermal Gain Variations 3.12 Battery Capacity Test (1.0 A Load, 22~ C) 3.13 Full Load Battery Capacity Test (1.2 A Load, 22~ C) 3.14 Cold Weather Battery Capacity Test (1.2 A Load, -10~ C) A-1 Isolation of L-band OMT A-2 Return Loss of L-band OMT (Side Arm, 1.1-1.4 GHz) A-3 Return Loss of L-band OMT (Streight Arm, 1.1-1.4 GHz) B-1 Gain of the Pre-amplifier at 24~ C B-2 Gain of the Power Amplifier at 24~ C v

LIST OF TABLES Table 2.1 L-Band Antenna System Characteristics 2.2 JPL AIRSAR Parameters 2.3 NASA SIR-C Parameters 3.1 L-Band Measurement System Parameters 3.2 Marker Identification for Figure 3.4 3.3 Power Demands on Supply 2 vi

LIST OF APPENDICES Appendix A OMT Specifications B Amplifier Specifications C Control Circuitry Schematics D Measurement and Calibration Programs vii

ABSTRACT This report serves as a documentation of the design parameters and performance characteristics of a L-band single antenna polarimetric active radar calibrator (SAPARC) developed for JPL and NASA at the University of Michigan's Radiation Laboratory. The device is one of four which are currently being constructed for future JPLINASA Synthetic Aperture Radar (SAR) missions. The report includes details of the SAPARC's RF and digital / analog electronics design, as well as test results from a number of anechoic chamber measurements. Application notes and suggestions are also included throughout 1

CHAPTER I INTRODUCTION Active and passive radar calibrators are often used in conjunction with airborne and space borne polarimetric imaging SAR platforms. When strategically placed, these devices serve as ground-based calibration targets with specified radar cross sections (RCS). Trihedrals / corer reflectors are by far the most common type of calibration device used; however, their physical size and weight make them undesirable for field deployment. The drawbacks associated with trihedrals are two-fold. First, an actual deployment of the device can be physically awkward and inconvenient. Trihedrals can be as large as 12 ft by 12 ft by 12 ft, and they can weigh up to 300 pounds. In addition to their cumbersome size and weight, trihedrals tend to act like large rain and snow collectors, thus complicating the chances of performing an accurate calibration. The second drawback is a bit more subtle, but just as significant. The accuracy of an external calibration of a radar system directly relies on the knowledge of the scattering matrix of the calibration target. Although it is possible to estimate the elements of the scattering matrix of a calibration target analytically, manufacturing tolerances may leave a fair amount of uncertainty in the estimated values. Therefore, it is necessary to measure the calibration targets against a precise calibration target, such as a metallic sphere. This reveals the second drawback of passive calibrators with large physical dimensions, namely that the far field condition and uniform illumination criteria are difficult to meet in the laboratory. Hence, it becomes difficult to accurately define the performance characteristics of passive calibrators of this size and type. Polarimetric active radar calibrators (PARCs), on the other hand, tend to be much smaller and easier to handle than their passive counterparts. A PARC also yields better calibration measurements since its SAR image can be translated over a dark background, thus providing a higher signal to background ratio. As a result of these advantages, 2

PARCs are rapidly becoming the calibration device of choice for future space borne missions. As a final point, PARCs traditionally are designed with two antennas which can cause severe degradation in their performance, as will be explained later. Here a new design for the L-band PARC is used which requires a single antenna. The purpose of this report is to outline of the theory, design, and implementation of the L-band single antenna PARCs developed for NASA and JPL at the University of Michigan. The content of this project reflects the modifications and improvements made to previous PARC and SAPARC units (specifically, an L-band SAPARC prototype built by Sarabandi et al. for the University of Michigan's Radiation Laboratory [2] ). Currently, the L-Band SAPARCs are tentatively planned for field deployment in April 1994, where they will be used as calibration devices for NASA's SIR-C (Shuttle Imaging Radar -C) mission. 3

CHAPTER II PARC THEORY / DESIGN CRITERIA In its simplest form, a PARC consists of a receive antenna, an amplifier, and a transmit antenna (see Figure 2.1). With this configuration, the PARC merely acts like a repeater, whereby an incoming radar signal is received, amplified, and re-transmitted back to the SAR platform. Variations on this simple design do, however, lead to a variety of merits. Figure 2.2 depicts the modifications which are employed in this project's SAPARC units. The most notable difference is the addition of a delay line along with an orthogonal mode transducer (OMT) / single antenna implementation. The device now serves as a specialized type of repeater, where the signal is captured with respect to one polarization and re-transmitted via its opposite polarization. The pre-amplifier and power amplifier ensure the proper amplification of the signal, while the delay line electrically delays the signal for reasons which will be given later. As a final note, the switches provide the attenuation needed for applicability to SIR-C as well a JPL AIRSAR missions. 2.1 PARC Radar Cross Section The fundamental equation defining the radar cross section (RCS) of a PARC is given by [2] a = GP TG P 4xr where Grand GR are the transmit and receive antenna gains, and GLo, is the net loop gain associated with the gains and losses from the system's amplifiers, switches, and delay line. Generally speaking, a larger RCS is more desirable. Hence, the driving 4

I GR Receive Antenna I/ Transmit GT Antenna Amplifier Gamp Figure 2.1: Basic PARC Configuration 5

Microwave Switches Orthogonal Mode 45.6 dB Transducer Pre-Amplifier SIR 0 dB Pad Tapered Square Horn Antenna AIRSAR C = 11.5(111 20 dB Pad Delay Line -47 dB Notch 46.7 dB Filter Control Circuitry Power Amplifier Directional Coupler System Acitvation Timers LED Battery Power Monitor i~~~~~~~~T ~Battery Over-discharge Protection Diode Detector Detection Indicator Lamp Voltage Regulation - ----- Oscillation / SAR Fly-by Detection Detection Circuitry ~ Figure 2.2: L-Band SAPARC Block Diagram

impetus behind most PARC designs is the maximization of GLoop. GT. and GR These parameters, in turn, are limited by beamwidth requirements, transducer isolation performance, and physical size and weight considerations. The following sections address each of these parameters in more detail. 2.2 Antenna Design In the design of early PARC systems, two antennas, one for transmit and one for receive, were employed to achieve the necessary isolation between the receiver and transmitter modes of the PARC. The transmit and receive antennas were placed in close proximity to one another to meet the compactness requirement of the PARC design. However, since the antennas are in the near field of each other, the RCS pattern of the PARC becomes asymmetric and causes ripples in the phase and amplitude responses which tend to mar the PARC's performance [1] (see Figure 2.3). In order to counter these setbacks and yet to meet the compactness requirement, a single antenna PARC was considered. In this design, the PARC employs a dual polarized horn antenna with a very good polarization isolation and low return loss for both polarization channels. Wide bandwidth and beamwidth with high cross polarization isolation can be achieved through the implementation of an OMT (Orthogonal Mode Transducer) in conjunction with a piecewise tapered square horn. The geometry of a piecewise tapered horn is shown in Figures 2.4. The waveguide discontinuity at a flared intersection excites higher order waveguide modes which are proportional to the flare angle. Since the waveguide is square, the higher order modes can couple energy into the orthogonal channel (TE10 to TEoi, for example). It was noticed that when the flare angle is less than 5~, the energy transfer from between the orthogonal channels is minimized. However, in order to get the desired aperture over a reasonable length, the square horn can be flared (with angles less than 50) at many points along its length, thereby simulating an exponential taper. Note that the length of each section should be longer than the wavelength. 7

50. - 10. 40.. -- ----- 180. A.?-*,30. - = - 20. 150. 10. c/i —~~-.,~~ 1 *~20.0 (.)> /Q 0 -- h -30. k —-'- **-o A —- ---- - 10.~~~~~~~~~~~~~~~~~~~~~~~0 co is -60. 0. --— A. —- o -70. -40. -30. -20. -10. 0. 10. 20. 30. 40. -40~. -20.. Incidence Angle (Degrees) Incidence Angle (Degrees) Figure 2.3: Magnitude and Phase Patterns for a Two Antenna PARC System

6.500 33.500 section view- assembled 8.375 6.500 4.500 8.401 | 25.125 Figu8re01 2.4:| S e i8.375 -- 7.818 9.000 16.750 8.j479 \ 8.375 10.471 8.375 13.50~" 1.613 Figure 2.4: Side View of the L-band Tapered Squared Horn Antenna 9

2.2.1 L-Band Antenna Specifications The goal of the SAPARC's antenna design is to reduce the RF mismatch and cross-talk (i.e. cross polarization generation) while at the same time providing adequate gain, beamwidth, and bandwidth. For the L-band SAPARC, the primary concern of the design was the trade-off between the reciprocal parameters of antenna gain and beamwidth. Physical size and weight were also considered due to the relatively large wavelength of the L-band system. From a practical point of view, the scattering matrix of the SAPARC must be rather insensitive to orientation angles, i.e. a SAPARC should be immune to possible pointing errors). Thus, one of the design goals is to achieve a two-way antenna beamwidth of around 20~. Note that the relatively large beamwidth ensures a successful calibration even if the SAPARC is not directly within the line of sight of the SAR platform. Figure 2.5 demonstrates pictorially the importance of having a wide antenna beamwidth. A secondary goal was to reduce the sidelobes radiating from the aperture, thereby minimizing the effect of multipath reflections to and from the SAPARC's ground-based position. Multipath contributions yield inaccurate RCS responses since unwanted electromagnetic energy is effectively being collected by the SAPARC antenna system (see Figure 2.6). The nominal RCS response, however, is measured within an anechoic chamber where multipath contributions are negligible. Hence, measurements taken within anechoic chamber and field environments may differ considerably. Using an antenna with small sidelobes is advantageous in that multipath contributions will be reduced; thus, measurements taken during actual field deployment conditions will more closely resemble measurements taken within the chamber environment. One of the project's early prototypes incorporated the use of a corrugated horn with a square aperture. Note that corrugated horns generally offer improved performance since they reduce the sidelobes in the antenna pattern. Unfortunately, this prototype yielded a high degree of co-polarized mismatch and extremely poor cross polarization isolation. The concept of employing a dielectric lense was also tried; however, the costs of constructing adequate lenses or custom made corrugated horns became much too 10

Flight Path 200 Adequate SAPARC antenna beamwidth Flight Path 50 Inadequate SAPARC antenna beamwidth Figure 2.5: Depiction of Adequate and Inadequate Beamwidths for the Tapered Square Horn 11

OdB 13dB Multipath Contribution Received at 13 dB Below Main Beam Large Sidelobes OdB Multipath Contribution \\ 30dB \ \Received at 30 dB Below Main Beam Negligible Sidelobes Figure 2.6: Multipath Contribution Scenarios for Horn Antennas With and Without Significant Sidelobes 12

prohibitive. Therefore, it was decided that the most economically feasible design would forego the multipath considerations. The physical dimensions of the prototype horn was chosen to be 84.2 cm in length with a square aperture of 36.8 cm by 36.8 cm (1.5X by 1.5X). Based on these promising results, a final design was implemented using four equi-length sections flared in 4.5~ steps. As shown in Figure 2.4, the overall length of the horn is 86 cm with an aperture of 36.8 cm by 36.8 cm (1.5X by 1.5X). As a final point, the L-band SAPARC employs an OMT designed and fabricated in the Radiation Laboratory of the University of Michigan [2]. The polarization separation is realized in a squared T-junction using wire grids (Figs. 2.7b and 2.7c). The positions of the wires re chosen such that the return-loss and cross-talk are minimum. This device provides cross polarization isolation of better than 40 dB with a return loss less than -18 dB over the frequency range of 1.1 - 1.4 GHz. See Appendix A for the detailed OMT test specifications. Figure 2.7a depicts the completed horn and OMT combination. 2.2.2 L-Band Antenna Performance From the plots given in Figure 3.6, we can deduce that the antenna system (horn and OMT combination) yields a cross polarization isolation exceeding 32 dB. It should be noted that the maximization of GLoop is dependent upon the level of isolation between the receive and transmit ports on the antenna. Refer to Figure 2.1. From this simple diagram, one can see how a feedback scenario results whenever a small fraction of energy is coupled from the transmit antenna to the receive antenna. The coupled electromagnetic wave is then repeatedly amplified as the energy continues along the feedback loop. Eventually, the coupled energy will increase to a magnitude which saturates the amplifiers. For obvious reasons, this situation cannot be tolerated for a PARC design. Therefore, the antenna system's cross polarization isolation must be large enough to prevent the occurrence of a feedback loop. 13

Sectionally Flared Square Horn ~\j. f^" T-Junction Waveguide Transition 1tr ^ ~ Wire Grid Coaxial to Waveguide Adaptor Figure 2.7a: L-band SAPARC Antenna System 14

/ c / o o? -7~ ~ 11.0 2.5 1.23-2.09- 3.18 / / 0 0.318 v.125 2.75 1 Ve o A|f A^/ C 0 ~ /1 A.1875 // - 2.5'1 --- 11.0 9.0 ~~~~L-RBa~~~i~nH^APARr* All dimensions in inches L-.Ban ci SA PAR * Refer to detail drawings for views OMT Design A-A, B-B and C-C Figure 2.7b: View of the L-band OMT 15

View A-A View B-B.688 2.5 i _ 0 - - 6.5 -- 6.5 2.5 6.5 10 6.5 2.5 0 L 0 0 ~l0.688 —2.5 - 2.5 2.5View C-C 0 0 0o — 3.25 o 0 6.50 8D70 2.375 0 0 0.875 0 0.375 -.. - 375 2.5 ~~- 5.437 Figure 2.7c: Detail Drawings of the L-band OMT 16

2.2.3 Summary of Horn Performance Physical Characteristics Electrical Characteristics Aperture Size: 36.8cm X 36.8cm Gain: 11.5dB Length: 86 cm 2-Way 3 dB Weight: 15 lbs. Beamwidth: 25~ Material: Aluminum Table 2.1: L-Band Antenna System Characteristics 2.3 GLoop Design 2.3.1 Delay Line At the heart of any PARC system is the GLoop component of the RCS. As mentioned above, a PARC can enhance a calibration measurement by translating its SAR response over a dark background (i.e. a background with a specular surface, such as an airport runway or a large body of water -- See Figure 2.8). This technique is easily implemented by adding a low loss delay line between the receiver and transmitter, as shown in Figure 2.2. When calculating the length of the delay line, a number of system parameters had to be incorporated in order to insure an adequate SAR delay. The slant range resolution, ry, is given as 6.67 m for JPL's AIRSAR. As shown in Figure 2.8, the SAPARC should "appear" as if it is situated directly over a body of water. The quantity Ap corresponds to the distance between the physical location of the PARC and its desired SAR image position. An acceptable Ap is approximately 10 pixels (i.e. 10 range bins); therefore, Ap = lOry = 66.7m 17

Body of Water SAPARC Image Ap ry Physical Iocation of SAPARC SAR Flight Direction Physical Location of SAPARC SAPARC Response g | \ | "A^^^./ Water 3*=LA IJX~~~ Eny^~~~ ^Terrain Time Figure 2.8: The Effects of Placing a Delay Line Within the PARC System 18

With Ap now known, the delay D can be found through the simple relationship c D =AP where c is the speed of light in free space. Lmin, the minimum length of line needed, is Lmn = Dvc - A(0.69c) = 46.02m = 150.99ft C Note that Vcoax is the velocity of the wave within a coaxial medium. The minimum length of line required is approximately 151 feet, yet in actuality, all of the L- and C-band SAPARCs developed for this project use line lengths of 200 feet (therefore guaranteeing a sufficient delay). At L-band frequencies, the 0.085 inch semirigid microporous coaxial cable (manufactured in 25 ft-long pieces by Precision Tube, Inc.) was used. The total attenuation resulting from the eight 25 ft-long sections was measured with a Hewlett Packard 8510 Network Analyzer, and was found to be approximately 47 dB at 1.25 GHz (see Figure 2.9). 2.3.2 Amplifiers The role of amplification in a PARC is to increase the RCS of the antenna system and to compensate for the losses associated with the PARC's delay line and other passive components. The amplifier gain of a SAPARC system must be chosen such that the amplifier operates in the linear region. Amplifier saturation may occur for two reasons: 1. saturation due to high levels of input power received from the SAR platform, and 2. saturation due to feedback oscillations. The latter of the two results from a finite receive and transmit channel isolation (determined by the performance of the OMT and horn antenna). 19

S 1 Icg MAG REF 0.0 dB 1 10.0 dB/ V -46. 959 dB hp 7iI C i _ __I____ ___ A MARKER i 0X' X — $ i __.251 GHI___________ i START 1.000000000 GHz STOP 1.500000000 GHz Figure 2.9: S21 Frequency Domain Response of the L-band Delay Line at 24~C 20

2.3.2.1 Input Power Calculations In order to insure that the amplifiers would not be saturated by the received RF, a number of preliminary calculations were made using the Friis transmission formula and known system parameters for JPL's AIRSAR and NASA's Shuttle Imaging Radar (SIR-C). Tables 2.2 and 2.3, respectively, summarize the JPL AIRSAR and NASA SIR-C parameters. Peak Power Pt = 6 kW (67.8 dBm) Wavelength x = 0.24m Antenna Gain G = 18.3 dB Altitude 15,000 - 40,000 ft (4,572 - 12,192 m) Incidence Angles 20~ - 70~ Pixel Resolution 3.03 m or 12.01 m (1 or 4 Look Azimuth) 6.67 m (Slant Range) Table 2.2: JPL AIRSAR Parameters Peak Power Pt = 4.45 kW (66.5 dBm) Wavelength X = 0.24m Antenna Gain G = 18 dB Altitude 200 - 225 km Incidence Angles 150 - 55~ Pixel Resolution 10 - 60 m Range Resolution Table 2.3: SIR-C Parameters 21

For JPL's AIRSAR system, the following Friis transmission calculations are applicable. Figure 2.10a depicts the geometry of a typical fly-by, where h is the height of the platform and R is the corresponding range (i.e. distance between the SAR and the calibration unit). The values used in this calculation are for the "worst case" scenario with respect to possible amplifier saturation. Therefore, the dimensions correspond to the case where the maximum amount of power will be received by the SAPARC AIRSAR Platform &d (Transmitter) 200 R = 4.865 km h = 4.572 km SAPARC (Receiver) Figure 2.10a: JPL AIRSAR Fly-by Geometry The general form of the Friis transmission formula is PR=PT 4KkR GTGR [4] whereas h R= =4.8654km cos(G) PT = 6KW = 67.8dBm ( )A 2 0.24m 2 4rR = _ (4r(4865.4m) = -108.dB GT = 18.3dB GR ~ 11.5dB 22

Therefore, the maximum input power received by the first stage amplifier \will be PR= 67.8 + 18.3 + 11.5 - 108.1 = -10.5dBm Similarly, NASA's SIR-C system, shown in Figure 2.10b, will yield the following results. SIR-C Platform & (Transmitter) /50 R = 207km h = 200 km SAPARC (Receiver) Figure 2.10b: NASA SIR-C Fly-by Geometry The Friis transmission formula gives PR = P( GrGR [4] whereas h R = =207.05km cos(O) PT = 4.45KW = 66.5dBm ( A 2 / 0.24m 2 )= 47r(207.05km) = -140.7dB GT = 18dB GR w 11.5dB 23

Therefore, the maximum input power received by the first stage amplifier will be P = 66.5 + 18.0 + 11.5- 140.7 = -44.dBm The gain of the first stage amplifier (i.e. the pre-amplifier) is about 45.6 dB (see Appendix B). Hence, the first stage amplifier must be capable of producing the following output power levels in order to insure operation within the linear range of the amplifier. AIRSAR Pout = PR + Gpreamp = -10.5 dBm + 45.6 dB = 35.1 dBm SIR-C Pout = PR + Gpreamp = 44.7 dBm + 45.6 dB = 0.9 dBm As shown in Figure 2.2, an additional attenuator of 20 dB was added to the front end of the pre-amplifier as an extra precaution to deter possible saturation during AIRSAR calibrations. Figure B-l shows the gain of the pre-amplifier at 24~C. Adding an attenuator "in front" of the amplifier degrades the signal to noise ratio; however, in this case, the signal level is much higher than the thermal noise, thus the effect of the additional attenuator is negligible. As will be pointed out in the next section, the noise inherent within the loop can lead to internal oscillations. Therefore, minimizing the noise will theoretically lead to a maximization of GLoop. Yet, in light of the seriousness of amplifier saturation, it was agreed that the benefits resulting from this potentially lower noise performance could not outweigh the assurance that the preamplifier is operating within its proper linear range. 2.3.2.2 Feedback Oscillations An equally serious problem can arise when the system is driven into a state of feedback oscillation. Section 2.3.2.1 alluded to the fact that noise inherent within the system can be amplified just as easily as any incoming RF signal. Oscillations result whenever the amplified noise exceeds the isolation of the antenna system. For the L-band SAPARC design, the net GLoop gain must not exceed 32 dB (the antenna system's cross polarization isolation). 24

Since GLoop must be less than 32 dB, it follows that GLoop = GAmp + LLine < 32 dB where LLine is the loss from the delay line, component insertion, and flexible cables. Rearranging this equation gives GAmp < 32 dB+ LLine = 32 dB + 47 dB + 2.2 dB + 1.8 dB Therefore GAmp < 83 dB Due to the relatively high loss of the delay line, a second amplifier is needed to help boost the signal before it is transmitted back to the SAR platform. As was done with the preamplifier, care must be taken to insure that the second stage amplifier is not driven into saturation. Figure B-2 shows the gain of the power amplifier at 24~C. 2.3.3 Attenuation Switches The principle goal of the attenuation switch (see Figure 2.2 and Appendix C, pg. C-6) is to reduce the loop gain thereby allowing the SAPARC to be used for both JPL AIRSAR and NASA SIR-C missions with the maximum allowable RCS. As pointed out in Section 2.3.2.1, JPL's AIRSAR, which flies at significantly lower altitudes than SIR-C, has a correspondingly higher risk for saturating the SAPARC's amplifiers. Conversely, an excessively large GLoop can lead to the saturation of the SAR platform's own receiver. Note that the results shown throughout this report reflect the SAPARC's operation within the SIR-C mode. Similar results can easily be found for the AIRSAR case by simply subtracting 20 dB from the overall SIR-C RCS measurements. 25

2.3.4 Notch Filter It was found that the system would slip into a feedback oscillation with SIR-C mode at about 990 MHz. Since the frequency of 990 MHz is outside of the frequency band of the system (1.1 - 1.4 GHz), a notch filter was inserted at the outgoing port (See Fig. 2.2) to elliminate the feedback oscilation at 990 MHz. The notch filter consists simply of a half-wavelength short stub of a rigid coaxial cable. Figure 2.11 shows the frequency response of the notch filter. The insertion loss at 1.25 GHz is about 0.8 dB and the attenuation at 990 MHz is about 17 dB as shown in Fig. 2.11. 2.4 Control and RF Detection Circuitry The control and RF detection circuitry serves a two-fold purpose. First, it provides the necessary switching and timing functions for the various power loads; secondly, the circuits display the operating status of the entire system, thereby alerting the user of changes in battery capacity and calibration readiness. The system is comprised of three major components: the Control Printed Wiring Assembly (PWA), the Detection PWA, and the Control Panel. A more detailed description of each of these subsystems is given in the following sections. 2.4.1 Control Circuitry / Control Panel The single antenna PARCs developed through this project feature custom made control and detection circuits. The features of the control circuitry are as follows: 26

S2; 51g MAG REF 0.0 dB I 10.0 dB/ V -0.8040 dB_ hp c hp I!' i I MARKER 1 T 3.1.25 L;j i __ I__ ___- 4... I I i iII START 0. 900000000 GHz STOP 1. 400000000 GHz Figure 2.11: Frequency Response of the Notch Filter 27

* LED Battery Power Monitor * Auxiliary Switching Capability * Battery Over-discharge Protection * External Source Hook-up * Automatic System Activation Timers * Recharge Ports for Internal Sources * Voltage Regulation * Easy Detachability for Maintenance Most of the circuitry (for the functions listed above) is mounted on the Control PWA. This board was designed with EE Designer, a PWA layout software package which can be run on most IBM pc's. The PWA was then manufactured by L. Ross industries in Ann Arbor. (See Figures 2.12 and 2.13). As a final note, the entire Control PWA / Detection PWA combination can be removed from the system chassis by disconnecting the 50 - pin connector. Before doing so, however, it is advised that the user first disconnect the internal supplies by removing the 7A fuses; the "BATTERIES" switch must then be turned on, and the "POWER RESET" button depressed (for 10 seconds) so that all residual charge held by the internal capacitance of the system can be safely discharged. (See Figure 2.14 and 2.15, both of which depict the front control panel). 2.4.1.1 LED Battery Power Monitor The LED display mounted on the control panel is driven by a differential amplifier circuit which monitors the gradual drop in voltage of each separate lead acid battery (see Appendix C, pg. C-3). Preliminary tests showed that this drop is a linear function of time, whereby the safe operating range exists between 10V < V < 12.5V (refer to the battery operating curves given in Figures 3.13, 3.14, and 3.15). The entire system becomes fully loaded whenever the LED display is activated, thus yielding a more accurate measurement of the battery's remaining capacity. Note that under room temperature conditions, the Yuasa 7 A-hr 12V batteries can operate for up to 5.5 hours (under a full load of 1.2A) before the lower operating voltage threshold is reached. Colder temperatures will significantly limit this capacity; at -100C, the system can only operate for 4.5 hours before the same lower threshold causes the system to shut down. 28

---------- — nig - -- - - - -1 - - ---...................... Figure 2.13: SAPARC Control Printed Wiring As--- (Stuffed) --- - - ----- -----— 2 9 T ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~ ---------------- " "%.:.:-LF- - - ~II R Y R R - ) - k~~~~ L~ P~~i;.:- - ---------- --:~.s:~:O:..........................~..... Figure 2.13: SAPARC Control PrintedVWirinw Ac

L-BAND PARC POWER RESET POWER RESET OK SYSTEM RF INPUT/OUTUT L-BAND PARC ON ACTIVE SYSTEM STATUS ~ BATTERIES POWER EXTERNAL TIMER CONTROL LEVELS SOURCES IN OU ON $f OFF/ ON RECHARGE TI TIME SET DISPLAY ON ON OON ECHARGEI|_SPLAY K-S|ON| TIMES ET~ DETECTION CIRCUITRY NDIVWDAL OFF ~ ST | i CHARGING COMPLETELY OFF I | ALARM ON CONFIGURATION CHARGED LO PARALLEL OFF RECHARGE PORTSf TIME TIME SET RESET CALIBRATION | TIMEI~ {TIME SET | RESET CALIBRATION RECHARGE PORTS IOFF \ | COMPLETED 0C-5 |<~* * * K S*___r ET _ ___S AR 12 12V V 2V ALARM ON APPL ATRN U ( D U | APPLCATI|OFF COMPLETELY ON ON BATTERY BATTERY DISCHARGED 1 2 SOURCE 1 SOURCE 2 SOURCE 1 SOURCE 2 BYPASS ~ POWER ( SIR-C ~ AIRSAR OFF OFF Figure 2.14: Blueprint of the SAPARC Front Control Panel

E iw - v * w-S I ^^^* -- 1 - i1 Figure 2.15: SAPARC Front Control Panel Figure 2.16: Internal Components of the L-band SAPARC Unit 31 ~~i;'" "E~~~~J3

The LED display is currently set to measure a voltage range of 10.5V < V< 12.5V for each supply. This range can be adjusted for supplies 1 and 2 by tweaking the potentiometers R8 and R17, respectively. 2.4.1.2 Battery Over-discharge Protection In conjunction with the LED bar graph display, the discharge protection circuitry similarly monitors the supply voltages through the use of comparitors (see Appendix C, pg. C-4). When the lower voltage threshold is reached (i.e. 10V), power to the entire system will be shut off, thus protecting the lead acid batteries from excessive discharging. (The battery's capacity is severely degraded whenever this lower voltage threshold is exceeded for extended periods of time.) This lower threshold can be easily adjusted by tweaking potentiometers R3 and R15 (for supplies 1 and 2, respectively). 2.4.1.3 Automatic System Activation Timers The system's built-in activation timers can control the operation interval for the SAPARC. In almost all practical situations, the SAPARC needs to be on for a relatively short period of time which can be programmed using the activation timers, thus prolonging the SAPARC's use by conserving battery capacity (see Appendix C, pp. C-56). Two separate clocks are used: one for activating the high load components, and one for deactivating the entire circuit. The wiring design consists of a number of buffers and opto-isolators which connect the output of the timers (i.e. piezo-electric connections) with the rest of the control circuitry. Note that these connections were made with shielded 20 gauge wire; the first prototype, which did not use shielded wire, experienced occasional transient responses resulting from the switching of the high load components (e.g. amplifiers etc.). Proper shielding and the use of opto-isolators eliminated this problem altogether. The timer activation mode can be bypassed for manual operation as well. In the manual mode, the system loads are all activated for immediate and constant operation, thus making this mode ideal for testing purposes. When deploying the SAPARC within a field environment, one should use the bypass in order to insure that the system cannot be 32

driven into a feedback state. Feedback oscillations will occur whenever an object is placed within the SAPARC's antenna beam pattern. Hence, a low-lying tree branch or other similar object may drive the system into an oscillation state. Using the bypass allows the user to "see" if any objects are within range of causing such problems. If the system can operate correctly in the bypass state, then the user will have confidence that the SAPARC will also work while in the automatic mode. As a last note, the activation timers are independently powered by small cell 1.25V batteries. These cells can be easily replaced by removing the top cover on the SAPARC chassis. A small plastic cover on the clock units must also be removed in order to gain access to the battery compartments. 2.4.1.4 Voltage Regulation The various subsystems within the SAPARC require supply voltages of +~15V, ~8V, and +5V. The +5V and +8V regulation is performed by basic 7800 series regulators, whereas the ~15V modes are supplied from DC-DC converters (one on the Detection PWA, and the second on the Control PWA - see Appendix C, pp. C-3,4, and 7). The +15V DC-DC converter possesses an efficiency of greater than 80%; hence, the converter outperforms conventional voltage regulation by a considerable margin (i.e. in terms of efficient power use). It should also be noted that conventional regulators cannot supply the relatively large amount of current which is required for the operation of the amplifiers and other possible auxiliary loads. 2.4.1.5 Auxiliary Switching Capability As mentioned above, the Control PWA is configured so that additional loads can be added (and thus controlled) as the user sees fit (see Appendix C, pg. C-2). The voltage output for these auxiliary ports includes ~15V and +24V. Possible loads include recording devices which can monitor the RF power levels received during SAR fly-bys, thereby providing a means for measuring the pattern of the SAR's illuminating footprint. 33

The Detection PWA does provide a correlation between detected RF and a specific DC output voltage. This capability may be utilized for use with recording devices. Heaters can also be connected to this circuit; however, testing has shown that their use is of little value for reliable temperature stabilization. (See section 2.5). 2.4.1.6 External Source Hook-up The user can bypass the internal battery supplies by employing the use of the external hook-up jacks located on the front control panel (see Figures 2.14 and 2.15, as well as Appendix C, pg. C-1). If external sources are to be used, simply flip the "EXTERNAL SOURCES" switch to the ON position. Hit the "POWER RESET" pushbutton and continue the system operation in the normal fashion. As a final note, DO NOT CONNECT THE GROUNDS FROM THE EXTERNAL BATTERIES TOGETHER. 2.4.1.7 Recharge Ports The user can also recharge the internal batteries via the recharging ports located on the front control panel (see Figures 2.14 and 2.15, as well as Appendix C, pg. C-l). Two different port types are provided for the support of varying recharging devices. When recharging, have the "BATTERIES" switch in the OFF / RECHARGE position. The "CHARGING CONFIGURATION" switch permits the user to charge the batteries individually or together in a parallel mode. 2.4.2 Detection Circuitry The Detection PWA was acquired from an existing two-antenna PARC system developed by Applied Microwave (see Appendix C, pg. C-7). This subsystem monitors the power levels which exist at the output of the power amplifier. The threshold for this detection has been set low enough (Pmin detection = -48.6 dBm) so that oscillations as well as SAR fly-bys can be recorded. In the original circuit design, a detection would illuminate a 34

small red bulb; in addition to this, a.25A circuit breaker switch (which serves as a permanent recording device) has been added to signal the user that a successful calibration is complete. Note that the circuit breaker takes approximately 60 seconds to trip once a detection is made. When deploying the SAPARC, the user must be certain that feedback oscillations will not occur during the calibration. Therefore, one must always monitor the detection lamp during final setup preparations. (Recall that the SAPARC system is extremely sensitive to adjacent objects which may reside within the antenna's beamwidth. These objects include nearby bushes, tree limbs, etc.). If a feedback scenario is present, simply press the RESET to clear the Detection PWA circuitry. Continue to re-position the SAPARC as needed so that no errant detections are made. 2.5 Temperature Stabilization During the initial design phase, one of the primary goals was to develop a system which was insensitive to changes in the ambient temperature. It was assumed that the most sensitive devices would be those which are active, namely the preamp and power amp. To this end, a 24W hybrid heater had been placed on the amplifier combination. Unfortunately, the temperature stabilization tests showed that the most sensitive device was the passive delay line, and ngt the amplifiers as first suspected (Refer the test results reported in the report for C-band SAPARC [6]) Temperature stabilization would require either a number of high power heaters or a variable attenuator / gain feedback circuit. The former of these alternatives is somewhat impractical since it would require excessive amounts of battery power. Similarly, the latter option is too expensive for a practical implementation. An acceptable solution requires a mapping of the GLoop component of the RCS as a function of temperature. Such a mapping is shown in Section 3.3. The goal, then, is to accurately record the system's temperature during an actual field test. The temperature (recorded as a function of time) will then be compared to the GLOOP vs. Temperature chart from Section 3.3. 35

Hence, an accurate description of the system's total RCS can be calculated for the exact fly-by time of the SAR platform. An automatic measurement is obtained through the use of a Dickson 24-hour Temperature Recorder. This device is nestled within the delay line loop located at the base of the SAPARC chassis. For an actual field deployment scenario, the user must activate the temperature recorder while noting the exact time of initial operation. Once this is done, the user is free to leave the deployment area while the rest of the equipment remains in its automated mode. 2.6 Assembled Prototype Figures 2.17a and b show how to attach the OMT unit to a tripod. Figures 2.18 a and b show the SAPARC in its completed state for 0~ and 45~ orientations, respectively. Note how the horn antenna is detachable for quick and easy transport of the device. 36

-~- t I.Q.'I i- law - [L.i. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~II ~~~~~~~~~__ an,.~ - F r a,~igure 2.17a: Disassembled L-band Antenna Unit and Support 37

Figure 2.17b: Assembled L-band Antenna Unit and Support 38

r?~~~~~~~~~~~~~~~~r f c~~~~~~~~~~~~~~~O I~~ II Figure 2.18a: F lly Assembled Lband SAPARC fo the O' Antenna Orientation~~~~~~~~~~~~~~~~~~~~~rC

AC IN -18: P llyAss mbld Lban SA ARCfo the 45 Antena Orietatio

CHAPTER III EXPERIMENTAL RESULTS As mentioned in Chapter 1, the accuracy of a SAR calibration is highly dependent upon the measured performance of the calibration device. Hence, the measurements taken in accordance with this project must adhere to the following goals: * Accurate measurement of the scattering matrix for the 0~ and 45~ antenna orientations. * 0.2 dB accuracy in the mapping of the thermal gain variations. * Overall characterization of SAPARC performance with respect to field deployment conditions, including extremes in temperature, all-weather performance, and battery capacity. 3.1 GLoop Measurements Figure 3.1 depicts the S21 frequency responses of GLOOP for room temperature operation (24~ C). For this measurement, a 40 dB attenuator was placed on the receive channel of the SAPARC in order to prevent amplifier saturation. From these measurements, GLoop is found to be 43.14 dB at 1.25 GHz. However, as section 3.3 will show, GLoop is highly dependent upon the SAPARC's operating temperature. To find the correct value of GLoop for each SAR calibration, one must refer to the thermal variation chart shown in Figure 3.12. The SAPARC anechoic chamber tests were performed at room temperature 41

S21 I r MAG REF 0.0 dB 1 10.0 dB/ V 43.143 dB _ -4 MARkER 1 I iii -.25 5 —- ------------ START 1.100000000 GHz STOP 1.400000000 GHz Figure 3.1: Frequency Domain Response of GLoop at 240C 42

(approximately 200 C). Figure 3.6 (SAPARC RCS for the 0~ Orientation) shows that the maximum achievable value for the RCS is 42.6 dBsm. Using this data in conjunction with the theoretical equation given in section 2. 1, the gain of the L-band antenna system is found to be 11.5dB. The following calculations demonstrate this result. a = G GTGR Lcable LOOp 47r where Lcable = -.8dB a w 42.6dBsm GLoop = 44.8dB GT = GR = GAntenna A2 (0.24m)2 ='___ = -23.4dB 4r 47r Rearranging the equation gives GAntenna =, - = (42.6dBsm - 44.8 + 1.8dB + 23.4dB GLoop' Lcable 2 GAntenna = 11.5dB The equations above demonstrate how the user can easily find the RCS of the SAPARC for any given operating temperature. In other words, when the operating temperature is known, the corresponding value of GLOOp will also be known, and hence so will the RCS of the SAPARC unit. The equations are similarly applicable to the 45~ SAPARC orientation. For this case, simply subtract the 6 dB difference from the 0~ orientation antenna results described above. 3.2 Anechoic Chamber Tests The University of Michigan Radiation Laboratory maintains a fully equipped 60-foot43

long, tapered anechoic chamber which is used for conducting antenna pattern measurements and for measuring the scattering characteristics of man-made and natural targets. This chamber is ideal for making accurate measurements of the SAPARC's RCS within a relatively noise-free environment A major component of the Radiation Laboratory's polarimetric radar measurement facility is the LCX POLARSCAT system. The parameters of the L-band subsystem used for this measurement are as follows: Center Frequency 1.25 GHz Frequency Bandwidth 0.3 GHz Antenna Type Dual Polarized Pyramidal Horn Antenna Gain 15 dB Beamwidth 17.0~ Far Field ( 2d2 / ) 2.6 m XPOL Isolation 35 dB Calibration Accuracy ~ 0.3 dB Phase Accuracy ~ 3~ Table 3.1: L-Band Measurement System Parameters A large percentage of this system consists of Hewlett Packard components, including an HP 8753 Network Analyzer and HP 9000 Computer with an additional disc drive. Using computer control, polarimetric measurements of the phase and magnitude responses can be taken with respect to changes in target elevation and azimuth angles (Figure 3.2). The chamber experiments required a center frequency of 1.25 GHz with a 300 MHz bandwidth. Calibrations were performed by using a 14" metallic sphere in accordance with a calibration technique developed by Sarabandi [5] (See Appendix D). Time gating was also employed, whereby a gate span of 10 ns (centered on the target's response) provides an automatic subtraction of background scatterers. A block diagram of the measuring facility is given in Figure 3.3. 44

I.;'~~' i~~L~,..- IL~~..~..~...~~..~. ~::::::i::l~'r.................:~:;:C;~. ~~: ~~:~:: ~ ~~:~:................~..............~: ~~:: ~~ q~, ~~-~h- ~: S ~ ~.~Y~.............r~.-~...............: ~::\~: ~~:; ~ ~~Z~~4'~Z. r.~~~ ~~j7~t~~~-2,............ ~:~:~~~:::::::A).x................ - - - - - - - - - — ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~-~ ~ Fig-ure 3.2: L/C/X-Band POLARSCAT Test Equipment:i:::::S:::::::: C:) —~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~

............' —-- 13m' 3m IjD OD IP I —I Yn | _________ | | 0 _____ Analyzer HP 9000 Computer Figure 3.3: Anechoic Chamber Measurements at the University of Michigan's Radiation Laboratory

3.1.1 SAPARC Time Domain Response Section 2.3 mentioned that a SAR calibration can be enhanced by time shifting the PARC's radar response so that it appears to originate over a dark background (refer to Figure 2.8). Recall that a 200 foot delay line is incorporated into the SAPARC design to accomplish such a feat. The effect of this delay is clearly shown in Figure 3.4, the time domain response of the L-band SAPARC system. As an addendum, Table 3.2 provides an identification of the five markers given in Figure 3.4. Mar Identification 1 Leakage from a circulator of the radar system 2 Leakage from the OMT and antenna unit of the radar system 3 Backscatter from the SAPARC's antenna and chassis (physical location of the SAPARC) 4 Primary time-delayed SAPARC response 5 Response due to the ringing of the SAPARC unit Table 3.2: Marker Identification for Figure 3.4 Table 3.2 leads to a number of important conclusions. First, the electrical length of the delay line is found to be the difference between markers 3 and 4, namely 340 ns. This, in turn, corresponds to an electrical length of 102 m; hence, the SAPARC's SAR response has effectively been translated by 102 m (i.e. approximately 340 feet). Also note the ringing effect (marker 5) where a replica of the original SAR response is periodically repeated every 340 ns, or 102 m. The subsequent replicas are a product of the limited isolation of the OMT. During the transmission of the first SAR response, a small amount of leakage RF makes its way through the SAPARC loop where it is amplified, delayed, and re-transmitted as another SAR response. Figure 3.4 shows how each of the recurring responses will decay by approximately 15 dB; hence, this process continues until the net amount of leakage becomes negligible. When processing the imaging data, the ringing effect inherent with each SAPARC allows for easy identification and location of the calibration system, thus providing another advantage over passive calibration devices. 47

CH1 A/P lcg r AG 10 d3, R —-: 0 1 -. 95 a_ L BAND - i'V 97 ns9 X IIt I _ All';1 i: _;ea j i 7,,} CH1 START 0 s STOP 1.2 as Figure 3.4: SAPARC Time Domain Response 48

As a final point, the SAPARC provides an exceptional signal to noise ratio (SNR). The difference between the SAR response (labeled as marker 4) and the anechoic chamber's noise floor is over 75 dB. A 55 dB signal to clutter ratio (i.e. the difference between markers 3 and 4) is also shown to be quite extraordinary. These relatively large values of SNR will prove to be very beneficial for actual SAR calibrations. 3.1.2 0~ Orientation Test The 0~ orientation of a SAPARC refers to the case when there is no polarization mismatch between the radar's antenna and the SAPARC antenna. In this mode, the SAPARC provides a calibration of cah, where a received vertically polarized signal is amplified, delayed, and transmitted back to the radar with a horizontal polarization. The phasor polarizations are given in Figure 3.5. Figure 3.6 demonstrates the measured azimuthal pattern response for this orientation. As shown, the SAPARC yields a maximum RCS response of 42.6 dBsm with a 25~ halfpower beamwidth (for the ahv case). (Note that the traditional convention of listing the target's polarimetric RCS as axy, where x and y refer to the received and transmitted polarizations, respectively, is used.) A cross polarization isolation of 32 dB exists between ahv and acvv, hh thereby giving credence to the excellent cross polarization isolation performance of the horn / OMT design described in section 2.2. As a final point, the ivh response reveals the "noise floor" inherent with this measurement. This RCS response is characterized by a 100% polarization mismatch for both the radar and SAPARC antennas, and hence the extremely low RCS response of -40 to -60 dBsm is expected. 3.1.3 45~ Orientation Test The 450 orientation is accomplished by rotating the SAPARC horn as demonstrated in Figure 3.7. Doing so allows a complete calibration of the Scattering Matrix since each transmit and receive combination, namely ovv, alhh, ahv, and avh, yields the same RCS azimuthal pattern response with a half-power beamwidth of 25~. Figure 3.8 depicts 49

Transmit Transmit y Transmit Receive Receive x Radar Antenna SAPARC Antenna Polarizations Polarizations Figure 3.5: SAPARC 0~ Orientation Phasor Polarizations 50

40.- - - - 30. 30. / \ 20. 00 -10. -20. - -30., -30. -40. -30. -20. -10. 0. 10. 20. 30. 40. Azimuth Angle (Degrees) Figure 3.6: SAPARC 0~ Orientation RCS Azimuthal Patterns at 20~C (SIR-C Mode) 51

Tv Rv -- - - ^ Th - -- - Th Rh -- Rh x Radar Antenna SAPARC Antenna Polarizations Polarizations Tv: Transmit Vertically Polarized Wave Component Rv: Receive Vertically Polarized Wave Component Th: Transmit Horizontally Polarized Wave Component Rh: Receive Horizontally Polarized Wave Component Figure 3.7: SAPARC 45~ Orientation Phasor Polarizations 52

35. 30.,0......... I::.,' I/ \",'. - Figure 3.8: SAPARC 450 Orientation RCS Azimuthal Patterns >~.?. / - - -..^53 -40. -30. -20. -10. 0. 10. 20. 30. 40. Azimuth Angle (Degrees) Figure 3.8: SAPARC 45~ Orientation RCS Azimuthal Patterns at 20~C (SIR-C Mode)

the RCS azimuthal pattern response for the 45~ orientation. Note how each trace is symmetric and virtually equal over a 40~ beamwidth, as expected. Also note how the peak RCS of 36.6 dBsm is exactly 6 dB below the 0~ orientation response of 42.6 dBsm. Again, this result is in excellent agreement with the theoretical expectations (the two 450 polarization mismatches, one for transmit and the second for receive, correspond to a total loss in power of 1/2 1/2 = 1/4 = 6 dB). The phase responses shown in Figure 3.9 are also noteworthy. Theoretically, we expect ahv - wv =00 Ahh - w = Ovh - w = 180~ over an 800 beamwidth. The phase diagrams in Figure 3.10 help to explain these results. Section 2.2 referred to the drawbacks encountered when using a two-antenna PARC system; more specifically, these problems include pattern asymmetry and ripples in the phase and magnitude responses. Figure 2.3 is an example of one two-antenna system tested by Sarabandi and Oh [1]. By comparing Figure 2.3 with those in Figures 3.6, 3.8, and 3.9, one can easily see the notable SAPARC improvements in magnitude and phase performance. 33 Thermal Gain Testing Section 2.5 alluded to the fact that PARC's are susceptible to gain variations due to changes in the ambient temperature. Countering these thermal gain variations is formidable task; therefore, it is much easier to compensate for the changes in the SAPARC's RCS by mapping the GLOOP dependency on ambient temperature. Figure 3.11 reflects the results of the experiment whereby GLOOP is plotted over a temperature range of -10~C to 40~C. 54

270. 240. 210. 180. 150. e. 120. _ hh - Pv v 90. ----- - v - 2^ 60. ------ vh - Ovv 30. 0. -.. —-----—.... ---- -30. - -60. -90. -40. -30. -20. -10. 0. 10. 20. 30. 40. Azimuth Angle (Degrees) Figure 3.9: SAPARC 45~ Orientation Phase Patterns at 20~C (SIR-C Mode) 55

v A y R T 45.0 H x Radar Antenna SAPARC Antenna SAPARC Receive SAPARC Transmit vv < v T \hv - (vv = 0~ Ohv R Component In Phase X< N ~ ~~/ ^~H\ yT Component In Phase //H i0 -\V p=vh - vv= 180~ vh T R Component 180~ Out of Phase \ R /T Component In Phase / H O\ A fr )hh - Ovv = 180~ Ohh < / R Component 180~ Out of Phase T Component In Phase Figure 3.10: Phasor Diagram for the 45~ Orientation 56

10. 0 0 5. - C0 0 0 0~~~~.~~ -5..~s * Loop Gain = 44.8 dB at 200C co Fit: G =-0.24 T+4.8 -20. -10. 0. 10. 20. 30. 40. Temperature (~C) Figure 3.11: L-band SAPARC Thermal Gain Variations 57

The user of the device must remember, however, that component aging may alter the overall performance of GLoop. Therefore, periodic calibrations of GLoop vs. temperature is recommended. As a final note, special precautions must be taken when operating the SAPARC in cold weather scenarios. Currently, the system is configured to provide the maximum allowable RCS for temperatures of 200C or greater (see section 2.3.3). However, Figure 3.11 clearly shows how GLOp can increase by as much as 7 dB for temperatures below 20~C. Therefore, the user is encouraged to add a 10 dB attenuator between microwave switches (see Fig. 2.2) whenever cold operating temperatures are anticipated. 3.4 Field Deployment Conditions 3.4.1 Battery Capacity The SAPARC units developed through this project require two 12V, 7 Amp*H lead acid batteries. The power demands on Supply 2 (see Appendix C, pg. C-l) is given as follows: SAPARC Oerating Condition Current Draw Power Demand Timing Circuitry On 0.37 A 4.44 W System Active 1.09 A 13.08 W System Active with LED Display On 1.20 A 14.40 W Table 3.3: Power Demands on Supply 2 Figure 3.12 (1 A case) depicts the capacity performance of the Yuasa 12V battery used in the SAPARC design. Figure 3.13 shows the results for the full load case (i.e. a current draw of 1.2 A). Under full load conditions, the SAPARC can operate (at temperatures above 200C) for up to 5.5 hours; longer operating times are achievable when using the Activation Timers. 58

Figure 3.14 shows the marked decrease in capacity during cold weather operation. During this test, the Yuasa 12V battery was subjected to a temperature of -100C while providing a current of 1.2 amps. Under these conditions, the SAPARC's full load operating time is reduced by one hour; therefore, the user must take special precautions when planning to operate the SAPARC in cold climates. 3.4.2 All-Weather Performance Ideally, the SAPARC can be used in all types of weather; of course, there are a number of practical limitations which concern the aperture on the horn antenna. Obviously, rain and snow can accumulate inside the horn / OMT, and thus the calibration would be ruined. In order to compensate for this occurrence, a polyethylene film (e.g. Saran Wrap) was placed over the aperture to serve as a radome. This film was very effective in keeping water out of the horn / OMT combination; however, an accumulation of water droplets on the radome eventually lead to a feedback oscillation scenario (see Sections 2.3.2.2 and 2.4.2). Therefore, applying a thin-filmed polyethylene radome is suggested for weatherproofing the horn, OMT, and waveguide adapters. Yet, do not expect the SAPARC to operate correctly in adverse weather conditions. As a sidenote, if the rainfall ceases and the radome is allowed to dry, the SAPARC will "break-out" of its oscillation mode and return to its normal operating condition. The only notable change is that the detection circuitry will be triggered prematurely. Finally, the chassis of the SAPARC unit should be shrouded with a rain tarp to prevent excess exposure to the elements. 59

Capacity Test: Yuasa 7.0 RH 13 o1r 0 1.2 3 4 5,6 7 8 9 13 hours elapsed Figure 3.12: Battery Capacity Test (1.OA Load. 220C)

Capacity Test: Yuasa 7.0 RH 14 1 4'.,...!,.. i,. " i,. i,. i,, i., I,,..,, 13 r12 oil 0 1 2 3 4 5 6 7 8 9 10 hours elapsed Figure 3.13: Battery Capacity Test (1.2A Load, 22~C)

Capacity Test: Yuasa 7.0 RH 13 1 0 1 2 3 4 5 7 8 9 10 hours e apsed Figure 3.14: Battery Capacity Test (1.2A Load, -10~C)

CHAPTER IV CONCLUDING REMARKS The report outlines the design and performance characteristics of the first single antenna polarimetric active radar calibrator (SAPARC) prototype developed for NASA's SIR-C mission at the University of Michigan's Radiation Laboratory. In addition to this specific unit, a second L-band and two C-band versions are currently being constructed as part of a continuation of this project. This L-band SAPARC possesses a nominal RCS of 36.6 dBsm with a 3 dB beamwidth of 25~. One of its best attributes, however, is the fact that it can outperform conventional PARCs though its implementation of a single dual-polarized antenna. More specifically, the pattern asymmetry and phase and magnitude ripples are eliminated through the use of this design. In addition to these RF characteristics, the prototype is also noteworthy in that it provides a number of features which accommodate prolonged operation intervals and useful system status updates. In the future, subsequent modifications to this basic design will hopefully lead to more accurate and convenient calibrations of SAR platforms. 63

REFERENCES [1] Sarabandi, Kamal, and Yisok Oh "RCS Measurement of Polarimetric Active Radar Calibrators", Radiation Laboratory Report No. 027165-1-T, The University of Michigan, June 1990. [2] Sarabandi, Kamal, Yisok Oh, and Fawaaz T. Ulaby, "Performance Characterization of Polarimetric Active Radar Calibrators and a New Single Antenna Design", IEEE Transactions on Antennas and Propagation, Vol. 40, No. 10, October 1992. [3] Burnside, Walter D. "An Aperture-Matched Horn Design", IEEE Transactions on Antennas and Propagation, Vol. AP-30, No. 4, July 1982. [4] Balanis, Constantine A. Antenna Theory: Analysis and Design. New York: John Wiley and Sons, 1982. [5] Sarabandi, Kamal and Fawaaz T. Ulaby, "A Convenient Technique for Polarimetric Calibration of Radar Systems," IEEE Transactions on Geoscience and Remote Sensing, Vol. 28, pp. 1022-1033, 1990. [6] Ahne, James, Kamal Sarabandi, and Fawaaz T. Ulaby, "Design and Implementation of a C-band Single Antenna Polarimetric Active Radar Calibrator", Radiation Laboratory Report No. 027587-1-T, The University of Michigan, July 1993. 64

APPENDIX A OMT SPECIFICATIONS 65

S21 og MAG REF 0.0 dB 1 10.0 dB/ V -50.223 dB A MAP<ER 1 ___I. __ _.HZJI _ __________i__ ____ 1, - 1"I L~~~t~~-\+~ i START 1.100000000 GHz STOP 1.400000000 GHz Figure A-1: Isolation of L-band OMT 66

Sll Ieg MAG REF 0.0 dB 1 10.0 dB/ V -18.507 dB C -= - _ ____ - - M-ARKP[P _ _ _ -;. ~ I __ _ _ 1.793 7I _ _ -_ _ _ _ START 0.0 s STOP 50.0 ns Figure A-2: Return Loss of L-band OMT (Side Arm) (1.1 - 1.4 GHz) 67

Sl log MArS REF 0. dB 1 10.0 dB/ V -25.544 dB Li~- _T-l I - - __ NMAFKEP 1 8.25 ns' START 0.0 s STOP 50.0 ns Figure A-3: Return Loss of L-band OMT (Streight Arm) (1.1 - 1.4 GHz) 68

APPENDIX B AMPLIFIER SPECIFICATIONS 69

S21 1Ig MAG REF 0.0 dB 1 10.0 dB/ V 45.619 dB hp I I I I I A MAR ER 1.25 GHz_____ __ ~Ig -____ I _____________Gr_______ _______ ___ ___ __ I _ _ ^ —: - CENTER 1.250000000 GHz SPAN 0.500000000 GHz Figure B-l: Gain of the Pre-amplifier at 24~C 70

S21 1 9o MA.3 REF 0.0 dB 1 10.0 dB/ V 46.725 dB -ip A MT4RER - _ _ _ I _ _ i _ _ _ l L ii 5 i I CENTER 1.250000000 GHz SPAN 0.500000000 GHz Figure B-2: Gain of the Power Amplifier at 24~C 71

APPENDIX C CONTROL CIRCUITRY SCHEMATICS

Control Panel Power Connections I SW2-A C1,"^ *c T A-32 -To Control 2 PWA 2 2 A-34 )- PWA SWI-A C 24V Node or B-5 Control Ponel _______CU~~~~~ ~Note: SWI (Battery Power) Cn Posit ion I: On L.I Position 2: Off/Recharge Charge SW2 (External Sources) L-pJ ^ P~~ort I'~ ~Position I: Off +1.~~~~ SWIv ~~~~~~O ~Posit ion 2: On SWI0 12V SWIO (Chorging Configuraton) ~~~~~~~~Source I 0^~~~~ - ~External Open: Individuo l Port Inal Caosed: Porallel B-6 Connector References A = 50 Pin Connector B 9 Pin Connector On External Control Panel I_ ___ ~ PCharge Port 2 C = 9 Pin Connector On SWI-B 2 Port 2 Timing Circuit C B-7 2 mC i C__________ ^.To Control bm't'l IJ ^ —-------— ^-C A-33 PWA Cn C (.3 - 2 SW2-B Li 1:V Node On ~: Cont roI PnneI I V Source 2 C

Reloy Circuitry ~+12V -- ^ A-33 > Power Reset A-2 4~~~~~~~~+24 V A-32 +24V; A-24 ------— * Token From SW2 A-( ~~~~~~~~~24V~~~~~~~~~~~~~~~~~~~~~~ O n Controt Panel +24VY. A-32 ~-_____r-_______________________. on ____0 pn I — ^ a-A-34 - IFrom Control l — 22 3 — 1 Ponel 0 CR2 UI I CR I 10 c u" 12 3 20 Battery Power Threshold Detect ionT Circuitry TI _+12V Node On Control PWA 0+24V Node On Control PWA Aux. Aux. Aux. 12 22 I C 12 22 I CR4 - CR3 U13 I"2 II 3 j 20 3 System Activa' ion Circuitry T Hybrid Circuitry —T2 ( A-35 B —-- B-4 Ht - HCofe | ~Heotrer I~Ch0 oss Is GL -, D

Battery Power Threshold Detection Circuitry Reg I +5V Reg in +24V Node On PWA SW3-C G6+12V Node On PWA Disply Poer On/Off Node:_::A-19:: ~_-'< A-20::_+4 I --- T4< A-19 >4oN,-o -c A-20! On PWA R26 ^ R27 Closed:On: Open:Off R26..K 360 Ohm 1i / -- 8 U2 2 I R28 - I | = Soure I Source II.slR8 )^^5 Reg 3 R7 10 Hole Joc On 0 St LED i AD |SW3-B i n 1 u ( 1 u Re - - - A — | Display Power On/Off J e -- A-| —---- -C_ A 8 -- oT Rx -21 v=- s ---- A-22 30 Ohm 1W4 -ot-3-n-+5V Node ([See Reg 2] 0 CI 4 H oue o 0 Segment ED lOOK Pot q P m2K +8 RegI oul I!!' I,!t A ~.-R,. — ~- Display Power On From C-DC Converter, -, ^ *, ~ +'2V Node On-' A- On Detection PWA) 030? R31 33r 30 Ohm IP__A- 3 ~360 S L8K in~:" A- Rgut-;.__ K 2 \rR3 I c-9 — CiO - C2-,- - c' —— ~ Rf IOOKDispl Poter On/Off A- - 10 UIll R 3I IL- -- 0 -15V +15V On Detect ionControl PWA R30 inl+Sv Reg Iout -3

Battery Power Threshold Detection Circuitry - Port 2 Power On LED +5V Node +24V Node On +5V____ __ On PWA Control PWA On — T ---- PU3 7 R5< I -----— 16 A-29 12K R9 ~y.3' 5Re60 O I 16 hm SI J5V ieg Yt OK Pot 1 3 2Y 5 3. 3K U6 2 C3-t C 1-R>1 J 4 I 2 Chassis GND C4- R6 2 0. 33vF 0 IrF 12K N 2 0 I 1 ~~~~~~~~~~~~~~~60 Oh r +5V Node On Control PWA +5VYt4Y NdeO NV Node On +12V Node On A-26 I Pone I U5 ~Control PWA.4 ~C 6W R13 12K ) --— T111+5V On Control5 d O U4 U7 PWA I + G + R'4^ 8IOOK P-' o t 1 2 3 +5V Reg IOut RJ 21- 14PVM G R R21 C5 +- C6 1+ R14K IJ8 3 3K 0.33~f i y I CS C6 ~~~~~~12K 0. 3NkF 0. I I vF Q,, - — 13 t5V Node On Conl rol PWA ( (9 I [ I me r / r ( iy r( (- 11 u i c5i r

Timer Act ivotion Circuitry SWB-A - Di s p I a On Off Open: f N O C \ A-31~~~~~1 Closed: Open V R24 i" U9 U7 160 Ohm --- ~ade ~ i- A-23 - 3 10 9 7 +5V Node I B-^ -^f. 15 - On Control Panel3 C 2P N Open: Off R25 ~ 4 oeO a~a W SW4 "Timer Bypassol>! f, 3 3K 181 I ______ B; Closd: Off U9 ^ --- ^ A-41 M -------- 4-^ -- ^C I -----— _ J_.5vN.<. rrL ^ 91-s06. i^7 P20 1] +5V Node Onu I l C _ ") On Control Panel 9 UB ( I24 O R e tole 9 CID 13 I ~IU7 PRE —4 - Battery " t - L —c 3 4 6 7 - GND Ss*.. NC3Li L -> C-l ~- -r? --- rll 6 3 Timer Power 152 1-7'*y ^M- *',- I' L" E:~:Fi l1TI<SJ5 Lad *C-2 ) OK Pot, C-8, LR-3 len: Off C-9 I t C oseCd: On (~3 +5V Node On Control Panel 160 Ohm U20 U5 6 r5V Node C-6 ) > -7? Us PIll"- -T4M,/ —-I 1 E I [ —4 916C > l1 __7 2 5 <R12 +5V Node On 0P - liffel I"-L^ -- L 33K Conli PWA NC 1. 251 90 14 D2 T7 2I1 —'I I _________ \~~~~ur 4 Li>^ L L, — { — ^^ - ^ -- 4 Timer Off l C -5 CL R28.15 9R2 - J5 C-8, — (Micronto Alarm Clock) -L)C-9,\ 1 13 _L )< R20 r+5V _'C 161 Ohm Q.)f: 74 1 c..nt;o I one A-25 ------- J' l 7 L JT'0O SW5-B.L " Power Reset 6 Power On 4I LED/ Peloy 3~ ~ ~ ~ ~ ~~c

Microwave Switch Connections SW7 - SAR Application RF Out Al 11% I --- GL /\~r I ------- From A-40 - -8V Reg Detection 1 —-" —-lO |O~~~~ ~ 8-2^ O u~~~"A 2 P WA -- B-2 - E. __^B-l < _ () I Switch Positions Microwove B-C Switch A — O JPL Airsor 20 dB 0 dB L SIR-C Pad Pod 2Y2iO SIR-C Microwave Switch B T RF In RF Amps/ Heater Connections From PWA -- A-35 ( —----- B-4 ---- To Heater (+24V Node) From PWA ----- - A-36 ( —------ B-3 -— To Amplifiers (RF) (+15V Node) SWII & SW12 (Timer Control() 3 Po IP - 4 Pos i ion Rot or v w I r h T i~mer Svitch Rep ce t NC Pos it ins:unc ion Conne'ttJ Poa s Pos i t i n 1234./ Connection Pads rI2 1 f ime Set C, D G 0 0 o Inside Of Timer LI Ar et, C, 0 2 ~ 0 0 0 ~ ) ) A Ia rm cj e t c, D 2 IIIIIIC Run - Alarm On C 3 I IIII Run - Alarm Off B, C 4 0 A NC B NIC 0 NC NC NC NC

Modifications Mode To Applied Microwove's Detection Circuitry +15V Node On Detection PWA SW9 0.25 Amp -— o V (Token From SW2-A-C R35 / Circuit Breoker On Control PWAI 680 Ohm R39 Power Resistor R36< < 47 Ohm R36 Out Node On 330 Ohm LM31IN 9 Detection PWA U21 -R-3R I 3163 A-39 8v200 ~ m COM l2 Z5 R37 --- U -- 3. 3 ~ ~3 K 3 1 3 T5 ~__A-38 COM________ _ 4 Power Tronsistor A-38 COMY+12 V (Taken From SW-B-C +12 V On Contrcl Panel) - C Larap -8V Fcr RF Switches Detection RSNodRe 5 Reset O RST Node --- On Detection PWA N C. SW8 -15V Node i -8V Req A 40 - L. ^< A-371 ~ l^'Detection Reset On N-7L Detection PWA S YR C-7

GROUND CONNECTIONS A-42 -- A-43 A-44 A-45 A-46 Lzzzz -z14 A-47 _ ___ Control PWA ^ —-------— 4 A48 U Chossis 6ND - - ----— 1L A:^ GNA GND~~~~~~~~~- A-50 Control PWA Dpte on PWA GND ND POWER CONNECTIONS COM Node on \ Detection PWA +12V Node_ I +12V Node on -12V Node on On Control PWDetection PWA Detection PWA Detectionl PWA

APPENDIX D MEASUREMENT AND CALIBRATION PROGRAMS

DO I-l, ndata READ(13,*) EHHU(ITRACE,I) Appendix D ENDDO Scatterometer Calibration Program (Fortran) READ(13,103) DO I-1,ndata JPL AIRSAR / NASA SIR-C SAPARC Project READ(13,*) EHVU(ITRACE, I) ENDDO James J. Ahne READ (13,103) Radiation Laboratory DO I-1,ndata Department of Electrical Engineering and Computer Science READ(13,*) EVHU(ITRACE,I) University of Michigan, Ann Arbor, MI 48109-2122 ENDDO ENDDO!****************************************************************************** c do itrace-1,ntrace C c print *,20*aloglO(cabs(evvu(ITRACE,4))), C THIS PROGRAM CALIBRATES THE SCATTEROMETERS USING THE NEW METHOD. c & 20*aloglO(cabs(ehvu(itrace,4))), C c & 20*aloglO(cabs(evhu(itrace,4))), COMPLEX C,A,All,A12,A21,A22 c 20*aloglO(cabs(ehhu(itrace,4))) COMPLEX EW0O(21),EHHO(21),EVHO(21),EHVO(21) C enddo COMPLEX EVVU (150, 21), EHHU (150, 21), EVHU(150, 21), EHVU (150, 21) C COMPLEX Sll(150,21),S22(150,21),S12(150,21),S21 (150,21) C this is a calibration based on cl-c2 complex SIG1l,SIG22,SIG12,SIG21 DO ITRACE-1, NTRACE character*l, char DO I-l, ndata COMPLEX S0(21) A-EVHO (I) *EHVO (I) / (EWO (I) *EHHO (I)) open (9, file-' sph_14' ) C- (1-CSQRT (1-A)) /CSQRT (A) open(10,file-'sphl4_1') All-(EWU (ITRACE, I) /EW0VVO (I)) (1+C**2) *S0 (I) open (13, file-'lparc_ 2 _00') A22- (EHHU (ITRACE, I) /EHHO (I)) * (1+C* *2) *S0 (I) PI-4.*ATAN(1.) A12- (EVHU(ITRACE, I)/EVHO (I)) * (2*C) *SO (I) ndata-1l A21- (EHVU (ITRACE, I)/EHVO (I)) * (2*C) *SO (I) ntrace-81 S12 (ITRACE, I)-(A12+C**2*A21-C* (All+A22)) / (1-C**2) *2 c cir-(0.6945+1.333)/(1.994+2.424) S21 (ITRACE, I)- (A21+C**2*A12-C* (All+A22)) / (1-C* *2) **2 C READ THEORETICAL VALUE OF SPHERE Sll(ITRACE,I)-(A11+C**2*A22-C*(A12+A21))/(1-C**2)**2 DO I-l, ndata S22 (ITRACE, I)- (A22+C**2*All11-C* (A12+A21)) / (1-C*''2) **2 READ (9, *)DUM, SO(I) ENDDO ENDDO c PRINT *, ITRACE C SPHERE DATA ENDDO READ (10,103) c DO I-1,ndata open(15, file-'lparc2_am_00' ) READ(10,*) evv0(I) open (16, file-'lparc2_ph_00') ENDDO READ (10,103) I-6 DO I-l, ndata mt-41 READ(10,*) ehh0(I) ENDDO 10 continue READ(10,103) print*,'input psi' DO I-l,ndata read*,psi READ(10,*) ehv0(I) psi-psi*3.1415/180. ENDDO READ (10,103) sigll-sll (mt, i) *cos (psi) * *2-sin (psi) *cos (psi) *(sl12 (mt, ) DO I=,ndata & +s21(mt,i)) +s22(mt,) *sin(psi) **2 READ (10,*) evh0(I) sig22-sll (mt, i)*sln(psi)**2+sin(psi)*cos(psi)* (sl2(mt, 1) ENDDO & +s21(mt,i))+s22(mt,i) *cos(psi)**2 c do i=l,ndata sigl2-sin(psi)*cos(psi)*(sll(mt,l)-s22(mt,1))-sln (ps) * * c print *,20*aloglO(cabs(evv0(i))),20*aloglO(cabs(ehvO(i))), & *s21(mt,i)+cos(psi)**2*sl2(mt, 1) c & 20*alogl0(cabs(evhO(i))),20*aloglO (cabs(ehh0(i))) sig21-sin(psi)*cos(psi) * (sll (mt, 1)-s22(mt, 1) )-sIn (psl) *'* c enddo & *sl2 (mt,i)+cos(psi)**2*s21(mt, ) c pause print*, cabs (sigll),cabs (sig22), cabs (slql2),cabs (slq21) C UNKNOWN DATA DO ITRACE=l,ntrace print*,'0 for renew of psi, 1 for stop' READ(13,103) read*, jnk 103 FORMAT(1X) if(jnk.eq.0)goto 10 DO I=l,ndata DO ITR-1,NTRACE READ(13,*) EVVU(ITRACE,I) ANG- (ITR-int (ntrace/2) -1.) *1. ENDDO sigll-sll (itr, 1) *cos (psi) **2-sin (psl) *cos (psl) * (sl 2 ( t r, ) READ(13,103) & +s21(itr,1)) +s22(itr,1)*sin (p1) * *

calibr.ftn Wed Jan 19 11:12:37 1994 2 sig22sll (itr, i) *sin (psi) **2+sin (psi) *cos (psi) * (s2 (itr, i) & +s21 (itr, i) ) +s22 (itr, i) *cos (psi) **2 sigl2-sin (psi) *cos (psi) * (sll (itr, i) -s22 (itr, i) )-sin (psi) **2 6 *s21 (itr, i) +cos (psi) **2*s12 (itr, i) sig21-sin(psi) *cos (psi)* (sll (itr,i)-s22(itr, i))-sin(psi)**2 & *s12 (itr, i) +cos (psi) **2*s21 (itr, i) sll (itr, i)-sigll s22 (itr, i)-sig22 s12 (itr,i)-sigl2 s21 (itr, i) -sig21 WRITE (15, *)ANG, 10.*ALOG10 (4.*PI*cabs(Sll (ITR, I) )**2) &,10.*ALOG10(4.*PI*cabs(S22(ITR,I))**2) &,10.*ALOG10(4.*PI*cabs (S12(ITR,I) )**2) ~& ~,10.*ALOG10(4.*PI*cabs(S21(ITR,I))**2) WRITE (16, *)ANG, PHASE(S22 (ITR, I)/Sll (ITR, I)) &,PHASE (S12(ITR, I)/Sll(ITR, I)) &,PHASE(S21(ITR, I)/Sll(ITR, I)) ENDDO STOP END C******************************************************************** C FUNCTION PHASE(Z) C C******************************************************************* COMPLEX Z PI-4. *ATAN(1.) X-REAL(Z) Y-AIMAG (Z) PHASE-(180./PI) *ATAN2 (Y,X) if(phase.lt.-150.0) phase-phase+360 RETURN END

4**90 MASS STORAGE IS "JIM_CPARC:,700,0" ~~~~~~! ~~ ~~~~~~~~~~~~~~~~~500 Appendix D 510! HP Basic Scatterometer Measurement Program 520! Initialize important parameters. ~~~~~~! ~~ ~~~~~~~~~~~~~~~~530 JPL AIRSAR / NASA SIR-C SAPARC Project 540 DEG 550 Rotation_state=-1 James J. Ahne 560 Current_angle-0. Radiation Laboratory 570 MAT Meas flag- (1) Department of Electrical Engineering and Computer Science 580 Mode$-"FAST ACQ" University of Michigan, Ann Arbor, MI 48109-2122 590 Fdisp-1.600 Pdisp-2 ]****************************************************************************** 610 Printer_flag-0 ~~~~~~! ~~ ~~~~~~~~~~~~~~~~620 10!************************************************************************ 630 Hp_bus_init 20! L/C/X POLARIMETER MEASUREMENT PROGRAM 640 IF Printer flag-1 THEN Out_type$-"PRINT/DISC" 30! FILE: LPARC 2 650! 40 **********************************************660 Vel-2.99792458E+8 50! LAST EDIT: Dec 8, 1993 Change for L-Band SAPARC measurements 670 Ntrace-81 60! 680 Npts-401 70 **********************************************690 Nskip-40 80 OPTION BASE 1 700 Ndata-11 90 COM /Paths/ @Nwa,@Nwa_datal,@Nwa_data2,Netwrk_analyzer,@Hpib,@Relay 710 Average_factor-4 100 COM /Constants/ Vel,Zero(3),Exec_key$[2] 720 AngleS-"0" 110 COM /System_config/ INTEGER Printer_flag,Debug_flag,Version$S[12],Mode$[10],Out_typ 730 Angle-0 e$[10],SoundS[31,Bell$[ll,Target$([30],Ref_target$[30] 740 Ref_angle-0 120 COM /Sys_l/ Freq$(3) (1],Freq_cent (3),Freq_span(3),Gate_cent (3),Gate_span(3) 750 TargetS-"" 130 COM /Sys_2/ Pol$(4) [2],Polsw$(3,4) [8] 760 Sound$-"ON 140 COM /Sys_3/ INTEGER F disp,P_disp 770 Debug_flag-0 150 COM /Sys_4/ Drive_a$[15],Driveb$[15],Drive_c$[15),INTEGER Preamble,Bytes 780 Bell$-CHR$(7) 160 COM /Sys_5/ INTEGER Nskip,Ndata 790 Exec_key$-CHR$(255)&CHR$(88) 170 COM /Sys_6/ Ref_angle,Angle,Angle$[10],Beam(3),INTEGER Npts,Ntrace,Average_factor 800 VersionS-"Version 8.0 180 COM /Sys_7/ INTEGER Meas_flag(3) 810 Exit_flag-0 190 COM /Com4/ INTEGER Rotation_state,REAL Inc_angle,Current_angle,Start_angle,Stop_an 820 Print_bannerl gle,Old_home_angle,INTEGER Sets_per_pos 830! 200 COM /Status/ INTEGER Sc,Connect_flg,Eflg,Debug_flg,Response$[801 840 System memory-VAL (SYSTEM$ ("AVAILABLE MEMORY")) 210! 850 IF FNAsk("INITIALIZE RAM DISK?") THEN 220!860 INITIALIZE Drive_c$,0 230 INTEGER F,I,J,P,T,Meas_flag_old(3),Exitflag,Nt,Nst,Nskh,Npt 870 INITIALIZE Drive_c$,INT((System-memory)/512) 240 DIM Sky_cal_file$(3) [14],01ld_target_name$S[30] 880 ELSE 250 DATA "L","C","X-! FREQUENCY 890 ASSIGN @Is_ it_there TO Drive_cS;RETURN Outcome 260 DATA "VVW',HH","HV","VH" I POLARIZATION 900 IF Outcome-0 THEN 270 DATA 1.25,1.2,1.5! FREQ_CENT 910 CAT Drive_c$;NO HEADER,COUNT Entries 280 DATA.3,.6,.5! FREQ_SPAN 920 IF Entries-0 THEN INITIALIZE Drive_c$,0 290 DATA 12.5,9.0,6.2 1 BEAMWIDTH 930 END IF 300 DATA "?*B3456","?*A34B56","?*A4B356","?*A3B456"! L 940 ASSIGN @Is_it_there TO * 310 DATA "?*B3456","?*A56B34","?*A6B345","?*A5B346"! C 950 END IF 320 DATA "?*A34B56","?*B3456","?*A3B456","?*A4B356"! X 960! 330 DATA ",, 00,0",":,700,1",":MEMORY,0,7"! DRIVE_A,B,C 970 Config_and_poll 340 DATA 200E-9,200E-9,200E-9! GATE CENTERS 980 OUTPUT @Nwa;"TIMDTRANON;LOGM;CONT;" 350 DATA 10E-9,10E-9,10E-9! GATE SPANS 990 OUTPUT @Nwa;"POIN401;" 360 READ Freq$(*) 1000! OUTPUT @Relay;"?*B1256A34" 370 READ Pol$(*) 1010 Series_init 380 READ Freq_cent(*) 1020! 390 READ Freq_span(*) 1030! 400 READ Beam(*) 1040 Start_loop:! 410 READ Polsw$(*) 1050! 420 READ Drive_a$,Drive_b$,Drive_c$ 1060 Print_banner4 430 READ Gate cent(*),Gate_span(*) 1070 ON KEY 0 LABEL " ",FNTr.n lovol r; IT Nil] 440 PRINT Meas flag(*) 1080 ON KEY 1 LABEL " REFERENCE CAL', FNTrap lov,.l (;v'J'! Pf Iar';. t 450! 1090 ON KEY 2 LABEL" TARGET RUN ",FNTrap) lvol <oECJs Ai'?.lr;,t 460! Set up error handling routine. 1100 ON KEY 3 LABEL" SET FREQUENCY", F NT ri; 1 vol CO I'0 F r,:, F 470!1110 ON KEY 4 LABEL " ANGLE ",FNTi.rp lev'l Co (?J..*'.aTr]P 480 LOAD KEY "NOKEY:MEMORY,0,1" 1120 ON KEY 5 LA.3L;L " Ti..;' " ",F:rrp'. -. -;'

1jparc Wed Jan 19 11:04:37 1994 2 1130 ON KEY 6 LABEL " # OF TRACES ",FNTrap level GOSUB Settraces 1770 PRINT TABXY(1,10);"Please remove the reference target from 1ts mount." 1140 ON KEY 7 LABEL " * OF POINTS ",FNTrap level GOSUB Setpoints 1780 PRINT TABXY(1,12);"Press CONTINUE when ridy.,.." 1150 ON KEY 8 LABEL "# OF AVERAGES ",FNTraplevel GOSUB Setaverage 1790 PAUSE 1160 ON KEY 9 LABEL " QUIT ",FNTrap level GOTO Quitfastacq 1800 Clearcrt 1170 GOSUB Allocatematrix 1810 PRINT TABXY(1,14);"Data for the mount Is being collected 1180 LOOP 1820 FOR T=l TO Ntrace 1190 EXIT IF Exitflag=l 1830 FOR F=l TO 3 1200 END LOOP 1840 IF Meas flag(F) THEN 1210 GOSUB Deallocatemtrx 1850 Freq set(F) 1220 Exitflag-0 1860 Freqgsw(F) 1230 GOTO Start-loop 1870 OUTPUT @Nwa; "GATEOFF;" 1240' 1880 OUTPUT @Nwa;"GATECENT";VAL$(Gatecent(F));"S;" 1250 Null: RETURN 1890 OUTPUT 9Nwa;"GATESPAN";VAL$(Gatespan(F));"S;" 1260! 1900 OUTPUT 8Nwa;"GATEON;" 1270! —---------------------------------------------- 1910 FOR P-1 TO 4 1280! 1920 Polsw(F,P) 1290 Reftarget: I Acquire a reference target data set. 1930 OUTPUT 8Nwa;"FORM3;NUMGN;VAL$(Average factor1);WAIT" 1300 1940 OUTPUT @Nwa;"WAIT; OUTPFORM;" 1310 OFF KEY 1950 ENTER @Nwadatal;Preamble,Bytes,Trace(*) 1320 Clear crt 1960 MAT Target response(P,*)- Trace 1330 OUTPUT SNwa;"TIMDTRANON; LOGM; GATEOFF;" 1970 NEXT P 1340 OUTPUT eNwa;"AUTO; ELED 100NS; STAR ONS; STOP 300NS;" 1980 Nskh-Nskip+l 1350 PRINT TABXY(1,10);"Please point scatterometer assembly to reference target." 1990 FOR P-i TO 4 1360 PRINT TABXY(1,12);"Press CONTINUE when ready..." 2000 FOR Nt-Nskh TO Npts STEP Nskip 1370 PAUSE 2010 Nst-INT(Nt/Nskip) 1380 GOSUB Setgates 2020 Targetdata (T,P,Nst) -Target response(PNt) 1390 OUTPUT SNwa;"TIMDTRANOFF; POLA; AVERFACT";VAL$(Averagefactor);";" 2030 NEXT Nt 1400 OUTPUT 6Nwa;"AVEROON" 2040 NEXT P 1410 INPUT "Enter the reference target angle: ",Refangle 2050 END IF 1420 1 2060 NEXT F 1430 1 Get the reference target response. 2070 NEXT T 1440 2080 Store_file(Target_data(*), MNT",FNTImestamp$,F) 1450 FOR T-1 TO Ntrace 2090 Pol sw(Fdisp,Pdisp) 1460 FOR F-i TO 3 2100 DISP "Reference target mount response saved." 1470 IF Measflag(F) THEN 2110 Exit flag-i 1480 Freq_set(F) 2120 RETURN 1490 Freqsw(F) 2130 1 1500 OUTPUT 8Nwa;"GATEOFF;" 2140 1 1510 OUTPUT eNwa;"GATECENT";VAL$(Gatecent(F));"S;" 2150! 1520 OUTPUT @Nwa;"GATESPAN";VAL$(Gate-span(F));'S;" 2160 Acq_target: 1530 OUTPUT @Nwa;"GATEON;" 2170 1540 OUTPUT QNwa;"TIMDTRANOFF;POLA;" 2180 OFF KEY 1550 FOR P-i TO 4 2190 Clearcrt 1560 Polsw(FP) 2200 OUTPUT 8Nwa;"TIMDTRANON; LOGM; GATEOFF;" 1570 OUTPUT QNwa;"FORM3;NUMG";VAL$(Averagefactor+l);";WAIT" 2210 OUTPUT @Nwa;"ELED 10ONS; STAR ONS; STOP 300NS;" 1580 OUTPUT *Nwa;"WAIT; OUTPFORM;" 2220 PRINT TABXY (1,10);"Please point scatterometer assembly at surface target." 1590 ENTER 6Nwadatal; Preamble, Bytes, Trace(*) 2230 PRINT TABXY(1,12);"Press CONTINUE when ready..." 1600 MAT Target response(P,*)- Trace 2240 PAUSE 1610 NEXT P 2250 GOSUB Setgates 1620 Nskh-Nskip+l 2260 OUTPUT 6Nwa;"TIMDTRANOFF; POLA; AVERFACT";VAI,$(Average factor);";" 1630 FOR P-1 TO 4 2270 OUTPUT 8Nwa; "GATEOFF;AVEROON;" 1640 FOR Nt=Nskh TO Npts STEP Nskip 2280 1650 Nst-INT (Nt/Nskip) 2290 Get the target response. 1660 Target data (T,P,Nst)=Target response(P,Nt) 2300! 1670 NEXT Nt 2310 FOR T=l TO Ntrace 1680 NEXT P 2320 1690 END IF 2330 Get angles 1700 NEXT F 2340 1710 NEXT T 2350 IF T=l THEN 1720 Storefile(Targetdata(*),"REF",FNTime_stamp$,F) 2360 Rotationstate=-l 1730 2370 ELSE 1740 1 Get the reference target mount response. 2380 Rotationstate=2 1750! 2390 END IF 1760 BEEP 2400 SELECT Rotation-state

2410 CASE =0 3050! ON KEY 7 LABEL " ",FNTrap level GOSUB Null 2420 Clear_crt 3060! ON KEY 8 LABEL " ",FNTrap level GOSUI Null 2430 PRINT TABXY(1,4);"When ready for measurement, press CONTINUE." 3070 ON KEY 9 LABEL " CANCEL ",FNTrap_level GOTO Cncel and 2440 BEEP 3080! LOOP 2450 PAUSE 3090! EXIT IF Exit_flag-1 2460 Clear_crt (3,16) 3100! END LOOP 2470 PRINT TABXY(1,4);"Collecting data... "3110 GOSUB Setc 2480 CASE ELSE 3120 GOTO Store band 2490 PRINT TABXY(1,4);"Current angle is ";Current_angle;" degrees." 3130 RETURN 2500 Rotate_target! 3140 Set 1: OFF KEY 0 2510 WAIT 1 3150 Meas _flag(l)-l 2520 Clear_crt (3, 16) 3160 F disp=l 2530 PRINT TABXY(1,4);"Collecting data..." 3170 RETURN 2540 END SELECT 3180 Set_ c: OFF KEY 1 2550 FOR F-1 TO 3 3190 Meas flag(2)-1 2560 IF Meas_flag(F) THEN 3200 F_disp=2 2570 Freq_set (F) 3210 RETURN 2580 Freq_sw(F) 3220 Set_x: OFF KEY 2 2590 OUTPUT @Nwa;"GATEOFF;" 3230 Meas_flag(3)-1 2600 OUTPUT @Nwa;"GATECENT";VAL$(Gate_cent(F));"S;" 3240 F disp-3 2610 OUTPUT @Nwa;"GATESPAN";VAL$(Gate_span(F));"S;" 3250 RETURN 2620 OUTPUT @Nwa;"GATEOON; WAIT;" 3260 Storeband: Print_banner4 2630 PRINT Npts,Ntrace,Ndata,Nskip 3270 Exit_flag-l 2640 FOR P-1 TO 4 3280 GOSUB Allocatematrix 2650 Pol _sw(F,P) 3290 RETURN 2660 OUTPUT @Nwa;"NUMG";VAL$(Average_factor);";WAIT; FORM3; OUTPFORM;" 3300 Cancel_band:! 2670 ENTER @Nwa_datal;Preamble, Bytes, Trace (*) 3310 MAT Measflag- Meas flag_old 2680 MAT Target_response(P,*)- Trace 3320 Exit flag-l 2690 NEXT P 3330 GOSUB Allocate matrix 2700 Nskh-Nskip+l 3340 RETURN 2710 FOR P-1 TO 4 3350 1 2720 FOR Nt=Nskh TO Npts STEP Nskip 3360 1 —--- ----------------------------------------------- 2730 Nst-INT (Nt/Nskip) 3370! 2740 Target_data(T,P,Nst)-Target_response(P,Nt) 3380 Set_angle:! 2750 NEXT Nt 3390 INPUT "Enter measurement angle: ",Angle 2760 NEXT P 3400 Angle$-VAL$(Angle)&CHR$(179)&" "! Degree sign. 2770 END IF 3410 Print_banner4 2780 NEXT F 3420 RETURN 2790 PRINT "# OF TRACES LEFT-",Ntrace-T 3430! 2800 NEXT T 3440! —----------------------------------------------------- 2810 Store file(Target_data(*),"GND",FNTime_stampS, F) 3450! 2820 DISP "Surface target data saved." 3460 Set target:! 2830 BEEP 3470 LINPUT "Enter target type or name: ",Targets 2840 Rotation _state-4 3480 Target$-TRIM$S (Target$) 2850 Rotate_target 3490 Target$-Target$&RPT$(" ",30-LEN(TargetS)) 2860 WAIT 5 3500 Print_banner4 2870 BEEP 3510 RETURN 2880 OUTPUT @Nwa;"CONT;" 3520! 2890 Exit flag=l 3530! —----------------------------------------------------- 2900 RETURN 3540! 2910 1 3550 Set_traces:! 2920! —---------------------------------------------- 3560 INPUT "Enter the number of traces( or anglEs) do re( >-1 ): ",Nt ra r 2930!3570 GOSUB Deallocate_mtrx 2940 Freq_set: GOSUB Deallocate_mtrx 3580 GOSUB Allocatematrix 2950 OFF KEY 3590 Print_banner4 2960 MAT Meas_flag_old= Meas_flag 3600 RETURN 2970 MAT Meas _flag= (0) 3610! 2980! Exit flag-0 3620! —--- ------ ------------------------------ -------- 2990 ON KEY 0 LABEL " L BAND ",FNTrap level GOSUB Set_l1 3630 Set_points:! 3000! ON KEY 1 LABEL " C BAND ",FNTrap _level GOSUB Set_c 3640 INPUT "Enter the number of sample points (Npts,?01):'',%'f)t 3010! ON KEY 2 LABEL " X BAND ",FNTrap level GOSUB Set_x 3650 OUTPUT @Nwa;"POIN "&VAL$(Npt.s)";" 3020 ON KEY 4 LABEL " STORE ",FNTrap _level GOTO Store_band 3660 INPUT "Enter the data points to be stored (NdiJt,1,0):",N',ata 3030! ON KEY 5 LABEL ",FNTrap_level GOSUB Null 3670 Nskip=INT(Npts/Ndata) 3040 ON KEY 6 LABEL ",FNTrap_level GOSUB Null 3680Byt^-]6'r!-a

1_parc Wed Jan 19 11:04:37 1994 4 3690 Print_banner4 4330 ENTER @Nwa;Gate_span (F) 3700 GOSUB Deallocate_mtrx 4340 END IF 3710 GOSUB Allocate_matrix 4350 NEXT F 3720 RETURN 4360 RETURN 3730! 4370 3740! —-------------------------------------------- 4380! —-------------------------------------------------- 3750! 4390 3760 Set_average: I 4400 Quit fast_acq:! End of program 3770 INPUT "Enter averaging factor: ",Average_factor 4410 DISP -PROGRAM EXIT3780 Print_banner4 4420 GOSUB Deallocate_mtrx 3790 RETURN 4430 LOAD KEY "EDITKEY:MEMORY,0,1" 3800! 4440 STOP 3810! —------------------------------------------------------------------------ 4450 END 3820! 4460 1 3830 Allocate matrix: I Allocate storage space for data. 4470 1'****************************************************************** 3840!4480! 3850 System_memory=VAL (SYSTEM$S ("AVAILABLE MEMORY")) 4490 DEF FNAsk (Prompt$) 3860 Avail traces-MIN(Ntrace,INT(System_memory-50000-3*4*16.*Npts)/(3*4*16.*Ndata)) 4500 OFF KEY 3870 IF Avail_traces<Ntrace THEN 4510 DISP Prompt$; 3880 BEEP 4520 INPUT "",Yn$ 3890 PRINT TABXY(1,16);"Memory has capacity for only ";Avail_traces;" traces." 4530 Yn$-UPCS(Yn$(l,l]) 3900 PRINT "Press CONTINUE key to continue" 4540 SELECT Yn$ 3910 PAUSE 4550 CASE -"Y" 3920 Ntrace-Avail_traces 4560 RETURN 1 3930 END IF 4570 CASE -"N",-"" 3940 ALLOCATE COMPLEX Trace(Npts),Target_response(4,Npts) 4580 RETURN 0 3950 ALLOCATE COMPLEX Target_data(Ntrace,4,Ndata) 4590 CASE ELSE 3960 RETURN 4600 RETURN 0 3970 Deallocate_mtrx:! Return to main program. 4610 END SELECT 3980! 4620 FNEND 3990 DEALLOCATE Target_response(*),Trace (*) 4630! 4000 DEALLOCATE Target_data(*) 4640!*********************************************************************** 4010 RETURN 4650 1 4020! 4660 DEF FNFileloc$(FileS,Dir$) 4030! —-------------------------------------------- 4670 INTEGER C for the location of the':' in DirS (minus 1) 4040! 4680 LET C-POS(Dir$,":")-l 4050 Set_gates:! Set gate centers and spans. 4690 IF C<-0 THEN 4060! 4700 RETURN TRIMS(File$&Dir$) 4070 FOR F-1 TO 3 4710 ELSE 4080 IF Meas_flag(F) THEN 4720 RETURN DirS[1,C]&RPT$("/",Dir$(C,C]<>"/")&FlleS$Dlr$(C1,lF.N(DlrS) 4090 Freq_set (F) 4730 END IF 4100 Freq_sw(F) 4740 FNEND! Fileloc 4110 P=3 4750! 4120 Pol sw(F,P) 4760!****************************** 4130 OUTPUT @Nwa;"TIMDTRANON; LOGM;" 4770! 4140 OUTPUT @Nwa;"ELED 100NS; STAR ONS; STOP 300NS; WAIT;" 4780 DEF FNTimestamp$(OPTIONAL Time format) 4150 OUTPUT @Nwa;"FORM3; OUTPACTI;" 4790! 4160 ENTER @Nwa;Gate_cent (F) 4800 DIM Time_digits$[4, Year_dlgits$[61 4170 OUTPUT @Nwa;"MARKOFF;" 4810 DIM Machine_time$(8],Machine_date$(11J 4180 OUTPUT @Nwa;"CONT;" 4820 REAL Timedate_now 4190 OUTPUT @Nwa;"GATESPAN";VAL$(Gate_ san(F));"S;" 4830! 4200 OUTPUT @Nwa;"GATECENT";VAL$(Gate_cent(F));"S;" 4840 Timedate_now-TIMEDATE 4210 OUTPUT @Nwa;"KEY41; KEY59; KEY58; KEY59;" 4850 Machine_date$-DATE$(Timedate_now) 4220 LOCAL @Nwa 4860 Machine_timeS$TIMES(Tlmedate_now) 4230 DISP "Adjust gate center to suit, and press CONTINUE." 4870 Time_digits$-Machine_time$([1,21&Machlne time$(4,51 4240 PAUSE 4880 Year _digits$[1,21-Machine _date$(10,]11 4250 C01'PUT eNwa;"OUTPACTI;" 4890 IF Machine_date$(1, 1 -" " THEN Machine dat eS I], 1,-"0" 4260 ENl'ER @Nwa;Gate_cent (F) 4900! 4270 OUTPUT @Nwa;"GATESPAN";VAL$(Gate_span(F));";" 4910 SELECT Machine_date$ [4, 61 4280 OUTPUT @Nwa;"KEY41; KEY59; KEY58; KEY4;" 4920 CASE -"Jan" 4290 LOCAL @Nwa 4930 Year_digits$[3, 41"01" 4300 DISP "Adjust gate span to suit, and press CONTINUE." 4940 CASE -"Feb" 4310 PAUSE 4950 Year_digits$(3, 41-"02" 4320 OUTPUT @Nwa; "OUTPACTT;" *1960 CASE -"Mar"

4970 Year_digits$[3,41]"03" 5610 IF POS(Na_ident$, "8720B") THEN Netwrk analyzer-4 4980 CASE -"Apr" 5620 IF POS(Na_ ident$,"8753A") THEN Netwrk_analyzer-5 4990 Year_digits$([3,41-"04" 5630 IF POS(Na_ident$,"8753B") THEN Netwrk_analyzer-6 5000 CASE -"May" 5640 LOCAL @Nwa 5010 Year_digits$[3,41 "05" 5650 PRINT 5020 CASE -"Jun" 5660 PRINT Na_ident$ 5030 Year_digits$(3,41-"06" 5670 PRINT Netwrk_analyzer 5040 CASE -"Jul" 5680! Clear_crt 5050 Year_digits$[3, 4 ] -"07" 5690 PRINT 5060 CASE -"Aug" 5700 PRINT 5070 Year_digits$([3,41-"08" 5710 IF Netwrk_analyzer-0 THEN 5080 CASE -"Sep" 5720! 5090 Year digits$([3,4]-"09" 5730! 5100 CASE -"Oct" 5740 No _na: BEEP 5110 Year digits$[3,4]-"10" 5750 OFF CYCLE 5120 CASE -"Nov" 5760 PRINT TABXY(1,5);"There is no active network analyzer on the HPIB bus." 5130 Year digits$([3,41-"11" 5770 PRINT TABXY(1,6);"Please check connections, and press the RUN key." 5140 CASE -"Dec" 5780 PRINT 5150 Year_digits$[3,4]-"12" 5790 PRINT TABXY(1,7);"If you DO NOT want to use a network analyzer, press th 5160 END SELECT CONTINUE key." 5170! 5800 PAUSE 5180 Year_digits$[5, 6)-Machine_date$S[l,21 5810 END IF 5190 SELECT NPAR 5820! 5200 CASE -0 5830! 5210 RETURN Year_digits$[5,61&Time_digits$ 5840 Check_hpib:! Check the rest of the bus 5220 CASE -1 5850 ON TIMEOUT 7,.01 GOTO Nothing 5230 IF Time format-l THEN 5860 1 5240 RETURN Year_digits$&Time_digits$ 5870 FOR Device-700 TO 731 5250 END IF 5880 DISP "Checking for device at address: ";Devlce 5260 IF Time format-2 THEN 5890 Device_list$(Device-700)-"NOTHING" 5270 RETURN Year_digits$[3,6]&Time_digits$ 5900 ASSIGN @What_is_lit TO Device 5280 END IF 5910 Outcome-SPOLL(@What_is_it) 5290 END SELECT 5920 Device_ list$(Device-700)-"SOMETHING" 5300 FNEND 5930 PRINT Device,"SOMETHING HERE","spoll: ";Outcome 5310! 5940 ASSIGN @What_is_it TO * 5320!************************************************************************ 5950 Nothing: I Skip to next device 5330! 5960 NEXT Device 5340 DEF FNTrap_level 5970! 5350 RETURN VAL (SYSTEM$S ("SYSTEM PRIORITY")) +1 5980 OFF TIMEOUT 7 5360 FNEND 5990 ASSIGN @What_is_it TO * 5370! 6000 IF Device_list$(1)-"SOMETHING" THEN 5380 *********************************** **** ********************************* 6010 DISP "Position the printer to Top-Of-Form and press CONTINUE..." 5390! 6020 PAUSE 5400 SUB Config_and_poll 6030 PRINTER IS PRT 5410 COM /Paths/ @Nwa,eNwa_datal,eNwa_data2,Netwrk_analyzer,OHpib,SRelay 6040 PRINT CHR$(27)&"&llL";! Set Page Breaks 5420 COM /System/ System_memory 6050 Printer_flag-l 5430! 6060 PRINTER IS CRT 5440! Find out what's out there. 6070 END IF 5450!6080 DEALLOCATE Na_ldent$ 5460 ALLOCATE Device_list$(0:31) [20] 6090 DEALLOCATE Device_list$(*) 5470 ALPHA PEN 4 6100 ABORT @Hpib 5480 KBD LINE PEN 3 6110 SUBEXIT 5490 KEY LABELS PEN 5 6120 SUBEND 5500 Clear_crt 6130! 5510 Netwrk_analyzer-O 6140! ********* ***********************************~**'', 5520 ALLOCATE Na_ ident$[801 6150! 5530 System_memory-VAL(SYSTEM$ ("AVAILABLE MEMORY"))! How much memory for RAM-DISK 6160 SUB Hp bus_lnlt 5540 PRINT "AVAILABLE MEMORY: ";System _memory;" BYTES" 6170 COM /Paths/ @Nwa,@Nwadatal,@Nwa d(ata2,Netwrk an.1yz7r,Ptplt,"JPl.y 5550 ON TIMEOUT 7,4 GOTO No _na! In case there is no network analyzer 6180 COM /Sys_l1/ Freq$(*),Freq_cent(*),Freq span('),GClto cente*),<;lt,. [,).~n() 5560 Is _na: OUTPUT QNwa;"FORM4; OUTPIDEN;" 6190 COM /Sys_2/ Pol$(*),Polsw$(*) 5570 ENTER @Nwa data2;Na ident$ 6200 COM /System_config/ INTEGER Printer flag, Dohuq f larj, Vorion$, Mo<,,,r)i t typr5,,o 5580 IF POS(Na ident$,"8510A") THEN Netwrk analyzer-1 d$, Bell$, Target$, Ref_target$ 5590 IF POS(Na _ident$,"8510B") THEN Netwrk analyzer=2 6210! 5600 IF POS(Na_ident$,"8720A") THEN Netwrk analyzer-3 6220! This subroutine configures the 11t-:.. r! -rt s t F,. K.o'.,

l_parc Wed Jan 19 11:04:37 1994 6 6230! 6860 PRINT "Incorrect month value." 6240 ASSIGN @Hpib TO 7 6870 GOTO Ask 6250 ASSIGN @Nwa TO 716 6880 END IF 6260 ASSIGN @Nwa_datal TO 716;FORMAT OFF 6890 Year$SMonthS(VAL(Chrono$[3,41))&" "&YearS 6270 ASSIGN @Nwa_data2 TO 716;FORMAT ON 6900 Year$-Chrono$[5,6J]& "&Year$ 6280 ASSIGN SRelay TO 710 6910 SET TIMEDATE (DATE(Year$)) 6290 REMOTE @Hpib 6920 IF (VAL(Chrono$[7,8]))>23 THEN 6300 ABORT SHpib 6930 BEEP 6310 CLEAR @Nwa 6940 PRINT "Incorrect hour value." 6320 IF Debug_flag-1 THEN OUTPUT eNwa;"DEBUON;" 6950 GOTO Ask 6330 IF Debug flag=0 THEN 6960 END IF 6340 OUTPUT @Nwa;"DEBUOFF;" 6970 Day$-Chrono$[7,8 &":" 6350 OUTPUT @Nwa;"TITL """&Freq$(2)&" BAND "" 6980 IF VAL(Chrono$[9,10])>59 THEN 6360 END IF 6990 BEEP 6370 SUBEND 7000 PRINT "Incorrect minute value." 6380! 7010 GOTO Ask 6390!************************************************************************* 7020 END IF 6400! 7030 Day$-Day$&Chrono$ [9,10)&":" 6410 SUB Series_init 7040 IF (LEN(Chrono$)>10 AND LEN(ChronoS)-12) THEN 6420 COM /System_config/ INTEGER Printer_flag,Debug_flag,Version$,Mode$,Out_type$,Sound 7050 IF VAL(Chrono$([11,121)>59 THEN $,Bell$,Target$,Reftargets 7060 BEEP 6430 DIM Input$[801 7070 PRINT "Incorrect seconds value." 6440 1 7080 GOTO Ask 6450 I This subroutine prints a header for the printout and sets the system 7090 END IF 6460! date and time. 7100 Day$-Day$&Chrono$[11,121 6470 1 7110 ELSE 6480 IF Printer_flag-1 THEN PRINTER IS PRT 7120 Day$-Day$S&00" 6490 PRINT CHR$ (12) 7130 END IF 6500 Set clock 7140 SET TIME TIME (DayS) 6510 I LINPUT "ENTER MEASUREMENT SERIES TITLE",Input$S 7150 Clear_crt 6520 1 Preface$-"*"&RPT$(" ",9) 7160 SUBEXIT 6530! PRINT RPT$("*-,70) 7170 SUBEND 6540! PRINT Preface$&Input$S 7180 1 6550 I LINPUT "ENTER OPERATOR NAME",Input$ 7190 ******************************** ************** *********'*. 6560! PRINT Preface$&Input$S 7200! 6570 PRINTER IS CRT 7210 SUB Fix_error 6580 PRINT 7220 SELECT ERRN 6590 PRINT 7230 CASE ELSE 6600 PRINT Preface$&"MEASUREMENT SERIES STARTED AT "&TIME$(TIMEDATE) 7240 PRINTER IS CRT 6610 PRINTER IS CRT 7250 PRINT "ERROR ";ERRN 6620 SUBEND 7260 PRINT ERRM$ 6630! 7270 PRINT " PROGRAM IS PAUSED. FIX ERROR, IF POSSIBI,, AND CONTINUE." 6640!************************************************************************* 7280 PAUSE 6650! 7290 END SELECT 6660 SUB Set_clock 7300 SUBEND 6670 OPTION BASE 1 7310! 6680 INTEGER I 7320!************************************** **^^ *^^*^ f 6690 DIM Chrono$[121,Month$(12) [3] 7330 6700 Exec_key$-CHR$(255)&CHR$(88) 7340 SUB Clear_crt(OPTIONAL INTEGER Start_llne,Num of lines) 6710 READ MonthS(*) 7350! 6720 DATA "JAN", "FEB", MAR", -APR", "MAY", "JUN", "JUL", -AUG", -SEP",-OCT", "NOV, "DEC- 7360 INTEGER I 6730 OUTPUT KBD;"SCRATCH KEY "&ExeckeyS; 7370 DIM Clear_lineS (80] 6740 Clear_crt 7380 Clear_lineS=" 6750 PRINT " Current system date: ";DATES(TIMEDATE) 7390 IF NPAR-0 THEN 6760 PRINT " Current system time: ";TIME$(TIMEDATE) 7400 OUTPUT KBD;CHR$(255)&CHR$(75); 6770 PRINT 7410 ELSE 6780 Ask: LINPUT "Enter date and time (YYMMDDHHMMss):",Chrono$ 7420 PRINT TABXY(1,Start_llne);"";RPT$(Clear llneS,Num of Iln..) 6790 IF Chrono$-"" AND DATE$ (TIMEDATE)<>" 1 Mar 1900" THEN 7430 PRINT TABXY(1,Start_line);""; 6800 Clear_crt 7440 SUBEXIT 6810 SUBEXIT 7450 END IF 6820 END IF 7460 SUBEND 6830 Year$=VAL$(1900+VAL(Chrono$[1,21)) 7470! 6840 IF (VAL(Chrono$[3,4])<-O OR VAL(Chrono$[3,4])>12) THEN 7480!********************************************..**.* 6850 BEEP 7490!

7500 SUB Print_bannerl 8120 PRINT " * OF SAMPLE POINTS ";Npts 7510 Clear_crt 8130 PRINT " * OF DATA POINTS ";Ndata 7520 PRINT 8140 PRINT " (to be stored) 7530 PRINT 8150 PRINT " * OF AVERAGES ";Average_factor 7540 PRINT TABXY(3,16);"************************************************" 8160 SUBEXIT 7550 PRINT TABXY(4,16);* *8170 SUBEND 7560 PRINT TABXY(5,16);"* LCX *" 8180! 7570 PRINT TABXY(6,16);* UNIVERSITY OF MICHIGAN RADIATION LAB *" 8190!************************************************************************ 7580 PRINT TABXY(7,16);"* L/C/X MEASUREMENT PROGRAM *" 8200 1 7590 PRINT TABXY(8,16);"* (VERSION 8.0) *" 8210 SUB Store file(COMPLEX Matrix(*),File_type$,Filename$,INTEGER F) 7600 PRINT TABXY(9,16);"* *" 8220! 7610 PRINT TABXY(10,16);"* May 21, 1990 *8230 COM /Sys_l/ Freq$(*),Freq_cent(*),Freqspan(*),Gate_cent(*),Gate span(*) 7620 PRINT TABXY(11,16); "* *" 8240 COM /Sys_2/ Pol$(*),Polsw$(*) 7630 PRINT TABXY(12,16);************************************************" 8250 COM /Sys_5/ INTEGER Nskip,Ndata 7640 SUBEXIT 8260 COM /Sys_6/ Ref_angle,Angle,Angle$,Beam(*),INTEGER Npts,Ntrace,Averagefactor 7650 SUBEND 8270 COM /Sys_7/ INTEGER Meas_flag(*) 7660! 8280 COM /Systemconfig/ INTEGER Printer_flag,Debug_flag,Verslon$,Mode$,Out_type$,S 7670 ************************************************************************* und$,Bell$,Target$,Ref_targetS 7680! 8290! 7690 SUB Print_banner2 8300! 7700 PRINT "Don't use Print_banner2." 8310 INTEGER Records_per_set,T 7710 SUBEND 8320 REAL Bytes_per_set 7720! 8330 DIM Suffix$ [2 7730 ************************************************************************ 8340 ALLOCATE COMPLEX Trace(Ndata) 7740! 8350! 7750 SUB Print banner3 8360 7760 PRINT "Don't use Print banner3." 8370 DISP "Saving file." 7770 SUBEND 8380 SELECT File_typeS 7780! 8390 CASE -"SKY" I Sky data. 7790 ************************************************************************* 8400 Bytes per set-16*Ndata 7800 1 8410 Records_per_set-4*SUM(Meas_flag)*Ntrace 7810 SUB Print banner4 8420 IF SUM(Meas_flag)-3 THEN 7820 COM /Paths/ @Nwa,ENwa_datal, Nwa_data2,Netwrkanalyzer,eHpib,eRelay 8430 Suffix$-"SAN 7830 COM /Constants/ Vel, Zero (*),Exec key$ 8440 ELSE 7840 COM /System_config/ INTEGER Printer_flag,Debug_flag,Version$,Mode$,Out_type$,Soun 8450 FOR F-1 TO 3 d$, Bell$, TargetS, Ref_targetS 8460 IF Meas_flag(F)-1 THEN 7850 COM /Sys_l/ Freq$(*),Freq_cent (*),Freq_span(*),Gate_cent(*),Gate_span(*) 8470 Mf-F 7860 COM /Sys_2/ Pol$(*),Polsw$(*) 8480 END IF 7870 COM /Sys_3/ INTEGER F_disp,P_disp 8490 NEXT F 7880 COM /Sys_4/ Drive_a$,Drive_b$,Drive_cS,INTEGER Preamble,Bytes 8500 Suffix$-"S"&Freq$(Mf) 7890 COM /Sys_5/ INTEGER Nskip,Ndata 8510 END IF 7900 COM /Sys_6/ Ref_angle,Angle,Angle$,Beam(*),INTEGER Npts,Ntrace,Average_factor 8520 GOSUB Save_hpux 7910 COM /Sys_7/ INTEGER Measflag(*) 8530! GOSUB Save_traces 7920! 8540! 7930! 8550! 7940 OFF KEY 8560 CASE -"REF' 7950 Clear_crt 8570 Bytes_per_set-16*Ndata 7960 PRINT 8580 Records_per_set-4*SUM(Meas_flag)*Ntrace 7970 PRINT 8590 IF SUM(Meas_flag)-3 THEN 7980 PRINT " PARAMETER CURRENT VALUE" 8600 Suffix$-"RA" 7990 PRINT 8610 ELSE 8000 PRINT " FREQUENCY "; 8620 FOR F-1 TO 3 8010 FOR F=1 TO 3 8630 IF Meas_flag (F)-1 THEN 8020 IF Meas _flag(F) THEN PRINT Freq$(F)&" "; 8640 Mf=F 8030 NEXT F 8650 END IF 8040 PRINT " 8660 NEXT F 8050 PRINT " 8670 Sufflx$-"R"&Freq$(Mf) 8060 PRINT " ANTENNA ANGLE "&AngleS 8680 END IF 8070 PRINT " TARGET TYPE "&TargetS 8690 GOSUB Savehpux 8080 PRINT " MEASUREMENT MODE "&ModeS&" " 8700! GOSUB Save_traces 8090! PRINT " CURRENT DISPLAY "&FreqS(F_disp)&" "&PolS$(P_d 8710 isp); 8720! 8100 PRINT " 8730 CASE -"MNT" 8110 PRINT " # OF TRACES/SET ";Ntrace 8740 Byten p-_ set-16*Ndata

l_parc Wed Jan 19 11:04:37 1994 8 8750 Records_per_set=4*SUM(Meas_flag)*Ntrace 9390 NEXT P 8760 IF SUM(Meas_flag)-3 THEN 9400 Base record-Base record+4 8770 Suffix$="MAN 9410 END IF 8780 ELSE 9420 END IF 8790 FOR F=i TO 3 9430 NEXT F 8800 IF Meas_flag (F) - THEN 9440 ASSIGN @Disc TO * 8810 Mf=F 9450 RETURN 8820 END IF 9460! 8830 NEXT F 9470! —-------------------------------- 8840 Suffix$-"M"&Freq$ (Mf) 9480! 8850 END IF 9490 Save_hpux:! 8860 GOSUB Save_hpux 9500! Save data in HP-UX format. 8870! GOSUB Savetraces 9510! 8880! 9520 IF NOT Debug_flag THEN 8890! 9530 CREATE Filename$&Suffix$&Drive_c$,240000 8900 CASE -"GND" 9540 END IF 8910 Bytes_per_set-16*Ndata 9550 IF Debug_flag THEN 8920 Records _per_set-Ntrace*4*SUM(Meas_flag) 9560 ASSIGN SDisc TO PRT 8930 IF SUM(Meas_flag)-3 THEN 9570 FOR T-1 TO Ntrace 8940 Suffix$-"GA" 9580 FOR F-1 TO 3 8950 ELSE 9590 IF Measflag(F)-l THEN 8960 FOR F-1 TO 3 9600 FOR P-1 TO 4 8970 IF Meas_flag(F)-l THEN 9610 MAT Trace- Matrix (T,P, * ) 8980 Mf-F 9620 OUTPUT eDisc;Trace(*) 8990 END IF 9630 NEXT P 9000 NEXT F 9640 END IF 9010 Suffix$-"G"&Freq$ (Mf) 9650 NEXT F 9020 END IF 9660 NEXT T 9030 GOSUB Save_hpux 9670 ELSE 9040! GOSUB Save_traces 9680 ASSIGN 9Disc TO Filename$&Suffix$&Drive_cS;FORMAT ON 9050 END SELECT 9690 FOR T-1 TO Ntrace 9060 DEALLOCATE Trace(*) 9700 FOR F-1 TO 3 9070 SUBEXIT 9710 IF Meas flag(F)-1 THEN 9080! 9720 FOR P-1 TO 4 9090 1 9730 MAT Trace- Matrix (T,P,*) 9100 Save_averaged:! 9740 OUTPUT @Disc;Trace(*) 9110 1 Save the reference data file. 9750 NEXT P 9120! 9760 END IF 9130 IF NOT Debug_flag THEN 9770 NEXT F 9140 CREATE BDAT Filename$&Suffix$&Drive_c$, Records_per_set, Bytes_per_set 9780 NEXT T 9150 END IF 9790 END IF 9160 Base record-0 9800 ASSIGN Dilsc TO * 9170 FOR F-1 TO 3 9810 RETURN 9180 IF Meas_flag(F)-l THEN 9820! 9190 IF Debug_flag THEN 9830! —--------------------------------------------------- 9200 ASSIGN @Disc TO PRT 9840! 9210 OUTPUT eDisc;"FILE: ",Filename$,Suffix$ 9850 Save_traces:! 9220 OUTPUT SDisc USING Image_l;Version$,Freq_cent(F),Freq_span(F) 9860! Save the ground target data file. 9230 OUTPUT @Disc USING Image_2;Ndata,Average_factor 9870! 9240 OUTPUT 8Disc USING Image_3;Ref_target$,T 9880 IF NOT Debug_flag THEN 9250 FOR P-1 TO 4 9890 CREATE BDAT Filename$&Suffix$&Drive c$,Records per spt,BytPS per Ret 9260 OUTPUT @Disc USING Image_4;Pol$(P),Gate_cent(F),Gate_span(F) 9900 Base_record-0 9270 MAT Trace- Matrix(1,P,*) 9910 END IF 9280 OUTPUT @Disc;Trace(*) 9920 IF Debug_flag THEN 9290 NEXT P 9930 ASSIGN @Disc TO PRT 9300 ELSE 9940 OUTPUT eDisc; "FILE: ";Fi lenameS;Suf f 1 x$ 9310 ASSIGN @Disc TO Filename$&Suffix$&Drive_ c$;FORMAT OFF 9950 OUTPUT @Disc USING Image_5;Ndata,Ntrace 9320 OUTPUT @Disc,Base_record+l;Version$,Freq _cent (F),Freq_span(F) 9960 OUTPUT @Disc USING Image_3;Tarqet$ 9330 OUTPUT @Disc,Base_record+l;Ndata,Average_factor 9970 FOR T-1 TO Ntrace 9340 OUTPUT @Disc,Base_record+l;Ref_target$,T 9980 FOR F=l TO 3 9350 FOR P-1 TO 4 9990 IF Meas_flag(F)-l THEN 9360 OUTPUT @Disc, Base_record+P;Pol$(P),Gate_cent(F),Gate_span(F) 10000 OUTPUT @Disc USING Imaqee l;VersionS, Freq crnt (F, F r^.lr,(Fi( 9370 MAT Trace- Matrix(1,P,*) 10010 FOR P-1 TO 4 9380 OUTPUT @Disc, Base_record+P;Trace(*) 10020 OUTPUT @Disc USING Imn7 P.1 (),..'

10030 MAT Trace= Matrix(T,P,*) 10660 COM /Paths/ @Nwa,@Nwa_datal,@Nwa_data2,Netwrk analyzer,@Iplb,@Rolay 10040 OUTPUT @Disc;Trace(*) 10670 SELECT Ifreq 10050 NEXT P 10680 CASE 1 10060 END IF 10690 OUTPUT @Relay;"?*A2Bl" 10070 NEXT F 10700 CASE 2 10080 NEXT T 10710 OUTPUT @Relay;"?*A1B2" 10090 ELSE 10720 CASE 3 10100 ASSIGN @Disc TO Filename$&Suffix$&Drive_c$;FORMAT OFF 10730 OUTPUT @Relay;"?*B12" 10110! OUTPUT @Disc,l;Ndata,Ntrace 10740 END SELECT 10120! OUTPUT @Disc, 1;Target$ 10750 WAIT.1 10130 FOR T=1 TO Ntrace 10760 SUBEND 10140 FOR F-1 TO 3 10770! 10150 IF Meas flag(F)-1l THEN 10780 I*********************************************************************** 10160 1 OUTPUT @Disc,Base_record+l;Version$,Freq_cent (F),Freq_span(F) 10790 1 10170 FOR P-1 TO 4 10800 SUB Pol _sw(INTEGER Ifreq, Ipol) 10180! OUTPUT eDisc,Base_record+P;Pol$(P),Gate_cent(F),Gate_span(F),T 10810 COM /Paths/ eNwa,@Nwa_datal,@Nwa_data2,Netwrkanalyzer,PHplb,PRelay 10190 MAT Trace- Matrix(T,P,*) 10820 COM /Sysl/ Freq$(*),Freq_cent(*),Freq_span(*),Gate_cent(*),Gate_pan(*) 10200 OUTPUT SDisc,Base_record+P;Trace(*) 10830 COM /Sys_2/ Pol$(*),Polsw$(*) 10210 NEXT P 10840! 10220 Base record-Base record+4 10850! This subroutine sets the transmit and receive polarization by 10230 END IF 10860 I sending the proper command over the HPIB to the polarization 10240 NEXT F 10870 I relays. 10250 NEXT T 10880! 10260 END IF 10890 OUTPUT @Relay;Polsw$(Ifreq, Ipol) 10270 ASSIGN @Disc TO * 10900 OUTPUT @Nwa;"TITL "" "&Freq$(Ifreq)&" BAND - "&PolS (Ipol) """" 10280 RETURN 10910 WAIT.1 10290 1 10920 SUBEND 10300! —----------------------------------------------------------------------- 10930 1 10310 1 10940 I********************************************** ******** ***** 10320 Image_1:IMAGE (lX,12A,5X,"FREQ CENTER: ",2D.4D,5X,"FREQ SPAN: ",2D.4D) 10950 1 10330 Image_2:IMAGE ("NUMBER OF POINTS: ",5D,5X,"NUMBER OF AVERAGES: ",5D) 10960 SUB Rotate_target 10340 Image_3:IMAGE ("TARGET: ",30A,"GATING TARGET TYPE: ",2D) 10970 OPTION BASE 1 10350 Image_4:IMAGE ("POLARIZATION: ",2A,5X,"GATE CENTER: ",SD.14DE,/,5X,"GATE SPAN: ",S 10980 COM /Com4/ INTEGER Rotation_state,REAL Inc_angle,Current_angle,Start angle,Stop an D.14DE,"TRACE: ",3D) le,Old_home_angle,INTEGER Sets_per_pos 10360 Image_5:IMAGE ("NUMBER OF POINTS: ",5D,5X,"NUMBER OF TRACES: ",5D) 10990 COM /Status/ INTEGER Sc,Connect_flg,E_flg,Debug_flg,ResponseS1801 10370 Image_6:IMAGE (5X, SD.14DE,5X,SD.14DE) 11000 INTEGER Fs_flag,Ss_flag,Speed,Imc_status,Confirm_answer 10380 SUBEND 11010 1 10390! 11020 1 10400!************************************************************************* 11030 Confirm answer-1 10410! 11040 Imc_status-0 10420 SUB Freq_set (INTEGER Ifreq) 11050 Debug_flg-0 10430 COM /Paths/ @Nwa,@Nwa datal,@Nwadata2,Netwrkanalyzer,@Hpib,SRelay 11060 Fs_flag —l 10440 COM /Sys_l/ Freq$(*),Freq_cent(*),Freq_span(*),Gate_cent(*),Gate_span(*) 11070 Ss_flag —l 10450! 11080 Clear_crt(3,16) 10460! This subroutine sets the transmit frequency for the HP8753. 11090! 10470! 11100! 10480 IF Ifreq-1 THEN 11110 SELECT Rotation_state 10490 OUTPUT @Nwa;"POWE0" 11120 CASE — 1 10500 ELSE 11130 IF FNAsk("Do you wish to use the rotator?") THEN 10510 OUTPUT @Nwa;"POWE-10" 11140 Connect_flg-0 10520 END IF 11150 GOSUB Init_lmc 10530 SELECT Netwrk analyzer 11160 GOSUB Inlt_graph_pos 10540 CASE -3,-4,-5,-6 11170 GOSUB Manual loop 10550 OUTPUT @Nwa;"TIMDTRANOFF;" 11180 PRINT "Set Auto Mode Please..... 10560 CASE -1,=2 11190 ELSE 10570 OUTPUT @Nwa;"FREQ;" 11200 Rotation_state-0 10580 END SELECT 11210 GCLEAR 10590 OUTPUT @Nwa;"CENT "&VAL$(Freq_cent(Ifreq) )&" GHZ;" 11220 GRAPHICS OFF 10600 OUTPUT @Nwa;"SPAN "&VAL$(Freq_span(Ifreq))&" GHZ;" 11230 END IF 10610 SUBEND 11240 CASE -0 10620! 11250 SUBEXIT 10630!************************************************************************* 11260 CASE -1 10640!11270 GOSUB Checkposition 10650 SUB Freq_sw(INTEGER Ifreq) 11280 GOSUB Print _ngles

l_parc Wed Jan 19 11:04:37 1994 10 11290 GOSUB Manual_loop 11930 ON KEY 5 LABEL "SLOW SLEW CW ",FNTrap level GOSUB Ss cw 11300 CASE -2 11940 ON KEY 6 LABEL "SLOW SLEW CCW ",FNTrap_level GOSUB Ssccw 11310 GOSUB Check_position 11950 ON KEY 2 LABEL "MANUAL CONTROL",FNTraplevel GOSUB Manual 11320 GOSUB Auto 11960 ON KEY 3 LABEL "TARGET GO HOME",FNTraplevel GOSUB Gohome 11330 CASE -3 11970 ON KEY 4 LABEL "STOP ROTATION ",FNTrap_level GOSUB Stop_turn 11340 GOSUB Check_position 11980 ON KEY 7 LABEL "SET AUTO MODE ",FNTrap_level GOSUB SetIauto 11350 GOSUB Manual_loop 11990 ON KEY 8 LABEL "SET TARGET HOME",FNTrap_level GOSUB Set position 11360 GOSUB Auto 12000 ON KEY 9 LABEL "RETURN,FNTraplevel GOTO Quit 11370 CASE -4 12010 GOSUB Check_position 11380 GOSUB Check_position 12020 END LOOP 11390 GOSUB Gohome 12030 I 11400 CASE -5 12040 1 ----------------------------------- 11410 GOSUB Check _position 12050! 11420 Rotation_state-1 I Switch to manual mode. 12060 Fscw:! Fast slew clockwise. 11430 END SELECT 12070 IF Fsflag<O THEN 11440 SUBEXIT 12080 Comm("4SP500") 11450 I 12090 Comm("4SFN") 11460!12100 Fs_flag —l*Fs_flag 11470 Init_imc: I Initialize the IMC unit. 12110 Clear_crt(3,15) 11480 GOSUB Check_4_fault 12120 PRINT TABXY(1,15);"ROTATING CW (FAST)" 11490 PRINT TABXY(1,3);"'INITIALIZING IMC" 12130 ELSE 11500 Clearcrt(4,15) 12140 Comm("4ST") 11510 Comm('4WB1)! Set warm boot (clear flags). 12150 Fsflag —l*Fs flag 11520 PRINT TABXY(1,4);"WB" 12160 Clear crt(3,15) 11530 Comm('4EB")! Clear IMC buffer. 12170 PRINT TABXY(1,15);"ROTATION STOPPED" 11540 PRINT TABXY(1, 4);EBN 12180 GOSUB Checkposition 11550 Encoderratio-4096 [ 32000 12190 END IF 11560 Comm("4ER'&VAL$(Encoder_ratio))! Load encoder ratio. 12200 RETURN 11570 PRINT TABXY (1, 4);"ER"&VAL$ (Encoder_ratio) 12210 I 11580 IF FNAsk("Do you wish to set home at the current position?") THEN 12220 -! —---------—. ----------------- 11590 Comm("4RS'",Confirmanswer) 12230 1 11600 ENTER Response$;Old_home_angle 12240 Fs_ccw:! Fast slew counterclockwise. 11610 Oldhome_angle-Old_home_angle/93.3 12250 IF Fs flag<0 THEN 11620 Comm("4PIZO")! Set IMC at 0. 12260 Comm("4ST") 11630 PRINT TABXY(1,4);NPIZ"&RPT$(" ",LEN(VAL$(Encoder_ratio))) 12270 Comm("4SP500") 11640 Comm(4PIAO0) I Set IMC at 0. 12280 Comm("4SRNW) 11650 PRINT TABXY(1,4);"PIA" 12290 Fs flag —l*Fs_flag 11660 Current_angle-0 12300 Clear_crt(3, 10) 11670 END IF 12310 PRINT TABXY(1,15);"ROTATING CCW (FAST)" 11680 Comm("4SP100'")! Set speed to (50pps). 12320 ELSE 11690 PRINT TABXY(1,4);"SP "&RPT$(" ",LEN(VAL$(Encoder_ratio))) 12330 Comm("4ST") 11700 Comm("4AC500")! Set acceleration (500pps^2). 12340 Fsflag —l*Fs flag 11710 PRINT TABXY(1,4);"AC" 12350 Clear crt(3,15) 11720 Comm("4DC500")! Set deceleration (500ppsA2). 12360 PRINT TABXY(1,15);"ROTATION STOPPED" 11730 PRINT TABXY(1,4);"DC " 12370 GOSUB Check_position 11740 GOSUB Checkposition 12380 END IF 11750 Rotationstate-1 12390 RETURN 11760 Clearcrt 12400! 11770! 12410 1 --------------------------------------------------- 11780! 12420 1 11790 PRINT TABXY(1,4);"DONE INITIALIZING IMC" 12430 Sscw:! Slow slew clockwise. 11800 PRINT TABXY(1,5);"Turntable currently in manual mode." 12440 IF Ssflag<0 THEN 11810 PRINT TABXY(1,6) 12450 Comm( 4ST") 11820 Print_angles:! 12460 INPUT "Speed?",Sp 11830 PRINT TABXY(1,7);"Current angle is: ";Currentangle;" degrees." 12470 Comm("4SP"&VAL$(INT(Sp))) 11840 PRINT TABXY(1,8);"Starting angle is: ";Startangle;" degrees." 12480 Comm("4SFN") 11850 PRINT TABXY(1,9);"Stopping angle is: ";Stop_angle;" degrees." 12490 Ss_flag —l*Ss_flag 11860 RETURN 12500 Clearcrt(3,15) 11870! 12510 PRINT TABXY(1,15);"ROTATING CW (SLOW)" 11880! 12520 ELSE 11890 Manual_loop:! Main activation loop. 12530 Comm("4ST") 11900 LOOP 12540 Ssflag=-l*Ss_flag 11910 ON KEY 0 LABEL "FAST SLEW CW ",FNTrap_level GOSUB Fs_cw 12550 Clearcrt (3,15) 11920 ON KEY 1 LABEL "FAST SLEW CCW ",FNTrap_level GOSUB Fsccw 12560 PRINT TABXY(1,15);"ROTATTON STOPPt1"

12570 GOSUB Check_position 13200! 12580 END IF 13210 Stop_turn:Comm("4ST") 12590 RETURN 13220 WHILE NOT BIT (Imc_status, 0)! Wait for motor to stop. 12600! 13230 Comm("4RS",Confirm_answer) 12610! —-------------------------------------------------- 13240 ENTER Response$;Imc_status 12620! 13250 WAIT.1 12630 Ss_ccw:! Slow slew counterclockwise. 13260 END WHILE 12640 IF Ss_flag<0 THEN 13270 Clear_crt(3,16) 12650 INPUT "Speed?",Sp 13280 PRINT TABXY(1,15);"ROTATION STOPPED" 12660 Comm("4SP"&VAL$(INT(Sp))) 13290 GOSUB Check_position 12670 Comm("4SRN") 13300 Imc_status-0 12680 Ss_flag —l*Ss flag 13310 RETURN 12690 Clear_crt(3,15) 13320! 12700 PRINT TABXY (1,15);"ROTATING CCW (SLOW)" 13330! —---------------------------------------------------- 12710 ELSE 13340! 12720 Comm("4ST") 13350 Set_auto: Comm("4SP500") 12730 Ss_flag —l*Ss flag 13360 GOSUB Check_position 12740 Clear_crt(3,15) 13370 Clear_crt(3,16) 12750 PRINT TABXY(1,15);"ROTATION STOPPED" 13380 PRINT TABXY(1,3);"Current starting angle: ";Start_angle;" degrees" 12760 GOSUB Check_position 13390 PRINT TABXY(1,4);"Current increment angle: ";Inc_angle;" degrees" 12770 END IF 13400 PRINT TABXY(1,5);"Current stopping angle: ";Stop_angle;" degrees" 12780 RETURN 13410 PRINT TABXY(1,6);"Current rotation speed: ";Speed 12790! 13420 PRINT TABXY(1,7);RPT$(" ",80) 12800! —---------------------------—. —----—. —------ 13430 PRINT TABXY(1,8);"Rotator positioned at: ";Current_angle;" degrees" 12810! 13440 INPUT "Enter starting angle value (degrees): ",Startangle 12820 Manual: INPUT "ANGLE (IN DEGREES)-?",Inc angle 13450 INPUT "Enter increment angle (degrees): ",Inc angle 12830 INPUT "SPEED? (-100-~500 RECOMMENDED)",Speed 13460 INPUT "Enter stopping angle (degrees): ",Stop_angle 12840 Comm("4SP"&VAL$ (Speed) 13470 INPUT "Enter rotation speed of target (-500 recommendpd): ",Speed 12850 Auto: SELECT Rotationstate 13480 Speed-INT (Speed) 12860 CASE -4 13490 Comm("4SP"&VAL$ (Speed)) 12870 GOSUB Go home 13500 IF ABS(Start_angle-Current_angle)>.l THEN 12880 Rotation state-2 13510 PRINT TABXY(1,9);RPT$(" ",80) 12890 GOTO Auto 13520 PRINT TABXY(1,10);"Rotating target to starting angle..." 12900 CASE ELSE 13530 Temp_angle-Inc_angle 12910 Angl2-Inc_angle*93.3 13540 Inc_angle-Start_angle-Current_angle 12920 Angll-INT (Angl2) 13550 GOSUB Auto 12930 IF Angl2-Angll>-.5 THEN Angll-Angll+1 13560 Inc_angle-Temp_angle 12940 I Current_angle-Current_angle+Inc_angle 13570 END IF 12950 Inc_angle$-VAL$ (Angll) 13580 Rotation_state-2 12960 Comm ("4IM"&Inc _angleS) 13590 Clear_crt 12970 Comm("4RFI") 13600 PRINT TABXY(1,20);"Turntable is In automatic modo. (press the RETURN sof 12980 END SELECT key)" 12990 Imc_status=0 13610 RETURN 13000 Clear crt(3,7) 13620! 13010 PRINT TABXY(1,14);"ROTATING TARGET, PLEASE WAIT." 13630! —------------------------------------------------ 13020! 13640! 13030! 13650 Set_position:INPUT'LOCK IN CURRENT TARGET POSITION AS REFFRFNCE POSITION?",YnS 13040 WHILE NOT BIT(Imc_status, 0)! Wait for motor to stop. 13660 IF Yn$-"Y" OR Yn$S-"y" THEN 13050 Comm("4RS",Confirm_answer) 13670 Comm("4RS",Confirm answer) 13060 ENTER Response$;Imc_status 13680 ENTER ResponseS;Old_home_angle 13070 PRINT TABXY(1,15);DVAL$(Imc_status,2) 13690 Old_home_angle-Old_home_angle/93.3 13080 GOSUB Check_position 13700 Comm("4PIAO")! Set absolute position to zero. 13090 WAIT 1 13710 Comm("4PIZ0")! Set incremental postition to zoro. 13100 END WHILE 13720 Current_angle-0 13110 Imc status=0 13730 ELSE 13120! 13740 PRINT "POSITION WAS NOT SET." 13130! 13750 END IF 13140 Clear_crt(3,16) 13760 RETURN 13150 PRINT TABXY(1,16);"CURRENT TARGET POSITION IS ";Current_angle;" DEGREES. 13770! of 1 0 - - - - - — 13780! —----- -------- ---------------------------- 13160 WAIT 2! Wait for target settling. 13790! 13170 RETURN 13800 Go_home: IF Speed<200 THEN Speed-200 13180! 13810 Comm("4SP"&VAL$(Speed)) 13190! —----------------------------------------- 13820 Comm(4AMO")! Move to 7oro abolute position.

lparc Wed Jan 19 11:04:37 1994 12 13830 Comm("4RAN") I Initiate movement. 14460! —---------------------------------------------------- 13840 Comm("4MW")! Make sure the move is completed. 14470! 13850 Imc_status-0 14480 Init_graph_pos:! Creates a graphical depiction of where the target is. 13860 Clear_crt(3,15) 14490! 13870 PRINT TABXY(1,14);"ROTATING TARGET TO HOME POSITION, PLEASE WAIT." 14500 GINIT 13880 WHILE NOT (BIT(Imc_status,0) AND BIT(Imcstatus,5)) 14510 GCLEAR 13890 GOSUB Check status 14520 GRAPHICS ON 13900 PRINT TABXY(1,15);"CURRENT STATUS: ";DVAL$(Imc_status,2) 14530 SHOW 0,100, 0,100 13910 GOSUB Check position 14540 PENUP 13920 WAIT.1 14550 MOVE 90,70 13930 END WHILE 14560 PEN 1! Draw circle 13940 Clear_crt(3,16) 14570 POLYGON 12,360,360 13950 PRINT TABXY(1,15);"TARGET AT HOME POSITION." 14580 PENUP 13960 GOSUB Check_position 14590 MOVE 90,70 1 Draw old home orientation. 13970 Imc status-0 14600 PEN 2 13980 RETURN 14610 DRAW 90+11*COS(Oldhome_angle),70-ll*SIN(Old_home_angle) 13990 1 14620 PENUP 14000! ------------------------------------------------------------------------- 14630 MOVE 90,70 I Draw current home orientation. 14010! 14640 PEN 4 14020 Check_status:! Keep an eye on the Whedco controller status. 14650 DRAW 90,58 14030 Comm("4RS",Confirm_answer) 14660 PENUP 14040 ENTER ResponseS;Imcstatus 14670 MOVE 90,70! Draw current target orienation. 14050 RETURN 14680 PEN 3 14060! 14690 X_pos-90+11*COS (Current_angle) 14070! --------------------------------------------------------------------- - 14700 Y_pos-70-11ll*SIN (Current_angle) 14080! 14710 DRAW X_pos, Y_pos 14090 Check_position:! Get the current turnstile position in degrees. 14720 RETURN 14100 Comm("4RP",Confirm_answer) 14730 1 14110 ENTER Response$;Motor_position 14740 1 —---------------------------------------- ---- 14120 Current_angle-Motor_position/93.3 14750! 14130! Current_angle-Current_angle+Inc_angle 14760 Draw_positions: I Draws out the angular orienations. 14140 PRINT TABXY(1,16);"CURRENT TARGET POSITION IS ";Currentangle;" DEGREES. 14770 MOVE 90,70! Draw old home orientation. " 14780 PEN 2 14150 GOSUB Draw_positions 14790 DRAW 90-11*SIN (Old_home_angle),70-11*COS(Old_homeangle) 14160 RETURN 14800 PENUP 14170! 14810 MOVE 90,70! Draw current home orientation. 14180! -----------------------------------— _-_________ 14820 PEN 4 14190! 14830 DRAW 90,58 14200 Check_ 4 _fault: I Check the IMC for a fault condition and correct or 14840 PENUP 14210 1 notify the user if necessary. 14850 DISABLE 14220 I 14860 MOVE 90,70! Draw current target orienation. 14230 Comm("4FC",Confirm_answer) 14870 PEN -3 14240 ENTER Response$;Fault$S 14880 DRAW X_pos, Y_pos 14250 SELECT Fault$ 14890 MOVE 90,70 14260 CASE -"Power failure" I Loss of power 14900 PEN 3 14270 RETURN 14910 X_pos-90-ll1*SIN(Current_angle) 14280 CASE -"Force DAC" I Force DAC command was given 14920 Y pos-70-11*COS(Current_angle) 14290 BEEP 14930 DRAW X_pos, Y_pos 14300 PRINT "Force DAC command was given..." 14940 PENUP 14310 DISP "Press CONTINUE to resume..." 14950 ENABLE 14320 PAUSE 14960 RETURN 14330 RETURN 14970! 14340 CASE -"Over-current"! Over-current condition exists. 14980! —---------------------------------------------------- 14350 BEEP 14990! 14360 PRINT "An over-current condition has been detected on the IMC." 15000 Quit:! 14370 PRINT 15010 SUBEXIT 14380 PRINT "Cycle the power to the IMC until the OV-CUR LED goes out" 15020 SUBEND 14390 DISP "Press CONTINUE to reinitialize the IMC" 15030! 14400 PAUSE 15040!**************************************************........................ 14410 GOSUB Init_imc 15050! 14420 RETURN 15060 SUB Comm(C$,OPTIONAL INTEGER Confirm_answer) 14430 END SELECT 15070! 14440 RETURN 15080! PROGRAM MODULE: Comm 14450! 15090!

15100! PURPOSE: Modified version of the Comm module to be used 15740 ASSIGN @Screen TO CRT 15110 1 for direct two way communication with the WHEDCO 15750 ASSIGN @Kbd TO KBD 15120! IMC stepping motor controller. 15760 ASSIGN @Rx TO BUFFER InS 15130! 15770 ASSIGN @Tx TO BUFFER Out$ 15140! UPDATE: 3.0 Version 3.0 checks to see if the card being used 15780 ASSIGN @Uart out TO Sc 15150! is the HP98628A (Datacomm) or the HP98626A (Serial). 15790 ASSIGN SUart in TO Sc 15160! Depending on which card is used, the appropriate 15800 Response_flg-0! Reset command acknowledge flag. 15170! registers are selected. 15810 ResponseS-""! Null out response string. 15180!15820 15190 OPTION BASE 1 15830 15200 COM /Status/ INTEGER Sc,Connectflg,E_flg,Debug_flg,Response$ 15840 ENABLE INTR Sc Enable interrupt on card. 15210 INTEGER Baud_rate,B,Num_chars,Response_flg,Indexl 15850 TRANSFER @Tx TO @Uartout;CONT Enable transfer buffers. 15220 DIM Input$[2561,Term$(2561,In$(256] BUFFER,From 232$[256] 15860 TRANSFER @Uartin TO @Rx 15230 DIM Numchars$[61,Num_ ltrs$[61,Out$(256] BUFFER 15870 ON INTR Sc, FNTrap_level GOSUB Read_loop! Process card Interrupts. 15240 DIM White_print$([1J],Crlf$[21 15880 IF C$<>"" THEN 15250 IF Debug_flg THEN PRINT TABXY(1,1);OENTERING Comm 15890 GOSUB Sendcom I Send command out to controller. 15260 ON ERROR GOSUB Error 15900 ELSE 15270 1 15910 GOTO Quit! If null command, exit quick. 15280!15920 END IF 15290 15930 15300 IF Connectfilg THEN After_init 15940 15310 Sc-30 15950! 15320 ASSIGN QFind_it TO Sc;RETURN Outcome 15960 Wait_for_it:WHILE NOT Response_flg Waiting for acknowledgement. 15330 IF Outcome-0 THEN 15970 GOSUB Read_loop 15340 ASSIGN @Find_it TO *15980 IF NPAR-2 THEN I We are waiting for data to be 15350 CONTROL Sc,0;l I Reset RS-232 interface. 15990 I sent by the Whedco controller. 15360 CONTROL Sc,3;l I Async link protocol. 16000 LOOP 15370 CONTROL Sc,0;l I Set Async toggle. 16010 GOSUB Readloop 15380 CONTROL Sc,8;1+2 I Set RTS and DTR lines. 16020 IF (POS(Response$,'*')) THEN 15390 CONTROL Sc,16;0 I Disable connection timeout. 16030 Response$-ResponseS[POS(Response,"*"),LEN(Response 15400 CONTROL Sc,17;0 I Disable no activity timeout.) 15410 CONTROL Sc,18;0 I Disable NO CARRIER timeout. 16040 Responseflg-l 15420 CONTROL Sc,19;0 I Disable transmit timeout. 16050 END IF 15430 CONTROL Sc,20;14 ITX baud speed - 9600 16060 EXIT IF ((Response flg-l) AND (POS(ResponseSCrlfS))) 15440 CONTROL Sc, 21;14 I RX baud speed - 9600 16070 END LOOP 15450 CONTROL Sc,22;0 I No handshake with Whedco. 16080 ELSE 15460 CONTROL Sc, 23;0 I No hardwired handshake. 16090 WHILE NOT ((POS(Response$,'*")) OR (POS(ResponseS,"?")) 15470 CONTROL Sc,34;2 1 7 bits/character. 16100 GOSUB Read_loop 15480 CONTROL Sc, 35;0 1 stop bit. 16110 END WHILE 15490 CONTROL Sc,36;1 I ODD parity. 16120 Indexl-POS(ResponseS,"**) 15500 Connect_flg-1 16130 IF Indexl-0 THEN! Must be a'?" (Whedco command error). 15510 ELSE 16140 1 Must be a "?" (Whedco command error). 15520 Sc-8 16150 Eflg-1! Notify via error flag. 15530 ASSIGN @Find_ it TO *16160 Response_flg-l 15540 ASSIGN @Findit TO Sc;RETURN Outcome 16170 ELSE 15550 IF Outcome<>0 THEN 16180! Normal command interpretation. 15560 PRINT "RS-232 card not installed. Please install and reboot." 16190 Eflg-0 15570 ASSIGN @Findit TO *16200 Response_flg-1 15580 STOP 16210 END IF 15590 END IF 16220 END IF 15600 ASSIGN @Findit TO *16230 END WHILE 15610 RESET Sc 16240 GOTO Quit 15620 CONTROL Sc,0;1 I Reset the RS-232 interface. 16250 15630 CONTROL Sc,3;Baudrate! Set the baud rate. 16260 15640 CONTROL Sc,4;8+2! UART 8 bits/char. ODD parity. 16270 Read_loop:! Read in serial data from Whedco. 15650 CONTROL Sc,5;3! UART DTR line active. 16280 15660 CONTROL Sc, 12;128+32+16! Disable CD,DSR,CTS 16290 STATUS @Rx,4;Num_chars! Number of charactrr to 15670 STATUS Sc,3;B! Confirm speed to user. 16300 IF Numchars-0 THEN RETURN recoeivo, If 0 try again. 15680 Connectfig-1 16310 NumcharsS-"#,"&VAL$(Num_chars)&"A"! Set up the IMAG, fr FNIFP. 15690 END IF 16320 ENTER @Rx USING Numchars$;From 232$! Transfor con ont. 15700 After init:! 16330 ResponseS-Response$&From_232$! Build up diatoJ. 15710 White_printS=CHR$(136) 16340 RETURN! Update polnter. 15720 Crlf$-CHR$(13)&CHR$(10) 16350! 15730 PRINT CHR$(129)tCHR$(136);! Set up the screen. 16360!

_parc Wed Jan 19 11:04:37 1994 14 16370 Send_com:Term$=Crlf$[1,1]&C$&Crlf$ 17010! 16380 Num_ltrs$-"#,"&VAL$(LEN(Term$))&"A" 17020 Othererror:PRINT "Error message: ";ERRM$ 16390 OUTPUT @Tx USING Num_ltrs$;Term$ 17030 PAUSE 16400 Term$-"" 17040 E_flg-1 16410 RETURN 17050 SUBEXIT 16420! 17060 1 16430! 17070! 16440 Quit: OFF ERROR 17080 SUBEND 16450 STATUS STx,10;Stat 17090 1 16460 STATUS @Rx, 4;Num_bytes 17100 ************************** ***********^** ***.**** ** 16470 ABORTIO @Uart_out 17110 1 16480 ASSIGN @Tx TO * 16490 CONTROL @Rx,8;0 16500 STATUS @Rx,10;Stat 16510 STATUS @Rx,4;Num_bytes 16520 ABORTIO @Uart in 16530 ASSIGN @Rx TO * 16540 DISABLE INTR Sc 16550 SUBEXIT 16560 1 16570! 16580 Error:PRINT "HANDLING Comm ERROR" 16590 IF ERRN<>167 THEN Other error 16600 IF Sc-8 THEN! Process the simple card. 16610 STATUS Sc,10;Uart_error 16620 IF BIT(Uart_error,1) THEN Overrun 16630 IF BIT(Uart_error,2) THEN Parity 16640 IF BIT(Uart_error,4) THEN Breakl 16650 IF BIT(Uart_error,3) THEN Framing 16660 Eflg-1 16670 PAUSE 16680 RETURN 16690 ELSE 16700 PRINT ERRMS$ 16710 E_flg-1 16720 PAUSE 16730 RETURN 16740 END IF 16750! 16760 1 16770 Other: PRINT "UART error status: ";Uart error 16780 E flg-1 16790 RETURN 16800! 16810! 16820 Overrun:PRINT "Overrun" 16830 E_f lg16840 RETURN 16850 1 16860! 16870 Parity: PRINT "Parity" 16880 E_flg-l 16890 RETURN 16900 1 16910! 16920 Breakl: PRINT "Break" 16930 E_flg-1 16940 RETURN 16950! 16960 1 16970 Framing:PRINT "Framing" 16980 E_flg-1 16990 RETURN 17000!