.

H

mm I 'Si

i*-^-.* i _

n

^H
:ference

N B S

4? o NBS TECHNICAL NOTE 672

*"»fAU 0* *

3ub!i- :ations

U.S. DEPARTMENT OF COMMERCE / National Bureau of Standards
NATIONAL BUREAU OF STANDARDS

The National Bureau of Standards 1 was established by an act of Congress March 3, 1901. The Bureau's overall goal is to strengthen and advance the Nation's science and technology

and facilitate their effective application for public benefit. To this end, the Bureau conducts

research and provides: (1) a basis for the Nation's physical measurement system, (2) scientific and technological services for industry and government, (3) a technical basis for equity in trade, and (4) technical services to promote public safety. The Bureau consists of the Institute for Basic Standards, the Institute for Materials Research, the Institute for Applied Technology,

the Institute for Computer Sciences and Technology, and the Office for Information Programs.

THE INSTITUTE FOR BASIC STANDARDS provides the central basis within the United

States of a complete and consistent system of physical measurement; coordinates that system

with measurement systems of other nations; and furnishes essential services leading to accurate and uniform physical measurements throughout the Nation's scientific community, industry, and commerce. The Institute consists of a Center for Radiation Research, an Office of Measurement Services and the following divisions: Applied Mathematics — Electricity — Mechanics — Heat — Optical Physics — Nuclear

Sciences a — Applied Radiation * — Quantum Electronics * — Electromagnetics 3 — Time

and Frequency l — Laboratory Astrophysics * — Cryogenics '. THE INSTITUTE FOR MATERIALS RESEARCH conducts materials research leading to improved methods of measurement, standards, and data on the properties of well-characterized

materials needed by industry, commerce, educational institutions, and Government; provides

advisory and research services to other Government agencies; and develops, produces, and

distributes standard reference materials. The Institute consists of the Office of Standard

Reference Materials and the following divisions: Analytical Chemistry — Polymers — Metallurgy — Inorganic Materials — Reactor

Radiation — Physical Chemistry.

THE INSTITUTE FOR APPLIED TECHNOLOGY provides technical services to promote

the use of available technology and to facilitate technological innovation in industry and Government; cooperates with public and private organizations leading to the development of

technological standards (including mandatory safety standards), codes and methods of test; and provides technical advice and services to Government agencies upon request. The Institute consists of a Center for Building Technology and the following divisions and offices: Engineering and Product Standards — Weights and Measures — Invention and Innovation — Product Evaluation Technology — Electronic Technology — Technical Analysis — Measurement Engineering — Structures, Materials, and Life Safety * — Building

Environment * — Technical Evaluation and Application * — Fire Technology.

THE INSTrrUTE FOR COMPUTER SCIENCES AND TECHNOLOGY conducts research and provides technical services designed to aid Government agencies in improving cost effec- tiveness in the conduct of their programs through the selection, acquisition, and effective

utilization of automatic data processing equipment; and serves as the principal focus within

the executive branch for the development of Federal standards for automatic data processing

equipment, techniques, and computer languages. The Institute consists of the following

divisions: Computer Services — Systems and Software — Computer Systems Engineering — Information Technology.

THE OFFICE FOR INFORMATION PROGRAMS promotes optimum dissemination and

accessibility of scientific information generated within NBS and other agencies of the Federal Government; promotes the development of the National Standard Reference Data System and

a system of information analysis centers dealing with the broader aspects of the National Measurement System; provides appropriate services to ensure that the NBS staff has optimum

accessibility to the scientific information of the world. The Office consists of the following

organizational units: Office of Standard Reference Data — Office of Information Activities — Office of Technical

Publications — Library — Office of International Relations.

1 Headquarters and Laboratories at Gaithersburg, Maryland, unless otherwise noted; mailing address Washington, D.C. 20234.

2 Part of the Center for Radiation Research.

3 Located at Boulder, Colorado 80302.

« Part of the Center for Building Technology.
' SYAKOAaoa

DEC S 1975 Time Domain Automatic Network Analyzer

sn&*t &£C

,

for Measurement of RF and aaoo

/ / ^ 'J $ 3

Microwave Components °*/975*

^

-to i -\ v ,' ^ ,oh v\jO 6 7*2.

William L. Gans

James R. Andrews

Electromagnetics Division

Institute for Basic Standards

National Bureau of Standards

Boulder, Colorado 80302

S7

U.S. DEPARTMENT OF COMMERCE, Rogers C. B. Morton, Secretary

John K. Tabor, Under Secretary

Dr. Betsy Ancker-Johnson , Assistant Secretary for Science and Technology

NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Acting Director

Issued September 1975
NATIONAL BUREAU OF STANDARDS TECHNICAL NOTE 672

Nat. Bur. Stand. (U.S.), Tech Note 672, 176 pages (Sept. 1975)

CODEN: NBTNAE

For sale by the Superintendent of Documents, U.S. Government Printing Office , Washington, D.C. 20402

(Order by SD Catalog No. C13.46:672) $2.40
CONTENTS

Page

1

.

INTRODUCT ION- 1

1 .

1

TDANA 1 1.2 TDANA vs. ANA --- 2 1.3 TDANA History 3 1.4 Development of the NBS TDANA 4 1.5 Technical Note Organization 5

2. PULSE TESTING THEORY 6 2.1 Time Domain/ Frequency Domain Representations of Physical

Signals 6 2.2 Time Isolation Property of Delay Lines 7 2.3 Theory of Time Domain Insertion Loss Measurements -- 10

3. THE FOURIER FAMILY 16

3.1 Fourier Transformation 16

3.2 Laplace Transformation 1?

• 3.3 Fourier Series - 18

3.4 Discrete Fourier Transformation 19

3.5 Fast Fourier Transformation 22

3.6 Relationship Between FT and DFT for an Impulsive Waveform 22

3.7 Relationship Between FT and DFT for a Step-Like Waveform 23

3.8 Amplitude Spectrum of Common Waveforms 25

4. EXPERIMENTAL FFT'S OF SOME IDEAL WAVEFORMS - 34

4.1 Background - - 34

4.2 Single Rectangular Pulses 34

4.3 Repetitive Rectangular Pulses 39

4.4 Practical Application of the DFT to Waveform Spectral

Analysis 41

5. TIME DOMAIN AUTOMATIC NETWORK ANALYZER -- 51

5.1 Pulse Generator 51

5.2 Sampling Oscilloscope 53

5. 3 Minicomputer 54

6. SAMPLING OSCILLOSCOPE/MINICOMPUTER INTERFACE 61

6.1 Analog Interface - 61

6.2 Sampling Oscilloscope/Minicomputer Digital Interface

Controller-- 62

7. SYSTEM SOFTWARE 83

7 . 1 Introduction 83

7.2 System Software Configuration 83

7.3 BASIC Program Descriptions - 84

7.3.1 128-Point Fast Fourier Transform 84

7.3.2 128-Point Transfer Function 85

7.3.3 1024-Point Transfer Function 88

iii
CONTENTS (Continued)

Page

7.4 Assembly Language Program Descriptions 89

7.4.1 Subroutine Table - 89

7.4.2 Memory Clear Routine 91

7.4.3 Data Acquisition Routine 91

7.4.4 Data Binary to BASIC Routine- 91

7.4.5 Data BASIC to Binary Routine 92

7.4.6 Data Display Routine - 92

7.4.7 X-Y Recorder Zero and Full Scale Set Routine 93

7.4.8 X-Y Record Subroutine -- 93

7.4.9 Data Binary to BASIC Routine 93

7.4.10 Assembly Language FFT Routine 93

7.4.11 Spectral Memory Clear Routine 94

7.4.12 Spectral Data BASIC to Binary Routine 95

7.4.13 Spectral Data Binary to BASIC Routine - 95

8. EXPERIMENTAL RESULTS 97

8 .1 Introduction 97

8.2 NBS System Measurements 97

8.3 ANA System Measurements 97

8.4 TDANA System Measurements 98

8.5 Experimental Conclusions 98

9. SYSTEM ERROR ANALYSIS 106

9.1 Int roduct ion 106

9.2 Systematic Errors 106

9.2.1 Impedance Matching Errors 106

9.2.2 System Nonlinearities - 107

9.2.3 Computational Errors 108

9.3 Random Errors 109

9.3.1 Y-Axis Random Errors -- Short Term 109

9.3.2 X-Axis Random Errors -- Short Term 110

9.3.3 X- and Y-Channel Errors -- Long Term 115

10. SUMMARY AND CONCLUSIONS 125

10.1 Introduction 125

10.2 Report Summary 125

10.3 Future Work 126

REFERENCES 128

APPENDIX A -- Basic Language Programs 131

APPENDIX B -- Assembly Language Programs 141

IV
LIST OF FIGURES

Page

Figure 2-1. Time Domain (a) and Frequency Domain (b) Representations

of a Single Rectangular Baseband Pulse 13

Figure 2-2. Basic Pulse Measurement System 13

Figure 2-3. Pulse Response of Mismatched Basic Pulse Measurement

System. (a) Circuit. (b) Zig-Zag Diagram. (c) Generator

Source Voltage. (d) Generator Terminal Voltage.

(e) Load Terminal Voltage 14

Figure 2-4. Diagram of Circuit Used to Obtain V_,,(s) 15

Figure 2-5. Diagram of Circuit Used to Obtain V-, 2

( s ) ^

Figure 3-1. (a) Actual Time Domain Waveform. (b) Sampled Data

Obtained in a Finite Time Window. (c) Periodic Waveform

Used in DFT - 29

Figure 3-2. (a) FT of Actual Time Domain Waveform. (b) Actual Frequencies Present in DFT of Sampled Data. (c) Periodic

Spectra U Produced in the Frequency Domain By the DFT 29

Figure 3-3. Impulsive Waveform Made Periodic 30

Figure 3-4. A Step-Like Waveform and Various Related Waveforms 31

Figure 3-5. Step 32

Figure 3-6. Truncated Ramp 32

Figure 3-7. Rectangular Pulse 32

Figure 3-8. Triangular Pulse 33

Figure 3-9. Sine Squared Pulse 33

Figure 3-10. RF Burst 33

Figure 4-1. Example of a 128-Point Idealized Time Domain Waveform.

This 4-Point Rectangular Pulse Generated the Spectrum

Amplitude Shown in Figure 4-5 45

Figure 4-2. Spectrum Amplitude of an "Impulsive" Time Domain Waveform- 46

Figure 4-3. Spectrum Amplitude of a 2-Point Rectangular Pulse 46

Figure 4-4. Spectrum Amplitude of a 3-Point Rectangular Pulse 46

Figure 4-5. Spectrum Amplitude of a 4-Point Rectangular Pulse 46

Figure 4-6. Spectrum Amplitude of a 12-Point Rectangular Pulse 46

Figure 4-7. Spectrum Amplitude of a 32-Point Rectangular Pulse 46

Figure 4-8. Spectrum Amplitude of a 96-Point Rectangular Pulse 46

Figure 4-9. Spectrum Amplitude of a 40-Point Rectangular Pulse 46
LIST OF FIGURES (Continued)

Page

Figure 4-10. Spectrum Amplitude of a 4-Point Rectangular Pulse of

Amplitude 3200 Units 47

Figure 4-11. Spectrum Amplitude of an 8-Point Rectangular Pulse of

Amplitude 1600 Units -- 47

Figure 4-12. Spectrum Amplitude of a 16-Point Rectangular Pulse of

Amplitude 800 Units 47

Figure 4-13. Spectrum Amplitude of a 64-Point Rectangular Pulse 47

Figure 4-14. 512-Point Spectrum Amplitude of a 511-Point Rectangular

Pulse in a 1024-Point Time Window 47

Figure 4-15. 512-Point Spectrum Amplitude of a 508-Point Rectangular

Pulse in a 1024-Point Time Window 47

Figure 4-16. 512-Point Spectrum Amplitude of a 493- or 531-Point

Rectangular Pulse in a 1024-Point Time Window - 47

Figure 4-17. Spectrum Amplitude of an "Impulse" Pair. WAt ) = W3At ) = i 47

Figure 4-18. Spectrum Amplitude of an "Impulse" Pair.

V

SD( At ) = VSD<

4At > = 1 48

Figure 4-19. Spectrum Amplitude of an "Impulse" Pair.

V

SD (At) = VSD (13At) = 1 --- 48

Figure 4-20. Spectrum Amplitude of an "Impulse" Pair.

V

SD

(At) = V

SD

(6SAt) = 1 48

Figure 4-21. Spectrum Amplitude of Two 4-Point Rectangular Pulses

Separated by x/2 48

Figure 4-22. Spectrum Amplitude of Four 4-Point Rectangular Pulses

Each Separated by t/4 48

Figure 4-23. Spectrum Amplitude of Eight 4-Point Rectangular Pulses

Each Separated by x/8 48

Figure 4-24. Spectrum Amplitude of Two 4-Point Rectangular Pulses

Spaced by

^ x 48

Figure 4-25. Spectrum Amplitude of Two 4-Point Rectangular Pulses

Spaced by j-|g- x --- 48

Figure 4-26. Spectrum Amplitude of a 4-Point And a 2-Point Rectangular

Pulse Separated by x/2 49

Figure 4-27. Spectrum Amplitude of an 8-Point Positive Rectangular

Pulse Immediately Followed by an 8-Point Negative Rectangular Pulse of Equal Amplitude Magnitude 49

Figure 4-28. Spectrum Amplitude of a 16-Point Positive Rectangular

Pulse Immediately Followed by a 16-Point Negative

Rectangular Pulse of Equal Amplitude Magnitude 49

vi
LIST OF FIGURES (Continued)

Page

Figure 4-29. Example of Windowing Algorithm Applied to a Step-Like

Waveform- - 50

Figure 5-1. Time Domain Automatic Network Analyzer (TDANA) Basic

Block Diagram 56

Figure 5-2. Photograph of Time Domain Automatic Network Analyzer

(TDANA) 57

Figure 5-3. Commercial 1 ns Transition Time Pulse Generator Leading

Edge Transition and Spectral Amplitude 58

Figure 5-4. NBS Snap-Off Diode Pulse Generator Leading Edge Transition and Spectral Amplitude 58

Figure 5-5. Ultrafast Tunnel Diode Pulse Generator Leading Edge

Transition and Spectral Amplitude -- 58

Figure 5-6. NBS Snap -Off Diode Impulse Generator Waveform and

Spectral Amplitude 58

Figure 5-7. Spectral Amplitude S(f) for Various Pulse Generators as Measured on the TDANA - - - 59

Figure 5-8. Block Diagram of TDANA Computer and Peripherals 60

Figure 6-1. Analog Interface Amplifiers for CLA and CLB Sampled Data

Output - 67

Figure 6-2. Analog Interface Amplifiers for X Data Output and X Sweep

Input * - 68

Figure 6-3. Analog Interface Circuit Card Mounted in Sampling

Vertical Amplifier Plug-In Unit 69

Figure 6-4. Sampling Vertical Amplifier Plug-In Unit Showing Position

of Analog Interface Circuit Card-- - * 70

Figure 6-5. Oscilloscope Rear Panel Interface Connector J10 71

Figure 6-6. Oscilloscope Main Frame/Plug-In Jack Connections. Starred

Pin Numbers Have Modified Connections From the Original

Factory Wiring 72

Figure 6-7. Sampling Vertical Amplifier Plug-In Plug P2 and Jack J3

Connections 73

Figure 6-8. Sequential Sampling Time Base Plug-In Plugs PI and P3

Connections 74

Figure 6-9. Sampling Oscilloscope/Minicomputer Digital Interface (DIF)

Schematic Diagram - 75

Figure 6-10. Digital Interface Circuit Card - 76

Figure 6-11. Sampling Time Base Plug-In Showing Position of Digital

Interface Circuit Card - 77

Figure 6-12. A4 Time Base Card Modifications -- 78

vii
LIST OF FIGURES (continued)

Page

Figure 6-13. Scanner Switch Modifications 79

Figure 6-14. Horizontal Amplifier Card A7 Modifications 80

Figure 6-15. Blanking Card A6 Modification 81

Figure 6-16. Sync Pulse Generator Card A2 Modification 82

Figure 7-1. Minicomputer System Memory Map (28K Core) 96

Figure 8-1. Comparat'ive Plot of Insertion Loss Versus Frequency for

10 dB Pad - - --- 103

Figure 8-2. Comparative Plot of Insertion Loss Versus Frequency for

20 dB Pad 104

Figure 8-3. Comparative Plot of Insertion Loss Versus Frequency for

40 dB Pad 105

Figure 9-1. Typical 1024-Point Noisy Display on the Monitor CRT With

the Sampling Oscilloscope Deflection Factor Set at 10 mV/cm

and With No Signal Input 116

Figure 9-2. Y-Channel Center-Screen Short Term Noise Plot 117

Figure 9-3. Example of Additive Time Domain Signal Averaging. The

Signal is a 25 mV Pulse Displayed in a 2 ns Window. The

Top Trace is a Single Sweep While the Bottom Trace is the

Result of 100 Averages 118

Figure 9-4. 1024-Point Single -Waveform Representation of a Tunnel

Diode Pulse Acquired on the TDANA. Oscilloscope Settings

Were 50 mV/cm and 10 ps/cm 118

Figure 9-5. Waveform Models Used for X-Axis Noise Analysis 119

Figure 9-6. Normal Probability Plot of X-Channel Noise (Time Jitter)-- 120

Figure 9-7. Plots of an Ideal Ramp Waveform (a) and an Ideal

Triangular Waveform (b) Showing the Filtering Effects

Caused by X-Axis Time Jitter 121

Figure 9-8. Typical Time Relationship of the Sampling Trigger, Actual

Sampling Gate and Source Waveform in the Presence of

X-Axis Time Jitter 122

Figure 9-9. Probability Density Function, P (t) , Acquired From

Idealized Sampler Model as N Approaches Infinity 123

Figure 9-10. Plots of Typical Shapes of i(t), P

t (t), and r(t) for an Assumed Unit Step Waveform For g(t) 124

vm
LIST OF TABLES

Page

Table 3-1. Amplitude Spectrum of Common Waveforms 28

Table 8-1. Measured Insertion Loss Data Summary for 10 dB Coaxial

Attenuator 100

Table 8-2. Measured Insertion Loss Data Summary for 20 dB Coaxial

Attenuator 101

Table 8-3. Measured Insertion Loss Data Summary for 40 dB Coaxial

Attenuator 102

IX
FOREWORD

This technical note is the result of several years of effort at NBS to

automate time domain measurements and apply them to the determination of frequency domain parameters. The efforts began in 1968 under the able leadership of Dr. Norris S. Nahman. Many people have contributed to the eventual

success of this effort. Those individuals directly involved with the earlier

phases of the project included Dr. William D. McCaa, Jr., Mr. John F. Shafer,

and Mr. Terrance R. Whittemore. More recently the assistance is acknowledged

of Mr. Bill Hall for software assistance, Dr. John LeBrecque statistician,

Mr. Dick Bailer for the fixed frequency attenuator calibrations, and

Miss Sharon Foote and Mrs. Janet Jasa for the typing of the manuscript. In

addition, the assistance and support of many other personnel in the Electromagnetics Division is gratefully acknowledged.

The financial support of the tri -services Calibration Coordination Group

(CCG) is acknowledged. The members of the CCG Time-Domain Working Group were:

Mr. W.R. Carter (Army), Mr. J.C. Santo (Air Force), Mr. F. Flynn (Air Force),

and Mr. P. Strucker (Navy). Their support beginning in FY 70 got the concept

of a Time Domain Automatic Network Analyzer (TDANA) at NBS moving from just

an idea into a practical measurement instrument. Without the support of the

CCG supplementing NBS funds the development of the NBS TDANA could have been

delayed by several years.

This technical note serves as a final report to the CCG for project

CCG 72-68 entitled "Pulse Testing of RF and Microwave Devices." The objective

of the CCG with this project was to decrease the measurement uncertainty to

1% or less for calibration of coaxial 1-40 dB attenuators over the frequency

range of 400 MHz to 12.4 GHz using time domain measurement techniques.
TIME DOMAIN AUTOMATIC NETWORK ANALYZER FOR

MEASUREMENT OF RF AND MICROWAVE COMPONENTS

by

William L. Gans and James R. Andrews

This technical note describes in detail a new NBS instrument

for the measurement of the scattering parameters (S-.) of RF

and microwave components . The instrument is the Time Domain

Automatic Network Analyzer (TDANA) . It utilizes time domain

pulse measurements to obtain frequency domain parameters. The

frequency range is dc to 18 GHz with a lower upper limit for

large values of attenuation. The instrument consists of three

major components: an ultra- fast pulse generator, a broadband

sampling oscilloscope, and a digital minicomputer.

Key words: Attenuation; discrete Fourier transform; fast Fourier

transform; insertion loss; jitter; microwave measurement; mismatch; network analyzer; noise; pulse generator; pulse measurement; sampling oscilloscope; scattering parameters; spectral

analysis; time domain analysis.

1. INTRODUCTION

1.1 TDANA

This technical note introduces a new NBS instrument for the measurement

of the scattering parameters (S .

- ) of RF and microwave components. The instrument is the Time Domain Automatic Network Analyzer hereafter abbreviated

as TDANA. It utilizes time domain measurements and the fast Fourier transform (FFT) to obtain frequency domain parameters. This is a radical departure from classical CW techniques for measuring these parameters.

The NBS TDANA measures the scattering parameters in both magnitude and

phase over the frequency range of dc to 18 GHz. The upper frequency limit

is less for large values of attenuation O 4 GHz for 60 dB) . The accuracy

and precision of the system have been evaluated by comparing insertion loss

measurements of three wideband coaxial attenuators (10 dB, 20 dB, and 40 dB)

with those made on the NBS 30 MHz IF piston attenuator working standard.

Measurements were made at selected frequencies from 0.5 GHz to 12.5 GHz. The

results agreed within 1.5%. The standard deviations were functions of insertion loss and frequency. Work is continuing on evaluation of the system for

measurements of phase and return loss. The results of these evaluations will

be reported in later publications.
The NBS TDANA has been used for measuring the scattering parameters of

a wide assortment of components. They have included: low-pass, band-pass,

and high pass filters; wide-band transistor amplifiers; directional couplers;

and broad-band antennas.

The practicality of a TDANA is dependent upon three major components.

The first is a pulse generator with sufficient spectrum amplitude in the

frequency range of interest. The second is an oscilloscope, i.e., a time

domain receiver, with a broad bandwidth to cover the frequency range of

interest. The third major component is a digital computer. The computer is

necessary to perform the mathematical shift from the time domain to the frequency domain via the Fourier transformation.

For many years researchers have been converting time data to frequency

data and vice versa. However, the process has been very laborious and time

consuming. It involved photographing an oscilloscope CRT display, reading

the data point by point from the photograph, typing the data onto paper tape or computer cards, and then analyzing the data on a time share or large

central computer. The entire process easily consumed an entire eight hour

working day for a single simple waveform.

With the advent of inexpensive (< $10K) minicomputers this has all

changed. The cost of computing capability is now comparable to that of a high performance oscilloscope. It is now cost-effective to dedicate a minicomputer to be hardwired to an oscilloscope. The interface between the

two consists of sample and hold (S/H) circuits, analog to digital (A/D)

converters of the oscillocope analog data, and digital to analog (D/A)

converters for computer control of oscilloscope functions.

1.2 TDANA vs. ANA

The major competitor to the TDANA is a commercial automatic network

analyzer system (ANA).* The ANA consists of an ensemble of programmable

swept frequency generators, a complex amplitude/phase measuring microwave

network analyzer, and a minicomputer.

Both systems have advantages and disadvantages. For the TDANA one of

its major advantages is lower cost. In general both systems will have

comparable minicomputers, associated computer peripherals, and software

programming costs. The TDANA' s cost advantage is in lower cost for the source and receiver. For measurements from dc to 18 GHz the TDANA requires

a single ultrafast tunnel diode pulse generator costing approximately $500.

The ANA covers the frequency range 0.1 to 18 GHz and requires several sweep

*It is NBS policy not to mention manufacturers nor commercial products in

their publications. This is done to avoid giving unfair economic advantage

to any manufacturer which might occur through a real, implied, or imagined

NBS endorsement
generators for a total source cost of $15,000 or more. Likewise the cost

of the receiver for the TDANA is lower than the ANA. The TDANA receiver

is a sampling oscilloscope costing approximately $8,000. For the ANA the

receiver is a microwave network analyzer costing $20,000. A complete

commercial ANA system costs upwards from $175,000. Discussions with an oscilloscope manufacturer indicated that a commercial TDANA would probably

cost in the neighborhood of $60,000 to $80,000.

There are also other considerations. One is frequency coverage. The

commercial ANA consists of separate test sets for 0.1 to 2 GHz and 2 to 18

GHz. The TDANA will make measurements from dc to 18 GHz. The ANA will make

measurements at any programmed frequency. The TDANA, due to the use of the

FFT, gives results only at frequencies that are harmonics of the reciprocal

of its observation time window. For example if a 10 ns window is used,

results are given at 100 MHz, 200 MHz, 300 MHz, etc. The TDANA is better

suited to the measurement of broadband devices. Problems arise with the TDANA

in the measurement of high Q, narrowband devices.

Another advantage of the TDANA is that it can also be used for purely

time domain measurements. Examples are measurements of pulse risetime,

delay, duration, distortion, amplitude, etc. When used as a time domain

reflectometer (TDR) in conjunction with the computing and signal averaging,

it can be used to resolve extremely small impedance discontinuities as small as a fraction of a femtofarad (< 10 F) [1] . One should also

acknowledge that an ANA can be used as a TDR. This is accomplished by

making network analyzer amplitude and phase measurements at many harmonically related frequencies and then synthesizing time domain pulses

using the inverse Fourier transform, IFT, [2].

Another advantage of the TDANA is that the sampling oscilloscope and

minicomputer can be used as a spectrum analyzer for calibration of impulse

generators [3,4]. This appears to be particularly promising at frequencies

above 1 GHz

.

1.3 TDANA History

A.M. Nicolson developed the first really usable TDANA in 1968. At CPEM

in 1968 he presented the system and results of measurements of microwave

components [5]. Nicolson, Ross, Cronson, Lamensdorf, Susman , and other co- workers have continued their pioneering work in TDANA 1 s. References [6-10]

detail some of the important advances they have made in this field. Their

system was developed for use within their corporate laboratories and also on contract for the Army and Air Force.
Several other companies and institutions have built or used automated

oscilloscopes and TDANA's of various degrees of sophistication. In 1969

P. Stuckert developed CAOS which stood for Computer Augmented Oscilloscope System [11] . Also in 1969 a time domain data acquisition system was developed for the AEC [12]. Bancroft and Johnston of the University of

Calgary reported a TDANA in 1973 [13] . The major oscilloscope manufacturers were not ignorant of the trend

toward automated time domain measurements. They have responded by developing

suitable automated oscilloscopes. Most of the information regarding these

oscilloscopes and systems is given in advertising circulars, etc., and as such

cannot be referenced here. One manufacturer is very close to possibly announcing a commercially available TDANA. This system was described by D. Hannaford

at the 1974 Joint Measurement Conference [14].

1 .4 Development of the NBS TDANA

During this flurry of TDANA activity in the late 60s and early 70s,

the NBS Pulse and Time Domain Section was not idle. Dr. William D. McCaa, Jr.

assembled the first NBS time domain data system. He called it RUDA for Rudimentary Data Acquisition. It consisted of simply a digital voltmeter

(3-1/2 digit) connected to the Y recorder output of a sampling oscilloscope.

The parallel BCD output of the digital voltmeter was converted to serial

ASC II data. This was routed to a paper tape punch. At the completion of

the conversion of one data point the oscilloscope was triggered again to

acquire a new sampled data point . Once a paper tape was prepared the data

was then transferred by a teleprinter to a time-share computer for processing.

The entire process was agonizingly slow. Typically a half hour was required

for the acquisition of a single waveform. The results were not very satisfactory. Very substantial drifts in the horizontal and vertical data occurred

during the long acquisition time of a single waveform. Also due to the long

time required to obtain a single waveform, computer averaging of many waveforms was not feasible. RUDA did serve the purpose of demonstrating the

principle of interconnecting an oscilloscope to a computer.

Meanwhile during the late 60s the military standards and calibration

laboratories began to experience a need for subnanosecond domain pulse calibrations. Thus research and development funds began to flow into NBS through

the tri-services Calibration Coordination Group (CCG) . Starting in 1969 some of this money along with NBS funds was used to develop an improved time domain

data acquisition system.
The improved system was called the Time Domain Waveform Measurement System. It was developed by Dr. W.D. McCaa , Dr. J.R. Andrews, and Mr. J.F.

Shafer. The improved system was described at the 1970 ISA conference. The new system replaced the RUDA digital voltmeter with a commercial analogdigital recorder/generator. This instrument was essentially a high speed

(100 kHz), 3 digit, analog to digital converter and a 1000 word magnetic

core memory. With the new system a single 1000 point waveform could be

acquired in 10 ms . This was much faster than RUDA and thus eliminated the

problem of long term vertical and horizontal drifts. The major disadvantage

of this system was still the computer connection. The system still required

a parallel BCD to ASC II conversion, paper tape punching and teleprinter

transmission over a telephone line to a time -share computer. Fifteen minutes

were required to transmit a single 1000 point waveform.

The time-share arrangement was not very satisfactory. Operating problems included many computer "outages" with loss of data and sometimes programs and imperfect transmission of data with random data dropouts. This

system was used by Mr. W.L. Gans , Dr. W.D. McCaa, Jr., and Dr. N.S. Nahman

for their experiments with the fast Fourier transform (FFT) [15] and pulse

testing of microwave components in 1971 and 1972.

By 1972, sufficient funds from CCG and NBS allowed the purchase of a minicomputer and the peripheral equipment. The NBS TDANA was then developed

around this minicomputer and an 18 GHz bandwidth sampling oscilloscope.

1 . 5 Technical Note Organization

This technical note describes in full detail the NBS APMS and its use as

a TDANA. This note is divided into ten chapters. Chapter two develops the

concept of pulse testing theory as applied to the determination of frequency

domain parameters. Chapter three discusses the relationship between the

time domain and the frequency domain through the Fourier transformation,

Laplace transformation, Fourier series, discrete Fourier transformation, and

the fast Fourier transformation. Chapter four deals with a set of experiments

performed on the fast Fourier transformation to highlight potential problem

areas when doing TDANA calculations. Chapter five is a description of the

various instruments contained in the NBS TDANA. It also demonstrates the use of the APMS portion as an extremely wideband spectrum analyzer. Chapter six

deals with the actual circuit details of the sampling oscilloscope/minicomputer

interface. Chapter 7 describes the system software. Chapter eight discusses

experimental results of comparison measurements of coaxial attenuators using

the TDANA, a commercial automatic network analyzer, and the NBS 30 MHz IF

piston attenuator working standard. Chapter nine is a partial error analysis

of the TDANA. Chapter ten is the summary chapter and contains recommendations

for future work. Chapters 1, 2, 3, 5, and 6 were the responsibility of

Dr. Andrews. Mr. Gans was the author of Chapters 4, 7, 8, 9, and 10.
2 . PULSE TESTING THEORY

The objective of this project was to apply time domain measurements to

the determination of scattering parameters as functions of frequency. This

chapter will discuss the interchangability of time and frequency, and develop

the theory of time domain insertion loss measurements.

2 . 1 Time Domain/Frequency Domain Representations of Physical Signals

Every physical signal can in principle be represented mathematically

in both the time domain and the frequency domain. In the time domain a signal waveform is described by an algebraic equation v(t) . The connection

between the time domain and the frequency domain is the Fourier transformation [16] . It is defined by the following transform pair [17]

V

00 , (f) = / v(t)e" j2Trft dt (2-1)

00 , j, v(t) = / V(f)e +:|2Trft df (2-2)

V(f) is the frequency domain representation of the same physical signal v(t)

Both v(t) and V(f) are valid representations of the same physical signal.

v(t) is always a real function, while V(f) is a complex function.

For this report the physical signal to be considered is an electrical

voltage having units of volts. V(f) is an integration of v(t) over time;

thus V(f) is an area with units of volt-second. Arthur [17] gives an excellent discussion and visual illustrations of V(f )

As an example consider a single rectangular baseband pulse v (t) , figure 2-1 (a), v (t) is defined as

v (t) = v u(t) - v u(t-t ) (2-3)

rp K J o o^o

where u(t) is the unit step function. Applying the Fourier transform, eq

(2-1) , to this pulse one obtains

* (f)

V

rp

(f) = |Vrp (f)|e rp (2-4)

where

and

V (f) = v t rp v ' ' oo

sin(irft ) v wo (2-5)

) (f) = -Trft (2-6)

rp * ' o
The magnitude of V (f) is plotted in figure 2-1 (b) . It is a continuous

function for all frequencies from -« to +°°. Thus a single baseband pulse

is a source of a continuous frequency spectrum. This is one advantage of

pulse testing over single frequency measurements.

The magnitude of V(f) is a quantity of engineering importance. It is

called the Spectrum Amplitude* S(f). It is defined [18] as

S(f) = 2|V(f)| (2-7)

Arthur [19] has noted that the IEEE dictionary has an error in its mathematical

definition of S(f). It uses a constant of 1/tt instead of 2 in the definition.

In this report the constant 2 of eq. (2-7) is used.

The unit of S(f) is the same as for V(f) , namely volt-second. Many

times the unit volt/hertz is found in the literature. These two units are dimensionally the same. In this report S(f) is sometimes expressed in dB

above 1 volt-picosecond in which case it is defined as

X in dB V - ps = 20 log, J

X in

Y7 1 x 10 " V -. s (2-8)

A volt-picosecond (V-ps) is equivalent to a microvolt per megahertz (uV/MHz)

Chapter 3 will discuss in greater detail the Fourier Transformation and

its relatives the Laplace Transformation, Fourier Series, Discrete Fourier

Transformation, and the Fast Fourier Transformation.

2 .2 Time Isolation Property of Delay Lines

Figure 2-2 is the basic pulse measurement system. The measuring instrument is almost always an oscilloscope. A connection must be made between

the pulse generator and the oscilloscope. For slow pulses (t > 100 ns) and

low frequencies an oscilloscope probe is used to connect the two instruments.

For high frequencies and fast pulses (t < 1 ns) , probes are no longer useful [20,21]. The connection is then made with a piece of transmission

line such as a coaxial cable. The transmission line is capable of relatively

faithfully transmitting the generator waveform to the oscilloscope or some other circuit where it is to be utilized. The use of a coaxial cable is not

limited to fast pulses and high frequencies but is equally useful with slower

pulses and low frequencies. The coaxial cable also has the advantage that it

presents a relatively constant load impedance to the pulse generator. In

reality no transmission line is perfect. Various things such as skin effect

will cause the impedance Z and the propagation function y to be functions of

frequency [22] . These effects do cause distortion in the transmission of

*Many other names are found in the literature for this same quantity. They

include: Spectral Intensity, Impulse Spectral Intensity, Impulse Strength,

Spectral Density, Voltage Spectrum, and Interference Intensity.
pulses. For the purposes of this discussion these effects will be considered

negligible. To a first order, the coaxial cable can be characterized as not

being frequency dependent and simply having a real characteristic impedance

Z = R , a propagation velocity v , a length I, and a time delay TD.

An understanding of the effect of the cable in the measurement system

is fundamental to proper interpretation of the results of time domain meas- urements. Figure 2-3 is an example of a mismatched system that will be used

for illustrative purposes. Both the generator and oscilloscope are mismatched

to the transmission line.

Consider a 1 volt pulse departing the generator at t = . This pulse

enters the left end of the line at t = . Initially the line simply appears

as a 50 ohm resistor across the generator terminals. The initial incident

voltage wave v. that enters the line is simply

R

v-(t) = 2 v (t ) (2-9)

R + R

g

o g Due to the finite propagation velocity v the leading edge of the incident pulse v. arrives at the oscilloscope later in time, namely at

t

1

= TD = l/v . (2-10)

At the oscilloscope a portion, v , will be transmitted into the internal load,

R. , and a portion, v , will be reflected back toward the generator.

L r v

t

= v. v

r (2-11)

v

t

= t v

i (2-12)

v

r

= P v

i (2-13)

t is the transmission coefficient, and p is the reflection coefficient.

2 R

t = — (2-14)

(2-15)

R

L

+ R

R

L

- R

RTL

+ Ko

The above equations are also valid in the frequency domain with an appropriate

change in notation. All of the parameters (Z , 1, , Z , V. , V , V , x, and p) are complex and functions of frequency. In the frequency domain the various

resistances, R, become impedances, Z, and the reflection coefficient is com- monly denoted by r. The initial waveform transmitted into the oscilloscope
is seen to be an identical replica of the generated waveform v (t) with the

exception of amplitude scaling due to the line input voltage divider,

eq. (2-9), and the load mismatch, eqs. (2-12) and (2-14). If the system

were matched, R = R, = R , then v

2 (t) = 1/2 v (t) . The reflected pulse, v , travels back to the left and arrives at the

generator at t

? = 2TD. If the generator and the line are not perfectlymatched (i.e., v if R f R ) then a new reflection of the pulse will result.

. g o Equations (2-11) through (2-15) are also valid for the generator terminal

if R is substituted for R,. The new reflection now propagates back to the

right through the line. It arrives at the oscilloscope at t_ = 3TD. This new reflection as it is transmitted to the oscilloscope is in addition to

the initial incident waveform. The voltage at the oscilloscope, v

2 (t), is no longer an identical replica of the generated waveform v (t) . v 9 (t) is

g i v ? (t) = K v ft-TD), t < 3TD (2-16)

v

2 (t) = K v

g

(t-TD) + vreflections (t), t > 3TD (2-17)

where K is a constant. The above example used a rectangular pulse for

clarity. The analysis is equally valid for other transients such as a step

function.

For purposes of clarity and precision the words "initial" and "incident" should be defined further. Words such as "initial" and "final" refer

to time related properties. As used above the word "initial" refers to the

waveform present at the load only during the time interval to 3TD. The

word "incident" refers to a direction of wave propagation. In this case it

is the wave traveling forward from left to right on the transmission line

and striking the load. No time element is involved as the word applies for

all time (-°° to +°°) . "Incident" refers to a spatial vector. The words

"reflected" and "transmitted" likewise refer to spatial vectors. By using

two different terms, a clearer distinction is made between the generator

waveform over all time, and that part of the generator waveform delivered to

the oscilloscope undistorted by reflections from either the source or the

oscilloscope impedance discontinuities within the time window. Furthermore,

the term "initial" can be used to describe waves arriving at, or departing

from, a given port.

Advantage can be taken of the transmission line time delay property in

a practical measurement set-up in which the generator and/or load are not

matched to the line. As seen above, the output waveform is distorted after

t = 3TD. The actual time window, T , available for observation of an un- w

distorted waveform is 2TD. Thus one may widen the undistorted window simply

by increasing the transmission line length between the generator and the
oscilloscope. A practical limitation is reached, however, when the actual

line response starts to introduce distortion on the generator waveform.

2 . 3 Theory of Time Domain Insertion Loss Measurements

The measurements made are actually time domain insertion loss measurements for the purpose of computing the transfer insertion scattering parameter, S

2

, (jco),* where cj is the angular frequency variable [23]. A circuit

model analysis of the measurement technique has been derived by Gans and

Nahman and is presented here.

The circuit used to obtain the incident voltage waveform at the plane

of insertion is shown in figure 2-4. V (s) and Z ( s ) represent the pulse

generator. s is the complex frequency variable. Two sections of precision

50 ohm coaxial airline are represented by &-, and £_• The box labeled T(s)

represents the sampling oscilloscope sampling gate with an input impedance

of Z (s) and a transfer function T(s) between the sampling gate and the CRT

display. The oscilloscope is also terminated in a 50 ohm load, R . v., (t)

is an observable voltage; it is the insertion plane waveform as seen through

the transfer properties of i

? and the oscilloscope. For this analysis, it

is assumed that all connectors are ideal . Since the generator impedance, Z (s) , may not be equal to R , and since

the presence of the sampling oscilloscope at the end of line £_ certainly

changes the total load impedance as seen by line SL~ to some value other than

R , the reflections caused by these two discontinuities will invalidate this

o

' analysis 1 after some time. The available time window, T , in which this meas- ' w urement is valid is determined by the lengths of the two lines, £, and £_•

The time delays for reflections from the generator and oscilloscope,

respectively, are

2TD

1 = 2A

1 /v (2-18)

2TD

2 = 2Jl 2 /v

p

(2-19)

g where v is the propagation velocity in the medium (v - 3 x 10 m/s for

coaxial air lines). Thus T , the available time window, will be either

2TD

1 or 2TD?

, whichever is smaller. For example, a 30 cm airline thus

provides a 2 ns time window.

The displayed initial input transition voltage waveform, v,, (t)

,

figure 2-4, may be expressed as

v

dl (t) =X_

_1 {Vdl (s)} 0<t<TD 1+TD

2 +Tw

(2-20)

fc S..(ju)) is the commonly accepted notation for the scattering parameters of

microwave networks. It is not be confused with S(f) which is commonly used

for spectrum amplitude.

10
where^C. denotes the inverse Laplace transformation operator, and where

frequency v -s(TD

1 +TD2

)

Vj-j (s) is given in terms of the complex frequency variable s as

V

dl (s) = Vfs) t

s (s) T(s)

Z (s)+R < g^ * o

J

where x is the transmission coefficient at the oscilloscope input

(2-21)

2 Z T

S (S)

CRT (s)

R

o

+ Z CRT^

and Z„ RT is the input impedance of the oscilloscope

Z CRT (s)

Vs

) R

o

Z

s (s) + R

(2-22)

(2-23)

The initial incident waveform onto the reference plane is given by

Vn Cs) = V

g

(s)

Writing eq. (2-21) in terms of V"

1

. (s)

f

R

°

"•

U,C) V

•s TD,

-s TD,

t

s (s) T(s).

(2-24)

V (2-25) dl (s) = V

li (s)e

Referring to figure 2-5, with the addition of the device under test inserted in the 50 ohm system, the initial transmitted voltage waveform V-.fs)

may be expressed in the complex frequency plane in terms of the transfer

insertion scattering parameter as V

2t

(s) = Vu(s) S n

(s). (2-26)

The displayed initial transmitted voltage waveform Vj-(t) is

,-1

'd2 (t) =5L

i {Vd2 (s)} 0<t<TD 1+ TD 2+ Tw

+Td. where

s TD,

't s W5 (s) T(s) ) " V2t^ e

T, is the additional time delay introduced by the device under test

eqs. (2-26) and (2-28) V

d2 (s) is given by

(2-27)

(2-28)

From

s TD,

j t

s V (s) T(s) d2 (s) = Vn

(s) S 21 (s)e

The ratio of V

d2 (s) and V

dl (s), eqs. (2-29) and (2-21), will yield

the following result:

V

d2 (s)

(2-29)

v^W 21 (s). (2-30)

11
Thus, for the two time domain waveforms actually observed, in terms of

Laplace transforms,

S 21 (s) = ^ (2-31)

or, replacing s by jio, we arrive at the final Fourier transform equation

3-{vd2 (t)}

S

21 (joO = ^ (2-32)

T(vdl (t)}

Thus, for insertion loss measurements we have obtained the important

result that the frequency response of the sampling oscilloscope does not

affect the final result. The circuit loading due to Z (s) and the transfer

function T(s) were seen to cancel out. Likewise the actual generator

waveform and source impedance effects cancel out.

The above comments should not be construed to mean that any arbitrary

low frequency pulse generator and oscilloscope can be used to make microwave

measurements of attenuators. Other factors must be considered that were not

included in the above derivation. The most important is the signal to noise

ratio at the frequency of interest. The generator spectral amplitude S(f)

must be above the system noise level. In addition, the frequency response

|T(f)| of the oscilloscope must be such that the detected level |T(f)|S(f)

is above the noise level. This problem will be discussed in more detail in

later chapters

12
(a)

V (t) rp^ ' k

V "

t

?

(b)

vf

Figure 2-1. Time Domain (a) and Frequency Domain (b) Repre'

sentations of a Single Rectangular Baseband

Pulse.

Transmission

Line

z L

Cs)

Figure 2-2. Basic Pulse Measurement System.

13
Pulse Gen J-£- R„ = 25ft I Oscilloscope

V

g (t)

1 volt [JX 50ft

(c)

(d)

(e)

(a) Pt = +1/3; t

t = + 4/3

v (t)

A

(b)

v

x (t)

TD

2/3

.4/27

v

2 (t)

A

-1

TD

8/9 —r

2TD

/9V

-8/81V

i—

. TD

- 2TD

- 3TD

time

-i >• t 3TD

->- t 3TD

8/81

^>- t

Figure 2-3. Pulse Response of Mismatched Basic Pulse Measurement System,

(a) Circuit. (b) Zig-Zag Diagram. (c) Generator Source

Voltage. (d) Generator Terminal Voltage, (e) Load Terminal

Voltage.

14
! Z CRT< S

> Vs )

z „(s) Vii(s)

V

g

(s) R„ ! R„ o • o

I R,

Pulse Gen. h I Insertion

Plane

i

V

dl (s)

Oscilloscope

Figure 2-4. Diagram of Circuit Used to Obtain V,, (s)

.

Z CRT (s) Z

s (s)

V„(s) WS )

Figure 2-5. Diagram of Circuit Used to Obtain V,

2 (s)

15
3. THE FOURIER FAMILY

This chapter will discuss in greater detail than Chapter 2 the time

domain/ frequency domain interrelationship. The basic connection between

the two domains is the Fourier transformation (FT). The other relatives

in the Fourier family are also discussed. They are the Laplace transformation (LT) , Fourier series (FS) , discrete Fourier transformation (DFT) , and

the fast Fourier transformation (FFT)

.

3 .1 Fourier Transformation

As briefly mentioned in Chapter 2, the connection between the time

and frequency domain is the Fourier transform (FT) pair defined as

oo V(f) = / v(t)e" :i2Tr£t dt (3-1)

- OO

v(t) = / V(f)e +

:> 2Tr£t df (3-2)

-00 or in operator notation

V(f) =^[v(t)] (3-3)

v(t) =^> " 1 [V(f)] (3-4)

v(t) and V(f) are the time domain and frequency domain representations

of the same physical signal. When the signal is an electrical voltage, the

units are volts for v(t) and volt-seconds for V(f). Tables of transform pairs

have been tabulated [24].

For a given v(t) to possess a FT, V(f) the integral (3-1) must converge;

a set of conditions which insures that the integration will converge is the

Dirichlet conditions which are as follows:

1. v(t) must be absolutely integrable

00

/ I v(t) | dt < °° -00

2. v(t) may only have a finite number of maxima or minima in a finite

interval.

3. v(t) may only have a finite number of discontinuities in a finite

interval

.

These conditions restrict the FT to energy signals, that is, to signals which

contain a finite energy,

oo

/ [v(t)] 2 dt < oo

16
On the other hand they exclude power signals, that is, signals which contain a finite power,

i T lim 4- J [v(t)] 2 dt < »

T->oo LY -t

Important power signals are periodic signals and the unit step. It is

possible to include these important signals in the FT by allowing the FT to

include delta functions, 6(f); however, their inclusion only provides a formal

method for a unified treatment of energy and power signals [51] . In the discussion presented here, the unified treatment is not used and is replaced by four

separate methods defined as the Fourier family:

1. The Fourier Transformation for energy signals.

2. The Laplace Transformation for causal transient signals.

3. The Fourier Series for periodic signals.

4. The Discrete Fourier Transformation for discrete (sampled) data

signals

3. 2 Laplace Transformation

For transient (causal) signals the Laplace transformation (LT) provides

the link between time and frequency [25] . The word transient (causal) implies

that the signal did not exist prior to some time, say t = 0; furthermore,

initial conditions are included at t = .

v(t) =0, t < (3-5)

The Laplace transform pair is defined as

(3-6)

; + St ds (3-7)

c is a constant of integration. s is the complex frequency variable.

s = a + ja> (3-8)

where

u = 2TTf (3-9)

In operator notation the LT pair is

V(s) = / v(t)e" st dt

v(t) 1 r C +

j

°° = -±- / V(s)

2fTJ c-j 00 for t > 0.

V(s) -JCtvCt)] (3-10)

v(t) =X"V(s)] (3-11)

17
Although eqs . (3-6) and (3-7) appear to be more formidable than those of the

FT, they also are more powerful. Many real signals that could not be handled

by the FT due to integration convergence problems do have solutions in the LT

The introduction of the damping term e in addition to the reactive term

e * found in the FT is what allows the integration (3-6) to converge. The

inverse LT,£C , is accomplished with the powerful tool of contour integration in the complex frequency (s) plane . A complete discussion of the FT

and LT is quite lengthy and the reader is referred to the many books that are written on the subject.

For an electrical voltage the units in the LT are the same as for the

FT. Namely, v(t) is in volts and V(s) is in volt -seconds

3 . 3 Fourier Series

The Fourier Series (FS) provides the link between the time and frequency

domain for periodic signals. Such signals must necessarily exist for all

time from -°° to +°°. The periodic property is defined as

v(t) = v(t ± kT)

k = 1,2,3 ,°° (3-12)

T is the fundamental period. The fundamental frequency f of the periodic

waveform is

f = 1/T (3-13)

A periodic signal may be written in a Fourier series expansion as an infinite

sum of sines and cosines.

A +»

v(t) = — + I A cos(2Tmf

o t) + Bn sin(2irnf t) (3-14)

2 n=l

n is an integer n = 1,2,3,...

The frequency coefficients A and B are given by ^ ' n n

T A = J J v(t)cos(2irnf t)dt (3-15)

n T

; o

v ' o

T

B = m J v(t)sin(2TTnf

Q t)dt (3-16)

o The FS may also be written in a complex exponential form.

, T -j2irnf t Dfnf ) = £ J v(t)e ° dt (3-17) n^ o

J T

o

+°o +j 2-rrnf t v(t) =

I Dfnf )e ' ° (3-18)

n * o- n=-oo

18
The FS expansion shows that if a signal is periodic in the time domain

for all time, it only exists in the frequency domain at integer multiples of

the fundamental frequency f ; i.e.,

D(f) f , f = ± nf

(3-19)

D(f) HO, f + ± nf

Q

Attention is called to the fact that the exponential form of the FS,

eqs. (3-17) and (3-18), closely resembles the FT, eqs. (3-1) and (3-2), and

the LT, eqs. (3-6) and (3-7). For the integrals (3-15) through (3-17) to con- verge the Dirichlet conditions discussed in section 3.1 have to be satisfied

but only over the interval defined by the period T. The units of A , B , and D are the same as those of v(t) . The integran n n

& tion of eq. (3-17) results in an area (volt-second) that is then normalized by

1/T (per second) to give volts. Thus, a sine wave, for example, in the time

domain has the units of volts and when it is expressed in the frequency domain,

it still has units of volts but at a single frequency.

3 .4 Discrete Fourier Transformation

In actual practice a finite amount of discrete sampled data, v ,, is

many times used to represent a physical signal. The actual signal, v(t) , is

unknown for all other values of time.

v ,(t=iAt) = v(t) for i = 0,1,2, ...N - 1 Sa

(3-20) v

sd (t) = vd (t=iAt) for iAt < t < (i+l)At

This type of data is obtained directly from sampling oscilloscopes and is

the natural state of numbers in a digital computer. The FT, LT, and FS all assume that v(t) is a continuous function. For discrete data the integrations

of the FT, LT, or FS must be approximated by the finite summation technique.

T N-l

/ ° v(t)dt -

I v ,(t=iAt)At (3-21)

o i=0 sa

where

The sampling rate, f , is simply

T = NAt (3-22)

o

v J

f sr

= 1/At (3-23)

If one has a finite amount (N points) of data taken at a fixed sampling interval At, this data can be applied to the Fourier Series. Using the finite

19
summation method as in eq. (3-21), eq. (3-17) can be transformed to

, N-l -j2TTnf (iAt)

U (nf ) = -±- I v ,(iAt)e ° At O24 ) n ° NAt i=0 Sd

U replaces D to distinguish between the FS and the DFT. The At within the

n n summation cancels the At in the denominator. The exponential argument may

also be rewritten with eqs . (3-13) and (3-22).

U

n

( "V -F2 V^

(i ")e_J12

TM/N

(3 " 25)

This is the normal form given in the literature for the discrete Fourier

transformation (DFT) [26] . This form is preferred when programming a digital

computer. Equation (3-24) is more useful for obtaining insight and understanding of the properties of the DFT.

For an electrical voltage, the units of v(t) are volts. Equation (3-24)

is from the Fourier series and the result of the summation is an area in units

of volt-second. The final result Uno(nf ) is the summation normalized by' the

time interval of summation, T . Thus the units of U (nf ) are volts.

o no

As with FT, LT, and FS there exists an inverse Discrete Fourier Transform. It is normally written in the literature [27] as

v

sd (iAt) = Y U

n

(nf

o )e

+

J i2 TM/N

(3-26)

n=0

Using eq. (3-22), eq . (3-26) can be rewritten to demonstate its similarity

to the FS expansion eq . (3-18).

N-l +j2Trnf^(iAt)

, fiAtl =

sc v, d

(iAt) I U

n

(nf

Q )e " ° (3-27)

n=0

Equation (3-26) is different from the FS equation (3-18) in that it is a sum- mation over a finite number of frequencies while eq . (3-18) is an infinite

summation. The reason for this is the discrete nature of v j(t) due to the sd

sampling process. A complete derivation will not be shown here as it has

already been covered adequately in the literature. Brigham [28] gives a good description of the DFT along with appropriate illustrations.

In a report of this nature it is useful to summarize the important

properties and limitations of the DFT.

1. The actual time domain waveform v(t) extends from t = -°° to +°°,

figure 3-1 (a) . 2. The waveform is sampled N times at the sampling rate, f

r

» with a uniform sampling interval At, figure 3-1 (b), to give v ,(t).

sr At

20
3. A finite time segment of length T of the waveform is sampled,

figure 3-1 (b). T

Q

= NAt

4. The DFT is in reality a discrete Fourier series.

5. The DFT gives the transform of a periodic waveform v (t) , figure 3-1 (c)

6. v (t) and v d

(t) are related.

Vt} =

, I vsd^ t + £T

o) C 3

" 28 )

7. v (iAt) = v(iAt) only in the interval <_ t < T . 8. v (t) is periodic with period T and a fundamental repetition frequency f

Q

= 1/T

Q

. 9. The FT of v(t) is a continuous function V(f) for all frequencies,

figure 3-2 (a) . 10. The DFT gives frequency coefficients U (nf ) only at discrete

frequencies that are integer multiples of the fundamental frequency, nf , figure 3-2(b).

11. As a result of the sampling process the bandwidth of the frequency coefficients is limited.

12. The sampling process and the DFT produce a periodic spectrum

U (nf ) in the frequency domain of period f_„> figure 3-2(c).

Vn£o)

= VnV£sr) (3-29) n is an integer with allowable values from -°° to +°°. 13. Uno(nf ) is obtained by an infinite summation of the shifted

spectrum of the original signal V(f) . 14. V(f) is a bandlimited function if its tails are zero above a cutoff frequency, f , figure 3-2(a).

15. If the tails of V(f) are zero above the folding frequency, f f

, where f ,. = f /2, then U (nf ) is an accurate representation of

r sr no r V(f) for |f| < f

f

. 16. If the tails of V(f) v ' extend above f r , i.e., f > f,., then

± co f

aliasing results which distorts U (nf ).

17. The Nyquist sampling rate, fN

, is the special case when f = 2 f

It is the lowest sampling rate which will accurately sample V(f)

without aliasing,

U for negative 1 n

° positive frequencies

18. U for negative frequencies is the complex conjugate of U for

U

n

(-f) = U*(f) (3-30)

19. In normal computer processing of the DFT pair, eqs . (3-24) and (3-26),

the frequency span from f = to f = (N-l)f is used. The

21
20

frequency domain coefficients Uno(nf ) in the range to f r contain ° f the normally anticipated r values. The coefficients U (nf ) in the

n

v o' range fr to (N-l)f are in reality the negative frequency coefficients of f = -f,. to - f . They are shifted in frequency due

to the periodic property of the DFT

.

For frequencies above the folding frequency, f f

, U (nf ) is not

the same as V(f)

.

3 . 5 Fast Fourier Transformation

The Fast Fourier Transformation (FFT) is not really a different transform

from those already discussed. The FFT is in fact the DFT. All of the com- ments made in the previous section on the DFT apply to the FFT. The FFT is

simply a computer algorithm for the rapid and efficient computation of the

DFT. The FFT dates back to the early 1900 's but it was given its push to

prominence in 1965 by Cooley and Tukey [29]

.

The common FFT is a DFT with the restriction that the number of sample

points, N, be an integer power of 2.

N = 2 Y (3-31)

where y = 1,2,3

The value of the FFT is in the reduction of computer time required to

evaluate a DFT [30] . An arbitrary N-point DFT requires approximately N

2 operations while the FFT requires 2N log 7 (N) arithmetic operations.

Gans and Nahman [31] give a good description of the inner mechanisms

of the FFT.

3 .6 Relationship Between FT and DFT for an Impulsive Waveform

In actual measurements one is never able to obtain data over a time

interval of infinite extent. One is always constrained to obtaining a finite

amount (N) of data in a limited time window (T ) . Thus one always obtains

W data that is more suitable for the DFT rather than the FT. The question

often arises, "What is the relationship between the FT and the DFT?" This

section will deal with this question for an impulsive waveform.

An impulsive waveform is one that suddenly departs from zero amplitude,

rises to a peak value, and then rapidly relaxes back to zero. If the observation time window is sufficiently wide, figure 3-3(a), to include the beginning

zero departure and the final return to zero then the waveform, v. (t), may be

completely described as

f f(t), < t < T

v, (t) =

\ W

(3-32) w

22
where f(t) v J is finite and continuous in the time window —

< t < T . Because — w

the signal is zero outside of the time window, the FT reduces to

V.(f) = J Tw

v iCt)e-J 2lTft dt (3-33)

An artificial periodic signal v . (t) , figure 3-3(b), is assumed to be related

to v- (t) by eq. (3-12) .

v

pi Ct) =

I v

i Ct * nTw

) ( 3_34 ) n=- The FS of v • (t) exists with frequency coefficients given by

i T -j2imf t Dni Cn£o)

= T- I W

v

i Ct)e dt (3_35) w o Section 3.4 demonstrated that the DFT was approximately the same as the FS

.

U . (nf ) « d . (nf ) (3-36) ni> o^ in 1 o

J v J Note that the integral in eq . (3-35) is in fact simply V. (f )

, eq. (3-33),

evaluated at nf . Thi

o impulsive waveform is

evaluated at nf . Thus the relationship between the FT and the DFT for an

o

V. (nf ) « T U . (nf ) l

*• o

J w ni v o

J n = 0,1,2 (3-37)

where

f - 1/TW

. (3-38)

It should be noted that V. is obtained only at discrete harmonically related

frequencies. Values at other discrete frequencies may be obtained by

numerically integrating eq. (3-33) directly.

3.7 Relationship Between FT and DFT for a Step-Like Waveform

In pulse measurements one normally encounters impulsive or step-like

waveforms. The impulse was discussed in the preceding section. The steplike waveform poses a bit more difficulty in determining the relationship

between the DFT and the FT. Once again the discussion will deal with the

actual measurement problem of a finite amount (N) of data in a limited time

window (T )

.

A step-like waveform V nC 1 ) > figure 3-4 (b), is one that suddenly departs

from zero amplitude (or a fixed baseline), rises to a new amplitude value

and remains there until t = +°°. If the observation time window T is w sufficiently wide to include the beginning zero departure and the final

steady state value, v , then the waveform may be completely described.

23
The step-like waveform can be considered to be the step response of some

r (t) , figure 3-4 (a), is a unit step fund

v

s (t) = u(t) (3-39)

linear system. The excitation v (t), figure 3-4(a), is a unit step function

The LT of v (t) is

s [v

s (t)] = Vs (s) = | ( 3-40)

The linear system step response in the complex frequency s domain is

V^(s) = V

s (s) H(s) = Sl2l

(3 _ 41)

where H(s) is the system transfer function. In the time domain the system

step response is

v

s ,(t) -XT^SIal] (3-42)

Now consider the effect of using a unit rectangular pulse v (t) of

A IT duration T , figure 3-4 (c), as an excitation.

The LT of v ft) is

rp

v

rp

(t) = u(t) - u(t-T

w

) (3-43)

-sT

5C[vrp Ct)] = V

rp

(s) = (l-e w)/s (3-44)

The response, v (t) , of the linear system to this rectangular pulse

excitation is

vrpr(t) =X_1

[V

rp

(s) H(s)] (3-45) v (t) would appear as shown in figure 3-4(d). With the pulse duration T

chosen such that v . (T ) has attained its final value v , then the pulse si V W^ ' r response v nr (t) is simply

f v

s£

(t) ' '

< Tw

vrpr(t) =

|

S£ W

(3-46) rpr W - v .(t-T ), t > T

o sS. v w

y

' — w

Now consider making the single rectangular pulse into a periodic square

wave, v (t) , of duration T and period 2T , figure 3-4(e). The response,

v . (t), of the linear system to this excitation would appear as shown in

figure 3-4 (f) and as given by the following equations.

W*) W1 ± n2 V- n °' 1 ' 2 < 3

- 47 )

r vS £ (t) ' ° -

t < Tw

s * p W - v . (t-T )

, T < t < 2T

o si K w

J ' w— w

24
This periodic square wave response waveform is now in the form that can be

handled easily by the FS or the DFT. The fundamental frequency is

f = 1/2T

o w

The FS coefficients of this quasi-square wave v

g

- (t) are

(3-49)

nsl Cn£ ) - -±- / W

v. f Ct)

jniTt/T

2T o w

Si

2T M W

vc ,(t-TJ

2T T w w

si

w

v 2T -jniTt/T

+ -°_ /

'' 2T T w w

w

dt

-jmrt/T^

dt

dt

(3-50)

The integrations in eq. (3-50) are straightforward and give the result

Dnsl<n V T o w

si

-jniTt/T

(t)e " dt + j W ,;_ •

nir (3-51)

for n = 1,3,5,...

= 0, for n = 2,4,6, .. .

The fact that D „ = for even n is consistent with the property that no even harmonics exist for a symmetrical waveform. Section 3.4 demonstrated

earlier that the DFT was approximately the FS.

U

nsilCn V D

nsJ, CnfJ

Substituting eqs . (3-52) and (3-51) into eq . (3-47) gives the result

Vs*Cn V ~~ Uns*(nVTw

for n = 1,3,5,...

(3-52)

(3-53)

This is the same result as obtained for the impulsive waveform except

that now the fundamental frequency is 1/2T and only the odd harmonics are obtained. V „ is obtained only at discrete harmonically related frequencies,

V .(f) may be evaluated at any other frequency by numerically integrating

eq. (3-47) directly.

3 .8 Amplitude Spectrum of Common Waveforms

In time domain pulse testing, a limited number of waveforms are com- monly encountered. They are the step, truncated ramp, impulse, rectangular

pulse, triangular pulse, sine squared pulse, and the RF burst. These waveforms are important because they can be described mathematically and their

spectra can be readily calculated. Actual generators are capable of closely

approximating these idealized waveforms.

25
Table 3-1 lists the various waveforms, their mathematical equations in

the time domain, and the equations for their amplitude spectrum, S(f).

Figures 3-5 through 3-10 show the waveforms and their respective S(f).

The unit step, figure 3-5, and the truncated ramp, figure 3-6, are power signals and as such do not possess FT ' s as defined earlier. The

spectral equations given in table 3-1 were obtained from the more general

unified FT by deleting the delta functions. For example, the unified FT

gives for the unit step

^[u(t)] = ij + 776(0)) (3-54)

|3[u(t)]| -I, a) > (3-55)

The spectrum of the ideal step, figure 3-5, is inversely proportional

to frequency. It is thus characterized by a constant slope of -20 dB/decade

The truncated ramp's spectrum, figure 3-6, is identical to that of the ideal

step for low frequencies. However as the frequency increases and approaches

1/t , S(f) departs from the -20 dB/decade slope and assumes more the characteristic of the triangular pulse, figure 3-8.

The rectangular pulse, figure 3-7, is seen to have a sin(x)/x variation (see also Chapter 2) . A distinguishing feature of this pulse and most

other impulsive shaped pulses, such as the triangular pulse, figure 3-8,

and the sine squared pulse, figure 3-9, is the fact that the spectrum

amplitude r approaches rr a constant value 2 v t at low frequencies, v t is oo n o o simply the area under the v(t) curve. The shape of the spectrum for the

triangular pulse, figure 3-8, is identical to that of the rectangular pulse

except that S(f) drops faster with frequency. Note that the vertical scale

is 20 dB/div. instead of 10 dB/div. The sine squared pulse, figure 3-9, has

its first spectrum zero at 1/t like earlier pulses. Its higher order

zeros occur twice as often.

A special case of the rectangular pulse is the true impulse or as it is

called in mathematics, the Dirac delta function, 6(t). It is defined as

6(t) = i im u(t) - "(*-*) (3-56)

a-*0 a

oo / 6(t) = 1 (3-57)

- oo

This is seen to be a rectangular pulse of width a and height 1/a with a constant unit area. Its spectrum is like that of the rectangular pulse

except that its first sin(x)/x zero occurs at infinity. In other words its

spectrum is constant for all frequencies.

26
In normal laboratory practice a narrow rectangular pulse is often times

referred to as an impulse. This is done with the implicit understanding that

its spectrum amplitude is essentially constant for all frequencies of interest.

The spectrum of the rectangular RF burst, figure 3-10, is seen to be

simply that of the rectangular pulse transposed in frequency by the carrier

frequency, f . However, the sidebands are not symmetrical. The dissymmetry

is caused by the second term involving (2f + Af ) . This second term accounts

for the aliasing caused by the transposition of the rectangular pulse spectrum

to both +f and -f . When the RF burst contains an integer number of cycles,

i.e., t = N/f , then the number of zeros of s(f) between zero and f are ' o c c equal to N. For frequencies near f (i.e., Af = 0), S(f) is essentially

flat and approximately equal to v t .

27
Table 3-1. Amplitude Spectrum of Common Waveforms

Waveform V(t) S(f)

Step V

Q u(t) V /(nf)

Truncated Ramp

Rectangular Pulse

^ [t u(t) - (t-t )u(t-t )] o

V

Q [u(t) - u(t-t

o

)]

Triangular Pulse ^ [t u(t) - 2(t-t )u(t-t ) o

+ ft-2t v )u(t-2t )] o o

'

[Vo1 [1 - cos(2^fto

)] i/z

yi ^ (t f) 2

v '

2V t" sinfTrft ) o'

firft v ) 0''

2V t 'sinfnft ) 2

i fw£t ) l V QJ i

Sine Squared Pulse n

2 |^|u(t) 2t

o

2 '2T-j

o

2V t o

sin(2Trft )

(2TTft ) [l-(2ft )

RF Burst V [sin(2TTf

c t)u(t + t o /2)

sin(2Trf t)u(t-t /2)

Vo

sinOAft <. ) sin[TT(2f + Af)t ] o c o

* o' [n(2f +Af)t ]

1 c o where Af = f - f

28
Figure 3-1. (a) Actual Time Domain Waveform. (b) Sampled

Data Obtained in a Finite Time Window. (c) Periodic

Waveform Used in DFT.

(a)

(b)

(c)

CO CO

ST f£ U(actual) f f

U

1 a

f U fnf ) f f

n A°

|

I I 1 1 l I I

I

I " f

sr " f

f

sr

1 I

I I 1 I I

1 1 1 l,f

n*£

-r>

fr f f sr

Figure 3-2. (a) FT of Actual Time Domain Waveform. (b) Actual

Frequencies Present in DFT of Sampled Data.

(c) ^ Periodic Spectra v U Produced in the Fren

quency Domain by the DFT.

29
(a)

(b)

t

Figure 3-3. Impulsive Waveform Made Periodic.

30
s

* J

(a)

>t

w »,iC« w

Figure 3-4. A Step-Like Waveform and Various Related

Waveforms

31
Fig. 3-5. Step.

v(t)

s(£)/S(£ ) A

dB.

V t

40-

0.1 1 10 100

>• £/£

S(£)/(V

o

t Q //I 7T)

Figure 3-6. Truncated Ramp,

v(t)

dB.

->» t

-20-

1

XL \ . i » ft,

S(£)/2v t

Figure 3-7. Rectangular Pulse. Q dB

v( t)

v -

t' *f-t.

32
Figure 3-8. Triangular Pulse.

S(f)/2v K J t oo

dB

-80 ' >• f«t

Figure 3-9. Sine Squared Pulse,

S(f)/2v t

^ J oo

dB

f-t

Figure 3-10. RF Burst

S(f)/v v t

' o o A

dB

*-t

V £/£

33
4. EXPERIMENTAL FFT'S OF SOME IDEAL WAVEFORMS

4 . 1 Background

In the course of software development for the TDANA it was found

necessary to conduct a set of experiments in order to understand more fully

the mechanisms of the FFT . (A number of rather odd spectrum amplitude observations were made when certain time domain waveforms were transformed.) Also,

a clearer understanding of the relationship between pulse shape and spectrum

amplitude was desired for certain pulses typically encountered in time domain

studies. What follows, then, are descriptions and results of the various

experiments performed. These are broken down into two major types of waveforms; rectangular pulses and repetitive rectangular pulses.

4 . 2 Single Rectangular Pulses

For this experiment, as well as for those that follow, idealized 128-

pcfint time domain waveforms were transformed on the system computer using a moderately fast and accurate FFT routine written in BASIC. An example of one of these time domain waveforms appears in figure 4-1. Photographs were then

taken of the resulting spectrum amplitudes as observed on the system monitor

oscilloscope. For the DFT

U

n (nf ) = i- j vsd (iAt)e^ i2Trn/N

, i = , 1 ,2 , • • ,127 (4-1)

The observed output was of the form I U fn£ )| where

|U fn£n )| = [a 2

, + b

2

] 1 ' 2

. (4-2)

a and b are the real and imaginary parts, respectively, of the n complex

frequency coefficient.

The set of spectral points produced by this N-point transform in order

of ascending frequency, consists of a DC term, N/2-1 equally spaced harmonic

terms, a folding frequency term, and N/2-1 additional equally spaced harmonic

terms. The latter set of N/2-1 harmonic terms are merely complex conjugates

or mirror images of the first set of N/2-1 harmonic terms and are thus

redundant. Consequently, the photographs appearing in this chapter are displays of only the DC term and the first 63 harmonic terms. In the figures

|U1 (nf )| is plotted on a vertical uncalibrated linear scale. The horizontal

n o

' axis is a linear frequency scale.

Figure 4-2 is a photograph of the displayed spectrum amplitude for an "impulsive" time domain waveform. That is, the first point of the 128-point

waveform was assigned a positive value and the remaining 127 points were set

to zero. The lower trace of points in the photo is a baseline reference only

and not part of the spectrum. As one would expect, the spectrum amplitude

for this waveform has a constant value.

34
By making the pulse width two points wide rather than one, the photo in

figure 4-3 results. Note that for a two-point rectangular pulse, the spectrum

amplitude decays to a zero value at the folding frequency (f f

) . This will be

true for any length FFT as long as the total number of points in the time

domain waveform is 2 , y a positive integer.

The photo in figure 4-4 is a spectrum amplitude display of a threepoint rectangular pulse. The only zero now occurs at two-thirds f

f

. After

this zero the spectral density rises again arriving at a peak value at f~.

Figure 4-5 is the spectrum amplitude for a four-point rectangular pulse.

Two zeros are now present, one at one half f

f and one at L. A number of

inferences may now be made. First of all, it appears that the number of

zeros occurring between DC and fr in the spectrum amplitude of a rectangular

pulse is equal to half the number of points in the pulse. This is indeed

true, not only for a 128-point transform but for a transform of any length

2^, y an integer. Expressing this mathematically,

N

Q

- ^ , n

p

< |

(4-3)

where N is the number of spectral zeros, n is the number of points in the

o P rectangular pulse, and N is the number of points in the time waveform. The

restriction that the pulse width cannot be wider than half the time window

will be explained and modified below.

By simply looking at figure 4-6, now, since there are six spectral

zeros between DC and f f one could apply eq. (4-3) to show that the number of

points in the pulse is twelve. Likewise, since the photo in figure 4-7 con- tains 16 zeros there must have been 32 points in the rectangular pulse

generating that spectrum.

Now to carry this inference a step further, one may imply that the

number of zeros present between DC and f

f for a rectangular pulse spectrum

amplitude is really a function of the ratio of the pulse width, x, and the

width of the time window, T. That is,

N

o

= 2T' 1^*1 ( 4

- 4 )

where N is again the number of zeros occuring between DC and f

f

. The lower

limit on x (i.e. T/N) indicates that the spectrum for a single-point pulse

contains no zeros. The upper limit of T/2 can best be explained by com- paring the spectra shown in figures 4-7 and 4-8. The spectrum in figure 4-7

corresponds to a 32-point rectangular pulse while a 96-point rectangular

pulse generated the spectrum in figure 4-8. Note that, aside from the difference in DC terms, both spectra are identical. (The spectrum in figure 4-8 was scaled down vertically to allow display of the large DC term.) The time

domain rectangular pulse that generated the spectrum in figure 4-7 (32 points)

35
32 corresponds to a pulse width of y~-g = 1/4 the total time window. That of

figure 4-8 corresponds to a width of yyg- = 3/4 the total time window. Since

the pulse causing the spectrum in figure 4-8 is really a negative pulse with

a width of 1/4 the total time window, and since the spectrum amplitudes for

both positive and negative pulses of equal width are the same (disregarding

the DC terms), it follows that the two spectra should be the same. Equation

(4-4) may now be expanded to cover all possible pulse widths as follows.

(4-5)

Nx

Zt N

<T il

N = J NCT-t)

2T

T^< x < T

TN

Substitution of 40 for n in

P Careful scrutiny of figure 4-8

This equation is a very helpful rule of thumb for quickly determining the

relationship between a time domain rectangular pulse and its spectrum amplitude. If one knows the folding frequency and the number of zeros, N , in the

spectrum, he may quickly determine both the pulse width and the width of the

time window. It should be noted, however, that eq. (4-5) does not provide

the pulse polarity, thus allowing a possibility of two answers. In practice

this ambiguity is usually avoided by prior knowledge of the approximate pulse

width, i.e., greater or less than T/2.

Another interesting observation was made concerning rectangular pulses of

widths close to but not equal to T/2. Figure 4-9 is a photo of the spectrum

amplitude for a 40-point rectangular pulse,

eq. (4-3) yields a value of 20 for N

o indicates that there are 20 zeros in the spectrum but this count is difficult to make due to the lack of symmetry of the spectral points. The

spectrum amplitude of the Fourier transform for a rectangular pulse is of

the form K|sin(x)/x| where K is a function of both pulse width and pulse

amplitude, and x is a function of pulse width (see eq. 2-5). For the FFT

of the same rectangular pulse the location of the observed spectral points

with respect to the continuous integral transform curve is a function of both

pulse width and time window width. There is a lack of symmetry in figure 4-9

because the ratio of time window width to pulse width is not an integer

power of 2. Between DC and the folding frequency the spectrum amplitude points for

the FFT of a rectangular pulse may be expressed as

K(nf )l - K sm(—

N n = 0,1 ,2* • • -J (4-6)

where spectrum aliasing has been neglected, n is the harmonic number, |U

36
is the spectrum amplitude point for the nth harmonic, t is the pulse width,

T is the time window width, K is a magnitude constant, and N is the total

number of points in the transform. For the example of a 40-point pulse in

a 128-point time window, eq. (4-6) becomes

= K n = 0,1,2* ••64. (4-7)

Because of the 5/16 fraction in the argument of the sine term, the values of

lU I as n goes from to 64 will be out of synchronization with the peaks and 1 n

zeros of the sine function.

If we now examine the case of a 32-point pulse in a 128-point time

window, eq. (4-6) becomes,

UJ = K sin(f)

n = 0,1,2 64. (4-8)

The values of |U | will now be synchronized with the sine function, i.e., the

values of the sine term will repeat as 0, tt/4, it/2, 3tt/4.

Parenthetically, if one wishes to express t and T in units of time

rather than simple integers, eq . (4-6) becomes,

U = K sinfirf v t) n

} "^ n = 0,1,2 N

2'

where, from the definition of the DFT,

f = 5- n = 0,1,2' N

2'

(4-9)

(4-10)

The important point to notice in eq. (4-6) or (4-9) is that the ratio t/T

must evaluate to a fraction of the form 1/n, n an integer, in order for the

peak and zeros of the sine function to be synchronized to the values of |U |

Because the FFT requires time window widths that contain 2' points, the

fractional form of 1/n will only occur if the pulse width also contains a number of points equal to a power of 2.

The constant K is a function of both pulse width and pulse amplitude.

Figure 4-10 is the spectrum amplitude for a 4-point rectangular pulse with an amplitude of 3200 arbitrary units in a 128-point window. The spectrum amplitude for an 8-point pulse of amplitude 1600 is shown in figure 4-11. Figure

4-12 is the spectrum for a 16-point pulse of amplitude 800. In each case the areas under the pulses (amplitude times width) are the same. These

three figures graphically illustrate the fact that while K is a function of

the area under the pulse, the number of spectral zeros or peaks obtained will

be a function of t/T.

37
The last experiment of interest performed on rectangular pulses was concerned with pulses of width T/2 or very close to T/2. Figure 4-13 is a photo of the spectrum amplitude for a rectangular pulse of width T/2. Note

that, from eq. (4-6), the magnitude of the harmonic terms alternate between

zero and a decreasing positive value as the frequency goes from DC to f

f

. This is the DFT equivalent of the Fourier series representation of a symmetrical square wave where the even harmonics are all zero and the odd

harmonics decrease monotonically as a function of frequency. As described

elsewhere in this report, one may take advantage of this property of a pulse

of width T/2 to eliminate unwanted zeros in the spectrum amplitude.

For pulses with widths very close to T/2 an interesting rectangular

spectrum amplitude results. Figure 4-14 is the spectrum for a 511-point

rectangular pulse. The total time window, or equivalently , the transform

length, was 1024 points. For this figure, as for the two that follow, a 1024-point transform was used rather than a 128-point transform for purposes

of clarity. Also, the displays are logarithmic in amplitude and because of

certain system memory limitations, only the first 500 of the 512 useful

spectral points are displayed. It may be seen, however, that the even harmonics appear to be constant while the odd harmonics decay in amplitude

to a zero at f f. Figure 4-15 is a spectrum amplitude display for a 508-point rectangular

pulse. A trend may now be noticed that the odd and even harmonic spectral

amplitudes vary up and down alternately. Equation (4-5) may be used to show

that, for figure 4-14, there must be 255-1/2 actual zeros in the spectrum

amplitude while the spectrum amplitude for figure 4-15 must contain 254

actual zeros. From eq. (4-6) it may be shown that the sine term variations

are just slightly out of synchronization with the values of |U | . In addition, eqs. (4-50 and (4-6) may be used to show that the number of points

missing from or added to a pulse of width T/2 is equal to the number of zeros observed in the display for pulses with widths close to T/2. For

example, the single zero in figure 4-14 indicates that the time domain pulse

must have contained either 511 or 513 points. Similarly, the pulse producing

the display in figure 4-15 must have contained either 508 or 516 points.

Figure 4-16, studied closely, contains 19 zeros (or approaches toward zero)

indicating that the pulse must have contained 512 ± 19 points, i.e., 493 or 531 points.

The major practical utility of this phenomenon is that a pulse width of

exactly T/2 should be used to avoid the beat phenomena. An algorithm that

transforms a step-like time domain waveform into a waveform of T/2 width is

described in section 4.4.

38
4 .3 Repetitive Rectangular Pulses

Armed with a practical knowledge of the spectrum amplitudes of single

rectangular pulses, one could logically ask how the spectra of two or more rectangular pulses in the time window would appear. Several combinations

of rectangular pulse transforms are described in this section. As was the case with the single rectangular pulse transforms, 128 -point time domain

waveforms were generated and transformed using the system minicomputer. The

resulting 64-point spectrum amplitudes were again displayed on the system

monitor oscilloscope.

Figures 4-17 through 4-20 are photographs of the spectrum amplitudes

of an "impulse" pair. Referring to eq. (4-1), the time domain waveform,

v j(iAt), consists of a 128-point array; two of the points are assigned a positive value and the other 126 points are set to zero. Thus, the FFT

"sees" a pair of impulsive signals in the time window.

Figure 4-17 is a display of the spectrum amplitude for the impulse pair

v , (At) and v ,(3At) = 1. Comparison with the spectrum amplitude for a single impulse (fig. 4-1) shows that a zero has been introduced into the

previously constant spectrum. Figure 4-18 is the displayed spectrum for

the impulse pair v -.(At) and v _,(4At) = 1, and figure 4-19 shows the spectrum

for the pair v , (At) and v ,(13At) = 1. Observation of these three figures

indicates that as the impulses are spaced farther apart more zeros appear

in the spectrum. Figure 4-20 is a display of the spectrum amplitude re- sulting from an impulse pair separated by half the time window, i.e., v j (At) and v ,(65At) = 1. For this case, all of the even harmonics have

been forced to zero.

In the last section it was shown that the maximum amount of useful

spectral information for a single rectangular pulse was obtained by choosing

the pulse width to be exactly half the time window. Similarly, the results

of this impulse pair experiment appear to indicate that maximum spectral

information is obtained when only one impulse is present in the time window.

Additional pulses generate unnecessary zeros in the resulting spectra and,

to further complicate matters, the number of zeros generated is a function

of the spacing between impulses. The next set of experiments discussed

reinforces this notion.

Figures 4-21 through 4-23 are all spectrum amplitudes of four-point

rectangular pulse trains. Figure 4-21 is the spectrum of two four-point

rectangular pulses spaced half the time window apart. Comparison with

figure 4-5, the spectrum for a single four-point rectangular pulse, shows

an agreement in spectral envelope shape. Figure 4-21 differs only by the

fact that all even harmonics are zero. This also agrees with the impulsive

pair transform for a pulse separation of half the time window, i.e., two

39
equally spaced pulses in the time window yield a transform similar in shape

to that of a single pulse, the only difference being the zeroing of the even harmonics

Figure 4-22 is a photograph of the spectrum amplitude for a train of

four equally spaced four-point rectangular pulses. Note now that only every

fourth spectral point is non-zero. The spectrum for a train of eight equally

spaced four point rectangular pulses is shown in figure 4-23. In this case,

only every eighth spectral point is non-zero. As was indicated by the

impulse pair transforms, the amount of useful spectral information is inversely proportional to the number of identical rectangular pulses in the

time window. In general, it may be shown that the. amount of useful spectral

information is inversely proportional to the number of cycles of any periodic

waveform present in the time window. The more cycles present in the time

window, the more spectral points become zero or nearly zero. Ultimately, for

a periodic waveform at the folding frequency, all spectral points become

zero except the DC term. Thus, a periodic waveform at exactly the folding

frequency will be "invisible" to the DFT and any frequencies higher than

f,- will be aliased back down and will erroneously appear as non-zero spectral

values below f

f

. Figures 4-24 through 4-26 have been included to show the effects of

disturbing the symmetry within a rectangular pulse train. Figure 4-24 is

a display of the spectrum amplitude of two four-point rectangular pulses

spaced almost half the time window apart . The two pulses were placed at

At through 4At and 64At through 67At. The distortion is most evident in the even harmonics when compared to figure 4-21. Figure 4-25 is a photograph

of the spectrum amplitude for the same two four-point pulses but this time

placed at At through 4At and 63At through 66At. Thus, as was noticed for

the impulse pair transforms, the spacing between pulses strongly affects

the shape of the resulting spectrum.

Figure 4-26 shows the effect of varying the width of one rectangular

pulse with respect to the other in a pulse pair. In this case a four-point

pulse was placed at At through 4At and a two-point pulse was placed at 65At

and 66At . Note the similarity to figures 4-3 and 4-5.

The last waveform transforms examined in this section are those for

pulse doublets, that is, a positive pulse followed by a negative pulse.

Figure 4-27 is the spectrum amplitude of a positive pulse at At through

8At and an equal magnitude negative pulse at 9At through 16At. Figure 4-28

is the transform of a positive pulse at At through 16At and an equal magnitude negative pulse at 17At through 32At. As the width of the two pulses

is increased the first spectral peak will shift to the left and the number

of spectral zeros will increase. Finally, for pulse widths of half the time

window, the spectrum of figure 4-13 will be generated.

40
4 .4 Practical Application of the DFT to Waveform Spectral Analysis

In this section some practical guidelines and algorithms are presented

for the application of the DFT to actual pulse and step waveforms acquired

with the TDANA system. These guidelines and algorithms are based in part

on interpretation of the ideal pulse experiments of the previous section.

In practical applications of the DFT to spectral analysis of time domain

waveforms, the two major problems encountered are commonly referred to as "aliasing" and "leakage" [32]. Based upon knowledge gleaned from the ideal

pulse experiments described in the last section (4.2), methods have been

developed that minimize errors caused by these two DFT problems.

Aliasing, first, is a term used to describe errors arising in the

computed spectrum of a time domain waveform that is not band-limited.

Shannon's Sampling Theorem [33] states that if a function of time, f(t)

contains no frequencies higher than f hertz, then it is completely determined by giving the value of the function at a series of equispaced points

^p— seconds apart. From a DFT spectral point of view, this means that

there will be no overlapping of spectra, and therefore no aliasing errors

if the time domain waveform contains no frequency components above the

folding frequency, f

f

. Recalling that the folding frequency is related

to the sampling period by

f

f

" 2AT ( 4

- n>

where At is the time spacing between samples, it becomes apparent that

aliasing errors can be avoided by increasing fr, or equivalently , by decreasing the sampling period, At. An equally effective method of eliminating aliasing errors is to band-limit the time domain waveform to con- tain no spectral energy at frequencies above the chosen £r.

In practice, both methods are used to avoid aliasing errors. The time

window and transform length, which together will dictate the sampling period,

are judiciously chosen to yield a value of f

f considerably higher than the

highest frequency in the measurement band of interest. To be safe, £r is

usually chosen to be at least twice the highest frequency of interest.

Additionally, low-pass filters are often used on the output of the pulse

generator to band-limit the reference waveform to the measurement band of

interest

.

The elimination of leakage errors is not quite as simple. Leakage

errors are the result of discontinuities in the time domain waveform caused

by the fact that the DFT assumes that the waveform in the time window is

periodic over all time. Thus, for example, if a waveform in the time window

starts at V and ends at 2 V, the DFT of this waveform will contain leakage

errors. One way to visualize this is to mentally draw the waveform to be

41
transformed around a cylinder whose circular perimeter is equal to the length

of the displayed time window. If the beginning and end part of the waveform

do not exactly meet with the same slope, leakage errors will occur. Stated

another way, the periodic function over all time is constructed by repeating

the waveform in the time window over all time, i.e.

f(t) -

fT

(t + 2T)

fT (t+T)

" fT

(t)

fT (t-T)

fT (t-2T)

2T _< t < -T

-T £ t <

< t < T

T < t < 2T

2T < t < 3T

(4-12)

where f„ is the waveform in the time window and T is the time window. This

function must be continous and have a finite first derivative at the points

t = kT for k = 0, ±1, ±2, ... ±°°. Otherwise, leakage errors will result

in the DFT spectrum.

The usual approach [34] is to minimize leakage errors by multiplying

the time domain waveform data by some weighting function. In effect, when- ever a waveform is transformed using the DFT, the waveform is multiplied

by the time window, represented by a unity amplitude rectangular pulse. In

the frequency domain the waveform spectrum is convolved with the spectrum of

the unity amplitude rectangular pulse. As long as the waveform meets the

criteria stated above (continuous with a finite first derivative at t = kT)

,

then no leakage errors will occur. Whenever there is a discontinuity at kT

,

however, the resulting spectrum will be the correct one convolved with the

spectrum of the "artificial" step waveform caused by the rectangular time

window. This usual method, then, involves multiplying the waveform data by

some weighting function other than the rectangular pulse implicit in the

DFT operation. The reader is directed to Reference [34] for a description

of a few of the more commonly used weighting functions as well as a fairly

comprehensive list of additional references on the subject. The main point

to be made here is that no matter what weighting function is chosen to force

the waveform data to meet the no-leakage criteria, the resulting spectrum

must be in error to the extent that the weighting function distorted the

original waveform data.

A very simple algorithm has been developed by Gans which, for certain

classes of waveforms and for certain applications, completely eliminates

the effects of leakage errors. This "windowing algorithm" involves inverting

42
the original time domain waveform, shifting DC levels, and attaching this new waveform to the end of the original waveform. The effect is to create a new waveform, twice as long in time as the original, which is mathematicallydescribed as,

r f (t) < t < T

fWA (t) = (4-13) WA <--f(t-T) + f(0) + f(T) T £ t < 2T

where f(t) is the original waveform, fWA (t) is the new waveform obtained

from the windowing algorithm, and T is the original time window.

Figure 4-29 (a) is a photograph of a typical step-like waveform obtained

on the TDANA. Transforming the waveform would lead to disastrous leakage

errors due to the fact that the initial and final voltage levels of the

waveform differ substantially. Figure 4-29 (b) is a photograph of the same waveform after being modified by the windowing algorithm. Notice that the

time window becomes 2T and that the new waveform closely resembles a rectangular pulse of width T. As long as the slope of the original waveform is zero at t = and t = T, this algorithm will yield a new waveform that

fulfills the no-leakage criteria.

Furthermore, experiments have shown that this new waveform, created

from a step-like original waveform, will have a spectrum amplitude very

similar to that shown in figure 4-13. That is, the spectrum amplitude will

be essentially that of a rectangular pulse whose width is half the time

window. (Recall that, for this special case, all of the even harmonics of

the spectrum are zero and all the odd harmonics decay monotonically as 1/f.)

Indeed, experiments on a variety of step-like waveforms have shown

that the spectrum amplitude of figure 4-13 always results from step-like

waveforms modified by the windowing algorithm. The only deviations in the

spectrum of actual step-like waveforms, in comparison to the spectrum of

figure 4-13, are those caused by the deviations of the actual waveform from

the ideal rectangular pulse shape.

An heuristic proof of the validity of this algorithm may be made simply

by considering the actual step-like waveform acquired and modified by the

windowing algorithm to be the output waveform of some linear circuit driven

by an ideal rectangular pulse source. One would expect, then, that the

spectrum amplitude of the output waveform would be the magnitude of the

product of the input spectrum and the transfer function of the linear

circuit

Another way of justifying the use of the windowing algorithm is to

consider that the step response of a linear system will have the same form,

regardless of the input step polarity. A linear system must "go up" and

"come down" along the same but inverted curve if the input differs only in

polarity. The windowing algorithm may be thought of as the response of the

43
linear system to a rectangular pulse whose duration is great enough for the

system response to reach essentially its final value before the pulse turns-off,

This algorithm, then, synthesizes a rectangular pulse response waveform from

the original step response waveform and assumes that the system is linear.

The characteristics of, and restrictions governing the use of this windowing

algorithm may be summarized as follows.

To obtain leakage error-free results, the original time domain waveform

only must have a zero slope at the beginning and end points of the time

window. The price paid to eliminate leakage errors with this algorithm is the

requirement of performing a double-length FFT on' the waveform data. If a 512-point step-like waveform is acquired, for example, then the waveform

resulting from the algorithm will consist of 1024 points. Just as was the case for the spectrum amplitude of an ideal rectangular pulse whose width is

half the time window, all of the even harmonics resulting from the FFT of the

1024-point waveform will be zero. As one would expect, no new information

is introduced into the spectrum by the fact that the transform length has been

doubled

The output spectrum amplitude of the DFT, operating on a waveform modified by the windowing algorithm will consist of a DC term, and amplitude

coefficients at frequencies

f - -i. A -a. ••, a. (4-i4)

i 2T 2T 2T 2T

where T is the original time window and N is the original number of points

in the acquired waveform. Of these amplitude coefficients, the ones at

frequencies higher than the folding frequency, i.e.,

f

f

= SL (4-15)

2T

are redundant. Also, the amplitude coefficients of all the even harmonics

will be zero due the the symmetry of the modified waveform. The remaining

odd harmonic amplitude coefficients, i.e.,

f = — r = 1,3,5,..-,

^

(4-16)

i 2T 2T

will be correct and useful.

Finally, it should be mentioned that applying the windowing algorithm

to waveforms that already meet the no-leakage criteria is valid but wasteful.

Since half of the useful spectral coefficients will be zero, then no new information is gained by performing a double-length transform on the original

waveform data. All of the useful spectral information available is obtained

by transforming the original waveform.

44
•

II T3

V) > o

II> p

00cm

CNI

LO P<P

<1O

<3en

00p<P<

<3P<"3" P

to<

CM P "^f £

•H

V

O ^t o. 3 1 bo

«3- •H

Uh

c/5 •H c ^ •H H ds • o e^^ 00 om 0)

CD T3 > 3

0}

p

12 •H

i—1 G PU

•H 6

cU <eo 6 o p

fH

<D

p S o

•H Q> H fX

C/3 13

0)

N

X •H p

i—loJ nd

<L> <D T3 p

f-< CTJ ?H p a> c G

•H (D o u

cu1 00 V) CM rH

iH 3

Pi

CT3 Jh

M-t n3 o rH3

0) bfl i-H C

a. ccj s p

a}O

K <u m ps

a> • H

PL,

45
Figure 4-2. Spectrum Amplitude of an "Impulsive"

Time Domain Waveform.

Figure 4-3. Spectrum Amplitude of a 2-Point Rectangular Pulse.

Figure 4-4. Spectrum Amplitude of a 3-Point Rectangular Pulse.

Figure 4-5. Spectrum Amplitude of a 4-Point Rectangular Pulse.

Figure 4-6. Spectrum Amplitude of a 12-Point Rectangular Pulse.

Figure 4-7. Spectrum Amplitude of a 32-Point Rectangular Pulse.

Figure 4-8. Spectrum Amplitude of a 96-Point Rectangular Pulse.

Figure 4-9. Spectrum Amplitude of a 40-Point Rectangular Pulse.

46
Figure Spectrum Amplitude of a 4-Point Rectangular Pulse of Amplitude

3200 Units.

Figure 4-11. Spectrum Amplitude of an 8-Point Rectangular Pulse of Amplitude

1600 Units.

Figure 4-12. Spectrum Amplitude of a 16-Point Rectangular Pulse of Amplitude

800 Units

.

Figure 4-13. Spectrum Amplitude of a 64-Point Rectangular Pulse.

Figure 4-14. 512-Point Spectrum Amplitude of a 511-Point Rectangular Pulse in a 1024-Point Time Window.

Figure 4-15. 512-Point Spectrum Amplitude of a 508-Point Rectangular Pulse in a 1024-Point Time Window.

Figure 4-16. 512-Point Spectrum Amplitude of a 493- or 531-Point Rectangular Pulse

in a 1024-Point Time Window.

Figure 4-17. Spectrum Amplitude of an "Impulse'

Pair. V

SD

(At) = VSD

(3At) = 1.

47
Figure 4-18. Spectrum Amplitude of an "Impulse" Figure 4-19. Pair

.

V

SD

(4At) = 1. Spectrum Amplitude of an "Impulse' Pair. V

SD

(At) = V

SD

(13At) = 1.

Figure 4-20. Spectrum Amplitude of an "Impulse" Figure 4-21 . Pair. V

SD fAt ) = W65At) I- Spectrum Amplitude of Two 4-Point

Rectangular Pulses Separated by r/2

,

Figure 4-22. Spectrum Amplitude of Four 4-Point Rectangular Pulses Each Separated

by x/4 .

Figure 4-23. Spectrum Amplitude of Eight 4-Point Rectangular Pulses Each Separated

by t/8.

Figure 4-24. Spectrum Amplitude of Two 4-Point

Rectangular Pulses Spaced by yyg- x.

Figure 4-25. Spectrum Amplitude of Two 4-Point Rectangular Pulses Spaced by ^pro" x.

48
Figure 4-26. Spectrum Amplitude of a 4-Point and a 2-Point Rectangular Pulse Separated by

t/2.

Figure 4-27. Spectrum Amplitude of an S-Point Positive

Rectangular Pulse Immediately Followed by

an 8-Point Negative Rectangular Pulse of

Equal Amplitude Magnitude.

Figure 4-28. Spectrum Amplitude of a 16-Point Positive

Rectangular Pulse Immediately Followed by

a 16-Point Negative Rectangular Pulse of

Equal Amplitude Magnitude.

49
Time -» T

Ca) Original Time Domain. Waveform

(b) Waveform After Application of

Windowing Algorithm

Figure 4-29. Example of Windowing Algorithm Applied

to a Step-Like Waveform.

50
5. TIME DOMAIN AUTOMATIC NETWORK ANALYZER

We have given the acronym, Time Domain Automatic Network Analyzer

(TDANA) , to the particular system that we have assembled to perform the

pulse testing of RF and microwave components. The basic TDANA system,

figure 5-1, consists of a fast transition time pulse generator, a wideband

sampling oscilloscope, and a minicomputer. Figure 5-2 is a photograph of

the actual system. The pulse generator is the exciting source that supplies

spectral amplitude from dc to the microwave (GHz) region. The sampling

oscilloscope is the receiver capable of operation over the same frequency

range. The minicomputer performs two important functions. The first is

data averaging to improve the system signal to noise (S/N) ratio. The

second function is to transform the averaged time domain measurement data to

the desired computed frequency domain data via the fast Fourier transform (FFT)

5 . 1 Pulse Generator

The pulse generator serves as the exciting source. In classical meas- urement methods frequency data is obtained on a point -by-point basis by

stepping the frequency of a sine wave oscillator. A pulse generator, on the

other hand, is theoretically capable of exciting an infinite series of frequencies simultaneously. All the frequencies generated are harmonically re- lated to the fundamental repetition rate (f ) of the generator. In actuality

a practical upper frequency limit is always reached when the spectrum amplitude decreases below the system noise level

.

For the TDANA some practical limitations are imposed upon the parameters

of the input waveform. The sampler used in the TDANA has a specified dynamic

range of ± 1 volt and a burnout level of ± 3 volts. Actually some compression of signals occurs at levels somewhat below the specified range of

± 1 volt [35]. Thus, to avoid compression, we have imposed an upper limit of

± 500 mV on signals applied to the sampler. The noise level of the sampler

is typically 10 mV p.t.p., and thus for an adequate S/N ratio the pulse

generator amplitude should lie in the range of 100 mV to 500 mV.

The pulse generator must also generate a stable pretrigger for the

oscilloscope O 75 ns in advance of the main pulse) or be capable of being

triggered electronically with picosecond precision. Any time jitter between

the trigger and main pulse serves to degrade the TDANA system performance [36] . The choice of a pulse generator depends upon the particular measurement

to be undertaken. The major choices concern the 10% -90% transition time

and waveshape. The transition time is inversely proportional to the upper

frequency of interest. Thus MHz range measurements require ns transition

times and GHz measurements call for ps transition times. The waveshape

51
choice usually boils down to (1) a step-like square wave pulse, (2) an impulsive signal, or (3) an RF burst. The RF burst is used when measurements

are wanted only in a band of frequencies. The square wave carries considerable

low frequency spectral amplitude and has a 1/f frequency roll-off. The impulsive signal has a flatter spectrum, but its spectral amplitude at low

frequencies is less than for a square wave of equal amplitude.

Chapters 2, 3, and 4 discussed and showed examples of various pulse

spectra. The guidelines discussed should be followed in the selection of

the actual transition time and pulse duration used. The best TDANA measurement results are obtained when the pulse generator used has a "clean" waveform free from a lot of fine structure on the waveform. The pulse spectra

should be band limited, i.e. the transition time should be just fast enough

so that its spectra covers the band of interest. The transition time, t , should be t > 4At where At is the sampling interval. This is necessary to

reduce aliasing in the DFT and to obtain accurate repeatable measurements.

For transition times and durations greater than 1 ns , commercial

generators are available which allow these parameters to be adjusted easily.

For faster pulses, the available generators tend to have fixed-pulse

parameters

The very fastest generator used was a tunnel diode with a transition

time on the order of 15 ps. This generator produces a step-like output of

250 mV amplitude into 50 ohms with a 50 ohm source impedance. Attempts to

differentiate this step into an impulsive waveform usually result in a loss

in amplitude and a slowing of the transition time. Thus for measurements

into the X band region we are constrained to using a step-like signal. The

tunnel diode generator was used for the attenuator measurements reported in

Chapter 8. Larger amplitude (several volts) step and impulsive signals in the 70 ps

region can be generated using snap-off diodes. In the 500 ps region avalanche

transistors are useful for generating 50 V pulses. Figure 5-3 through 5-6

show the measured pulses and calculated spectra of several different pulse

generators

Figure 5-3(a) is the leading edge transition of a commercial pulse

generator. It produces a positive or negative pulse of adjustable amplitude up to ± 10 volts into 50 ohms. The 101-90% transition time is 0.75 ns

The pulse duration is continuously adjustable from 1 ns to 100 ns . The

pulse repetition rate is variable up to 1 MHz. This generator is typical

of 1 ns generators in which the waveform can be adjusted. With the pulse

duration set at 100 ns and a waveform time window of 10 ns, the waveform

is step-like: Thus the square wave FFT program was used to calculate the

spectral intensity, figure 5-3(b). The fundamental frequency is

f = 1/2T = 50 MHz. The even harmonics are eliminated due to the square

o w

52
wave symmetry. Harmonics at 150, 250, 350 MHz, etc. are plotted. The

parameter plotted versus frequency is the spectral amplitude SCf) in voltssec. S(£) follows closely that of the ideal truncated ramp, table 3-1,

with useful spectral content up to 1 GHz.

Figure 5-4 (a) is the leading edge transition of an NBS built snapoff diode pulse generator. The maximum pulse amplitude is +18 volts. The

transition time is approximately 50 ps with 25% overshoot. The pulse

duration is fixed at 20 ns . The repetition rate is crystal controlled from

200 Hz to 100 kHz in a 1-2-5 sequence. This waveform is also step-like. Its

spectral amplitude S(f) is shown in figure 5-4(b). It is useful up to 10 GHz

Figure 5-5 (a) is the leading edge transition of the 15 ps tunnel

diode pulse generator discussed earlier. Figure 5- 5(b) shows that S(f)

has a useful spectrum to above 30 GHz.

A very fast impulsive waveform may be obtained by differentiating the

step transition from a snap-off diode. Figure 5-6 (a) shows the resultant

time domain waveform. The impulse amplitude is 4 volts, and the full width

half amplitude (50%-50%) duration is 74 ps. Figure 5-6 (b) is the calculated

spectral amplitude. S(f) is essentially flat out to 6 GHz, and it is down

by -20 dB at 10 GHz.

To directly compare the various pulse generators the spectra from

figure 5-3 to 5-6 are plotted in dB v-ps versus log frequency on figure 5-7.

The tunnel diode is seen to provide the smoothest S(f) over the frequency

range of interest up to 12 GHz. It however also gives the lowest level

spectral amplitude. An equalizing factor, however, is the ± 1 volt dynamic

range of the TDANA sampler. The peak voltage of all the generators except

the tunnel diode exceeds the 1 volt limit. Their outputs must be attenuated

which shifts their spectra down as shown on figure 5-7.

5 . 2 Sampling Oscilloscope

An NBS modified commercial sampling oscilloscope is used in the TDANA.

The oscilloscope consists of four modules. They are (1) a variable

persistence storage CRT mainframe, (2) sequential sampling time base plug-in,

(3) sampling vertical amplifier plug-in, and (4) remote sampling head.

The CRT mainframe furnishes power to the sampling plug- ins and houses

a variable persistence storage CRT. Its dimensions are 22.1 cm x 42.5 cm x 46.7 cm, and it fits into a standard 48.3 cm (19 inch) rack panel.

The sequential sampling time base features equivalent sweep time ranges

of 10 ps/cm to 500 ys/cm in a 1 , 2, 5 sequence. It has two trigger inputs

(f < 1 GHz, 1 GHz < f < 4 GHz). For pulse triggering, its time jitter is

specified at less than 10 ps on the 1 ns/cm range.

53
The sampling vertical amplifier plug-in is designed to operate with

a remote sampling head. It features dual channel operation and deflection

factors of 1 mV/cm to 200 mV/cm in a 1 , 2, 5 sequence.

The remote sampling head contains two samplers. It has a risetime

of 20 ps and a bandwidth of dc to 18 GHz. It is a 50 ohm feed-through

coaxial sampler with APC-7 precision 7 mm connectors on the input and output. The dynamic range is ± 1 volt. The unsmoothed noise of the sampler

is of the order of 10 mV p.t.p.

An NBS modification of this commercial sampling oscilloscope was necessary to interface it with the minicomputer. Analog amplifiers were added to provide Ch A, Ch B, and X output voltages to the minicomputer

analog to digital (A/D) converter. An amplifier was also necessary to

allow the minicomputer digital to analog (D/A) converter to drive the

X axis in the time base. Considerable digital logic circuitry was also

necessary to allow the computer and oscilloscope to communicate back and

forth. Chapter 6 will describe in full detail the interface and oscilloscope modifications.

5 . 3 Minicomputer

The computational portions of the TDANA are shown in the block diagram,

figure 5-8. It consists of a minicomputer and several peripherals. They

include teleprinter, high speed paper tape punch and reader, floppy disc

memory, an A/D with multiplexer, 3 D/A*s, and a storage display CRT monitor.

The minicomputer is a general purpose computer system with a 16 bit

word length. The machine is organized around four accumulators, two of

which can be used as index registers. It is equipped with a programmer's

console. Its maximum memory capacity is 32K words while our unit presently

has 28K words. The full memory cycle time is 2.6 ys and it executes

arithmetic and logical instructions in 1.35 ys. It mounts in a standard

48.3 cm (19 inches) rack. Its height is 26.7 cm (10.5 inches) and has

sixteen plug-in slots available for memory and I/O interfaces. Not all

slots are presently being used.

A standard electromechanical teleprinter is used. It operates at

ten characters per second. Eight channel fanfold perforated paper tape

is used with the high speed paper tape reader and punch. The reader operates

photoelectrically at 300 characters per second. The punch can output at

63.3 characters per second.

54
The flexible disc memory greatly enhances the memory capacity of the

TDANA. It features a direct access, removable disc. The disc is round,

flat, and appears similar to a 45 rpm record. It is coated with a gray

magnetic iron oxide material. The discs are inexpensive (< $10). The disc

rotates at 375 rpm. Data may be retrieved at a rate of 250 kilobits/sec.

The disc has a memory capacity of 2.2 megabits or 131K, 16 bit words.

The multiplexer, A/D, and D/A's are all housed in a separate unit called

the data conversion system. They provide the analog connection with the outside world. The multiplexer allows up to eight analog input channels to be

routed to the A/D converter.

The analog to digital (A/D) converter provides 14 bits or resolution

(i.e. 1 part in 16,384). The nominal conversion time is 84 us. This cor- responds to a maximum conversion rate of 11.9 kHz. The sampling oscilloscope

is capable of sampling at rates up to 100 kHz (higher input frequencies are counted down below 100 kHz). The maximum conversion rate of this A/D thus

sets the maximum data acquisition rate of the TDANA. A faster (and more expensive) A/D would allow TDANA measurements to be performed in a shorter

time, particularly when signal averaging of large numbers of waveforms is

required.

The X sweep voltage for the sampling time base is furnished by a 14 bit

digital to analog (D/A) converter. The D/A settling time to 1/2 least significant bit (LSB) is 5 us. Two inexpensive NBS built D/A's are used to drive

the CRT monitor. They have 10 bit resolution (1 part in 1024).

The display monitor features a bistable storage CRT. The screen is

8 cm x 10 cm. It is simply an X-Y monitor and must be supplied with X and

Y voltages and Z unblanking and has a bandwidth of dc to 100 kHz. Problems

have been encountered in this instrument with gain and position drift as functions of operating time and temperature. It is not recommended that

this particular monitor be used in future TDANA' s.

55
Insertion

Planes

Microwave

Component

Under

Test

Air

Line

V

Sampling Oscilloscope

\t \r \f

. i i

Trig

\

Minicomputer

Sampler

Teleprinter

Figure 5-1. Time Domain Automatic Network Analyzer (TDANA)

Basic Block Diagram.

56
Figure 5-2. Photograph of Time Domain Automatic Network

Analyzer (TDANA)

57
(a)

Figure 5-3. Commercial 1 ns Transition Time Pulse Generator Leading Edge Transition

and Spectral Amplitude.

(a) Figure 5-4. NBS Snap-Off Diode Pulse Generator Leading Edge Transition and Spectral

Amplitude

.

Figure 5-5. Ultrafast Tunnel Diode Pulse Generator Leading Edge Transition and Spectral Amplitude.

m 100 M V/ Dl V

ill x 20 DB

15/OIV

_~1 yv,

(a) (b) Figure 5-6. NBS Snap-Off Diode Impulse Generator Waveform and Spectral Amplitude.

58
CD CD COO 3 -H -p H Q CO

N

ECuO

rH C/5 CU

V)

fHo

4-» rt

*H

CD

N

C

EC <D U U o (D

i—i

W

i—1 P

O,

(/> 3o

•H

*H

cti N) > Eu fH

a:soo o oo o

oo o

CO o o

CM

-to

•H

Pi

O\

> co

0)

Q

nd

H 3P <d •H X

i-H +-> P,s c < o

i—1

nr) oJ cd

5h ^ M 3 O c/) CD rt P. <u co 2

CD3

00

•H

59
rt i—

U p, O </) E-i M -H c£

CO

Q

U A *— 10

bit

D/A

~li

bit

D/A

i—

ex

i—

OS

5h<D

P,

•H

?H<D

T3P

?HCD

4-> P

P,6oooe

S-. bo

oJ •HPOO

rH

PQ

00

<up

•H

PL,

60
6. SAMPLING OSCILLOSCOPE/MINICOMPUTER INTERFACE

This chapter will describe in detail the NBS modifications and additional circuits added to the commercial sampling oscilloscope to interface

it with the minicomputer. They include analog treatment of Ch A, Ch B, and

X voltages along with external voltage control of the time base X position.

Digital logic is also included for oscilloscope/computer communication.

6. 1 Analog Interface

The major analog interface requirements are the voltage range of V to

+5 V for the A/D input and the D/A output, corresponding to 10 cm deflection

vertically and horizontally, respectively. These voltage ranges do not exist

in the oscilloscope exactly. Thus amplifiers are needed. The amplifiers

must not affect the operation of the existing circuits to which they are connected.

Figures 6-1 and 6-2 are the schematics of the analog interface. There

are four nearly identical circuits for the Ch A data out, Ch B data out,

X data out, and the X sweep in. Only Ch A is discussed as an example.

The desired Ch A sampled data voltage is found in the sampling vertical

amplifier plug-in at the dc amplifier output of the channel A stretcher loop.

The voltage at this point varies from -1.8 V to +1.8 V corresponding to

deflection at the bottom or top of the CRT screen (0.36 V/cm) . To obtain

V to +5.0 V a gain of +1.38 and a dc shift of 2.5 V is required. The 531

fast slew rate, operational amplifier provides the necessary gain. The gain

is fixed by the resistor ratio fR 1 +R_)/Rn 12 . The dc shift, V , is obtained

1 os by lifting the bottom leg of R, by a fixed dc potential V, . V is fixed

by the resistor ratio, V = -(R_/R..)V, . V, is provided by the 741 operational amplifier. DC power is obtained from the supply voltages already

present in the plug-in.

The analog interface components are mounted on a single circuit board,

figure 6-3, that is mounted in unused space in the top half of the sampling

vertical amplifier, figure 6-4. The analog signals to and from the minicomputer's A/D and D/A are transmitted over twisted pair cables. A single

14 pin connector, J10, is installed on the back panel of the oscilloscope

mainframe. All analog and digital signals to and from the computer pass

through J10, figure 6-5, and the plug-in connectors Jl and J2 , figure 6-6.

The analog signals from J10 to the analog interface are passed through un- used pins on the mainframe/vertical plug-in interconnect Jl/Pl, figure 6-7.

The X analog voltages to and from the analog interface and the sampling time

base are passed through the sampling vertical/horizontal plug-in interconnect P3/J3, figures 6-7 and 6-8. The digital control signals are routed

from J10 through J2 and P2 to the time base plug-in, figure 6-8. The digital

interface is described in the next section.

61
6 . 2 Sampling Oscilloscope/Minicomputer Digital Interface Controller

A digital interface controller is required between the sampling oscilloscope and the minicomputer to assure proper operation of both units and to

eliminate the possibility of computer acquisition of invalid data. This is

necessary due to the asynchronous nature of the operation of the two

instruments

.

In normal operation the sampling oscilloscope is triggered externally

by the pulse generator in use. The oscilloscope can be triggered and will

take a sample at each trigger at rates up to 100 kHz. For higher trigger

repetition rates, the trigger circuitry locks out many trigger pulses and

only' admits one every' 10 ys or 6greater v(i.e., f , < 100 kHz"). For ' sample — J trigger frequencies at VHF or higher, the trigger circuitry divides (or

counts down) the input to a lower phase-locked frequency.

The computer has its own internal clock. As the computer cycles

through its program listing, it will from time to time request data input

from the analog to digital converter (A/D) . In addition, under program

control it will change the X sweep voltage output of the digital to analog

converter (D/A) . These data requests and sweep voltage changes are governed only by the computer clock and the program. Triggering and

sampling events in the sampling oscilloscope occur completely independently.

The digital interface controller is designed with the following features

1. Permit asynchronous or synchronous operation.

2. Oscilloscope mode of operation is determined by the setting of

the SCANNING switch on the time base front panel. In EXT position

the oscilloscope is operated under computer control with the X axis swept by the 14 bit D/A. In NORMAL or SINGLE (sweep) the

oscilloscope operates normally with all computer functions locked

out . 3. In EXT (computer controlled) operation, the oscilloscope CRT

displays only the valid data acquired by the computer.

4. If the computer intertie cable is disconnected from the oscilloscope (J10 open), the oscilloscope functions normally.

5. All possible error conditions are guarded against. If an error is

detected, the sampled data is discarded and not sent to the A/D

nor the CRT.

The controller is required to furnish one digital control signal to

the computer; namely, Y DATA CONVERT. When this control signal goes high

to the "one" state the 14 bit A/D starts the conversion of the analog voltage

on its input if it has previously been armed by the computer (DOA = 1) . The

computer supplies two digital control signals to the controller. The first

is EOC. EOC goes high to a "one" when the A/D is triggered by the Y DATA.

62
CONVERT pulse. It remains high during the conversion and resets to "zero"

at the end of the conversion. The other control signal is the X DATA XFER.

It is a negative going pulse (1 to to 1) that is a command from the computer

to the 14 bit D/A storage register to load the new X data present on the

digital data bus. This causes a change in the X sweep voltage supplied to

the time base.

The error conditions that must be guarded against are many. They are:

1. The oscilloscope functions as a sample and hold circuit for the

A/D. Thus, the Y sampled data output cannot be changed during

the A/D conversion cycle (i.e. when EOC = 1).

2. Adequate time must be given for a new sampled data value to

settle to its final value before the A/D is triggered.

3. Adequate time must be given for the X sweep voltage to settle

to its final value after an X DATA XFER pulse. The oscilloscope

should be prevented from sampling during this time interval.

4. The oscilloscope should not be reenabled during the timing ramp

run-up portion of the trigger cycle.

5. Sampled data taken immediately (< 3 ys) after the reenabling of

the oscilloscope is subject to timing errors.

6. Slivering must be avoided. Slivering is the unintentional generation of narrow (< 20 ns) digital pulses due to transition

crossings of asynchronous signals. Sliver pulses could cause the

controller to pass invalid sampled data.

7. If the X sweep voltage changes during a timing ramp run-up invalid

sampled data will result.

Figure 6-9 is the schematic diagram for the digital interface con- troller. Fourteen TTL integrated circuits are used. They are mounted on

a single plug-in circuit card, figure 6-10, positioned vertically in the rear of the sampling time base plug-in, figure 6-11.

The basic function of the controller is to furnish a Y DATA CONVERT

pulse when the sampling head has taken a new piece of data that is valid.

A 1.5 ys monostable, IC 208 (lower right -- figure 6-9) produces this

pulse. A pulse labeled SAMPLED is derived from the time base circuitry

at the instant the sampling head is strobed. The SAMPLED pulse is routed

(bottom horizontal wire -- figure 6-9) through several control and delay

IC's (IC 209-2,* IC 205-1, IC 206-12, and IC 207-6) to IC 208. The leading

edge is differentiated and inverted by IC 209-2. This pulse is then delayed

*The nomenclature used for IC identication is the first three digits refer

to the particular IC package while the last digit is the particular output

pin number.

63
150 ns by monostable IC 205. This delay is necessary to prevent slivering

when the pulse is passed through the alternate gated path of IC 211-6,

IC 211-8, and IC 204-8. IC 206-12 is another control gate. Monostable

IC 207 provides 3.5 ys delay to compensate for the Y sampled data settling

time

.

The EOC signal (upper left -- figure 6-9) is used as the CRT BLANKING

signal (upper horizontal wire -- figure 6-9) . EOC is routed through several

buffers and control gates IC 202-3, IC 203-2, IC 202-6, IC 202-8, and

IC 203-6. Only during A/D conversion (EOC = 1) is the CRT unblanked

(BLANKING = 0). Flip-flop IC 201-5 is set by the leading edge of EOC.

The X DATA XFER pulse resets this flip-flop. If the X sweep voltage is

changed during the A/D conversion then the resetting of the flip-flop blanks

the CRT via blanking control AND gate IC 202-6.

Once an A/D conversion has commenced the sampling oscilloscope must

be disabled to prevent it from taking a new sample. This is accomplished

by clamping the timing ramp with the LOCKOUT (=1) signal (upper right -- figure 6-9). LOCKOUT is obtained from EOC via IC 202-3, IC 213-12,

IC 202-11, and IC 213-6.

The LOCKOUT function is enabled also when other error conditions are present. When the X sweep voltage is changing LOCKOUT is set to a "1"

with the X DATA XFER via IC 203-12, IC 211-3, IC 212-1, and into the OR

gate IC 213-12. Monostable IC 212 provides a 5 ys pulse to allow for the

X sweep voltage settling time.

Flip-flop IC 201-8 is included in the LOCKOUT circuitry to prevent

multiple sampling at the same time position. The flip-flop is set by

the leading edge of EOC. It is cleared 5 ys after the occurence of the

X DATA XFER pulse. When the flip-flop is set (Q = 0) the LOCKOUT signal

is held in the "1" state via OR gate IC 213-12. If the programmer desires

several samples at the same X location, he must reload that X location after

each A/D conversion. This feature eliminates the accidental acquisition

of several data points without updating the X position. It also eliminates

LOCKOUT slivering that might occur if the X DATA XFER pulse occurs near the

end of EOC.

Flip-flop IC 204-6 is included to extend the length of the LOCKOUT

if the above described circuitry attempts to reenable (set LOCKOUT to "0")

the timing ramp during the portion of the trigger cycle when the timing

ramp is triggered (allowed to run-up). A signal, called TRG'D, is derived

from the time base that is high during the first half of the trigger cycle

when the timing ramp is triggered. As long as TRG'D is high, the timing

ramp would start its run-up whenever it is undamped (LOCKOUT = "0") . IC 204-6 is a D-type edge-triggered flip-flop. The data (D input) is t"he

64
state of the TRG'D signal. This data is toggled into the flip-flop by the

positive going edge of the output of IC 202-11. If TRG'D is a "1" then

Q is set to a

M 0" thus holding the LOCKOUT in the "1" state via OR gate

IC 213-6. The flip-flop is cleared on the trailing edge transition of

TRG'D, thus setting LOCKOUT to "0."

Timing errors can occur if the oscilloscope is triggered immediately

after the LOCKOUT resets to "0." This is due to charge storage effects in

the timing ramp clamp transistor Q14, figure 6-12. The timing ramp is not

clamped during this time and thus the sampling head can be strobed to take new data. This new data will be invalid. To prevent an A/D conversion

of invalid data the AND gate IC 206-12 is used to prevent the generation

of a Y DATA CONVERT pulse. To allow for complete charge depletion in Q14,

a 3 ys interval after LOCKOUT reset is declared the invalid data interval.

A signal called LOCKOUT + 3 ys is generated to cover this interval. The

LOCKOUT signal is stretched 3 ys by monostable IC 214 and the OR gate

IC 213-8. LOCKOUT + 3 ys is applied to AND gate IC 206-12. In addition,

flip-flop IC 204-8, OR gate IC 211-6, and the AND gate IC 211-8 are used

to determine if the oscilloscope has been triggered (TRG'D goes high) or

a sample has been taken (SAMPLED goes high) during the time interval of

LOCKOUT + 3 ys. If either condition occurs, flip-flop IC 204-8 is set

(Q =

M 0") thus disabling AND gate IC 206-12. The flip-flop is reset

on the trailing edge transition of TRG'D.

Differentiator IC 210-4 and buffer IC 210-6 are used to generate an internal trigger pulse for the time base at the end of the LOCKOUT + 3 ys

interval. This pulse is used when the operator desires synchronous

operation of the sampling oscilloscope and the minicomputer. The time

base SYNC pulse output is then used to trigger an external pulse generator.

The SCANNING switch input (upper right -- figure 6-9) is used to

disable the BLANKING, LOCKOUT, and Y DATA CONVERT pulses in normal or single

sweep operation. This is accomplished by the gates IC 202-8, IC 202-11, and

IC 207-5.

The digital interface controller requires regulated +5 V dc power.

This is not available in the oscilloscope. To obtain this an additional

supply was installed. A 6.3 V ac filament transformer was installed in

the mainframe. The 6.3 V ac voltage was routed to the horizontal plug-in

through two pins on J2 designated for that purpose. A bridge rectifier,

filter capacitor, and voltage regulator were mounted on the bottom plate

of the time base plug-in.

It was necessary to modify some of the circuitry in the horizontal

plug-in. The major modifications were on the time base circuit board

A4, figure 6-12. These provided the TRG'D and SAMPLED signals and the

timing ramp LOCKOUT function.

65
The timing ramp, TP4, is generated by a capacitor on the time/cm switch

being charged by a current source. The current source is the +250 V supply

and the 24 KQ, resistor A9R9 . The timing capacitor is initially clamped to

ground by the RAMP GATE transistor Q3 . When the time base is triggered,

tunnel diode CR2 turns off Q3 thus allowing the timing ramp, TP4, to start

its run-up.

A transistor, Q13, is added to the circuit by connecting it to the base

of Q3. When Q3 is turned off, Q13 is turned off simultaneously. The positive

going TRG'D pulse is generated at the collector of Q13. Halfway through

the trigger cycle CR2 is reset thus turning Q3 on and resetting the timing

ramp to zero volts. This also turns on Q13 thus setting TRG'D back to "0."

The ramp lockout function is added by simply connecting an additional

ramp gate transistor Q14 to TP4. Q14 is driven by the LOCKOUT signal. When

LOCKOUT is a "1," Q14 is turned on clamping the timing ramp to zero volts

regardless of the state of Q3.

Q4 is the COMPARATOR. It compares the timing ramp voltage to a dc

voltage. The dc voltage is the staircase generator output in NORMAL operation or the X sweep voltage from the D/A in EXT operation. When the ramp

voltage exceeds the dc voltage, the SAMPLING TRIGGER GENERATOR, Q5-Q6,

is activated producing the SAMPLING COMMAND TRIGGER that is sent to the

sampling head via the vertical amplifier plug-in. This positive going

pulse is also used as the SAMPLED pulse. It is obtained simply by adding

a 1.5 KQ resistor. The resistor attenuates the large pulse and reduces

the loading on the existing circuit.

Figure 6-13 shows the modifications made to the wiring of the SCANNER

switch. Figure 6-14 is the simple modification to the horizontal amplifier

circuit board A7 to obtain an X voltage for the X data out amplifier in

the analog interface.

Figure 6-15 is the modification to the marker, magnifier and blanking

circuit board A6 to provide blanking from the digital interface controller.

The BLANKING AMPLIFIER, Qll , functions as an RTL OR gate. It normally has

three inputs, pins J, H, and E. If any one of these is high, then Qll is

turned on blanking the CRT. An additional input, pin B, has been added for

the controller BLANKING signal.

An additional modification of the sampling time base plug-in has been

made for operator convenience. The SYNC PULSE DELAY is normally an internal

adjustment. In experimental measurement setups, many times one needs to

adjust this control. Therefore it was moved to the front panel according

to figure 6-16. The control occupies the hole formerly used by the BNC EXT

SWEEP INPUT that was removed (see figure 6-14).

66
rfCk D*-f* 0~+

fy<n, /t/O.T

->- >

I-c-5- HM

SZ/Arn-

-A5".* v -«—i—^,/W^—wv

i <——/Wi 1

2.43 A-a

33*ju

> ^_ ^~ ~

(~ -A3* -**/?/) 7S9*-

-/J.iv A

MM h"

?ApF

A P/ /e -v/,/

I ! f.^rw '

.TV*--*-

-*M—

r

i

l.oo/en. /7.

+S^4 **.-? _l_ , 7 I —r- .AmF

v , -L

Figure 6-1. Analog Interface Amplifiers for CLA and

CLB Sampled Data Output.

67
X 5 */«e/> ^V

(>. Z—• ,'S.TV)

/oxn- /OAen.

(-/.2£v)

«-«• JC-/

> > MW- — .5"v -»• *.5"v "6 P/ -.v/7

Figure 6-2. Analog Interface Amplifiers for X Data

Output and X Sweep Tnput

.

68
Figure 6-3. Analog Interface Circuit Card Mounted in

Sampling Vertical Amplifier Plug-In Unit,

69
Figure 6-4. Sampling Vertical Amplifier Plug- In Unit Showing

Position of Analog Interface Circuit Card.

70
J10

CLA

CLB

X out

X sweep in

A> ft

D> J

Z3

t=f

H>

J Z3

brown

blue

white

red

Jl

<16

<17 —-<20

i <18 Analog

black Ground

DOA K >

Y Data Convert N >

X Data Transfer P >

red

blue

violet

J2

< 17

< 20

< 7

EOC

Data Valid

Digital

Ground

R >

M >

L>

green

yellow

gray

< 15

< 4

< 18

Figure 6-5. Oscilloscope Rear Panel Interface Connector J10

71
Jl VERTICAL PLUG -IN JACK

J2 HORIZONTAL

PLUG-IN JACK UNBLANKINC GATE TO HVPS V^"1" RE°'TEL

<I

*>WHT-REO J-C404

IOOO *- +IOOV - <2

*> WMT-YEL-GRN

»x

WMT-YEL-B'.U

«y

V WHT-ORN-VIO

WHT-VI0-3Y

•y

»>

WHT-BLK-CRN

">WHT-6LK-GRN

«>!

•»*

•«y

•9>- CAB «>

t| u e

-A.Vtf X •** ,T>-

•-FROM R422A ( +250V SHUNT) FR0MR422B-» ^

>T0 J2

PIN IE -* TO | BEAM fINOER | S602 *- •

4>UQ.*<&!IZL *

<4 fcfc

WHT-GRN-BLUy

«- -IOOV -»»

SHORTED TO PI|V t IN PLUG -IN

-I2.6V GROUNO RtTURN -

*- + 2S0V -•»

+ INT TRIG

-»• XOJ (TO CPT DEFECTION PLATES)

4>- C.3VAC FROM T40I (141

»t.3 VIC FROM T40I (IS)

-CHOPPED BLANKING TO HVPS

*• -tb -J/O-B

-*6 -HO-F

'»> WHT-OPN-GRN <•- IV CAL FROM R495/R49C -•> - y,W«>^—>- t, Mo-H

if

t v WHT-VIO - -12. 6V -

»>WHT-BLK-YFL

">WHT-BLK-BLU X

*«y

t^p^kt^ *^r

WHT-VIO-GY <»

k»

WHT-BLK-GRN <I0

VVHT-BLK-ORN <U

SAO : i.3«A* *

k«

•UT40I

-<B 4. 3 V/*c

K'«

TO Jl P' N 4 \ WHT-YEL-GRN

i*llo-R < 9TM^ <ts «foc

WHT-ORN-GRN <« ij^ <>^ <2o £££,

*•

WHT-BLK- BLU y..

WHT-BLK-YEL . <»

•04 (TO CRT DEFLECTION PLATES) 02 < k«

Figure 6-6

.

Oscilloscope Main Frame/Plug-In Jack Connections. Starred Pin Numbers Have Modified

Connections from the Original Factory Wiring

72
J3 MATES WITH P3 IN VERTICAL PLUG-IN

INT SYNC TRIGGER

TO X AMPLITUDE POT •

X OC LEVELTO X AMPLITUDE POT -•

X RECORD >

J50I '

> y* .J £*•*. A 7 !•/*» L

*» Xf~**f * MOD? s~ J is MOXMZ *<"

SAMPLING COMMANO TRIGGER TO

VERTICAL PLUG-IN FROM A4 PIN E STAIRCASE TRIGGER FROM VERTICAL

PLUG-IN TO A5 PIN D

P2 MATES WITH J2

UNBLANKING GATE FROM A6 PIN C — —Q-

(32)

NC •

TO BEAM FINDER- FROM A7 PIN F

-IOOV -

(4)

(7)

X P*f*Tr4VT-f*r *,..

GROUND RETURN

iO)

+ 250V —

12)

-VERT IN A y» B MODE —

FROM VERT PLUG-IN

(6)

+ VERT IN Ays B MODE —

FROM VERT PLUG-IN

(96)

TO HORIZONTAL DEFLECTION PLATES —

FROM A7 PIN C

(D)

'3 <-

14 f

"> 3 '»<-

-> 4 .6 «- » 5 17 <- ^6 18 <-

-> 7 19 <-•

-> 8 20 <-

21 <f

-^10 22 ^~

-^ II 23

> 12 24 <-

/.,?vvie tfe tsv^rri

-££" if0C £ VTF-3L3

(91)

• + IOOV IN A n B MODE

FROM VERT PLUG -IN

-> DO/ («<)W *f prtjtMt)

£% D.V-U e>*»»*J * t> rjs " /

i/v.VX b«UC*»*.rt *«•— P*F-?

(97)

-12. 6V

(902)-•-12.6V FROM VERTICAL

NC

!9) — TO HORIZONTAL CEFLECTION PLATES FROM A7 PlN B

Figure 6-7. Sampling Vertical Amplifier Plug-In Plug P2

and Jack J3 Connections.

73
P3 (MATES WITH J3 ON HORIZONTAL PLUG-IN)

X Da-U ztXC/-/ «(_

Al A2*<

if»W^ * JC / ^

LUh *

X 5wct^ Arc?-* «*

«jTo«/»J 6ZC3 ^jjgj *

SAMPLING TRIGGER FROM _

HORIZONTAL PLUG-IN

STAIRCASE GENERATOR PULSE.

TO HORIZONTAL PLUG-IN

NC

NC

-§-

t

-> ' ^2

9f

">3 »<

^5

12 f

->«

<A3

-^ A4

A5

(94) <& I X DC LEVE L") (925) CW Mf"~l<92>

* —-HOOV

R586 50K

•NC

(904)

NC

(61

R585

20 K P?CW fj

I x amplitude!

J502 nrwEcSRDi

r-<

CHANNEL A Out frc-TtfJ-.* —

+ ICOV "•-

(MATES WITH Jl

NC

+ IOOV IN A VS 8 MOOE T»

BEAMFINDER TO RS32 •

-IOCV -—

NC

+ ZSOV •

+ VERT IN A VS B MOOE (TO H0R1Z PLUG-IN) -•

- VERT IN A VS B MOOE (TO MORIZ PLUG -IN) —

-t-VERT OUTPUT -••

^ *

"> »

4 6

,4 <-

15 <-

,6 <-

,8 <-

"> » 20 <"

-> 9 » <-

-> 10 22 <-

-> 12 24 f-

«- 6.3VAC RETURN

CHANNEL O 0*f fT XCI-i

NCX 5w«e^ /* £ -TC ?-

J

- +12. 6V RETURN

— VERT OUTPUT

Figure 6-8. Sequential Sampling Time Base Plug-In Plugs

PI and P3 Connections.

74
VV^Vv't- WV V >. > V H.

tH<—1>

o . « e

O a)

r-l M

iH 60

•H CD O 'H

l/> O O

O

60-H C <->

• h n) rH e

El, V EXtfl u

CO to

? j—M-fs)-0|- r £*U ^ji 'Mi1

75
Figure 6-10. Digital Interface Circuit Card

76
Figure 6-11. Sampling Time Base Plug-In Showing Position of

Digital Interface Circuit Card.

77
1

Us

i

[>

At

*-x fc

l>

5> r* I J

,.JS-~j

-?>>&

n*>

&®

t~t&

.-so •3

| |

I ill" .•

I i\

L « J

|> ! ios

l«

^

-

1i

e0o

•H

<W

•H

CO u

o>

</>

Cfl pa

0>e

•HH

3
o3HDceo

<U

79
1 ai l-H

1 « L

j

J 8 3 • *

,!f PI>f i y

8 5 "I

1 *"! * ^ 4, 4,

&

"

tf 1

si

1 ttl

*3

*2

8 rf s

9

?i ?«

JJ~

s*

enr|

-1®

hi ^-y-r. r ? *t » <-<

i s

<

ki 1 t K

it L si Lin •

fc>;

^L"

1! • -

a u ird

-®~§

v

"7U

aEl

2—»«>—2

—®! *

•Si - s @ - s§:-««-<—1 \ €)=

cu

uC.*«s

a

!S

sY

? qf

1 >>>>—;§:

—@i'

; B is.

TT

It

L JUL,

6

I" <

o

as

80
i<u

R) Uc

•Hc

81
P/0 A2 SYNC PULSE GEN AND TRIG ASSY

SYNC PULSE 0'

[OFF HE]

! +12.6V

iC9

-I2.SV-* (N ^- T22UF

TiT"+T2.2UF +I2.6VF

R26.. ISO} T

FROM A4 _

PIN W -» O <, f

CI2 100

REGENERATIVE

PULSE GENERATOR

03 a 06

^—7 05 I .000 ;e2

TP2 ©)TP4

I OUT (+1

' |

' 1—f~

f

t »i | Q > >B< £ s&c* .oo

5 LA U-J

S^^c

/.<2aTl.

L__

323 1000

t + I2.6VF

SYNC PULSE ShAPE

CI6 2-8'

CR5fig

CIS,

ICSf

PI * /

L7 . I0UM ^CURRENT

SOURCE

07

c

O.IUF

<RJ7

i 200

PULSE WS 1000 OELAY t -I2.6VF A b:

Figure 6-16. Sync Pulse Generator Card A2 Modification

82
7. SYSTEM SOFTWARE

7. 1 Introduction

This chapter is concerned with the computer programs used for system

operation. The overall system software configuration is discussed first,

followed by a description of both the BASIC language and assembly language

programs used in the system. The actual program listings are contained in

the appendices.

7 .2 System Software Configuration

The primary task of the system minicomputer and peripherals is to digitize, store and process sampled time domain waveforms acquired from a broadband sampling oscilloscope. Starting from scratch it quickly became evident

that no single programming language was suitable for the entire task. Higher

level languages such as BASIC or FORTRAN are ideal for performing numerical

or mathematical operations. They are also relatively easy languages to learn

and use and thus are desirable from the computer operator's standpoint. On

the other hand, it is difficult if not impossible to use higher level languages

to program the control of external devices such as A/D converters and tape

readers. Hardware device handling is best done using either machine language

or assembly language. Of the two, assembly language is by far the easier to use. Mathematical calculations, however, are difficult and time consuming to

program in either machine or assembly language.

Therefore, in order to satisfy all the system criteria, a software

package was written consisting of both BASIC and assembly language programs.

BASIC was chosen over FORTRAN only because FORTRAN program compilation on the system minicomputer is very time consuming and must be repeated every

time the program is changed.

The particular version of BASIC employed in the system is one provided

by the minicomputer manufacturer. It occupies the lower 5K of memory, approximately, and allows calls to external subroutines in upper memory. In order

to use this version of BASIC with called subroutines, the programmer must

provide an external interrupt routine and a special subroutine table.

There are three other restrictions of interest built into this version

of BASIC. First, the system will only recognize a teletypewriter as an I/O

device. All other hardware must be controlled by assembly language subroutines

called from BASIC. Second, this version has no capability for string manipulation or matrix operations. Third, the maximum allowable number of elements

in a single-dimension array variable is 256. Other more subtle restrictions

will be described in the next two sections.

83
The division of tasks between BASIC and assembly language may be listed

in more detail as follows.

BASIC

1. Hardware Control -- teletypewriter.

2. Mathematical Operations -- most.

3. User/System Interface (via keyboard).

ASSEMBLY LANGUAGE

1. Hardware Control -- A/D - D/A converters, high speed paper

tape reader and punch, monitor oscilloscope, x-y recorder, sampling oscilloscope

2. Data Acquisition.

3. Data to/from BASIC Control.

4. Mathematical Operations -- optional high-speed FFT and binary

data averaging.

In terms of core memory allocation, a core memory map is shown in figure

7-1. Roughly 16K of memory is dedicated to BASIC and 12K to assembly language

programs and binary data storage. Spare capacity exists for software expansion at a later date.

7 . 3 BASIC Program Descriptions

7.3.1 128-Point Fast Fourier Transform

Appendix A-l contains a listing for this BASIC program. It is designed

to transform a 128-point complex time domain waveform into a 64-point array

of complex frequency domain coefficients. The input waveform must be programmed into arrays A and B (real and imaginary, respectively) starting with

statement number 2 50.

This program was used primarily for study of the FFT algorithm. The

128-point waveforms discussed in Chapter 4 were all generated and transformed

using this program. The output of this routine consists of a listing of the

first 32 unnormalized spectrum amplitude points along with a monitor oscilloscope display of all 64 of those points. At run time the program will ask

the user for the time scale in nsec/cm of the time -domain waveform to be

transformed. The output listing will then automatically include a frequency

in MHz associated with each spectral point.

There are three unusual facets of this program that may not be obvious.

First, the called subroutines in statement 120 and 130 may seem unnecessary.

They have been included in order to disable the A/D converter interrupt.

Were they not present, the program would halt upon reception of an interrupt

signal from the A/D converter. The second anomaly exists in statements 480,

500 and 970. In these statements integer values are computed for use in

FOR-NEXT loops and IF statements. A factor of +.001 was found to be necessary

84
in order to assure a proper result of these computations. In statement 480,

for example, the integer function 2 + (G-L-l) may yield, for G = 5 and L = 1, a result of 7.99999 instead of 8.0. Then, the FOR-NEXT loop starting at

statement 560 would do one less iteration than required. By adding +.001 to

the result of 2 t (G-L-l) a result greater than or equal to the integer result

required is assured. The employment of this "fudge factor" is often necessary

in systems, such as this one, that use floating point arithmetic processing.

The third oddity is contained in statements 800 through 850. In order

to avoid a number overflow error in subsequent computations of .the spectrum

amplitude, it was necessary to force numbers very close to zero to be

identically equal to zero. Otherwise, this program is quite straightforward. Run time is approximately 1.5 minutes, excluding the time required for listing results on the

teletypewriter. Descriptions of the CALL subroutines used in this program

are located in section 7.4.

7.3.2 128-Point Transfer Function

Based on the discrete Fourier transform theory discussed in Chapter 3,

this program is designed to compute a discrete frequency-domain transfer

function from two time-domain waveforms. A listing of this BASIC program is

contained in Appendix A-2. A listing of the salient features of the program

follows

1. Generally, this program is designed to acquire two 64-point time domain

waveforms, compute the FFT of each waveform after modification, compute

the quotient of the two resulting spectra (output/ input) and output

the results via teletypewriter and monitor oscilloscope.

2. The first waveform acquisition is done in BASIC statements 100 through

410. The operator signals the system that he is ready (type <)>) , inputs

the desired number of time and frequency domain averages, and inputs the

waveform time scale in nsec/cm. The BASIC program, along with appropriate

assembly language subroutines, then causes the acquisition of the number

of 64-point waveforms specified by the user (number of time-domain

averages). These waveforms are acquired additively and stored in upper

memory. The sum of the waveforms is then returned to BASIC where each

point is divided by Nl, the number of waveforms acquired, to yield one scaled, time -averaged waveform.

For example, if Nl = 100, the system will acquire 100 64-point

sequential waveforms from the sampling oscilloscope. Each time a new waveform is acquired it will be added point -by-point to the sum of the

previously acquired waveforms. Upon completion of the 100th waveform

acquisition, the sum total of all 100 waveforms will be converted,

point-by-point from binary form to floating point and returned into the

85
BASIC array, A. Each point in this array will then be divided by 100

to yield a single averaged time domain waveform.

The minimum upper limit for the maximum number of time domain waveforms that may be acquired and averaged is governed by the largest

binary number that may be stored in upper memory. For this system,

based upon the use of 14 bit A/D conversion and 31 bit (plus sign bit)

18 maximum binary number size, the minimum upper limit is 2 or a maximum

of 262,144 time domain waveforms per averaged waveform.

Once the first time -averaged waveform is acquired and stored in the BASIC

array A, program statements 420 through 670 are executed to prepare the

waveform for Fourier transformation. Statements 420 through 480 reset

the values of A(0) and A(l) to be linear extensions of the next four

points. Resetting A(0) and A(l) in this fashion eliminates any errors

in these points caused by sampling oscilloscope instabilities in sampling

efficiency. In addition, the value of A(0) is critical to the windowing

algorithm used in statements 540 through 610.

Statements 490 through 530 are used to produce a display of the

acquired time-averaged waveform on the monitor oscilloscope. This

allows the operator to verify the proper operation of the waveform

acquisition system on each run. The windowing algorithm is encountered next in statements 540 through

610. Since the FFT assumes that the time domain waveform to be transformed is periodic then the beginning and end points of the acquired

waveform must have the same value of amplitude. If these values are different, such as in the case of a tunnel diode step waveform, then

the FFT will treat that difference as an abrupt step-like change in the

waveform and this erroneous step will be reflected in the spectral

information obtained. These spectral errors are commonly referred to as "leakage" errors. There are a number of ways to modify the time domain waveform data

in order to avoid this problem. The one chosen for this application is

based on eq . (4-13). In effect, the acquired 64-point averaged waveform

is inverted and added to the end of itself. Thus, a 128-point waveform

results with equal end points. As long as the actual waveform acquired

came from a linear system, this algorithm is physically valid. In addition to solving the end point problem, however, the particular method

solves another problem.

As was discussed in Chapter 4, the DFT of a square pulse whose

width is exactly half the time window generates only odd harmonics. All

the even harmonics are forced to zero. Generally, for the sin x/x form

of the integral Fourier transform of an ideal square pulse, the sin x term is forced to unity for odd harmonic terms and to zero for even

86
harmonic terms. In fact, the sin x term will be eliminated in this manner for any time domain waveform having 1/2 wave symmetry

f(t) = -f(t + T/2) (7-1)

where T is the time window. The windowing algorithm used in this program will always modify the acquired time domain waveform such that the

resulting waveform exactly satisfies eq. (7-1)

Thus, the algorithm not only ensures that the beginning and end

points of the acquired waveform will match but also ensures that the

sin x term in the waveform transform will be either unity or zero. Therefore, after throwing out the even harmonic terms in the spectrum

amplitude of the transformed waveform, the remainder are odd harmonic

terms that are independent of the sin x terms. Consequently, distorted

spectra such as those shown in figures 4-13, 4-14, and 4-15 are always

avoided

Once modified, the time domain waveform is again displayed on the

monitor oscilloscope for operator verification. Statements 620 through

670 perform this task.

Statements 680 through 1180 contain the FFT instructions. The subroutine in statements 1340 through 1410 is also a part of the FFT. This

FFT routine is virtually identical to that described previously. It

performs the FFT of the 128-point modified waveform and then computes

the spectrum amplitude.

Statements 1190 through 1330 are for frequency domain averaging. If more than one frequency domain average is requested by the operator

then the program stores into upper memory the spectrum amplitude just

computed and returns to acquire and process another averaged time

domain waveform. The succeeding calculated spectrum amplitude will be

added to the first in upper memory. When all of the requested number

of spectrum amplitudes have been added together the final result is re- turned to BASIC and stored into array C. This, then is just simple

additive averaging of each spectral point. Since this final waveform

spectrum shall ultimately be divided by another (that of the output

waveform) then there is no need to normalize either one. Once a frequency domain averaged spectrum amplitude for the reference

waveform has been calculated and stored into array C, the program

asks the operator the questions contained in statements 1540 through

1600 followed by the questions in statements 140 through 200. The

program than repeats the entire process of acquiring the second waveform, computing the spectrum amplitude and storing the result. This

time, however, the resulting spectrum is stored in array A. Statements

87
1660 through 1690 then compute the transfer function of the unknown

device by computing, for each frequency point,

IL n

- 20 log10

^2Htk

The resulting 32-point transfer function in dB versus frequency is then

printed out on the teletypewriter and displayed in the monitor oscilloscope. Statements 1760 through 1840 are used to scale the transfer

function data for display purposes only. This scaling is controlled by

the operators response to the questions contained in statements 1570

through 1600.

Runtime of this program, excluding output printing on the teletypewriter, is approximately five minutes.

7.3.3 1024-Point Transfer Function

A listing of this program is contained in Appendix A-3. Except for the

fact that this program utilizes a 1024-point called assembly language FFT

subroutine, it is practically identical to the previously described 128-point

transfer function program. The major differences are described as follows:

1. This program causes the acquisition of 512-point waveforms instead of

64-point waveforms. The same averaging and windowing schemes are used

but the point A(0) is defined as

1 6 A(0) = i- E ACi) • (7-3)

i = l rather than as the linear extension used in the 128-point program.

(Note that this method of correcting A(0) is only valid if the slope

of the measured waveform is zero.)

2. The first 256 points of the acquired waveform are put into array A and

the second 256 points into array B. The other 512 points resulting

from the windowing algorithm are put into arrays C and D sequentially.

Then all four arrays are converted to binary and stored in upper memory.

Statement number 660 then calls the assembly language FFT to operate on

the real 1024 point array stored in upper memory starting at octal

location 50000. The FFT routine will be described in the next section.

Statements 670 through 700 then return the resulting spectral points

into BASIC floating point arrays A, B, C and D. A and B contain the

first 512 spectral real parts while C and D are the first 512 spectral

imaginary parts. The spectrum amplitude is then calculated as previously

described

3. Statement 1000 prints out the value of the variable S on the teletypewriter. This variable is the number of times the spectral array was
right-shifted, or divided by two, in the FFT computation. More will

be said in the section describing the assembly language FFT routine. It

is sufficient at this point to note that the larger this number the

lower the resolution of the resulting spectral points.

4. Statements 1010 through 1040 cause a logarithmic display of the computed

spectrum amplitude on the monitor oscilloscope for each waveform

transformed.

In contrast to the 128-point transfer function program this program runs faster and generates 256 spectral points instead of 32. The actual FFT

routine runtime is only about one or two seconds. Since this FFT only

operates on single-precision binary numbers, however, and since an FFT

algorithm contains a large number of additions and multiplications, in

general, then the expense incurred with the program is extremely poor spectral amplitude resolution. Consequently, this program was used for FFT

experimentation only; all measurements on actual microwave devices were accomplished with the 128-point transfer function program.

7 .4 Assembly Language Program Descriptions

All of the programs described in this section were written in assembly

language and absolutely assembled. Each subroutine is called from BASIC

with an instruction of the form

n -j LjALiLi n .-> ? a-, ? a.-^ y a- 7

• • • 9 Aq

where n, is the BASIC instruction number, n~ is the called subroutine number

and the X's are variables to be transferred either from BASIC to the subroutine or vice versa. Up to eight variables may be transferred in this manner

With the exception of the FFT subroutine all of the programs are thoroughly commented in the listings. Therefore, only brief descriptions

of each routine are presented.

7.4.1 Subroutine Table (Appendix B-l)

In order to use the called subroutine feature of BASIC a subroutine

table must be written. This table performs a number of functions. First,

it serves as an index of all assembly language user-written subroutines.

When a CALL instruction is encountered in a BASIC program, the computer

jumps through location 10 to the starting address of the subroutine table

(40000 in this case). It then searches through the index for the starting

address of the subroutine called and jumps to that location. Second, the

table is used to tell BASIC, by means of a code word, how many input and

output parameters are associated with the subroutine and in what order they

89
appear in the CALL statement. Thus, in the listing in appendix B-l, the

lines

40007 000003 3 40010 040400 DATOP

40011 130000 130000

all refer to subroutine number 3. The five digit octal number in the left

column is the absolute memory location of that line, while the six digit

octal number in the next column is the contents of that location. In memory

location 40007 there is a 000003 which is the subroutine number. In location 40010 there is a 040400 which is the starting address of subroutine

number three and in location 40011 there is a 130000 which is the parameter

code word mentioned above. In the right hand column are the programming

statements that caused the program assembler to generate the first two columns

DATOP is the particular subroutine's label used for referencing the program.

All subroutines are listed in the table in this manner. In addition,

an interrupt-handling subroutine must be the first subroutine listed. In

this case, the interrupt routine is labeled INTRP and its starting address

is contained in location 40000. Whenever an interrupt occurs the computer

will jump to the user's interrupt routine to see if the interrupt was caused

by a user-programmed device. Even, as is the case here, if no interrupts

are used an interrupt routine must be provided. At the bottom of the table

listing is the interrupt routine used in the system. It merely turns off

the A/D converter interrupt capability and returns to the BASIC interrupt

routine starting in location 521.

After all subroutines have been listed in the table the list must be

terminated with a -1. In this case location 40050 is the end of the table

and contains a 177777 which is the machine representation for a -1.

Finally, the table is used to define global labels and devices. .FIX

and . FLOT are the floating point to binary and binary to floating point

conversion routines located in BASIC locations 130 and 132 respectively.

The two statements in the table allow reference to these routines from

any user-written assembly language program. The next two .DUSR instructions simply define the mnemonics ADCV and DACV as device numbers 21 and

23. Thereafter, the mnemonics may be used to reference the A/D and D/A

converters, respectively.

This table must be located right above the BASIC users area in memory.

When a program is executed in BASIC all memory locations above BASIC and

below the table are erased. Referring to figure 7-1, any assembly language

programs or binary data stored in the memory block labeled BASIC Program and

Data Storage will be lost at runtime. Thus, the subroutine table also

tells BASIC the upper limits of BASIC'S operating area.

90
7.4.2 Memory Clear Routine (Appendix B-2)

The starting address for this routine is location 40100. It is designed

to set the contents of locations 50000 through 53777 (octal) to zero. These

2048 (decimal) locations are used to store the acquired time domain waveforms.

Before acquisition of a waveform begins, this routine is called from BASIC

to reset the contents of the binary array memory locations to zero. The

BASIC instruction used to call this routine is n, CALL 1 where n, is the

BASIC instruction number.

7.4.3 Data Acquisition Routine (Appendix B-3)

Absolute location 40200 is the starting address for this routine. It is used to generate the x-axis sweep for the sampling oscilloscope and to

acquire a time-averaged time domain waveform. The form of the BASIC instruction used to call this routine is n, CALL 2, Nl , N3 where n, is the BASIC

instruction number, Nl is the number of waveforms to be averaged and N3 is the

x-axis spacing between sample points . As waveform acquisition takes place

the D/A is set to i times N3 for the ith x sample point. The sampling

oscilloscope is instructed to take a y-axis sample and the A/D converter is

instructed to convert the sample from analog to binary. This sample is then

added to the sum of the previous samples taken at that x-location and this new

sum is returned to the appropriate memory location. Upon completion, the sum of the Nl acquired waveforms, each consisting of 2 /N3 sample points is

stored sequentially in memory locations 50000 through 53777. Each sample

point occupies 2 16-bit word locations so the maximum number of sample points

allowable for each waveform is 4000/2 (octal) or 1024 (decimal) points.

7.4.4 Data Binary to BASIC Routine (Appendix B-4)

Once the time-averaged waveform has been acquired and stored this subroutine is called in order to transfer the waveform from upper memory binary

form to a BASIC floating point array. The BASIC instruction format is

n, CALL 3, N, A where n, is the BASIC instruction number, N is the multiple

of 256 data points and A is the destination BASIC array variable. Since

BASIC limits a single array dimension to 256 then a 1024-point waveform must

be put into four different 256 -point arrays. Thus, this subroutine must be

called four times in order to transfer the complete waveform into BASIC.

The instructions to transfer a 1024 point waveform into BASIC arrays A, B, C and D, sequentially would be

n, CALL 3, 0, A

n

2 CALL 3, 256, B

n_ CALL 3, 512, C

n

4 CALL 3, 768, D

91
The absolute starting address of this routine is 40400. It operates on data stored only in locations 50000 through 53777 and assumes each data point

occupies 2 16-bit words.

7.4.5 Data BASIC to Binary Routine (Appendix B-5)

This subroutine, starting in location 40500, is essentially the reverse of the routine just described in 7.4.4. It is designed to transfer floating

point BASIC arrays to upper memory binary putting the 16-bit binary numbers

sequentially into locations 50000 through 53777. The one difference is that the

binary numbers produced by this program are 16-bit single precision numbers

while the binary numbers operated upon by the previously described program are 32-bit double precision numbers.

This program is designed to return spectrum amplitude data to binary

form for monitor oscilloscope display purposes. Therefore, double precision

number representation is unnecessary. The calling format for this routine

is the same as for the previous subroutine except that CALL 3 is replaced

with CALL 4.

7.4.6 Data Display Routine (Appendix B-6)

The absolute starting address of this subroutine is 40600. It is designed to display the data stored in locations 50000 through 53777 on the

monitor oscilloscope. As was the case with the previously described data

acquisition routine, this program operates the x-axis sweep and sends this x information to the monitor oscilloscope via D/A #2. D/A #4 is used to send

the y value of data associated with the current value of x to the monitor

oscilloscope. When both the x and y values have been loaded into the two D/A

converters, a z-axis intensifier pulse is sent out causing the display of one point on the screen.

This routine will display one full sweep and return to BASIC. For a continuous display of data the program must be repeatedly called from BASIC.

For example, for a display of 500 sweeps the BASIC instructions would be

ru FOR I = 1 TO 500

n

2 CALL 5, N3

n

3 NEXT I where n, , n 7 and n, are BASIC instruction numbers and N3 is the spacing be14 14 tween x-axis points in parts of 2 . (NOTE-2 corresponds to full-scale

deflection for all D/A and A/D converters. However, D/A #2 and D/A #4 are

10 bit devices and only utilize the 10 most significant bits.)

92
7.4.7 X-Y Recorder Zero and Full Scale Set Routine (Appendix B-7)

X-Y recordings of data in locations 50000 through 53777 may be obtained

by means of this program and the next (section 7.4.8). This routine, starting

in location 40700 allows the operator to adjust the X-Y recorder for calibrated

full scale and zero settings with respect to the X and Y D/A converter outputs. Actually, this listing contains two separate subroutines, one for full

scale set and one for zero set. Thus a CALL 6 will cause the X and Y axis D/A

converters to output full scale signals while a CALL 7 instruction will cause

the D/A's to output a zero signal.

7.4.8 X-Y Record Subroutine (Appendix B-8)

Once the X-Y recorder has been calibrated, this routine, starting in location 40750, is called to record sequentially the data contained in locations

50000 through 53777. The variable DELA is the pen speed factor and may be

changed via the computer front panel switches prior to execution in order to

speed up or slow down the x-axis recording speed. This program will generate

one 1024 -point X-Y recording and then return to BASIC. The variable CT6 must

be changed via the computer front panel switches in order to change the number

of data points in the recording.

7.4.9 Data Binary to BASIC Routine (Appendix B-9)

Whereas the binary- to -BASIC routine described in 7.4.4 is designed to

convert double precision positive binary numbers to BASIC floating point, this

routine is designed to convert single precision positive or negative binary

numbers to BASIC floating point. Otherwise, this routine is virtually identical to that described in 7.4.4. The reason two different routines are necessary is that while the data acquisition routine generates a binary array

of double-precision positive numbers, the assembly language FFT routine

generates a binary array of single precision numbers that may be either positive or negative. Thus, this program is used to transfer the result of the

assembly language FFT into BASIC while the previous program is used to transfer

the results of the time-domain waveform acquisition into BASIC. The starting

address for this routine is 41020.

7.4.10 Assembly Language FFT Routine (Appendix B-10)

This program was obtained from a minicomputer user's group and was modified to work in a CALL BASIC environment [37] . It will compute the forward or M

inverse DFT of a complex or real input time series consisting of 2 points,

M an integer less than or equal to 10. This corresponds to a maximum transform length of 1024 points.

93
The program is designed to operate on a binary time series stored in

location 50000 through 53777 (octal). The time series must be arranged

so that location 50000 through 51777 contain the real part of the timesequential input series and locations 52000 through 53777 contain the

imaginary part of that series. The BASIC instruction used to call the

routine is of the form

n

1 CALL 10, NO, N2 , S where n, is the BASIC instruction number, NO is a +1 for an inverse transform

and a for a forward transform, N2 is the transform length (number of sample

points) , and S is the number of times the data is scaled during FFT computation . Upon completion of FFT computation, the spectral data is returned to

locations 50000 through 53777 such that the real part of the frequencysequential spectral series is in locations 50000 through 51777 and the

imaginary part is in locations 52000 through 53777. Each spectral coefficient is a single -precision binary integer that may be positive or negative.

This program is very fast (< 2 sec. execution time) but has a severe

14 limitation. The input time series must contain no number larger than 2 (decimal) or an overflow will occur. Also, as computation progresses, if

any number in an array exceeds 13,107 (decimal), then that array is divided

by 2. The variable S mentioned above is the number of times that this array

division has taken place. Typically, for a 1024-point transform, the arrays

are scaled down by a factor of two from 7 to 9 times. The result of this scaling

is extremely poor resolution of spectral values. A high order harmonic may

have a spectral amplitude of either zero or one or two, for example, and

there could easily be an error in the first significant digit.

Consequently, this routine was considered unusable for quantitative analysis

of waveforms; its use was restricted to qualitative FFT experimentation only.

The starting address for this routine is location 41747.

7.4.11 Spectral Memory Clear Routine (Appendix B-ll)

This routine performs the same function as the memory clear routine

described in section 7.4.2 except that it clears a different block of memory.

Once the spectrum amplitude of a time -averaged waveform has been computed in

BASIC, it is returned to binary form in upper memory for frequency domain

averaging and monitor oscilloscope display purposes. This program zeroes absolute memory locations 45000 through 45777 (512 points) in preparation

for additive storage of spectral arrays. This routine's starting address

is 42500, and is called by an instruction of the form n, CALL 11.

94
7.4.12 Spectral Data BASIC to Binary Routine (Appendix B-12)

This routine is similar to that described in section 7.4.5. The difference, again, is that this program operates on a different upper memoryblock. In the same manner as the previously described routine, this program

transfers a BASIC floating-point array to upper memory double precision binary

form. The instruction form is n, CALL 12, A where A is the BASIC array name. 42600 is the starting address for this routine.

7.4.13 Spectral Data Binary to BASIC Routine (Appendix B-13)

After the desired number of 256-point spectral arrays have been additively stored in locations 45000 through 45777, this routine is called to

return the frequency- domain averaged spectrum to BASIC. Except for the memory

block difference, this program is the same as that described in section 7.4.4.

The instruction format is n, CALL 13, A where A, again, is the BASIC array

name. This last subroutine's starting address is 42700 and it ends at location 42731. 42731, then, is also the last location of the assembly language

subroutine package.

95
Octal Memory Location

Interrupt Routine

§ Subroutine Table

Binary Loader

Unused

Binary

Data

Storage

Unused

A.L. Subroutines

BASIC

Program

and

Data

Storage

BASIC

Language

67777

67600

57777

• 47777

45000

42731

37777

27777

17777

07777

Figure 7.1. Minicomputer System Memory Map (28K Core)

96
8. EXPERIMENTAL RESULTS

8 . 1 Introduction

To determine the agreement of measured insertion loss between the time

domain measurement system (TDANA) and equivalent frequency domain systems,

a number of experimental comparative measurements were made. The insertion

losses of three wideband coaxial attenuators, nominally 10, 20 and 40 dB

,

were measured at discrete frequency points over a band from 0.5 to 12.5 GHz.

Three systems were used to perform these measurements; the TDANA system, the

NBS automatic network analyzer system (ANA) , and the NBS fixed frequency

30 MHz IF substitution system (NBS system). For purposes of this report,

and because both the TDANA and the ANA systems are still experimental, the

measured insertion loss values obtained with the NBS system were considered

to be the "correct" values. These measurements should not be considered an exhaustive analysis of the comparative measurement capabilities of the three

systems, but rather, a first order or rough system comparison.

8 .

2

NBS System Measurements

The 30 MHz IF substitution system is the NBS, Boulder Labs working

standard for calibrations of wideband coaxial attenuators. The heart of

this system is a precision 30 MHz waveguide below cut-off standard attenuator.

Beatty [38] has written a comprehensive analysis of this method of attenuation measurement as well as an excellent list of additional references on the

subject. References [39] and [40] are also pertinent.

Due to cost and time limitations the three coaxial attenuator's insertion losses were measured on this system at only a few different frequencies.

The resulting measurement data from this system as well as that for the TDANA

and ANA systems are tabulated and displayed graphically in Tables 8-1 through

8-3 and figures 8-1 through 8-3. Conclusions drawn from these data are deferred to section 8.5.

8.

3

ANA System Measurements

The NBS automatic network analyzer is essentially a commercially available computer-controlled microwave network analyzer that is in the process

of being extensively modified. Using computer controlled swept frequency

CW generators, the system measures such parameters as reflection coefficient

magnitude and phase, insertion loss, and VSWR for both coaxial and waveguide

microwave components over the bands 100 MHz to 2 GHz and 2 to 18 GHz. The

goal of these modifications is to extend the range of operating frequencies

and to upgrade the measurement accuracy and precision to achieve a new NBS

automated working standard for calibration. At present, the measurement

97
uncertainty is essentially that quoted by the analyzer manufacturer [41].

Beatty [42] again, has written an overview of ANA's as well as a list of

almost 50 additional references on the subject.

A set of five separate insertion loss measurements was performed on this

system for each of the three attenuators. Again, the results are tabulated

and graphically displayed in the tables and figures mentioned previously.

8 .4 TDANA System Measurements

The circuit models for the insertion loss measurements made with the

TDANA system are shown in figures 2-4 and 2-5. A time window of 1 ns was chosen for waveform acquisition, each waveform consisting of 64 time sample

points. The precision coaxial air lines, represented in the figures as

Z- and I j, were chosen long enough to introduce no secondary reflections in

the 1 ns time window. For this measurement £, and l~ were each 30 cm long.

Time-averaged sampled data representations of the waveform v-,, (t) and v,

2 (t) were obtained using an ultra-fast tunnel diode pulse generator as a source

(v,, - 250 mV) . These two waveforms were then Fourier transformed using an FFT on the system minicomputer and the insertion loss of the test attenuator

was computed to be

S (OUT) M

IL(f ) = 20 log -2 , n = 1,3,5, •••,f-l (8-1)

n iU

S (IN) L

where IL(f ) = insertion loss at n harmonic in dB

,

S = computed spectral amplitude of the n harmonic, see eq. (2-7),

N = number of samples in the transformed time series (128 points

in this case)

Because the windowing algorithm used in this system effectively doubles

the time window length (to 2 ns for this measurement) and because this same algorithm causes all even spectral harmonics to be zero, then the actual

frequencies at which the insertion loss is measured are

1 3 5 1

l 2ns ' 2ns ' 2ns ' ' 2ns

or, at .5 GHz, 1.5 GHz, 2.5 GHz, •••, 31.5 GHz. Of these, only the insertion

losses at frequencies out to 12.5 GHz were tabulated.

8 . 5 Experimental Conclusions

Tables 8-1, 8-2, and 8-3 contain a summary of all measurement data for

the 10, 20 and 40 dB attenuators respectively. In each table, column (1)

lists the frequencies at which insertion loss measurements were performed.

98
Columns (2) through (4) summarize the data from measurements on the TDANA.

Column (2) lists the mean insertion losses computed from a set of ten independent measurements. Column (3) is a list of the estimated standard deviations computed from the formula,

"1/2

a =

i n -K l (x.-x) 2 n-1 j«i 3 (8-2)

where n is the number of measurements (10), x. is the j measured value,

and x is the mean value of the n measured values. Column (4) is the deviation, in percent, of the mean insertion loss measured on the TDANA system

compared to that obtained on the NBS system.

Columns (5) through (7) are summaries of the data from measurements

performed on the ANA. In this case, five independent measurements were made.

Otherwise, columns (5) through (7) are exactly analogous to columns (2)

through (4), respectively, that is, mean, estimated standard deviations and

percent deviation from the NBS system.

Columns (8) and (9) summarize the data obtained from the NBS fixed

frequency 30 MHz IF substitution system. The mean value of several insertion

loss measurements is reported in column (8). Column (9) contains the estimated maximum total uncertainty.

Figures 8-1 through 8-3 are graphs of the measured mean values of

insertion loss versus frequency for the 10, 20 and 40 dB attenuators,

respectively.

The salient features of these results are as follows. 1) The mean

values of insertion loss measured on the TDANA appear to be consistently

less than those measured on the NBS system. 2) There appears to be a meas- urement agreement of within 1.5% between the TDANA and the NBS systems out

to 12.5 GHz. 3) The estimated standard deviations of the TDANA measurements

are within ± 1% of nominal attenuation for the 10 and 20 dB pads but

approach ± 2.5% for the 40 dB pad. Also, the estimated standard deviations

for each attenuator increase with increasing frequency. This is to be ex- pected because the standard deviations are all proportional to the system

signal-to-noise ratio which, because of the 1/f decay of available spectral

power in the driving source pulse, becomes smaller with increasing frequency.

99
O

M

ps

ou

PQT3

om

I

CO

rt

+-> rt Q

v>o

co

•HM

Ji

<D(0

t3

3-

a> 2

i oo

a> S

<D

4->

I/) XCO

CO

PQ2

vO

6

)->

CO<

<

to

6

V) CO<

<

O

H

rt a} pQ "d- LO LO LO P PtJ o o o o

O f-t ^-/ • • • • E-t <Do

c

CD

PSO

•T-i V) SS t-~ o oo o

•M </) PQ 00 1-1 CM i-H Sh O T3 CT> o o O

(DJ'-' • • • •

l/) Ol o o o

c i-H 1—1 i-H

P o

Pi -H

0) >

o

•H /—

M PQ •H v—

>

a> o

co

•H

4-> Si

<L> to

Pi

10 PQ O t3

Pi P o

P!'H U CTj o\° Jh .H ^

a> >P

c

TJ O

rt +J PQ Tj C(3 Tj

rt >

CO Q

Pio

•HP

Sh

0)

l/) Pi

(/) /—

W PQ O T3

5-. U

PL, ^—

ooo

CM a\ o oo o o>

CTi

too

o

00

to

CM

CMooooooooooooo i—li—ICMtOWvOvO^-tOCMCMCM

a> a> o

a> o o

rH cm o

O O CM i-H O

a> a>

i-l i-H o o

LOo

oo

i-i o en o

oo

cMtototo«*Lor^cr>cnr~-a>CT>CT> ooooooooooooo

r--!—(tOCMtOvOfJltOvD^-LOLDtO

CT>CT>CriCJ^CJ>CT>CT>O^CTlCT>CJ>Cr>CT>

Lni/^i^LnLOLOLnLotounLnLnLn

rHCMtO'*lOvOt--OOCT>Oi—ICM

100
oo

CD

e

<D P

</) >s

CO

COw

oo

v£>

6

<D P

tn co

to

6

4-> inX

CO<

S3<

Q

H

>* p

1=1 iH »H /->

rt rt m vO

+j +j T3 O

O U >—

• H <Do

c

E> a

o

•H tf) /-^ ^t P Ulffl iH

f-t O TJ rg

0) hJ ^ •

t/> o

S «M

P O

G'H

<1> P /~N O as op

J-l -H ^

<D >

CU <D Q

t3 o

ca p cq fi.H w

rt > P

CO Q

O

•HP

(/> C

O TJ hJ^—'

C P o

fi-H

<D P /-> O rt dP

<D >

Dh

n

T3 O

rt p pq Pl-H w

rt > p <D co Q

H (/) /—

P t/1 «

CD hJ N-/

a

4 m

o

m

00

LO

too

o

CT> too

00in

oo

• o

CM

00

vOLOr-li-lrHrHCNlrHtOCNltO^m OOOOOOOOOOOOO

r- cm ** cm n >* m in

«* a> oo •* ^f- NO o «* tH in rg vo

f» vo en en oo en NNNNNNNNNNNNN OOOOOOOOOOOOO

cm t-. «o

in

C7>

00 t-^ 00 t~- 00 o

O O O O O rH N N <t O rH tH m oi <t

rH O rH

tOtOOOrJ-C<ll--tOmTi-\OtO\00

i—icvicsito^-^-mmvov©t--vo\o

NNNNNNNNNNNNN OOOOOOOOOOOOO

mininmininininininininin

i—icsim^LnvGt^oocnor-1 n

101
PoP

C

d> P

P

<

•H

rtou

PQt3o

<*P

oX

P

co

rt p

Q

V)

VIO

P!o

•HP

!h

CDto

13P

tO

<D

tooo

CD

i-l

oo

^o

4-> to CO

CO

pq

s

CD

+-> to

CO<

<

ep

to co<

<

Q

X

p

c

rH -H ,—>

Oj CtJ PQ (SI P P h3 cni o ^^ • H CDO

rt »

c

o

•H CO ^^ to P (O PQ en P o T3 CT> 0) PI ^ • to Cn

es tO

Pi p o

C -H

cd p ^

P -H ^_^

CD >

Ph cd n

T3 O

P -H ^ rt P PQ

p) -H w

ai > P CD CO P

PIo

• H

P

P

<u

to

p!

tO ,—

N

to pq O T3

p o

<D P ^~

N

p -H w

>

Oh CD Q

P

ai

oj P

CO

c

O

•H ,—n P PQ •H ^—

>Q

P!O

•HP

P

CD

to

Pi

(0 ^-^

tO PQ O T3

PI >—

a

- to P u

PL, ^_/

CTl t--

cni

(NI

ooo

o

00

tO

o

rH ^

o o o O

(NI otoo

rH o

o o

VO CNI O rHt~- oo oooooooo cn

to o

Cnoen

t~- rH tO N N IO o oo o

•* rl- "3-

(N) LO LO o

tn n oi

Cn O Cn

ento o en

to

LO

00

LO

en

to

Csl (Nl +

^- ** <ni en r- o o o o o

to oo t-- en vo oo en en

to to

en

to

(NI LO

en en

vOrHLnrHrHOOrHCnvO rH(NIrHOLOLO\Ot^tO

ooooocncncncncn

LOLOLOLOLOLOLOLOLOLOLniOLO

rHCNito^Lovot-^oocnorHCNi

102
a:Q

LUI—

CO

>-

</> cr

LU < x Q i—

« • • < o oo

-L-+

CVJ 1

T3

rt

CL, LO

PQ ,— X)

•— o

i-H

LO

Uo O m

r^

Xo£

LO CD3

cr> cr

CDU

U-, LO V) • 3

00 t/5 uo>

LO

en t^ too

-jC

LO o

•H ^ 4

+J^ i CD N CO - i t—

LO

<4HOP

LO o

I-l

«a- a.

CD>

•H LO +-> • CJ CO fH

CTJ CUe

LO ou

LO

o> 00 1 CO

CDU3

bO •H

PL,

COT3 103
CO

>-COcr

LU < x « •

&s o

CM

COO

CM

KOo

CM

IDCM

T3

Cd LO PL, ^ PQ 1— T3o

(N) in• Jh o O 1 m^u

LO « . 0) o> 3

cr

0)^

PL, LO•

(J) CO 3

V)*-

<D LO >

r*» </) WOJ

LO .i « 1 1 o

vo 1 •H

IN

M

IE fH cs <D LO C/> PI LO hHmo

LO -M • o

•SI- i-t PM

<D>

LO •H • •M CO cd^

rtP<

LO 6o

CM

u, CM LO i • oo ' 0)

f-t 3

b0 LO •r4

PLr o

CM

CMO

CM

O

CM

COI 104
LO

4#B • 4

>-

COcr

z: z lu < < x Q Q i—i 4 • M « • « « •

*• • < • «• «

COo

C\J r- Td

rt Ph LO pq

,_; TJ

r- o

^f

LO

u , o o LH l— XU

Pi LO <D3

<n a*

<D

5-i Ph LO 7) • 3

00 V)

5-. <D >

LO </) • V)

r«v oJe

LO o i •H

LO t +-> 1 *-< <D N LO :n a LO O i—i LO mo

+-> LO o . i-H <d- PL,

<u>

•I-l LO M • cti CO f-i a

P*eo LO u

C\J • tof LO 0O

^_ (D

!-t 3

t>0 •H

LO pi* o o

LO CM

ca-ai 105
9. SYSTEM ERROR ANALYSIS

9 . 1 Introduction

This chapter is concerned with a discussion of errors in the TDANA

system, both systematic and random. At present, the system should be con- sidered experimental in that an exhaustive effort to analyze and reduce

system errors has yet to be done. This analysis, as well as efforts to

extend the system measurement ranges for both frequency and insertion loss,

remain as planned future work.

Some system error analysis experiments have been conducted, however,

and some sources of error have been observed and noted in a qualitative

sense. The results of these experiments are summarized in this chapter.

Also, a discussion of suspected sources of error and their relative magnitudes is presented.

Some prior work has been accomplished pertaining to errors in sampling

oscilloscope systems similar to the TDANA. Efforts at Sperry Rand Research

[43] and at IBM Watson Research Center [44], in particular, have been

fruitful

9 . 2 Systematic Errors

As opposed to random errors, systematic errors may be thought of as errors that introduce a fixed bias into the measurement process. As re- ported in Chapter 8, the comparative insertion loss measurements conducted

on three coaxial attenuators indicate a tendency for the values of insertion

loss measured on the TDANA to be consistently less than those measured on

the other two systems. In all probability, this lack of agreement is caused

for the most part by systematic errors in one or more of the three systems

used. The results of the attenuation experiments, themselves, say nothing

about which system or systems are the ones in error, but experience indicates that the fixed frequency 30 MHz IF substitution system is the most

accurate and precise of the three.

9.2.1 Impedance Matching Errors

The theoretical development presented in Chapter 2 shows that, were the

system perfect in all other respects, the insertion loss measurement accuracy

of the TDANA would be entirely dependent on the accuracy of the values of

Z~ for the lines £, and I- shown in figures 2-4 and 2-5. That is, the

fundamental limitation of system accuracy for insertion loss measurements. - is solely dependent upon how close the impedances of lines I, and &

2 are t0 an ideal 50.0 9, over the frequency band of interest. The lines £, and l~,

then, may be thought of as the system standards which will dictate the

106
absolute measurement accuracy of the system. It should be noted that the

connector pair used between the precision air lines and the reference insertion plane is the major physical obstacle to achieving a perfect Z Q

transmission line over the time window of interest. This error in Zq may be

considered analagous to the problem of trying to achieve a perfectly re- flectionless line when looking from the insertion plane towards both the

load and generator in a frequency domain measurement system.

9.2.2 System Nonlinearities

Several distinct sources of systematic error have been lumped into the

category of system nonlinearities. The first of these are errors caused

by the nonlinearities associated with the oscilloscope sampling head. The

dynamic voltage range of the sampling head is specified as i 1 V by the manufacturer. A plot of displayed voltage on the CRT versus input voltage

demonstrated a definite nonlinearity with severe compression above 800 mV

[45] . Thus this must be considered a source of systematic error in the

range 0.8 to 1 V. Closely related to the sampling head nonlinearities as a source of error

are the nonlinearities associated with the sampling oscilloscope vertical

channel circuitry. In addition, any nonlinearities of the 14 bit A/D converter

must be considered. It is very likely that the trend of smaller values of

insertion loss measured on the TDANA compared with the frequency domain

systems' results is caused, in part, by some combination of these three

systematic error sources. In particular, if these nonlinearities caused a compression of the initial waveform voltage while faithfully acquiring an accurate representation of the smaller attenuator response waveform, the

resulting measured values of insertion loss computed by the system would

indeed be less than their true values. Once these errors are modeled, it

should be possible to provide corrections by means of the system minicomputer.

It should be noted that for simple waveform spectral analysis, as opposed

to insertion loss measurements, the error associated with the absolute calibration of the entire vertical channel must be taken into account. For

amplitude-independent absolute vertical channel errors, their cancellation

is ensured by the insertion loss computation (see section 2-3).

Horizontal nonlinearities are also present, primarily in the sampling

oscilloscope horizontal trigger and sweep circuitry and the horizontal sweepcontrolling 14 bit D/A. Because application of the discrete Fourier transform assumes system linearity and equally-spaced time samples, any variation

in sampling point time spacing will cause errors in the resulting computed

waveform spectrum. The errors caused by these horizontal nonlinearities

result essentially in an uncertainty in frequency associated with each

computed spectral point.

107
9.2.3 Computational Errors

For machine computation purposes, errors may be thought of as being

inherent errors, truncation errors, or roundoff errors [46]. Inherent errors

in data are errors introduced into the data before it reaches the computer.

These data errors may be caused by such things as systematic and random

measurement errors, measurement recording errors, and data input errors

(caused by a faulty paper tape reader, for example). Truncation errors are caused by the necessity of truncating an infinite series representation of

a function for computational purposes. For example, calculation of the sine

of x from the series,

sin x = x - — + — + ... (9-1)

3! 5! 7! leads to truncation errors because an exact answer can be obtained only by

computing the values of an infinite number of terms.

Roundoff errors are caused by memory limitation in the computer.

Depending on the machine design, only so much memory is allocated for

storage of a number. Also, arithmetic processors are limited in the size

of numbers upon which they can operate. Thus, only an approximation for such

irrational numbers as tt and e may be stored and used in a computer. The

TDANA system minicomputer, operating in BASIC, is capable of storing and

operating upon numbers up to seven decimal digits in length. Remaining

least significant digits are simply discarded.

It is known that both truncation and roundoff errors are generated by

an FFT computation but an exhaustive attempt to establish bounds on these errors remains for necessary future work.

Another source of computational error that must be considered is the error introduced by the FFT algorithm. Use of this algorithm not only

generates errors of truncation and roundoff, as mentioned above, but also errors due to aliasing and windowing may be introduced.

As discussed in Chapter 4 aliasing errors occur whenever the frequency

content of the acquired time domain waveform exceeds l/2At where At is the

time sampling interval. For the most part, these errors may be effectively

eliminated by use of bandpass or low pass filters, either analog or digital,

that remove any frequency components of the time domain waveform at or above the Nyquist frequency.

Errors introduced by windowing are more difficult to resolve. The

problem faced is that leakage errors will occur in the FFT computation if the

time domain waveform to be transformed does not start and stop at exactly

the same value of amplitude. Physically, it is considered impractical to

either build or modify the system pulse driving sources to exhibit this

characteristic. Rather, an algorithm was devised that operates on the

108
acquired waveform in such a manner that the equal -amplitude requirement is

always met (see section 4.4 for description). This algorithm works quite

well for the pulse sources used in the TDANA but it should be kept in mind

that a blind application of this rule may lead to disaster. At present,

a mathematical study is in progress to determine the types of time domain

functions suitable for reduction by means of this algorithm. Preliminary

results indicate that time domain waveforms whose beginning and end point

slopes are zero may be operated on by the algorithm with error-free results.

Conclusive results of this analytical study will be published at a later date

9 .3 Random Errors

For purposes of random error source identification and error evaluation,

the random errors associated with data acquisition have been categorized as being either X-axis or Y-axis errors, and further, as either short term or long term in nature. What follows is a discussion of these different errors

along with the results of a number of experiments performed in an effort to

quantify some of these errors.

9.3.1 Y-Axis Random Errors -- Short Term

A set of experiments was performed to determine experimentally the

shape of the probability density function for the overall Y-channel short

term noise. Figure 9-1 shows a typical noisy sweep of 1024 points obtained

on the TDANA with a sampling oscilloscope vertical deflection factor of

10 mV/cm and with no input signal to the sampler. In order to show that

additive time-domain waveform averaging is a valid data processing operation for removing Y-channel noise, it is more that sufficient to show that

the Y-channel density function is symmetrical about the mean and that the

Y-channel noise is serially uncorrelated. That is, at each X sampling

location, if the voltage probability density function is an even function

about the mean then

lim v(x) = lim \l I [v (x) + v . (x) ] 1 = v fx) (9-2)

N+oo N-*- 00 * j=l J '

where N = number of voltage samples taken at location X

v(x) = value of voltage obtained at location x after additively

averaging N voltage samples

v (x) = actual signal voltage at location x

v. (x) = random noise voltage added to j voltage sample taken at

location x.

109
Equation (9-2) will be satisfied, that is, the actual signal voltage may be

separated from the noise, if the voltage probability density function for

v. (x) is symmetrical, has a zero mean, and the v.'s are uncorrelated.

The experimental technique used to determine the Y-channel short term

probability density function follows. Using the system minicomputer,

sequences of 2048 Y-channel sample voltages were obtained and recorded for

various fixed locations of X and Y on the CRT screen. The sampling rate

was approximately 10 kHz. For each location (X,Y) that was tested on the

sampling oscilloscope, the 2048 voltage points obtained were sorted such

that the points were listed in order from smallest to largest in voltage

magnitude. Every eighth point was then plotted on a specially scaled

normal probability graph. The graph is so scaled that a linear plot of data

indicates a normal (Gaussian) density function for that data.

Figure 9-2 is a plot of a set of 2048 points taken at center screen

on the sampling oscilloscope display. The horizontal axis of this graph

is calibrated in units of millivolts and the vertical axis is calibrated

in both percentage of points below a value v (left scale) , and in units of

standard deviation (right scale). The vertical scale is linear in a (standard deviation) for a normal probability density function. Thus, one would expect a constant-slope plot to result from data that is normally

distributed. It is observed from this plot that the Y-channel data obtained from the TDANA center screen display appears to behave in an essentially Gaussian manner. Results of the same experiment performed at

different CRT locations yielded virtually the same results. Additional

preliminary experiments, to be reported at a later date, appear to indicate

that the Y-channel noise is essentially uncorrelated. Experimentally, then,

it appears that additive voltage waveform averaging is a valid technique

to remove the short term Y-channel noise voltage from the desired signal

voltage. Figure 9-3 is an example of 100 averages of a 25 mV pulse.

A dramatic improvement is quite apparent.

9.3.2 X-Axis Random Errors -- Short Term

In addition to the vertical noise described above, another major source of random errors is time base (X axis) jitter. Elliott gave some consideration to the effects of X-axis drift and jitter in a paper published in

November, 1970 [47]. The derivations and experimental results reported

in this section are an extension and mathematical justification for Elliott's

assumption that stationary X-axis jitter has the effect of a low-pass filter

in a sampling system.

110
Experiments similar to those used to determine the Y-channel noise

characteristics were performed to determine the X-channel noise characteristics

(short term). A more circumspective approach was taken, however, in order

to obtain X-channel noise data that most nearly resembled that observed in

normal TDANA operation.

Figure 9-4 is a 1024 point single-sweep representation of a tunnel

diode pulse acquired on the TDANA. The vertical deflection factor was

50 mV/cm and the horizontal time scale was 10 ps/cm. By positioning the

50% point of this waveform as close as possible to center-screen, and by

acquiring a set of 2048 vertical voltage samples with X fixed at center

screen, it was possible to obtain a reasonable estimate for the X-channel

noise characteristics as described below.

The 2048 points obtained may be considered realizations of a random

variable Z where

Z = X tan 9 + Y (9-3)

The following assumptions are made (see figure 9-5): (1) Y, the random

variable corresponding to Y-channel noise is small compared to X, the Xchannel noise random variable; (2) X and Y are independent random variables;

(3) the rising portion of the tunnel diode pulse is linear near the 501

point; and (4) the rising portion of the pulse crosses the X axis at an angle at the 50% point.

Then X may be obtained from eq. (9-3),

X = (Z-Y)cot 6 (9-4)

and the standard deviation for X becomes (for X and Y independent)

a = [(a 2 -a

2

) cot 2 9]^ (9-5)

x

L v z y

Note that for eqs . (9-3) through (9-5), the units of X, Y, and Z are centimeters. Appropriate CRT deflection factors must be used to convert these

variables to units of either time or voltage.

For the case of a tunnel diode pulse, 9 was measured to be approximately

65° and a was computed from eq. (9-5) to be 3 ps using a 10 ps/cm conversion

factor. Figure 9-6 is a normal probability plot of the data obtained as realizations of Z . A separate measurement on the 50 mV/cm vertical scale,

similar to those performed in section 9.3.1, was made to determine a . I't was found that a was approximately equal to 0.61 cm while a was approxiz y

mately equal to 0.05 cm. Thus, since >> a , figure 9-6 may be considered

z y

essentially a plot of the density function of X and has been scaled in units

of picoseconds. It will be noted that the plotted data is not quite linear.

The most probable explanation for this nonlinearity (deviation from Gaussian

distribution) is that the rising portion of the displayed tunnel diode pulse

deviated substantially from the assumed linearity.

Ill
Summarizing up to this point, a reasonable estimate for p (x) has been

experimentally measured to the extent that assumptions (1) through (4), above,

have been satisfied. The question that remains is what are the effects of

this X-axis short-term jitter with respect to the time domain response of

the sampling system and the computed frequency domain values. An intuitive answer to this question may be obtained by studying figure 9-7. Notice that

the idealized waveforms appear to become filtered by some equivalent lowpass filter when subjected to voltage additive time domain averaging in the

presence of X-axis jitter. What are the characteristics of this equivalent

filter?

To answer this question analytically, consider an idealized sampling

system, with a perfectly impulsive sampling gate, such that an exact representation of any measured voltage waveform, f(t), will be acquired and displayed. Next, allow this "perfect" sampler one flaw; assume that for each

X-axis sampling location the delay between the sampling trigger and the time

at which a voltage sample is actually taken consists of the proper delay time

plus a stationary random noise delay component. For the i X location and

the j sample taken at that location,

t = T + t

L

. (9-6)

where t, a random variable, is the actual trigger to sample delay time, T is the correct delay time, and t.. is the random added error delay time caused

by the assumed X-axis stationary noise. (t.. may be either positive or negative.) Also, assume that the statistics of t are not functions of i.

Next, assume an idealized pulse source that generates an exactly (jitterfree) periodic train of unity-amplitude rectangular pulses each of width At.

Then, for conventional time -sequential sampling of the assumed rectangular wave- form one would expect samples of zero volts to be acquired and displayed

except when x falls in the interval

T < x <_ T + At (9-7)

where T is the delay time between the sampling trigger and the rectangular

pulse (see figure 9-8). Whenever t does fall in the above interval, a unity volts sample will be acquired and displayed.

If this idealized sampling system is allowed to acquire N complete

sweeps each consisting of K equally spaced samples separated by At, and if

these acquired waveforms are stored in memory such that

N

V. = i- I v. . i = 1,2,3, .. . ,K (9-8)

where V. is the sum of all voltage samples taken at the i X location and the

v. . are the individual voltage samples taken at the i X location, then the

112
resulting waveform, in the limit as N * °°, will simply be the discrete

probability density function of x (see figure 9-9). In addition, this

waveform will be the time-domain averaged impulse response of the sampling

system if the rectangular pulse width and the sampling period are simultaneously allowed to approach a zero limit (At * 0).

Now, realizing that the density function for x is really identical to

the previously defined density function p (x) for X-axis stationary jitter,

then the effect of this jitter may be calculated, in both the time domain

and frequency domain , from the measured p (x)

!

As an aside, recalling eq . (9-3),

Z = X tan + Y (9-3)

it will be noted that, for an arbitrary deterministic input waveform, as opposed to the constant-slope model waveform of figure 9-5, tan 8 will not

be constant. Rather, it will be the slope or first derivative of the input

waveform at the (unknown) actual sampling location in time. Fortunately,

the results of the idealized sampler model theory eliminate the need for

attempting to solve eq. (9-3) for an arbitrary input waveform.

Assume, for simplicity only, that the time domain averaged waveform

acquired from the idealized sampler model (and thus p (x) ) is a Gaussian

waveform of the form

g(t) AVG - Ae *' (9-9)

where A is a constant and the standard deviation a. - t, . Then the frequency domain effects of this assumed Gaussian time jitter may be obtained

by taking the Fourier transform of eq . (9-9) to yield

G(f) = Be

z ri (9-10)

where

B = Atj/Z? (9-11)

and where f, is the frequency domain standard deviation, related to the

time domain standard deviation by,

o

f

= f

x -±— (9-12)

2irt,

To summarize, it has been shown that a stationary Gaussian time jitter

in a sampling oscilloscope system may be thought of as having the same effect

as a Gaussian roll-off low-pass filter introduced into the Y-axis channel,

when additive time domain signal averaging is employed. Furthermore, it

113
has been shown that a measurable density function, p (x) , may be used to

calculate the effective cutoff frequency of a sampling system as well as its

time domain impulse response due to time axis jitter.

Thus, for the TDANA sampling on the 10 ps/cm scale in a free -running

trigger mode with Gaussian time jitter present,

f, « = 53 GHz (9-13)

1 2tt(3 ps)

That is, the standard deviation cutoff frequency of the sampling system due

only to stationary time jitter, is approximately 53 GHz. Or, in terms of

voltage decibels, the 3 dB cutoff frequency may be calculated from the

equation

If *

)

2

-3 dB = 20 log 1Q e

L " bnz

(9-14)

to yield a 3 dB cutoff frequency of approximately 44 GHz.

It should be noted here that, in practice, the density function p (x)

must be measured for each sampling sweep speed setting on the TDANA. It

is not valid to assume that the same o of 3 ps would be measured on, say,

the 100 ps/cm or the 1 ns/cm sweep ranges. Measurements on all other sweep

ranges remain to be done as future work.

With the above derivation for X-axis jitter, a TDANA system transfer

function may be stated for the case where sufficient additive time domain

averaging is utilized.

R(f) = G(f)I(f)P

f

(f) (9-15)

where R(f) = system response in frequency domain

G(f) = unknown input waveform in frequency domain

1(f) = system transfer function due to all deterministic causes

(non- ideal sampling gate for example)

P.p(f) - X-axis density function in frequency domain.

In the time domain, eq. (9-15) becomes a convolution as follows,

r(t) = g(t) * i(t) * p t (t) (9-16)

in the limit as At -> where At is the sampling period (see figure 9-10).

Equations (9-15) and (9-16) do not account for any non -stationary random

processes that may exist in the TDANA system. These sources of error are discussed in the next section.

It also should be noted that some prior work has been done in an effort

to identify 1(f) and/or i(t). In particular, Nahman * s and Jickling's work

[48] , using innovative frequency domain techniques to characterize broadband

114
sampling heads, is very promising. Considerable future work remains, however, in order to achieve a suitably accurate estimate of 1(f) or i(t) for

the TDANA. Nahman, Chipman and Lennon are continuing this work at the

University of Toledo.

9.3.3 X- and Y- Channel Errors -- Long Term

Up to this point the errors discussed have been either systematic

errors that cause a fixed error bias in the system or random errors assumed

to have only time -invariant statistics. The remaining class of errors to be

discussed are those errors, either of a random or systematic nature, that

exhibit some time-varying statistics. Of these, by far the most detrimental

are "drift" and "hopping" errors.

Drift errors are particularly troublesome to deal with. Experiments

may be conducted (yet to be done) which will yield an estimate of the

characteristics of any X- or Y-channel drift, but even with this knowledge,

it is very difficult to remove the effects to an adequate degree of precision through software. It is felt that hardware waveform stabilization

techniques offer the most promise as a means of controlling drift. Elliott,

in particular, has devoted a sizeable amount of work to this problem [49].

In addition, Nicolson and Cronson, et al . , at Sperry Rand Research, have

developed a three-point sampling technique designed to detect and correct

drift errors in certain classes of waveforms [50]. It remains as a large

future effort, however, to find a suitable solution to drift errors. Hopping errors are defined as waveform acquisition errors caused by an abrupt shift of the waveform during acquisition. Probable causes of these errors are hardware problems such as intermittent switch contacts, faulty

circuits, and intermittent or faulty connectors (as well as miscellaneous

gremlins and spooks). The relatively straightforward solution to problems

of this sort involves utilization of careful hardware assembly and

maintenance practices.

The last error source in this category that bears discussion is electromagnetic interference (EMI). This includes RFI , computer noise, power

supply fluctuations, ground loops, etc. In terms of general system development, where the TDANA may be utilized in any of a number of non -laboratory

(ideal) environments, more care would be expected to be necessary to ensure

that these errors did not creep into the system.

115
Time

Figure 9-1 Typical 1024-Point Noisy Display

on the Monitor CRT With the

Sampling Oscilloscope Deflection

Factor Set at 10 mV/cm and With

No Signal Input

116
Standard Deviations (a)

—

+2 ri.l .i.i.i +

! ,

i

i

o

-, .. l

i . i 1 t . ' i'i

1 J.i.i, i , i . 1 . i N

1

1 , 1 . 1 . 1 i , i . i r^fTf^ ".jx: " [' Llii

;.-.• iiiliii ....

• ;.;; lit]

i : !

pf-l

rj:iilii

1 '-

'

i EEE~^.~hl-£~ -T :! \:\ii

' ' 1 .'-it:: -iV

! Ir'i'T -.:.:.-.:::-.:.: ~:~—

vi^E:jEEr:: / rr^ :;:a;ii

—+- «—i—t-

. t-i . Mi'

1444

ti.il Hi!

t-' (

iir ~'$

:;i:

::l: :;j: u

_,.

4|4f

if!

::i.i

;!; Ofr 4'4+t- r r:.i.: :. .-.

; ::__4^.^ -r..-. ^.,1: .-^ 7j:~r.:i

:.t i '"*-

: ri f •.4-1

-

' ( - tj-fl : L i

: i t H-t ..!:]i:EF= EfE^fei

f-lTEx:'": ' ~:. :~. N||f

.Erff.

I - I

.Rr' [i?

:' ' i

: I '} ;i|;

:ii:i!;;i THT

.._ ~ 4r --

'ii; ii!! !:ii liii

: : p

fr-fr

T i-i- : ~' -.r.i-L-i" i-:_—-:•-

' .'.~ V .i

; ii iEEiT. "TfT i:;. : . i

;!;! :i.!i -titx |-- i:7ii-r. : .-.^-.r--

"^fi- "ivr|::; :SS

H 1 1- M-f-t- i

l-l!.

•

1 '

[j.;;

! Illi !(j Hji

rt.li :

i i

f.

, .; .j. ".7i.; "fT ^l#v ,..a- i-~i^i.-

SI •'; ifi

-fir

: " j :!:!

~.:' - !.".:: : rkf:' "S^' ;j'!

• .::; :

:!;

; ;![[

! : :

X

'.'.'. '^i-ikr- Eilr- Li:-7E-iZiE' br-T;-.^- ihj- *:

i _, -

j it?

jilr ~- -' _:. -

[iii

:;l;

ill'

•i

;

;

T-14 I

ilji.

\:\1 '!: : ^irF -.- r. :J: -.'"Ir^ =

•_ * -;--_ , ..;:- -feS ,:U^lT^r.

! I-:---

, . i-i f

.:_|..l..:. 1- ' ~ t-\~

-'.: :^=!=^ -r—i—

mm Hi

t h i Frfj ffr "mr

iff 11 i.ij!

;!;.i i+i •

iM-f

jfTT

J / ii! W-iiir -;>- [.^:[:=i

.';.--•:-#--& ^hmIt®

L

•j: 1-irfERHri:

-1- "-- -rriErEE—Z-Z

..... —1_ -::: EEfbZE:»i #lf:lrB |#j Li.fi

irj i

^4-r

::f

•-! : L P

. : :i i j>

-j-rpii ;-:-i

•fji

; i-fv- i£zli^ZTl|i^fl-

:p~--|r;—h-~

---far- hi:. "izfEJ i i :" '~|r~.!TMpii§=

,V;tte—t_r*-!

_-.: -.. t .-.pr'« m.$£f

r

^ fi

:iff::

>;

,i liii rfr

:;i.' 'j ;;

rfrf X :I.J!

Ljj

RFil-F-FTiT

ii: L'jfl fEJE^rHpEEE

.

" ' ..." i~~— !

j .,, lfll-1

• vr'r|-

- - f +

tv.fj, Fttj t i.! It::

•';': :p Flfr!=(^r'

;=i=r^E=E

"::.E-'ErEji-f= --T-! -J—

3-d u

.l-::--r.L

i

-Jr :Hl; •;:tu:

: '.'.'.* "I* :.:; ^Ttff ,:!_ iu-"

-

j

! ;: -i-i -j.- j- :^:z^i==Z~

i^~E*~r;'~cE:•§££#:

4 i-U

7 F+ r w

ti::

uj.: ;;:v.l,h: !:;

;; j

'"'") l!l;

L -;r|rte E! rEE7£tHr-."

: — _j... c—— --!--.;-.. =^t£ xixi

r (4 rf

.1 r^--:

-,"•

.,' *;- M ifH

'::!.- p

— - ~- -----

Ffi^itT. ":•£$—$.--.. .•--- .i-.rr--.;- —r—

v:-. rift .(;:.:. ':"':'. EHriE =l££j§ ?tH

:-{:. :- '.--ijii^ ::;-e-;^--:

j". -I-—

: -." -^r:: _.|._i\';_ :r-H4'

i-t-H- it [j3t P

j" n !?4 4

::..»:'.

i\\\ ':!' :i;,

:;.!"j ('

i.

!

. '-i:::

\-.'(/\-'-~ .-E'-yi -- . _. - --:-J-i -Eiiii:

^ H-!4 . rU!.

till

Iff." :;!.: r • r

: :-|.!- ."1 i

i:!.ri.l ;

1

:~-^:i:::

-;-i' .

- --.y— ",—r~

Irp:"!

771-:-.

.•i-'-Pp: Ef Tfjf- Ijfr _j ._Ii

:• 'vta . *j

.... . i . . ..

! "C

-if- m

i p

:

:

: . r"'_- ' $|f&E i.zx:?!-;:; :;

:.::':~i: __ .. ; :

.TM\='=£=i^E ~i~R^";"" :i3ft| S& J:tl-|. :::* r^r F-FrEi§E iE^JEE

^==|^^: ^gz^ £Sjfe ..;; ¥-- if/4"-—

:::~—T'Tn: -1 iErriEiiJiv; • _v-:'i-'v

;

._L. ,. .j. .. -H-j-i t_(.l . rii: T tp :: (.; -liT-ir-l—17. Er'Er^-iEi^E

r4=}--!i-.r.

: -' -' - .r r-lrj-,:- —n— :iE^Ei--i:i^7 r--irifrr"-^ -r;;.:.':r-

:

;

. -

..,.

;:.:: r:i?i:i;i :•'• i,«

.:. :..j -^eSe Ef£E.i.vrj. i'-L-.-:_ii

-

. " _-. :?:- —t"~i:.r:.nr. ijiff-i ;.r- ; ifK

1 -—

iii *

:

: 7 :-f

; : :

: EfEE.H :-EE!_;- i ii;i. "•"--- --jE ;:-r-|'::. -.L : .J"

[itrJ iii! i ;-

;

j :;

:: 4'-'T. liiiEflHE: -EfJ-r.-r. r^iii

•. - .; ,r-

:5: ~:t_i. J.:^

_:_• ,_ --J--H i n '. —-- -:- -!--

. 1 ::::|:::: --1-

; ',

•LvEEpi -J--i-~'-—'

-'

-.-:-:-.--' !rr: TM

: ... . - r!vr. 1

; i:n

!i

L

.;

f;r-::i- :ri:rrWE i^ii^rT-rE—E"

- t£-.:

, -

'-:. _.'jr." -)_ . |— ^— i —»

;.^

::::':::

i

:: 'li:i

:

::.:: ::::)

.... ~--. -L^-- T=4~ feHl

eetee1^-ze==

- -

; .--~ !: '. :

'

" _'- %:-: •

1 :::: ETaiiirv i £r7E:i

.:. iF7v. :

' '-.:!:- -:.-'--;- ! i;;;liif;

...j ...

- ^ : '--Ff- :-r-j- ' 1 —

-"-'..:'. ':-.-£ ;-.:.-;;..: .-_

, : ;i :•

i ...

|.

:::::::: :,|:::: 1

: ^PI:-\-: [ Z'7 -^ee

-— —: -

.:. :l.:::

: j

.

::::(.:.: -f- .......

-: -i :-:-:: ::-.:_---

"

"

; :;; !

ii-ij:;^

.:-.:..: ::.:--+-

, -:- :.-;-;

:

-.-.

_

!

i

::-:

i.-i-i ."£-: -_•-:-.-.-:---—--.—

i

-

::::]::..

..

-. :.—.::_ ! " j ::-.: .E.:VE*7: 1\\ ~r.'..^- - .v .---;: ;-:.-.

: . :_ ~l~ ... z~$zz. ::-!-:-;:::..

s

i: l'.'.\

:: ...1

. ..i :.| EEEk:iErEf£#i.Ei,iE

in

o

LO

LO

o

>

•H

LO

3 r^» u> if> v ("•_i_'"~U^r^-*) 33VXN

m ^ o ri

LO

* rs) 33M3d

117
Figure 9-3.

Time * Example of Additive Time Domain Signal

Averaging. The Signal is a 25 mV Pulse

Displayed in a 2 ns Window. The Top

Trace is a Single Sweep While the Bottom

Trace is the Result of 100 Averages.

Figure 9-4.

Time -* 1024-Point Single-Waveform Representation of a Tunnel Diode Pulse

Acquired on the TDANA. Oscilloscope

Settings Were 50 mV/cm and 10 ps/cm.

118
(a)

Y-CHANNEL NOISE

t

(b)

VOLTAGE

AXIS JITTER

(c)

X JITTERS

Y NOISE

Y = Z - X TAN 6

TIME

Figure 9-5. Waveform Models Used for X-Axis Noise

Analysis

119
Standard Deviations (a)

.i.i.i i .' . i i . ii . i

"' ii=<_S;

ms

BS

l*m

:i=F ili

ttph fe^

:.h~ir: E£r*£

:4:-f--^- -+-h'^ EEh:^

EHE__

; S

j__

I

SI

iSreS

P=FJF

':..i: tt

JJH

' L. .

' .if;-'l

r+L M

Effi

=SS

E£

. #

^L'Ll

_3EE|

Lxtj

Hi}

-M

rh

jt:

'

.__rE

-'-r-t—-J- rn

ESS

i.":-.. .L.

:

. ;

'

rrr, . V.,

L.J.+ J

:* _w= EEti

-_r:L.

±fi

^^T^i--i

jl.u

hu

Hii n

FHi

«

Mr1

£

rtf

;::

Iff m

inin

14

;

ffi

::;:

;|it KE

Uri

.•li-

,'_.

* w

if:

;i:

:

i:i

i

R:

m

r.F

i

WrA SB

h-f s

1

ti:

i'i

1

±H±

;fct:

ifft

i

as

fflr R-tt 35ttx:

tfflzm

W-m

t'.J-:

till-;

l,i,l, IHH

.-lit 1

Ff-r- tti :±td W5&

r&^pS

±BE

El B irai

i#l

:si

• tt ;. _i.Lt

FF__£

i __fc

: F_*

o__t.

:, -V-r

* - -

Efi

^£t

:t^;

f±__|:j3 _fcri±4

:±: _-.:

I^,. I i 1 i I ;

l

i l i, i

,

i . i i USI

m^

3__j

Sii___

S_-

=p^_£

Ht:

^

P

:__=__

rd-;;^

_=!=&:_=

P=fc=*=--*= m=> «. _a^

e=_h_

H

- __-x__

LOoo

LO

LO

eg

OO

eg

(NJ

LOlo

<T)

LO +

eg

O

o

«/) «* O

• u

i-l -H

i-H Ph

LOOO

r-- lo

LO

OO

U

<D •P

«-> •H

*-i

<_6

•HH

to •HO

z

CD

(=! U

i X

m

o

+-> o

i-H

>s p

•H

i-H •H

o

O

I

D

•H

PL,

("'___' (=_.--] 30VlN33..3d

120
v(t) A

(a)

ACTUAL

WAVEFORM N

/ / / N Di:STORTED WAVEFORM

-< / //—> X-AXIS JITTER ' / '

' 7 /

+* t

v(t)

(b)

X AXIS

JITTER

ACTUAL WAVEFORM

*- t

Figure 9-7 Plots of an Ideal Ramp Waveform (a) and

an Ideal Triangular Waveform (b) Snowing

the Filtering Effects Caused By X-Axis

Time Jitter.

121
SAMPLING

TRIGGER

• t

ACTUAL

SAMPLING

GATE

SOURCE

WAVEFORM

1J

•T + At

•*- t

Figure 9-8. Typical Time Relationship of the Sampling

Trigger, Actual Sampling Gate and Source

Waveform in the Presence of X-Axis Time

Jitter.

122
a.

ON

•H

i-H

<D ideo

IX,

CDJ* •HP

cro • < ^p

>-*P

•P -H

Ph l-H * t/) p <u ox •H O

+-> rt o o C J-" (X p, PZ•H

to tn p m

(D Q <H

<D >stJ P O

•HS

iH

•H ^ X <D

ci i-i Xi P. o 6

P. CO

eni OV

<DP

bO

•H

123
g(t)

t

i(t) A

- t

P + (t) A

*• t

r(t) 1

Figure 9-10 Plots o£ Typical Shapes of i(t), P

t Ct)

and r(t) For an Assumed Unit Step

Waveform For g(t).

124
10. SUMMARY AND CONCLUSIONS

10.1 Introduction

This final chapter is composed of two sections. First, a brief chapterby-chapter summary is presented emphasizing key conclusions drawn from work

accomplished to date. The second section is devoted to a future work plan

along with suggested priorities.

10.2 Report Summary

The introductory chapter presented an overview of the report along with

a brief history of prior time domain metrology work done both at NBS and at

other laboratories.

Chapter 2 was devoted to a theoretical development and justification

for using time domain techniques to measure insertion loss and scattering

parameters of microwave devices. In particular, it was shown that accurate

measurements can be achieved over a certain time window regardless of the

generator and load impedance match and the oscilloscope transfer function.

In Chapter 3 the interrelationships of the Fourier integral transform,

Fourier series, discrete Fourier transform and fast Fourier transform were

discussed. Terminology and units were stressed in order to avoid confusion.

The next chapter consisted of a set of actual discrete Fourier transforms of ideal rectangular pulses performed on the system minicomputer.

The pulses and their resulting spectrum amplitudes were chosen to point out

some of the pitfalls and problems associated with applying the FFT to time

domain measurements

Chapter 5 contains a description of the TDANA system. The three major

parts of the system, pulse generator, sampling oscilloscope and minicomputer,

are discussed in detail with an emphasis on design criteria and available

state-of-the-art components. Chapter 6 provides a detailed description of

the complete sampling oscilloscope/minicomputer interface. This interface

was the most formidable hardware obstacle to overcome in the development

of the TDANA.

The system software package was presented in Chapter 7. At this stage

of system development it should be noted that the software is in a continual

state of change. Additional comments on future software goals are presented

in the next section. This chapter also contains a description of a new windowing algorithm that, for certain classes of time domain waveforms,

yields transform magnitude spectra essentially free of leakage errors and

free of ambiguity between spectral zeros caused by the measured waveform and

those caused by the necessarily finite time window.

125
Chapter 8 contains the results of some wideband coaxial attenuator

insertion loss measurements. The measurements were performed on the TDANA

and two frequency domain systems with a resulting ± 1.5% system agreement

over a 40 dB range and a band of frequencies from 500 MHz to 12.4 GHz.

Chapter 9 contains a partial system error analysis as pertains primarily

to insertion loss measurements. Particular emphasis in this work was placed on an analysis of Y and X channel short term noise and jitter. The

effects of X-axis jitter were shown to behave as a low pass filter when additive time domain signal averaging is employed and a method for measuring the

characteristics of this equivalent filter was presented.

In summary, this technical note is a report of work accomplished to

date at NBS toward the development of an automated time domain measurement

system. In comparison to frequency domain measurement technology, the art

and science of time domain metrology is considered to be in its infancy.

A great deal of future work remains.

10.3 Future Work

As presently envisioned there will be several major areas of future

work. Most of these will be undertaken in parallel. The first of these is

concerned with the automation of the APMS for pulse parameter measurements

such as rise time, delay time, distortion, and spectrum amplitude

among others. One of the long range goals of this work will be to establish

standards of terminology and of measurable parameters for pulses geared to

the end user and his application needs.

The second area of major effort will be that of system measurement

error analysis. Further work will be done relative to modeling, measurement

and reduction of system errors, both systematic and random. Closely related,

further work is planned in the area of hardware modeling of system elements

such as samplers and pulse generators.

The third major work topic will be software development. In the immediate future, the flexible disk mass memory storage unit will be incorporated into the system to facilitate an on-line operating system built

around FORTRAN with called assembly language subroutines. The software

system will be file oriented with macro command capability and will eliminate the necessity for paper tape operations almost entirely. In addition,

incorporation of hardware floating point array processing is planned to

increase both speed and accuracy of the system.

126
The fourth major effort will be in the area of hardware development.

Included in this area will be hardware reduction of sampling system time

base drift, development of improved pulse generators and samplers, and

construction of microwave hardware assemblies for dedicated use in the

measurement of microwave scattering parameters.

The last area of major effort will be an investigation of other possible applications of the APMS system in general. Measurement of broadband

antenna characteristics, for example, utilizing time domain techniques

appears promising. Investigations will also be conducted into the feasibility

of using pseudo-random binary sequence noise generators with the APMS to measure certain parameters of data communication systems over a wide range

of frequencies

.

127
REFERENCES

[I] Elliott, B.J., Private communication (Nov. 1974).

[2] Hines, M.E. and H.E. Stinehelfer, Jr., "Time-domain oscillographic

microwave network analysis using frequency-domain data," IEEE Trans.

MT§T, MTT-22 , No. 3, 276-282 (March 1974).

[3] Reeve, G.R., "Calibration of impulse noise generators," NBSIR 73-343,

National Bureau of Standards, Boulder, Colorado (Oct. 1973).

[4] Simpson, P. A., "Broadband pulsed/cw calibration signal standard for

field intensity meter (FIM) receivers," NBSIR 74-371, National Bureau

of Standards, Boulder, Colorado (June 1974).

[5] Nicolson, A.M., "Broadband microwave transmission characteristics from

a single measurement of the transient response," IEEE Trans. I§M, IM-17 , No. 4, 395-402 (Dec. 1968).

[6] Ross, G.F. and A.M. Nicolson, "The measurement of the intrinsic

properties of materials by time domain techniques," IEEE Trans. I§M,

IM-19 , No. 4, 377-382 (Nov. 1970).

[7] Nicolson, A.M., et al . , "Applications of time domain metrology to the

automation of broadband microwave measurement," IEEE Trans. PGMTT

,

MTT-20 , No. 1, 3-9 (Jan. 1972).

[8] Cronson, H.M. and G.F. Ross, "Current status of time domain metrology

in material and distributed network research," IEEE Trans. I§M, IM-19 , No. 4, 495-500 (Nov. 1972).

[9] Cronson, H.M. and P.G. Mitchell, "Time domain measurements of microwave

components," IEEE Trans. I§M, IM-20 , No. 4, 320-325 (Nov. 1973).

[10] Cronson, H.M., et al . , "Extensions of time domain metrology above 10 GHz

to materials measurements," IEEE Trans. I§M, IM-21 , No. 4 (Dec. 1974).

[II] Stuckert , P., "Computer augmented oscilloscope system," IEEE Trans. I$M,

IM-18 , No. 4, 299-306 (Dec. 1969).

[12] Norris, N. and R. Hanst , "Picosecond beam monitors and data-acquisition

system," IEEE Trans. Nuc . Sci., NS-16 , No. 3, 927-931 (June 1969).

[13] Bancroft, J. and R. Johnston, "Microwave measurements by Fourier analysis

of network pulse response," Proc . of IEEE, 61_, No. 4, 472-473 (April 1973)

[14] Hannaford, D. , "The application of picosecond pulses in time domain

metrology," Proceedings of the 1972 Joint Measurement Conference, NBS,

Gaithersburg, Md. (Nov. 12-14, 1974) (in print).

[15] Gans, W.L, and N. Nahman, "Fast Fourier transform implementation for the

calculation of network frequency domain transfer functions from time

domain waveforms," NBSIR 73-303, National Bureau of Standards, Boulder,

Colorado (Dec. 1972).

128
Reference Data for Radio Engineers , 5th Ed., Chapter 42 (Howard W. Sams

5 Co. , New York, 1968)

.

Arthur, M.G., "Impulse spectral intensity -- What is it?," NBSIR 74-365,

National Bureau of Standards, Boulder, Colorado (May 1974).

IEEE Standard Dictionary of Electrical and Electronics Terms , IEEE Std

.

100-1972, p. 549 (Wiley Interscience, New York, 1972).

Arthur, M.G., op. cit . [17].

Bunze, Vic, "Probing in perspective," AN-152, Hewlett Packard, Colorado

Springs, Colorado (1972).

Weber, J., Oscilloscope Probe Circuits (Tektronix, Beaverton, Oregon,

1969).

Wigington, R.L. and N.S. Nahman, "Transient analysis of coaxial cables

considering skin effect," Proc . IRE, £5, 166-174 (Feb. 1957).

Atwater, H.A., Introduction to Microwave Theory , pp. 103-107 (McGrawHill, New York, 1962).

Campbell, G. and R. Foster, Fourier Integrals for Practical Applications

(Van Nostrand Co., New York, 1948).

Gardner, M.F. and J.L. Barnes, Transients in Linear Systems , Vol. 1 (J. Wiley § Sons, New York, 1942).

Bergland, G.D., "A guided tour of the fast Fourier transform," IEEE

Spectrum, 41-52 (July 1969). See also other articles in the same issue.

Ibid.

Brigham, E.O., The Fast Fourier Transform (Prentice-Hall, Englewood

Cliffs, N.J., 1974).

Cooley, J.W. and J.W. Tukey, "An algorithm for the machine calculation

of complex Fourier series," Mat. Comput., 1£, 297-301 (April 1965).

Bergland, G.D., op. cit. [26].

Gans, W.L., op. cit. [15].

Brigham, E.O., op. cit. [28].

Shannon, C.E., "Communication in the presence of noise," Proc. IRE, 3_7_ 10 (1949).

Bergland, G.D., op. cit. [26].

Nahman, N.S. and R.M. Jickling, "Frequency domain measurement of baseband instrumentation," NBSIR 73-330, National Bureau of Standards,

Boulder, Colorado, 28 (July 1973).

[36] Elliott, B.J., "System for precise observation of repetitive picosecond

pulse waveforms, IEEE Trans. I§M, IM-19, No. 4, 391-395 (Nov. 1970).

129
[37] Cox, Charles S. and Ronald Stutheit, "Fast Fourier transform and

inverse," Stripps Institute of Oceanography, University of California,

San Diego, California (1970).

[38] Beatty, Robert W. , Microwave Attenuation Measurements and Standards

(National Bureau of Standards Monograph 97, April 1967).

[39] IEEE Standard Specifications and Test Methods for Fixed and Variable

Attenuators, DC to 40 GHz , IEEE STD 474-1973 (The Institute of

Electrical and Electronics Engineers, Inc., 1973).

[40] Russell, D. and W. Larson, "RF attenuation," Proc . of IEEE, 5_5, No. 6,

942-959 (June 1967) . Wilson, A.C., Private communication (Nov. 1974).

Beatty, Robert W. , "Methods for automatically measuring network

parameters," Microwave Journal, 17 , 45-49, 63 (April 1974).

Nicolson, A.M., op. cit . [5].

Elliott, B.J., op. cit. [36].

Nahman, N.S., op. cit. [35].

McCracken, Daniel D. and William S. Dorn, Numerical Methods and Fortran

Programming , pp. 46-49 (John Wiley § Sons, Inc., New York, 1970).

Elliott, B.J., op. cit. [36].

Nahman, N.S., op. cit. [35].

Elliott, B.J., op. cit. [1] . Ross, G.F., op. cit. [6].

Cooper, G.R. and CD. McGillen, "Methods of signal and system analysis,"

Holt, Rinehart § Winston, Inc. (1967).

[41]

[42]

[43]

[44]

[45]

[46]

[47]

[48]

[49]

[50]

[51]

130
APPENDIX A -- Basic Language Programs

APPENDIX A-l

10 DIM AC2553>BC2553*CC1293*DC1293

130 LET N3=128

110 LET Nl=l

120 CALL 1 130 CALL 2»N1»N3

140 PRINT

150 PRINT "TIME SCALE IN NSEC/CM?"

160 INPUT N5

170 PRINT

180 LET Fl=<l/N5)*100

190 LET N2=128

200 LET N3=128

210 FOR 1= TO 255

220 LET AC I 3=

230 LET BCI3 = 240 NEXT I 250 REM INSERT TEST WAVEFORM HERE

430 REM FFT STARTS HERE

440 LET G-7

450 LET N=128

460 LET P=8* ATN (1)/N

470 FOR L= TO G-l

430 LET Gl= INT (2 t CG-L-1 >+.001

)

490 LET M=

500 LET 19= INT C2tL+.001>

510 FOR 1=1 TO 19

520 LET Kl= INT CM/Gl

)

530 G0SU3 920

540 LET Bl= COS <P*K2>

550 LET B2=- SIN CP*K2)

560 FOR J=l TO Gl

570 LET B3=ACM+G1+1 3*B1 -8EM+G1+1 3*B2

580 LET B4=ACM+Gl+l 3*B2+B CM+G1+1 3*B1

5 90 LET AEM+G1+13=ACM+1 3-B3

600 LET BCM+G1+13=BCM+1 3-34

610 LET AEM+1 3=AEM+1 3+B3

620 LET BCM+i 3=BCM+1 3+B4

630 LET M=M+1

640 NEXT J

650 LET M=M+G1

660 NEXT I 670 NEXT L

680 FOR 1= TO N-l

690 LET K1=I

700 G0SU3 920

710 IF K2>=I GOTO 780

720 LET K3=ACI+1

730 LET ACI+1 3=ACK2+1

740 LET ACK2+1 3=K3

131
759 LET K3=BCI+1

763 LET BCI+1 3=BCK2+13

770 LET BCK2+1 3=K3

7 80 NEXT I 7 90 FOR 1= TO N-l

800 IF ACI+1 3>. 000001 GOTO 830

810 IF ACI+1 ]<-. 000001 GOTO 830

820 LET ACI+1 3 = 830 IF BCI+1 3>. 000001 GOTO 860

840 IF BCI+1 3<-» 000001 GOTO 860

850 LET BCI+1 3=

860 LET ACI+1 3=ACI+1 3*ACI+1

870 LET BCI+13=BCI+1 3*BCI+l

880 LET ACI+1 3=ACI+1 3+BCI+l

890 LET ACI+1 3= SQR (ACI+1 3)

900 NEXT I 910 GOTO 1010

920 LET K2 = 930 FOR K=l TO G

940 LET K3=Kl-2* INT CK1/2)

950 LET Kl= INT (Kl/2)

960 IF K3 = GOTO 983

970 LET K2=K2+ INT (2 t <G-K)+.001

)

980 NEXT K

990 RETURN

1010 FOR 1=1 TO 128

1020 LET CCI3=ACI3

1030 LET DCI3=CI-1 >*F1

1040 NEXT I 1050 FOR 1=1 TO 32

1060 PRINT I*DCI3J"MH2",CCI3

1070 NEXT I 1080 FOR 1=1 TO 128

1090 LET ACI-1 3=ACI3

1103 NEXT I 11 13 LET N3=256

1120 CALL 1 1130 CALL 4* 0*A

1143 CALL 5*N3

1153 GOTO 1143

1163 END

132
APPENDIX A-2

10

100

1 10

120

130

140

150

160

170

180

190

230

210

220

230

240

250

260

273

2 80

2 90

300

310

320

3 33

343

350

3 60

370

3 80

3 90

400

410

423

433

440

450

463

470

4 80

493

503

510

520

530

540

550

560

5 70

OF FREQ* DOMAIN AVERAGES?'

"TIME

N5

SCALE IN NSEC/CM? 1

DIM AC2553*3C2553*CC1293*DC1293

PRINT "REF. WAVEFORM ACQ. READY? (TYPE 0>"

INPUT HI

LET N4 = PRINT

PRINT "# OF TIME DOMAIN AVERAGES?"

INPUT Nl

PRINT

PRINT "#

INPUT N7

PRINT

PRINT

INPUT

PRINT

CALL 1

LET Fl=<l/N5>*50

FOR H=l TO N7

LET N2=128

LET N3=128

FOR 1= TO 128

LET AC I 3=

LET BCI3 = NEXT I CALL 1 LET N6=430

CALL 2#N6*N3

CALL 1 LET N3=256

CALL 2>N1*N3

CALL 3* 0*A

FOR 1= TO 127

LET ACI3=ACI3/N1

NEXT I LET W1=AC33-AC23

LET W2=AC43-AC3 3 LET W3=AC53-AC43

LET W4=CWl+W2+W3>/3

LET AE13=AC23-W4

LET AC 03=AC1 3-W4

LET M1=AC 3 CALL 1 CALL 4* 0*A

FOR 1=1 TO 500

CALL 5*N3

NEXT I LET M2=

FOR 1=60 TO 63

LET M2=M2+ACI3

NEXT I

133
580 LET R=M2/4-Ml

5 93 FOR 1= TO 63

600 LET ACI+643=2*M2/4-ACI3-R

610 NEXT I 620 LET N3=128

630 CALL 1 640 CALL 4* 0#A

650 FOR 1=1 TO 500

660 CALL 5*N3

670 NEXT I 6 80 REM FFT STARTS HERE

693 LET G=7

700 LET N=128

710 LET P = 8* ATN <1)/N

720 FOR 1= TO 127

730 LET AC128-I3=AC127-I3

7 40 NEXT I 750 FOR L= TO G-l

760 LET Gl= INT <2 t CG-L-1 )+.001

)

770 LET M=

783 LET 19= INT C2*L+.001>

790 FOR 1=1 TO 19

830 LET Kl= INT CM/Gl

)

810 GOSUB 1340

820 LET Bl= COS (P*X2>

830 LET B2=- SIN <P*K2>

840 FOR J=l TO Gl

853 LET B3=ACM+G1+1 ]*B1 -B CM+G1 +1 3*B2

860 LET B4=ACM+G1+1 3*32+B CM+G1 +1 3*B1

870 LET ACM+G1+1 3=ACM+1 3-B3

883 LET BCM+G1+1 3=3CM+1 3-B4

893 LET ACM+1 3=ACM+1 3+B3

933 LET BCM+1 3=BCM+1 3+B4

910 LET M=M+1

920 NEXT J

933 LET M=M+G1

943 NEXT I 953 NEXT L

963 FOR 1= TO N-l

973 LET K1=I

983 GOSUB 1340

990 IF K2>=I GOTO lw60

1003 LET K3=ACI+1

3

1010 LET ACI+1 3=ACK2+1

3

1320 LET ACK2+1 3=K3

1030 LET K3=3CI+1

3

1343 LET BCI+1 3=BEK2+1

3

1050 LET BCK2+1 3=K3

1063 NEXT I 1070 FOR 1= TO N-1

134
1080 IF ACI+1 3>. 000001 GOTO 1110

1090 IF AC 1 + 1 3<-. 000001 GOTO 1110

1 100 LET ACI+1 3=

1110 IF BCI+1 3>. 000001 GOTO 1140

1120 IF BCI+1 3<-. 000001 GOTO 1140

1 130 LET BCI + 1 3=

1140 LET ACI+1 3=ACI+1 3*ACI+13

1150 LET BCI+13=BCI+1 3*BCI+1

1160 LET ACI+1 3=ACI+1 3+BCI+l

1170 LET ACI+1 3= SQR CACI+13)

1180 NEXT I 1190 PRINT

1200 PRINT H

1210 FOR 1= TO 31

1220 LET 3CI3=10*AC2*I+23

1230 NEXT I 1240 FOR 1=32 TO 255

1250 LET BCI3=10

1260 NEXT I 1270 CALL 12*B

1280 LET XI = 1290 NEXT H

1300 LET XI = 1310 CALL 13*A

1320 LET XI = 1330 GOTO 1420

1340 LET K2=

1350 FOR K=l TO G

1360 LET K3=Kl-2* INT <Kl/2)

1370 LET Kl= INT CK1/2)

1380 IF K3= GOTO 1400

1390 LET K2=K2+ INT (2CG-K)+.001 ) 1400 NEXT K

1410 RETURN

1420 IF N4=l GOTO 1630

1430 FOR 1= TO 31

1440 LET CCI3=ACI3

1450 LET DCI3=C2*I+1 )*F1

1460 NEXT I 1473 FOR 1= TO 31

1480 PRINT I*DCI3i"MH2,, #CCI3

1490 NEXT I 1500 LET N4=l

1510 LET Nl=

1520 LET N5=

1530 PRINT

1540 PRINT "UNKNOWN DEVICE WAVEFORM ACQ. READY? <TYPE 0)'

1 550 INPUT H2

1560 PRINT

1573 PRINT "NOMINAL INSERTION LOSS IN DR?"

135
1580 INPUT Zl

15 90 PRINT

1600 PRINT "FULL SCALE INSERTION LOSS IN DB?'

1610 INPUT Z2

1620 GOTO 130

1630 FOR 1= TO 31

1640 PRINT I*DtI3;"MHZ"*ACI3

1650 NEXT I 1660 FOR 1= TO 31

1670 LET ACI3=ACI3/CCI3

1680 LET ACI3=20*C LOG <ACI3)/ LOG (10))

16 90 NEXT I 1700 PRINT

1710 FOR 1= TO 31

1720 PRINT IjDCnr'MHZ'^ACnr'DB*

1730 NEXT I 1740 LET N3=512

1750 CALL 1 1760 FOR 1= TO 31

1770 IF ACI3>-CZ24Z1 > GOTO 1800

17 80 LET AC I 3=

1790 GOTO 1840

1800 LET Z3=9000/Z2

1810 LET ACI3=10000+Z3*ACI3+Z3*Z1

1820 IF ACI3<16383 GOTO 1840

1830 LET ACI3=16383

1840 NEXT I 1350 CALL A> 0*A

1860 CALL 5>N3

1870 GOTO 1860

1880 END

136
APPENDIX A-3

10

100

1 10

120

130

140

150

160

170

1 80

190

200

210

220

230

240

250

260

270

2 80

290

300

310

320

330

340

3 50

360

370

3 80

3 90

400

410

420

430

440

450

460

470

4 80

4 90

500

510

520

530

540

550

560

570

OF TIME nOMAIN AVERAGES?'

OF FREQ. DOMAIN AVERAGES?"

SCALE IN NSEC/CM?"

DIM A[255 3*BC25S3>CC2S5 3>DC255 3*EC255 3 PRINT "REF. WAVEFORM ACQ- READY? (TYPE 0)"

INPUT HI

LET N4 = PRINT

PRINT "#

INPUT Nl

PRINT

PRINT "#

INPUT N7

PRINT

PRINT "TIME

INPUT N5

PRINT

LET F1=C1/N5>*50

CALL 11

FOR K=l TO N7

LET N6=1000

LET N3=64

CALL 1 CALL "2*N6*N3

LET N2=512

LET N3'=16384/N2

CALL 1 CALL 2#N1,N3

CALL 3* 0*A

CALL 3*256.»B

FOR 1= TO 255

LET ACI3=ACI3/N1

LET BCI3=BCI3/N1

NEXT I LET Ml=

FOR 1=1 TO 6

LET M1=M1+ACI]

NEXT I LET Ml=Ml/6

LET AC 03=M1

LET M2=

FOR 1=250 TO 255

LET M2=M2+BCI3

NEXT I LET R=M2/6-Ml

FOR 1= TO 255

LET CCI3=2*M2/6-ACI3-R

LET DCI3=2*M2/6-8CI3-R

NEXT I CALL 1 CALL 4* 0*A

CALL 4>P56,R

137
5 89 CALL 4>512>C

5 90 CALL 4*768>D

600 LET N3=16

610 FOR 1=1 TO 230

623 CALL 5*N3

630 NEXT I 640 LET N0= 3

650 LET N2=2*N2

660 CALL 13>N0*N2>S

670 CALL 9> 0>A

6 80 CALL 9*256>B

6 90 CALL 9*1024>C

700 CALL 9>1289>D

710 FOR 1= TO 255

720 IF ACI3>. 090001 GOTO 750

730 IF ACI3<-. 000001 GOTO 753

7 40 LET AC I 3=

750 IF BCI3>. 000001 GOTO 7 83

760 IF 3CI]<-. 000001 GOTO 7 80

7 70 LET BCI3 =

7 89 IF CCI3>. 000001 GOTO 810

7 90 IF CEI3<-- 000001 GOTO 810

830 LET CCI 3=

810 IF DCI]>. 090001 GOTO 840

829 IF DCI3<-. 000001 GOTO 840

830 LET DCI]=

840 LET ACI3=ACI3*ACI3

850 LET BCI3=BCI3*BCI3

860 LET CCI3=CCI3*CCI3

870 LET DCI3=DCI3*DCI3

883 LET ACI3=ACI3+CCI3

8 99 LET BCI3=8CI3+DCI3

933 LET AC 13= SQR (ACI3)

910 LET BCI3= SQR CBCI3)

923 LET CCI3=ACI3

933 LET DCI3=BCI3

949 IF CCI3>1 GOTO 960

953 LET C C I 3 = 1 963 IF DCI3>1 GOTO 980

970 LET DC I 3 = 1 983 NEXT I 9 93 PRINT

1033 PRINT S

1310 FOR 1= TO 255

1023 LET CCI3=2t (S-13)*6400*C LOG CCCI3)/ LOG (10))

1039 LET DCI3=2t(S-10)*6400*( LOG CDCI3)/ LOG (10))

1043 NEXT I 1353 CALL 1 1363 LET N3=32

138
1070 CALL 4* 0*C

1080 CALL 4*256>D

1093 FOR 1=1 TO 300

1 100 CALL 5*N3

1 110 NEXT I

1 120 FOR 1= TO 127

1 130 LET ACI3=AC2*I+1 3

1 140 NEXT I 1150 FOR 1= TO 127

1 160 LET ACI + 1283=BC2*I + 1 3

1 170 NEXT I

1 180 FOR 1= TO 255

1 190 LET ACI3=2tCS-8)*ACI3

1200 NEXT I 1210 CALL 12*A

1220 LET XI = 1230 NEXT K

1240 LET XI = 1250 CALL 13*A

1260 LET XI = 1270 CALL 4> 0>A

12 80 LET N3=64

12 90 FOR 1=1 TO 300

1300 CALL 5*N3

1310 NEXT 1 1320 IF N4-1 GOTO 1470

1330 FOR 1= TO 255

1340 LET ECI3=ACI3

1350 NEXT I 1360 LET N4=l

1370 PRINT

13 80 PRINT "TEST DEVICE WAVEFORM ACQ. READY?

13 90 INPUT H2

1400 PR I NT

1410 PRINT "NOMINAL INSERTION LOSS IN D8?"

1420 INPUT 21

1430 PRINT

1440 PRINT "FULL SCALE INSERTION LOSS IN D8?

1450 INPUT E2

1460 GOTO 130

1473 FOR 1= TO 255

1480 IF ACI3>. 00001 GOTO 1500

1493 LET ACI3=. 00001

1500 IF ECI3>- 00001 GOTO 1520

1510 LET ECI3=. 00001

1520 LET ACI3=ACI3/ECI3

1530 LET ACI3=20*< LOG CACI3)/ LOG C10))

1 540 NEXT I 1550 PRINT

(TYPE 0)"

139
1560 FOR 1= TO 100

1570 LET CCI3=C2*I+1 >*F1

1580 PRINT I*CCI35 ,, MH2"*ACIDJ ,, D8 M

1590 NEXT I 1600 CALL 1 1610 FOR 1= TO 255

1620 IF ACI3>-<22+21) GOTO 1650

1630 LET ACI3 = 1640 GOTO 1690

1650 LET 23=6000/22

1660 LET ACI3=10000+23*CACI3+21 ) 1670 IF ACI3<16383 GOTO 1690

1680 LET AC I 3 = 1 6383

16 90 NEXT I 1700 CALL 4> 0>A

1710 LET N3=64

1723 CALL 5*N3

1730 GOTO 1723

1740 END

140
APPENDIX B -- Assembly Language Programs

APPENDIX B-l

000010 . LOG 10 ^SUBROUTINE START ADDRESS

00 2)10 04330 3 SB IB

04 3333 .LOG 40300

40030 0403 51 SBTB : INTRP ; INTERRUPT ROUTINE SA

4 3301 030301 1 J SUBROUTINE CALL NUMBER

4030? 043103 MEMC ;memory clear routine

43303 000000 000000 VARIABLE CODE

43304 000032 2

43335 043200 DATAQ JDATA ACQUISITION ROUTINE

43336 120000 12033 3 JCALL 2\»N1 *N3

43007 0000 33 3

43010 043430 DATOP J DATA OPERATE ROUTINE

4301 1 130303 130030 JCALL 3*256*B ETC*

43012 000304 4

40313 040500 DATRT J DATA RETURN ROUTINE

43014 130000 130000 JCALL 4>512>C ETC

40015 00333 5 5 43316 043630 DISPL JDATA DISPLAY ROUTINE

40017 100000 100303 JCALL 5>N3

43020 33000 6 6 43021 040703 FUL3G JX-Y RECORD FULL SCALE SET

43322 000300 303000 JCALL 6

43023 03000 7 7 40 iJ2 4 043730 gERO JX-Y RECORD HERO SET

43025 000000 000030 JCALL 7 40026 000010 10

4332 7 043750 RECO.R JX-Y RECORD

433 3 3 000000 033000 JCALL 8

43031 003011 1 40032 041020 DAT02 JDATA RTN ROUTINE-SINGLE S 40333 130300 133330 JCALL 9*0 »A ETC

40034 033012 12

43035 341747 FFTST J F A S T FOURIER T R A N3 F R M 403 3 6 12 6003 126003 JCALL I0*N3jN2*S

43337 000013 13

400 40 042500 MEMC 2 J SPECTRAL MEMORY CLEAR

43041 003000 330000 JCALL 11 4334? 000314 14

4 3343 042600 SPECB J SPECTRAL DATA TO BINARY

433 4 4 140000 140000 JCALL 12*A

40045 033015 15

43346 3 42730 SPECF J SPECTRAL DATA TO BASIC

40047 140300 143030 JCALL 13>A

40050 177777 -1 J END OF SUBROUTINE TABLE

J BASIC LINKAGES

000130 • FIX= 130

000132 .FLOT= 132

J A/D-D/A LINKAGES

000321 .DUSR ADCV=21 JA/D DEVICE CODE

030023 • DUSR DACV-23 JD/A DEVICE CODE

5 INTER *UPT ROUTINE

40051 023434 INTRP: LDA 0*ADM JPUT A/D MASK BIT IN AC<3)

40052 062377 MSKO JDISABLE A/D INTERRUPT

400 53 002 401 JMP O. + l J GO TO BASIC INTERRUPT

43054 000521 521 JIN LOCATION 52 1 40055 000200 ADM: 200 JA/D MASK INTERRUPT WORD

.EOT

141
APPENDIX B-2

40100

40 1 g i 40102

40103

40104

40105

40106

4/M07

401 10

401 1 1 40 11 2

40113

401 14

43 1 1 5 40116

401 17

40120

40121

40122

40123

040100

054422

030416

50416

020416

034020

054416

034410

054020

042020

014407

000776

034410

054020

002405

047777

004000

000000

000000

000000

000000

MEMC

CLEAR

ST1 : CST1

CNT1

A0:

RTN1

SV20

ME

.LOC

STA

LDA

STA

LDA

LOA

STA

LDA

STA

STA

DSE

JMP

LDA

STA

JMP

47777

4000

• EOT

MORY CLEAR

40100

3*RTN1

2*CST1

2.»CiMTl

0/A0

3*20

3*SV20

3»ST1

3*20

0>@20

CNT1

CLEAR

3*SV23

3*20

9RTN1

; CLEAR ED

; NUMBER J

; COUNTER

; CONSTANT

SB ASIC RE

; CONTENTS

ROUTINE

JABS* SA

J RETURN ADDRESS

;RK OF MEMORY RESERVED

* COUNTER

JSAVE LOCATION R0

• It

J CLEARED MEMORY SA

; I N I T I A'L 1 2E A U T I NC R E ME NT

;PUT £Z*0 IN 50030 ETC

;F INI SHED?

; NO --RETURN

5 YES—RESTORE LOCATION 20

• If 9i RETURN TO BASIC

MEMORY SA MINUS 1 F CLEARED LOCATIONS

FO^i CST1

TURN ADDRESS

OF LOC 20

142
APPENDIX B-3

DATA ACQUISITION ROUTINE

040200 .LOG 40200 ;abs« sa 40200 03 1400 DATAO: LDA 2 * a * 3 *N1 ADDRESS IN AC (2

)

40201 021000 LDA * * 2 J 1ST HALF OF Ml. IN AC(O)

40202 025001 LDA 1 * 1 *2 *2ND HALF OF Nl IN AC ( 1

)

40203 544 72 STA 3*RTN2 J RETURN ADDRESS IN RTN2

4020 4 006130 JSR (? . F I X ^CONVERT Nl TO BINARY

40205 4 4464 STA 1*CST2 5 BINARY Nl TO CST2

4020 6 034467 LDA 3>RTN2 ; RETURN ADDRESS IN AC (3)

4020 7 031401 LDA 2 * \ * 3 Ztt3 ADDRESS IN AC (2)

49210 021000 LDA 0*0*2 *1ST HALE OF ti3 IN ACC0)

402 1 1 02 5001 LDA 1 * 1 > 2 *2ND HALF OF N3 IN AC ( 1 ) 40212 006130 JSR @ • F I X * CONVERT N3 TO BINARY

40213 044460 STA I *CST3 *• BINARY N3 TO CST3

40214 020020 LDA 0*20 J SAVE LOC 20

40215 40463 STA 0*S20 • f • 40216 020021 LDA 0*21 *SAVE LOC 21

40217 40 462 STA 0*S21 • 1

40220 030451 LDA 2*CST2 ># OF WAVEFORMS IN AC (2 > 4022 1 151400 INC 2*2 *ADD 1 TO AC (2)

40222 050450 STA 2*CNT2 *• RESULT IN CNT2

40223 034452 SWP1 : LDA 3*RTN2 ; RETURN ADDRESS

4022 4 01 4446 DS2 CNT2 ** OF WAVEFORMS YET?

40225 000 406 JMP REPT * NO —RETURN

40226 020452 LDA 0*S20 J YES —RESTORE LOC 20

40227 40020 STA 0*20 • II J 40230 020451 LDA .» S2 1 ^RESTORE LOC 2 1 40231 40021 STA 0*21 • II 9 40232 001402 JMP 2*3 i RETURN TO RAS IC

40233 020444 REPT: LDA 0*BGN *SA FOR STORAGE

40234 040020 STA 0*20 * AUTO.INCREMENT LOC

40235 040021 STA 0*21 • ft 9 40236 03 4440 LDA 3* ADO ; zF.RO IN AC (3 ) 4023 7 054435 STA 3*CNT3 * EERO POINT COUNTER

40240 03043 4 PT1 : LDA 2--CNT3 ; P I N T COO NT ER IN AC ( 2

)

40241 02043 5 LDA 0*ADO Z^blRO IN AC(O)

40242 06 1023 DOA 0*DACV * ADDRESS D/A ?/0 40243 72023 DOB 2*DACV * OUTPUT X LOCATION

4 0244 061 121 DOAS 0*ADCV ; START A/D £0

402 45 063621 SKPDN ADCV ; COdvlLlS ION FIN I SHED?

402 46 000777 JMP • -1 i^O-'^lCTUR'^

40247 07 6421 DIC 3* ADCV > YES --POT NUMBER IN AC (3)

40250 177120 ADD2L 3*3 5REM0VE LEADING SIGN BITS

40251 175220 M0V2R 3*3 f 1 9 402 52 175220 MOVER 3*3 • (1 9 402 53 02 6020 LDA 1 *920 J LARGE HALF OF IN AC ( 1 ) 4025 4 022020 LDA 0*5)20 J SMALL HALF OF # IN AC<0)

40255 16 3022 ADD 2 3 * * S EC ;add two small numbers

40256 125400 INC 1 * 1 .•OVERFLOW* ADD 1 TO AC ( 1 ) 402 57 046021 STA l*f'21 * RETURN SUM TO MEMORY

40260 042021 STA 0*C?21 • f 1 40261 024412 LDA 1 *CST3 ;bite SIE-E IN AC < 1 ) 40262 133000 ADD 1 *2 * INCREMENT POINT COUNTER

40263 05041STA 2*CNT3 *NEW COUNT IN CNT3

40264 03 440 4 LDA 3* PEAC i TOTAL // OF POINTS IN AC C 40265 156414 SUB* 2 * 3 * S ER *• WAVEFORM FINISHED?

40266 000752 JMP PT1 ; NO —RETURN

40267 0007 3 4 JMP SWP1 *YES GET NEW WAVEFORM?

40270 040OO0 PEAC: 40000 ;max * JF POINTS (2tl4)

402 71 0O0OO0 CST2: *?:' OF WAVEFORMS

143
40272 000000 CNT2 : ; WAVEFORM COUNTER

43273 000000 CST3 : ;BITE SIzIE

40274 000000 CNT3: ;POIiMT COUNTER

40275 000000 RTN2 : ;basic return ADDRESS

40276 000000 AD0: ; CONSTANT

4027 7 047777 QGN: 4777 7 ;SA MINUS 1 FOR DATA STORAGE

40300 000300 S20: ; CONTENTS OF LOC 20

40301 300000 S21 :

• EOT

. ;CONTENTS OF LOC 2 1

144
APPENDIX B~4

40400

40431

40432

43433

4043

4040

40406

4040

40413

40 41 1 43412

43413

4041 4

4341b

4341

43417

40420

43421

40422

40423

40424

43425

40 426

43427

43430

43 431

43432

4343 3 4343 4 4343 b 4343 6 40 43 7 43443

43441

434 42

040403

031403

021333

325301

354432

4 006133

5 023433

125120

7 107000

020426

040426

044427

034422

035431

054425

6 333423

321303

32 5331

151403

15143 3

353416

336132

042415

010414

046413

310412

014406

000 7 64

034432

031402

3 3333 3 033433

030333

353333

3 33 33

33333 3

DATOP

LOOP

RTN3 : CST4:

CNT4 : CSTb:

AD3N:

ADFP :

SE

• LOG

LDA

LDA

LDA

STA

JSR

LDA

M0V2L

ADD

LDA

STA

STA

LDA

LDA

STA

LDA

LDA

LDA

INC

INC

STA

JSR

STA

IS 2 STA

IS5

DS2

JMP

LDA

JMP

433

3

53030

• EOT

ND DATA TO BASIC SUBROUTINE

43430 JABS* SA

2*0*3 JDATA ARRAY ADR. IN AC (2)

0*0*2 i 1ST HALF IN AC(0>

1*1*2 *2ND HALF IN AC ( 1 ) 3*RTN3 J RETURN ADDRESS TO RTN3

0.FIX J CONVERT TO BINARY

3*csrs ;data storage sa in csts

1*1 ;double array number

0*1 *add sa to array number

0*cst4 j2b6 points in array

3*cnt4 ; point counter

1*adbn jbinary address

3*rtn3 jreturn address to ac (3

3*1*3 jarray sa to ac (3)

3*adfp jarray sa to adfp

2*adbn jbinary address to acc2)

0*0*2 j1st half of u in ac (3)

1*1*2 *2ND HALF OF // IN ACd)

2*2 * INCREMENT BINARY ADDRESS

2*2

2*ADBN

Q.FLOT

O^ADFP

ADFP

1 * 9 ADFP

ADFP

CNT4

LOOP

3*RTN3

2*3

J BASIC R J256-P0I

J POINT C

* BINARY

* CURRENT

* CURRENT

J NEW BINARY ADDRESS TO ADBN

JCONVERT TO FLOATING POINT

J 1ST HALF TO BASIC ARRAY

; INCREMENT FP ADDRESS

J 2ND HALF TO BASIC ARRAY

J INCREMENT FP ADDRESS

; FIN I SHED?

; NO —RETURN

J YES —LOAD RETURN ADDRESS

J RETURN TO BASIC

ETURN ADDRESS

^JT ARRAY

OUNTER

STORAGE SA

BINARY ADDRESS

FLOATING POINT ADDRESS

145
APPENDIX B-.5

040533

43501) 031403 DATRT:

40531 021033

43532 025001

'43533 054430

43504 006130

r 40505 020497

40536 107330

43537 044430

40510 023425

43511 043425

43512 034421

43513 335401

435 t

354424

43515 322423 LUPE:

43516 010422

43517 326421

43523 313423

43521 336133

4-3522 030415

43523 023416

43524 345030

40525 151430

43526 050411

43527 014407

43530 300765

4353 1 334432

43532 001402

43533 003033 RTN4:

43534 353300 CST6:

4353 5 333403 CST7 : 43536 333333 CNT7

43537 333 030 BNAD

43 543 333333 FPAD:

43541 300333 EER :

• LOC

LDA

LDA

LDA

STA

JSR

LDA

ADD

STA

LDA

STA

LDA

LDA

STA

LDA

IS2

LDA

IS2

JSR

LDA

LDA

STA

INC

STA

DS2

JM^> LDA

JM?

50330

43 * 3

3

3

.EOT

RETURN DATA

43533

2 * » 3

3 * * 2

1 * I *2

3*RTN4

0.FIX

0*CST6

0*1

1 *BNAD

3*CST7

3»CNT7

3*RTN4

3*1*3

3*FPAD

3* "FPAD

FPAD

1 #@FPAD

FPAD

9 • F I X 2*0 NAD

0*EER

1 *0*2

2*2

2*8NAl)

CNT7

LUPE

3*RTN4

2*3

;3ASIC

5 3INASY

FROM BASIC ROUTINE

JA3S. SA

* array address in ac (2)

* 1 st half in ac(u)

*2nd half in ac ( 1 ) ; return address to rtn4

sconvert to binary

*data storage sa to cst6

jadd sa to array number

;binary address

*256 points in array

*point counter

;return ADDRESS TO AC<3>

JARRAY SA TO AC<3)

5ARRAY SA TO FPAD

*IST HALF TO AC<0)

INCREMENT FP ADDRESS

2ND HALF TO AC ( 1 ) 5 INCREMENT FP ADDRESS

;CONVERT TO BINARY

iHE'v! BINARY ADDRESS TO AC <2 ) *-PUT £ERO IN AC (3)

*DATA IN DATA STORAGE

; INCREMENT BINARY ADDRESS

ii\<u BINARY ADDRESS TO BNAD

* FINISHED?

J NO --RETURN

'YES —LOAD RETURN ADDRESS

JRETURN TO BASIC

RETURN ADDRESS

STORAGE SA

*2 r>6 ?Oiur ARRAY

;^DINT COUNTER

JCUR^ENT BINARY ADDRESS

; CURRENT FP ADDRESS

; CONSTANT

146
APPENDIX B-6

; DATA DISPLAY

340603 .LOG 40600 ; 43600 331400 DISPL: LDA 2*3*3 i 4060! 021000 LDA 0*3*2 i 40602 025001 LDA 1 * 1 *-2 * 40603 054431 STA 3*RTNS ; 40604 036130 JSR 0.FIX ; 40605 044430 STA 1 *CSTS J 41636 030433 LDA 2*B0 * 43607 023427 LDA 0*CST9 * 40610 040427 STA 3*CNT9 * 40611 020431 POINT: LDA 0*AD2 1 40612 061023 DOA 0*DACV i 40613 072023 DOB 2*DACV ; 40614 026423 LDA 1 *0CNT9 J 40615 020426 LDA 3*AD4 > 40616 061023 DOA 0*DACV ; 40617 066023 DOR 1*BACV J 43623 010417 ISH CNT9 i 40621 12 6403 SUB 1*1 i 40622 126400 SUB 1*1 i 43623 060477 DIA 0*CPU ', 40624 063123 DOCS 0*DACV i 40625 034413 LDA 3*PEXE ; 40626 024407 LDA 1*CST8 i 40627 133000 ADD 1*2 ; 40633 156414 SUB# 2*3*SZ-R ; 43631 000760 JMP POINT

40632 034432 LDA 3*RTN5 J 43633 001401 JMP 1*3 5 43634 000000 RTN5: *BASIC RE

43635 000030 CSTfcJt JBITE Sic

43636 050000 CST9

53000 5- BINARY S 4363 7 000030 CNT9: 3 *DATA ADD

43640 343003 PEKE

43000 5 MAX NUMB

4364 1 OOOOO0 B3: ;CONSTANT

40642 303002 AD2

2 ; CONSTANT

40643 303004 AD4

4 J CONSTANT

• EOT

ROUTINE

ABS. SA

N3 ADDRESS TO AC<2)

1ST HALF TO AC CO)

2ND HALF TO AC ( 1

)

RETURN ADDRESS TO RTN5

CONVERT N3 TO BINARY

BITE SI HE TO CST8

HERO TO ACC2)

DATA STORAGE SA TO AC CO)

DATA ADDRESS COUNTER

TWO TO AG CO)

ADDRESS D/A #2

OUTPUT X VALUE TO D/A //2 DATA TO AC C 1

)

FOUR TO AC CO)

ADDRESS D/A #4

OUTPUT Y vALUE TO D/A if 4

INCREMENT ADDRESS COUNTER

DELAY DUMMY INSTRUCTION

f SW 15* 3=ST0RE* 1 =NONSTORE

SEND 2 INTENSIFY PULSE

MAX Jf OF POINTS

BITE SI HE TO AG C 1 ) INCREMENT X POINT

X SWEEP FINISHED?

i NO --RETURN

YES --LOAD RETURN ADDRESS

RETURN TO BASIC

TURN ADDRESS

TORAGE SA

RESS COUNTER

ER OF POINTS

3

4

147
APPENDIX B-7

X-Y RECORD--FULL SCALE SET

43703

40731

40702

40733

40 734

43705

40736

43707

43713

'1371 I 43712

43713

43714

437 33

43731

43732

43733

43734

43735

437 36

40737

437 43

43741

43 742

437 43

43744

043733

354414

023413

03341

1

361323

372323

323 43 5 361323

372323

302434

000332

303034

337777

333333

340733

3 5 4414

320413

33341

1

061023

372023

323435

361023

72023

002404

303032

303 3 3

4

300000

00003

FULSC:

.02: D4:

FS:

RTN6:

£ER0

DA2:

DA4:

SE:

RTW7 :

• LOC

STA

LDA

LDA

DOA

DOB

LDA

DOA

DOB

JMP

2

4

37777

X-Y

• LOG

STA

LDA

LDA

DOA

DOB

LDA

DOA

DOB

JMP

2

4

3

3

• EOT

43 703 JABS. SA

3»RTN6 ; RETURN ADDRESS TO RTN6

3>D2 J TWO TO AC CO)

2*FS iFS VALUE TO AC<2)

3*DACV JADDRESS D/A #2

2..DACV JFS VALUE TO D/A #2

3*D4 ;FOUR TO AC<3>

3>DACV ;ADDRESS D/A ff

4

2..DACV JFS VALUE TO D/A #4

I3RTN6 {RETURN TO BASIC

J CONSTANT 2

J CONSTANT A

J FULL SCALE VALUE FOR D/A'S

JBASIC RETURN ADDRESS

REC0RD--2ER0 SET

40730

3*RTN7

0*DA2

2 * r-E 3*DACV

2*DACV

3* DA 4 3*DACV

2»DACV

GRTN7

; CONSTANT 2

J CONSTANT 4

J5ER0 VALUE FOR D/A'S

JBASIC RETURN ADDRESS

JABS. SA

{RETURN ADDRESS TO RTN7

J TWO TO ACC0)

;2ER0 TO AC (2)

JADDRESS D/A #2

J2ER0 VALUE TO D/A #2

JADDRESS D/A #4

• It 9J2ER0 VALUE TO D/A 94

J RETURN TO BASIC

148
APPENDIX B-8

i X-•Y RECORD SUBROUTINE

340750 • LOC 40750 5A8S. SA

4075*1 354426 RECOR: STA 3*RTN3 ; RETURN ADDRESS TO RTN8

437 51 03042 6 LOA 2>CT3 i HERO TO AC (2)

43752 020430 LDA 0*CTS ;DATA STORAGE SA TO AC (3)

43753 043430 STA 0*CNS J DATA ADDRESS COUNTER

43754 323433 POYNT

LDA 0>DELA ;p£N SPEED FACTOR TO AC<0)

43755 040430 STA 0* DELAY J PEN SPEED FACTOR TO DELAY

43756 323422 LDA 0>CT2 J TWO TO AC<3)

437 57 361323 DOA OjDACV jADDRESS D/A #2

43763 072323 DOB 2*DACV ;X VALUE TO D/A //2 43761 026422 LDA 1..0CN5 ;data to ac<i ) 43 762 023417 LDA 0..CT4 ;hero to ac<3)

43 7 63 361023 DOA 3*DACV JADDRESS D/A #4

43764 066323 DOB 1 >DACV ;y VALUE TO D/A #4

43765 313416 IS 2 CN5 ; increment data address

43766 314417 DS£ DELAY J PEN S

;, EED SLOW ENOUGH?

43767 3337 77 JMP • -1 ; NO --RET URN

43773 334417 LDA 3*CT7 ; YES --MAX n OF POINTS TO AC

437 71 024415 LDA 1*CT6 i BITE SI HE TO AC ( 1

)

43772 133033 ADD 1*2 i INCREMENT X POINT

43773 156414 SUB*' 2*3*SiSR ;X SWEEP FINISHED?

43774 333763 JMP POYNT ;NO--RETURN

437 75 332431 JMP @'RTNS i YES- -RETURN TO BASIC

43776 033333 RTN8: i BASIC RETURN ADDRESS

43777 333333 CT3: 5 CONSTANT 3

41333 333332 CT2: 2 5 CONSTANT 2

41331 333034 CT4: 4 5 CONSTANT 4

41332 35333 3 CT5: 53333 ;DATA STORAGE SA

41333 333333 CN5: ;data A DDRESS COUNTER

41334 334433 DELA: 4433 ,:pen sp EED FACTOR

41335 03333 3 DELAY: s>>b:rt sp EED COUNTER

41336 333323 CT6: 23 J3ITE SIZE FOR 1024-PT RECORDING

41337 343333 CT7: 43303

• EOT

J MAX # OF POINTS

149
41023

41021

4 1 022

41023

41024

4 1025

•'-1102 6

4 1027

41030

04 1020

031400 DAT 02

021000

025001

054432

006130

020433

107000

02042 7 4042 7 41031 044430

4 1032 034423

41033 035401

41034 054426

4 1035 330424

41036 020425

-•'1037 02 5000

41040 125 112

41041 102000

41042 151400

41043 050416

41044 006132

4 1045 042415

41046 10414

41047 046413

L00PE

41050

4 1051

4105?

41053

41054

4 10 5 5 41056

-M057

4 1060

4 10 61

4 1062

1 4 1

014406

030763

0344 3?

001 402

o joo ;o 000400

000330

050000

00000 .) 00^130

4 1063 0033 30

RTN3 1 : C S T 4 1 : CUT 4 I : CST51 : AD3NI : ADFP1

EER01 :

APPENDIX B-9

SEND DATA TO HAS IC SUBROUTINE

• LOC

LDA

LDA

LDA

STA

JSR

LDA

ADD

LDA

STA

STA LDA

LDA

STA

LDA

LDA

LDA

MOVL#

ADC

INC

STA

JSR

STA

IS£

STA

IS2

DSS

J MP

LDA

JMP

3400

53 3 D3

EOT

41020 ;abs. SA

?*0*3 *DATA ARRAY ADR. TO AC (?

)

0*0*2 ;1ST HALF TO AC(0)

1 * 1 *2 *2ND HALE TO AC ( 1

3*RTN31 J RETURN ADDRESS TO RTN31

@.FIX ; CONVERT TO BINARY

3*CST51 ;DATA STORAGE SA TO CSTS1

0*1 *ADD SA TO ARRAY NUMBER

0*CST41 ;?56 POINTS IN ARRAY

0»CNT41 5 POINT COUNTER

1*ADBN1 ;binary ADDRESS

3*RTN31 ; RETURN ADDRESS TO AC (3)

3*1*3 * ARRAY SA TO AC<3)

3*ADFP1 5ARRAY SA TO ADFP1

2.ADBN1 ;BINARY ADDRESS TO AC (2

)

0->^-:roi ;ist hale of n to ac(0)

1*0*2 ;2ND HALF OF # TO AC ( 1

1*1»SE-C *IS NUMBER NEGATIVE?

0*O J YES --PUT ONES IN AC<0)

2*2 ; INCREMENT BINARY ADDRESS

2*AD0N1 *NEW BINARY ADDRESS TO AD3N1

P.FLOr iCONVERF TO FLOATING POINT

0*''ADFP1 *• 1ST HALF TO BASIC ARRAY

AD FP; I NC R i M E N T F P A D D R E S S l*0ADF^i;2ND HALF TO BASIC ARRAY

ADFP1 ; INCREMENT FP ADDRESS

CNT41 * FINISHED?

LOOPE * NO- -RETURN

3*Rl"N3l * YES --LOAD RETURN ADDRESS

2*3 * return to basic

;basic return address

;256 -point array

* point counter

* binary storage sa jcurrent binary address

jcurrent floating point address

; constant

150
APPENDIX B-10

041600

030032 NUM=

000303 ALPHA=

000034 M000035 FLAG=

000036 NUM4 = 033337 SCNT=

41630 020462 FFTRA:

41601 101235

41632 003402

41603 003436

41604 102443 0JT2 : 41635 024307

41606 006132

41607 034537

41613 031432

41611 041000

41612 045001

41613 033520

41614 053002

41615 030517

41616 050003

41617 030516

41623 050334

41621 030515

41622 053305

41623 030514

41624 053306

41625 030513

41626 050037

41627 030512

41630 050023

41631 033511

41632 50021

41633 033510

41634 050030

41635 033507

41636 050331

41637 034507

41643 001432

41641 030565 0UT1

:

41642 034417

41643 324306

41644 133033

41645 151400

41646 02 4414

41647 353330

41650 053331

41651 021400

41652 032033

41653 04203!

41654 351400

41655 136400

41656 014006

41657 003772

41663 003724

41661 041577 MAX4:

41662 003003 SPF:

41663 042334 GFFTN

41664 054407 GETDA

:

.LOG 41600

2

3

4

56

7LDA

MOVER*

JMP

JMP

SUBO

LDA

JSR

LDA

LDA

STA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

JMP

LDA

LDA

LDA

ADD

INC

LDA

STA

STA

LDA

LDA

STA

STA

SUB

DSE

JMP

JMP

FFTRA1

FFTNC

STA 3*8ACK

0*SPF

3*0*SNR

0UT2

O'JTl

0*0

1»SC'NT

O.FLOT

3*RTN9

2*2*3

0*0*2

1*1*2

2*SA2

2*2

2*SA3

2*3

2*SA4

2*4

2*SA5

2*5

2*SA6

2*6

2*SA7

2*7

2*SA20

2*20

2 * SA2

1

2*21

2*SA30

2*33

2*SA31

2*31

3*RTN9

2*3

2*BETA

3 * MA X4

1*NUM4

1*2

2*2

1*SPF

2*30

2*31

0*0*3

2*030

0*031

2*0*3

1*3

NUM4

.-6

0UT2

151
41665 133000 A99 1*2

41666 052020 STA 2*920

41667 021000 LDA 0*0*2

4i 6 7 '"J 004 53 7 JSR FFTSC

4 1671 042021 STA 0*921

41672 002401 JMP ©BACK

41673 000000 BACK:

41674 191132 TEST: M0VSL# 9 * * S EC

41675 101241 MOV OR s*0*skp

41676 101220 MOVER 0*0

41677 001 400 JMP 0*3

4 1700 034526 FFTCC: LDA 3*BETA

41701 054920 STA 3*20

41702 054921 STA 3*21

41703 029426 LDA 0*MM

4 1704 02 4004 LDA I *M

4 1705 123090 ADD 1*0

41706 126529 SUB EL 1*1

41707 101494 INC * * S ER

A 1 7 1 125121 M0V5L 1 * 1 *SKP

4 1711 101091 MOV 9*9*skp

417 12 3007'/JMP .-3

41713 944747 STA 1 *SPF

4 1714 920902 LDA 0*NUM

417 15 101229 MOVER 0*9

417 16 101220 MOVER 0*9

4 17 17 040996 STA 9*NUM4

41729 9 407 53 STA 0*BACK

41721 137990 ADD 1*3

41722 021499 LDA 0*0*3

41723 932929 LDA 2*029

4 1724 9 42921 STA 9*921

41725 951409 STA 2*3*3

41726 9 14745 DSH BACK

4 1727 9907 72 JMP .-6

41730 032 733 JMP 0GFFTN

4 1731 177765 MM: -13

41732 963077 FACPT: HALT

4 1733 00000-3 SA2:

41734 939909 SA3:

41735 030033 SA4:

41736 000990 SA5 : 41737 099990 5A6: 9

41740 009000 SA7 : 41741 009099 SA23:

41742. 939999 SA21 : 41743 999093 SA3 0:

4 1744 000000 SA31 : 41745 050999 CK50: 50000

41746 900309 RTN9:

41747 824092 FFTST: LDA 1*2

41750 044763 STA 1*SA2

417 51 924903 LDA 1*3

41752 044762 STA 1*SA3

41753 924004 LDA 1*4

41754 044761 STA 1*SA4

41755 924995 LDA 1*5

41756 044760 STA 1*SA5

41757 024006 LDA 1*6

41760 944757 STA 1*SA6

152
41761

41762

41763

4 17 6 4 41765

41766

41767

417 7 3

41771

41772

41773

417 7 4 ^•1775

41776

417 7 7 42300

42031

42332

42003

42304

42335

4233 6

42337

42310

4231 1 42312

42313

423? 4

42315

42316

42317

42323

49321

49 322

42323

42324

42025

42326

42327

42333

42031

42332

42333

42034

42335

42336

4233 7 42343

423 41

420 42

42043

42344

42345

42046

42347

42353

42051

42052

423 53

024007

044756

024020

044755

024021

044754

024030

044753

024031

044752

031430

321300

025001

054750

006130

044335

034745

031431

021000

025001

006133

044032

024736

044003

023302

126443

101223

125401

033402

030775

044334

126430

344536

344536

344037

044636

003653

341 177

324531

125314

003643

001400

063077

054522

324575

004530

030512

350020

030520

050021

030003

024566

004617

024002

034615

024563

004613

024032

124403

BETA : FFTSC

CALC :

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

STA

LDA

LDA

LDA

STA

JSR

STA

LDA

LDA

LDA

LDA

JSR

STA

LDA

STA

LDA

SU30

MOV£R

INC

J MP

JMP

STA

SUB

STA

STA

STA

STA

JMP

1/7

1*SA7

1*20

1*SA20

1 *21.

1 * SA2

1

1*30

1*SA30

1*31

1*SA31

2*3*3

0*0*2

1*1*2

3*RTN9

@.FIX

1*FLAG

3*RTN9

2*1*3

3*0»2

1*1 *2

O.FIX

1 *NUM

1*CK53

1 *ALPHA

0*N(JM

1*1

0*3* SNC

1 * 1 *SKP

• +2

.-3

1 *M

i *1

1 *ATF

1 *ATF+1

l*SCNT

1*SPF

FFTCC

42054 004610

FFTRA-43 1 LDA

MOSJff JMP

JMP

HALT

STA

LDA

JSR

LDA

STA

LDA

STA

LDA

LDA

JSR

LDA

JSR

LDA

JSR

LDA

NEG

JSR

1*ATF+1

1 *1*S2R

TEST

0*3

3*RETN

1*N

FFTAG

2* SAP

2*20

2*TAM

2*21

2*ALPHA

1 *N

GETDA

1 *NUM

GETDA

1*A

GETDA

1*NUM

1*1

GETDA

153
42055 02 4472 LDA l*COS

42056 004556 JSR FFTNT

42') 5 7 131000 MOV 1*2

42060 024505 LDA 1 *TEMP3

42 '3 61 004553 JSR FFTNT

42462 004560 JSR MULT

42^63 042472 STA 0*<?SAV3

42064 024464 LDA 1*SIN

42065 004547 JSR FFTNT

42066 131000 MOV 1*2

42067 02 447 5 LDA 1* TEMP

42070 004544 JSR FFTNT

4207 1 004551 JSR MULT

42072 032463 LDA 2*9SAV3

42073 1 13000 ADD 0*2

42074 024466 LDA 1 * TEM^l

4207 5 140400 NEti 2*0

4207 6 133000 ADD 1 *2

42077 123000 ADD 1*0

4? 100 52 452 STA 2*<?SAV1

42101 042454 STA 0*OSAV3

42102 004564 JSR FFTAT

42103 010454 IS2 ATF

42104 101300 MOV 0*0

42105 1 1 1000 MOV 3*2

42106 004560 JSR FFTAT

42107 010450 ISE ATF

421 10 131000 MOV 0*3

421 1 1 024436 LDA 1 *cos

42 1 12 004522 JSR FFTNT

42113 131003 MOV 1*2

42114 024450 i-DA 1 *TEMP4

421 15 304517 JSR FFTNT

421 16 00 4524 JSR MULT

42 1 1 7 042435 STA 0*(?SAV4

42120 .024430 LDA 1 *SIN

42121 124430 N£G 1 *1 42122 004512 JSR FFTNT

42123 131300 MOV 1*2

42124 024441 LDA 1*TEMP3

42125 004507 JSR FFTNT

42126 004514 JSR MULT

42 127 032425 LDA 2*'?SAV4

42130 1 13000 ADD 3*2

42131 140400 NEG 2*0

42132 024431 LDA 1*TEMP2

42133 133000 ADD 1*2

42134 123000 ADD 1*0

42135 52416 STA 2*@SAV2

42136 042416 STA 0*(?SAV4

42137 004527 JSR FFTAT

42140 013417 ISZ ATF

42141 101000 MOV 3*3

42 1 42 11 1000 MOV 0*2

42143 004523 JSR FFTAT

42144 010413 IS2 ATF

42145 101033 MOV 3*0

42146 002410 JMP @RETN

42147 000003 COS

42150 300030 SIN:

154
42151 342151 SAP: SAP

421 52 303300 SAV1 : 42153 330003 SAV2 : 42154 000000 SAV4: 9

42155 000000 SAV3 : 42156 0-33030 RETN:

42157 003300 ATF:

42169 000300 ATFC : 42 1 6

042161 TAM: TAM

42 1 62 000000 TEM°1 : 3

42163 903303 TEMP2 : 42164 000000 TEMP4: 3

42165 000300 TEMP3

42166 054476 FFTAG STA 3*MSAV

42167 020573 LDA 0*1

42179 033304 LDA 2*M

42171 142435 SUB 2*3*SNR

42172 03340 4 JMP MID

42173 125220 MOV 2?? 1*1

42174 191404 INC 0*0*S2Hi

42175 030776 JMP .-2

42176 304565 MID: JS2 FFTRV

42177 020336 LDA 0*NUM4

4220 3 1 1 1300 MOV 0*2

42201 122422 SUB 2: 1 * * S 2C

422-32 033407 JMP .+7

42233 143033 ADD 2*0

42234 033622 LDA 2* 3ETA

42235 113330 ADD 0*2

42236 021003 LDA 0*0*2

4223 7 100400 NEG 0*0

422 1 033 404 JMP .+4

422 1 1 330615 LDA 2* BETA

42212 133333 ADD 1*2

42213 021033 LDA 0*0*2

422 1 4 043733 STA 9* COS

42215 023336 LDA 0*NUM4

42216 122332 ADC 2* 1*0*S2C

422 1 7 122431 SUB 1*0* SKP

42220 106401 SUB 0*1*SKP

4222 1 105000 MOV 0*1

42222 030634 LDA 2*3ETA

42223 133330 ADD 1*2

42224 021303 LDA 0*9*2

42225 033335 LDA 2* FLAG

42226 151232 M0V2R* 2*2*S2C

4222 7 103433 NEG 0*0

42230 040720 STA 0*SIN

42231 032433 JMP @MSAV

42232 030333 N:

42233 033303 A:

42234 125133 FFTNT: M0V2L# 1*1*SNC

42235 031430 JMP 0*3

42236 124400 NEG 1*1

42237 010432 IS2 ASF

42243 001430 JMP 0*3

42241 000303 ASF:

42242 102463 MULT: suae 0*0

422 43 354421 STA 3*MSAV

42244 03 4421 LDA 3*M20

155
42245 125203 MLOOP

42246 101231

42247 143220

'122 50 175404

42251 000774

42252 101160

42253 125120

422 54 101100

42255 024764

42256 125233

42257 002405

42260 100400

42261 126400

42262 044757

42263 0O2401

42264 000000 MSAV:

422 6 5 177760 M2 : 42266 1467 1 FFTAT

42267 010670

422 70 001 4 30

4227 1 024412

42272 151132

42273 000404

4227 4 132032

42275 001400

42276 001401

4227 7 124400 MEGA:

42300 132032

^2301 001401

42302 001400

42303 031463 CUTO:

42 30 4 02 400 4 FT TUC : 42305 044452

42336 102 520

4230 7 040453

423 10 126400 NODS:

42311 044721

42312 020450 AGET:

423 13 030002

42314 100400

42315 151220

42316 101404

42317 000776

42 320 050713

42321 050437

42322 006437 ROAD : 42323 014435

42324 000427

42325 010705

42326 030705

42327 050431

42330 024702

42331 147000

42332 044700

42333 030002

42334 132404

42335 000765

42336 014421

42337 000416

42340 000434

MOVR l*l*SNC

MOV«« 0*0*SKP

ADDER 2*0

I NC 3 * 3 * S ER

JMP MLOOP

MOVCL 0*0

MQVEL 1*1

MOVL 0*0

LDA 1*ASF

MOVER* 1*1*SNC

JM^ ©MSAV

NEG 0*0

SUB 1 * 1 STA 1*ASH~

JMP ©MSAV

-20

DS2 ATP

IS2 ATF

JM:^> 0*3

LDA 1*CUT0

MOVEL* 2*2*S£C

JM = NEGA

ADCE# 1*2*SZC

JMP 0*3

JMP 1 * 3

m;:g i * i ADGE# 1*2*SZC

JM? 1*3

JMP 0*3

31463

LDA 1 * M

.STA 1*ACNT

SU3£L 0*0

STA 0*1

SU9 1*1

STA 1*N

LDA 0*1

LDA 2* MUM

MEG 0*0

MOVES 2*2

IMC * * S 2R

JM"> . -2

STA 2*

STA 2*MCMT

JSR @GCALC

DSE NCNT

JMP MIND

ISE M LDA 2*A

STA 2* NCNT

LDA 1*N

ADD 2*1

STA 1*N

LDA 2* MUM

SUB 1*2*SZR

JMP ROAD

DS2 ACNT

JMP AIND

JMP OUT

156
42341 320616 3TSR: LDA 3*ATF

4234?. 101134 MOVZL* * 3 * S 2R

42343 330433 JMP SCALE

42344 3 436!

STA -J*ATF+!

42345 333 743 JMP NODS

42346 313612 SCALE: IS2 ATF+1

42347 313337 IS?. SCNT

42350 132433 SUB 3*3

42351 343636 STA 3,ATF

42352 333736 JMP NODS

42353 313657 NIND: IS'n N 42354 333746 JMP ROAD

42355 313435 AINU : IS2 I 42356 3337 63 JMP STSR

42357 333333 AC NT : 3

42360 300333 NO NT: 3

42361 342334 GCALC

CALC

423.62 333333 I: 3

42363 333334 FFTRV: LDA 2*M

42364 121333 MOV 1 *3

42365 126433 SUB 1*1

42366 153433 NEG 2*2

4236 7 101223 MOVER 3*3

42373 125133 MOVL 1*1

42371 151434 INC 2*2*S2R

42372 333775 JMP .-3

4237 3 301433 JMP 3*3

42374 02443 7 OUT: LDA 1* PHASE

42375 344320 STA 1*20

42376 324333 LDA 1 * ALP HA

42377 34443 3 STA 1* ALPHB

42 400 131331 MOV 3*3*SKP

42431 332433 JMP GFFRA

42 432 126433 SUB 1*1

42433 04462 7 STA 1*N

42434 324332 LDA 1*NUM

42435 344753 STA 1*NCNT

42 436 324624 CYCLE: LDA 1*N

42437 334754 JSR FFTRV

42413 333422 LDA 2* ALPHB

4241 1 334621 LDA 3*N

42412 136432 SUBH# I * 3 * S EC

42413 333437 JMP EQUAL

42414 157033 ADD 2*3

42415 133333 ADD 1*2

42416 32 5333 LDA 1 *3*2

42417 321430 LDA 3*0*3

42423 041333 STA 0*0*2

4242 1 345433 STA 1*0*3

42422 313613 EQUAL: ISZ N

42423 314735 DSZ NCNT

42424 333762 JMP CYCLE

4242 5 333435 LDA 2*ALPHB

42 426 324332 LDA 1 *NUM

42427 133333 ADD 1*2

42433 050 432 STA 2* ALPHB

42431 302020 JMP @20

42 432 003330 ALPHB: 3

42433 042377 PHASE: OUT + 3

4243 4 341633 GFFRA: FF'fRA

157
041177 .LOG FFTRA-491

41177 0409(30 040000

41200 040030 040000

41201 037777 037777

41202 037775 037775

41203 037773 037773

41204 037770 037773

41205 937765 037765

41296 037761 337761

41207 037754 037754

41210 937747 037747

41211 037741 037741

41212 037733 037733

41213 037724 037724

41214 037714 037714

41215 037734 937704

41216 037673 037673

41217 037661 03 7661

41220 037647 937647

41221 937634 037634

41222 037621 037621

41223 037605 037695

41224 337570 937570

41225 337553 937553

41226 937535 037535

41227 037517 037517

41239 337500 337503

41231 037460 037460

41232 037449 937449

41233 037417 037417

41234 937375 037375

/'1235 037353 337353

41236 037330 037330

41237 037395 037305

41240 037261 037261

41241 037235 03V23j

41242 337210 937210

41243 037162 037162

41244 037134 037134

41245 337195 037135

41246 337355 037955

41247 337325 037025

41250 036774 336774

41251 036743 336743

41252 03671036711

41253 336657 936657

41254 036623 036623

41255 336573 036570

41256 036533 036533

41257 036477 036477

41260 036441 036441

41261 036403 036403

41262 336344 036344

41263 036305 036305

41264 036245 036245

41265 036205 036205

41266 036144 036144

41267 036102 036102

41270 036040 036040

41271 035775 035775

158
41272 035732 035732 4 1273 035666 335666 4 1274 035622 035622

4127b 035555 035555

41276 035507 035507

41277 035441 035441

41330 035372 035372

41301 035323 035323 4 1302 035253 03 5253 4 1303 035202 035202

41304 035131 035131

41305 035060 035060

41306 0350O6 035006 4 1307 034733 034733

41313 034660 034660

41311 034604 034604 4 1312 034530 034530 4 1313 034453 034453

413 14 034375 034375

41315 034317 034317

41316 03424 1 034241

41317 034161 034161

41320 03 4102 034102

41321 034022 034022

41322 333741 033741 4 1323 033660 033660

41324 033576 033576

41325 033513 033513

41326 033430 033430 4 1327 033345 033345

41330 033261 033261

41331 033175 033175

41332 333 110 033110

41333 033022 033322

41334 032734 032734

41335 032645 032645 4 1336 032556 032556

41337 032467 032467

41340 032377 032377

41341 032306 032306 4 1342 032215 032215

41343 032123 032123 4 1344 032031 032031

41345 33 1737 031737 4 1346 031643 031643 4 1347 031550 031550

41350 031454 031454

4135! 031357 031357

41352 03 1262 031262

41353 031 164 031 164

41354 031066 031066

41355 030770 030770

41356 030671 030671

41357 030571 030571

41360 030471 030471

41361 030371 030371

41362 030270 030270

41363 330166 030166

41364 030064 030064

41365 027762 027762

159
4 1366 057657 027 657 A 1367 027554 057554 4 13 70 027450 02 7450 A 1371 02 73 44 05734 -'I

A. 1375 05 7237 027237 A 1373 027135 02 7132 A 1374 02705 5 027055 A 1375 056717 026717 A 1376 02 6610 026610 A 137 7 056501 026501 A 1 400 056372 0263 72 A 1 A'.', 1 056565 0262 62 A 1 402 056152 05 6155 A 1 403 05 6041 056041 A 1404 055730 055730 A 1405 02561 7

055617

A 14

J 6 055505 055505

A 140 7 055373 055373 A 1410 055560 02 55 60 A 1411 055145 05 5145 A 1415 025032 055035 A 1413 024716 05471 6 A 1414 054601 05 4601 A 1415 054465 05 44 65 A 416 05 43 47 0543 4 7 A 417 054535 054235 A 450 0241 14 05 41 14 A 421 053 7 76 053 7 76 A 455 053657 053657 A 45 3 053 540 05 3 540

A\ 454 053451 05 3451

41 455 0533 'It 053301

4] 456 053 t 61 053161 A 45 7 053340 053040 A 430 055717 02271 7

A. 431 05557 6 055576

41 435 055454 052454

41 433 055335 055335

41 43 4 05251 055 2 1 4 3 435 055065 022065 A 43 6 021742 021742 A ! 437 051616 021616 4 1 440 051473 021473

41 441 051347 021347

41 445 051552 021222 4 1 443 02107 5 021075 4 1 44 4 020750 020750

41 44 5 020 623 020623

41 446 05 047 5 020475 A 1 447 050347 020347

41 450 020221 020221

41 451 020372 0200 72

41 455 017743 017743

41 453 017614 017614

41 454 017464 017464

41 455 017334 017334

41 456 017204 01720 4

41 457 017053 017053

41 460 016723 016723

41 461 016571 016571

160
41462 016440 016440

41463 016306 016306

41464 016154 016154

4146b 016022 016022

41466 015670 015670

41467 015535 015535

41470 015402 01 5 402

41471 0152 47 015247

41472 0151 13 015113

41473 014757 014757

41474 014623 014623

41475 014467 014467

41476 014333 014333

41477 014176 014176

41503 014041 014041

41501 013704 013704

41502 013546 013546

41503 01341 

013 411

41504 013253 0132 53

41505 013114 013114

41506 012756 012756

41507 012620 012620

41510 012461 012461

41511 012322 012322

41512 012163 312163

41513 012023 012023

41514 01 1664 01 1664

41515 01 1524 01 1524

41516 01 1364 01 1364

41517 01 1224 011224

41520 01 1064 01 1064

41521 013723 010723

41522 010563 010563

41523 010422 010422

41524 010261 010261

41525 010120 010123

41526 007756 007 7 56

41527 007615 007615

41530 00 7453 00 7453

41531 007312 007312

41532 007150 30 7150

41533 007006 00703 6 41534 006644 006644

41535 006501 006501

41536 006337 006337

41537 006174 0061 74

41540 006032 036032

41541 005667 005667

41542 005524 005524

41543 005361 005361

41544 005216 005216

41545 005053 005053

41546 004707 004707

41547 004544 004544

41550 004401 004401

41551 004235 00423 5 41552 004071 0040 71 41553 003726 303726

41554 003562 003562

41555 003416 003416

161
41556 003252 003252

/it 557 003106 003106

41569 002742 002742

41561 00257 6 002576

41563 002432 002432

41563 002265 002265

41564 002121 002121

41565 001755 301755

41566 001610 001610

41567 001444 001444

41570 001300 001300

41571 001 133 301 133

41572 000767 000767

41573 030622 000622

41574 000456 000456

41575 00031

00031 1 4 1 57 6 000145 000145

41577 009000 390900

• EOT

162
APPENDIX B-.ll

42500

42531

42502

42503

42504

42505

42506

42507

42510

425 i 1 42512

42513

42514

42515

42516

42517

42520

42521

42522

42523

042500

054422

030415

050417

020414

034020

054416

034412

054020

042020

014410

0007 76

034410

054020

002 405

001000

000000

044777

000000

000000

000000

MEMC2*

CLEER:

CST10:

Bl

ST2:

CMT10:

RTN10:

S820

SPEC

• LOC

STA

LDA

STA

LDA

LDA

STA

LDA

STA

STA

DS2

JMP

LDA

STA

JMP

1000

44777

• EOT

rRAL MEMOR

42500

3*RTN10

2*CST10

2*CNT10

0*B1

3*20

3*SB20

3*ST2

3*20

0*020

CNT10

CLEER

3*SB20

3*20

©RTN10

i NUMBER

ICONSTAN

; CLEARED

J COUNTER

; BASIC R

; CONTENT

Y CLEAR SUBROUTINE

;abs. SA

i RETURN ADDRESS

;i/2K OF MEMORY RESERVED

; COUNTER

i 2ER0

*SAVE LOCATION 20

• If J

J CLEARED MEMORY SA

5 INITIALISE AUTOINCREMENT

iPUT IN 45000 ETC

; FINISHED?

; NO --RETURN

; YES --RESTORE LOCATION 20

BASIC

LOCATIONS

5 RETURN TO

OF CLEARED

T MEMORY SA MINUS 1 FOR CST10

ETU RN ADDRESS

S OF LOCATION 20

163
APPENDIX B-12

SPECTRAL DATA TO BINARY SUBROUTINE

048 600

42600 031400 SPECB:

42601 050433

42602 05/1433

42603 034/133

42604 054433

426U5 054433

42606 020434

42607 040432

42610 022424 SPEC:

42611 010423

42612 926422

42613 010421

42614 006130

42615 036422

42616 010421

43617 032420

42620 010417

42621 133022

4262? 101400

43623 163003

4262 4 0424 t

42625 010413

42626 052412

4262 7 013411

42630 014411

4263 1 001757

43632 034403

42633 001401

42634 000000 FAD:

42635 000000 RTN1 1 : 42636 045030 BAD:

43637 000000 BNDl : 43640 000000 8.MD2:

43641 000030 CNT1 1 : 43643 00040.1 CSTl 1 :

. LOG

LDA

STA

STA

LDA

STA

STA

LDA

STA

LDA

ISH

LDA

ISZ

JSR

LDA

ISE

LDA

ISZ

ADD 2 INC

ADD

STA

ISZ

STA

ISZ

DSZ

JM^

LDA

JMP

45030

400

• EOT

43 6O0

2 » a * 3

2 j FAD

3jRTN1 1 3*8AD

3 > BNDl

3>8ND2

g*csTi i 0>CNT1

3>9FAD

FAD

I #GFAD

FAD

"5. FIX

3#6BND1

BNDl

2*0BN01

BNDl

1 * P. * S cC

j. 3*0

0..QBND2

BND2

2*QBND2

BND2

CNT1 1 SPEC

3»RTN1

1 »3

{ AB S • SA

{FP ADDRESS TO AC (3 ) {FP ADDRESS TO FAD

{RETURN ADDRESS TO RTN11

{BINARY SA TO BAD

{COUNTER

{256 POINT ARRAY

JCOUNTER

{ 1ST HALF OF # TO AC(0)

{INCREMENT FP ADDRESS

;3ND HALF OF # TO AC ( 1

)

{INCREMENT FP ADDRESS

{CONVER r TO BINARY

{LARGE HALF OF # TO AC (3

)

{INCREMENT BINARY ADDRESS

{SMALL HALF OF .'/ TO AC (2 ) {INCREMENT BINARY ADDRESS

{ADD NEW AND OLD NUMBERS

{OVERFLOW—ADD 1 TO AC(0)

{ADD NEW AND OLD NUMBERS

{RETURN LARGE HALF TO MEMORY

{ I NC RE ME NT B IN

\ Y ADDRESS

{RETURN SMALL HALF TO MEMORY

{INCREMENT BINARY ADDRESS

{FINISHED?

{NO —RETURN

{YES--LO^D RETURN ADDRESS

{RETURN TO BASIC

{FLOATING POINT SA

{BASIC RETURN ADDRESS

{BINARY SA

{BINARY ADDRESS COUNTER

{256

{256

POINT

POINT

ARRAY

ARRAY

COUNTER

164
APPENDIX B-13

; SPECTRAL DATA TO RASIC SUBROUTINE

042733 .LOG 42700 ;A8S- SA

42733 331433 SPECFLDA 2*3*3 JFP ADDRESS TO AC(2)

42731 353423 STA 2*FAD1 iFP ADDRESS TO FAD1

42732 354423 STA 3*RTN12 *RETURN ADDRESS TO RTN12

42733 334423 LDA 3*8AD1 *BINARY SA TO AC (3)

42734 354423 STA 3*BND3 *8INARY SA TO BND3

42735 323424 LDA 0*CST12 *256 POINT ARRAY

42736 343422 STA 0*CNT12 ^COUNTER

42737 322423 SPEC1: LDA 3*0BN03 5 1 ST HALF OF ft TO AC<3)

42713 313417 ISE BND3 INCREMENT BINARY ADDRESS

427 11 026416 LDA l*0BND3 ;2ND HALF OF # TO AC ( 1

)

42712 313415 IS?: BND3 J INCREMENT BINARY ADDRESS

42713 306132 JSR ©.FLOT iCONv/ERT TO FP

42714 342413 STA 0>9FAD1 i 1 ST HALF TO BASIC ARRAY

42715 310437 ISif FAD1 J INCREMENT FP ADDRESS

42716 046436 STA 1*0FAD1 S2ti0 HALF TO BASIC ARRAY

42717 010435 ISS FAD1 J INCREMENT FP ADDRESS

42723 314410 DSZ CNT12 ^FINISHED?

42721 300766 JMP SPEC 1 *NU--RETURN

42722 034403 LDA 3*RTN12 J YES —LOAD RETURN ADDRESS

42723 001401 JMP 1*3 * RETURN TO BASIC

42724 033333 FAD1 :

*• FLOATING POINT ARRAY SA

42725 303333 RTN12: ; 3 ASIC RETURN ADDRESS

42726 345330 8AD1

45030 *3INARY SA

42727 303030 BND3

5BINARY ADDRESS COUNTER

42730 000000 CNT12: ;256 POINT ARRAY COUNTER

42731 330400 CST12: 430 *256 POINT ARRAY

• END

165
NBS-114A (REV. 7-73)

U.S. DEPT. OF COMM.

BIBLIOGRAPHIC DATA

SHEET

1. PUBLICATION OR REPORT NO.

NBS Technical Note 672

2. Gov't Accession

No.

4. TITLE AND SUBTITLE

Time Domain Automatic Network Analyzer for

Measurement of RF and Microwave Components

3. Recipient's Accession No.

5. Publication Date September 1975

6. Performing Organization Code

NBS 276.50

7. AUTHOR(S)

William L. Gans and James R. Andrews

8. Performing Organ. Report No. NBS TN-672

9. PERFORMING ORGANIZATION NAME AND ADDRESS

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

10. Project/Task/Work Unit No. FY-74 2725390

11. Contract/Grant No. CCG 72-68

12. Sponsoring Organization Name and Complete Address (Street, City, State, ZIP)

Department of Defense

Calibration Coordination Group

c/o Mr. R. Y. Bailey

Chairman, MTCG-METCAL/CCG

13. Type of Report & Period Covered

Final Report

FY 73-74

14. Sponsoring Agency Code

15. SUPPLEMENTARY NOTES

Aerospace Guidance and Metrology Center

Newark AFS

Newark, Ohio 4 3055

16. ABSTRACT (A 200-word or tess factual summary of most significant information. If document includes a significant

bibliography or literature survey, mention it here.)

This technical note describes in detail a new NBS instrument for the

measurement of the scattering parameters (S^j) of RF and microwave components. The

instrument is the Time Domain Automatic Network Analyzer (TDANA) . It utilizes time

domain pulse measurements to obtain frequency domain parameters. The frequency

range is dc to 18 GHz with a lower upper limit for large values of attenuation. The

instrument consists of three major components: an ultra-fast pulse generator, a broadband sampling oscilloscope, and a digital minicomputer.

17. KEY WORDS (six to twelve entries; alphabetical order; capitalize only the first letter of the first key word unless a proper name; separated by semicolons)

Attenuation; discrete Fourier transform; fast Fourier transform; insertion loss;

jitter; microwave measurement; mismatch; network analyzer; noise; pulse generator;

pulse measurement; sampling oscilloscope; scattering parameters; spectral analysis;

i8.t£WiLcKffl£ftV analysis . Q Unli „ ited

~2 For Official Distribution. Do Not Release to NTIS

| X ' Order From Sup. of Doc, U.S. Government Printing. Office Washington, D.C. 20402, SD Cat. No. C13 • 4b '. 0/ L J Order From National Technical Information Service (NTIS)

Springfield, Virginia 22151

19. SECURITY CLASS

(THIS REPORT)

UNCLASSIFIED

20. SECURITY CLASS

(THIS PAGE)

UNCLASSIFIED

21. NO. OF PAGES

176

22. Price

$2.40

USCOMM-DC 29042-P74

•ft U. S. GOVERNMENT PRINTING OFFICE 1975 - 677-347/1216 Reg. 8
NBS TECHNICAL PUBLICATIONS

PERIODICALS JOURNAL OF RESEARCH reports National Bureau

of Standards research and development in physics,

mathematics, and chemistry. It is published in two sections, available separately:

• Physics and Chemistry (Section A)

Papers of interest primarily to scientists working in these fields. This section covers a broad range of physical and chemical research, with major emphasis on

standards of physical measurement, fundamental constants, and properties of matter. Issued six times a

year. Annual subscription: Domestic, $17.00; Foreign,

$21.25. • Mathematical Sciences (Section B)

Studies and compilations designed mainly for the mathematician and theoretical physicist. Topics in mathematical statistics, theory of experiment design, numerical analysis, theoretical physics and chemistry, logical design and programming of computers and computer

systems. Short numerical tables. Issued quarterly. Annual subscription: Domestic, $9.00; Foreign, $11.25. DIMENSIONS/NBS (formerly Technical News Bulletin) —This monthly magazine is published to inform

scientists, engineers, businessmen, industry, teachers,

students, and consumers of the latest advances in science and technology, with primary emphasis on the work at NBS. The magazine highlights and reviews such

issues as energy research, fire protection, building tech- nology, metric conversion, pollution abatement, health and safety, and consumer product performance. In addition, it reports the results of Bureau programs in measurement standards and techniques, properties of matter and materials, engineering standards and services, instrumentation, and automatic data processing. Annual subscription: Domestic, $9.45; Foreign, $11.85.

NONPERIODICALS Monographs—Major contributions to the technical liter- ature on various subjects related to the Bureau's scientific and technical activities. Handbooks—Recommended codes of engineering and

industrial practice (including safety codes) developed

in cooperation with interested industries, professional

organizations, and regulatory bodies.

Special Publications—Include proceedings of confer- ences sponsored by NBS, NBS annual reports, and other

special publications appropriate to this grouping such

as wall charts, pocket cards, and bibliographies.

Applied Mathematics Series—Mathematical tables, manuals, and studies of special interest to- physicists, engineers, chemists, biologists, mathematicians, computer programmers, and others engaged in scientific and technical work.

National Standard Reference Data Series—Provides

quantitative data on the physical and chemical properties of materials, compiled from the world's literature and critically evaluated. Developed under a world-wide

program coordinated by NBS. Program under authority

of National Standard Data Act (Public Law 90-396). NOTE: At present the principal publication outlet for

these data is the Journal of Physical and Chemical

Reference Data (JPCRD) published quarterly for NBS

by the American Chemical Society (ACS) and the American Institute of Physics (AIP). Subscriptions, reprints, and supplements available from ACS, 1155 Sixteenth

St. N. W., Wash. D. C. 20056.

Building Science Series—Disseminates technical infor- mation developed at the Bureau on building materials, components, systems, and whole structures. The series presents research results, test methods, and performance criteria related to the structural and environmental functions and the durability and safety characteristics of building elements and systems.

Technical Notes—Studies or reports which are complete

in themselves but restrictive in their treatment of a

subject. Analogous to monographs but not so comprehensive in scope or definitive in treatment of the subject area. Often serve as a vehicle for final reports of work performed at NBS under the sponsorship of other government agencies.

Voluntary Product Standards—Developed under pro- cedures published by the Department of Commerce in Part 10, Title 15, of the Code of Federal Regulations.

The purpose of the standards is to establish nationally

recognized requirements for products, and to provide

all concerned interests with a basis for common under- standing of the characteristics of the products. NBS

administers this program as a supplement to the activities of the private sector standardizing organizations. Federal Information Processing Standards Publications (FIPS PUBS)—Publications in this series collectively constitute the Federal Information Processing Standards Register. Register serves as the official source of information in the Federal Government regarding stand- ards issued by NBS pursuant to the Federal Property and Administrative Services Act of 1949 as amended,

Public Law 89-306 (79 Stat. 1127), and as implemented

by Executive Order 11717 (38 FR 12315, dated May 11, 1973) and Part 6 of Title 15 CFR (Code of Federal

Regulations). Consumer Information Series—Practical information, based on NBS research and experience, covering areas

of interest to the consumer. Easily understandable language and illustrations provide useful background

knowledge for shopping in today's technological

marketplace.

NBS Interagency Reports (NBSIR)—A special series of interim or final reports on work performed by NBS for

outside sponsors (both government and non-government). In general, initial distribution is handled by the sponsor; public distribution is by the National Technical Information Service (Springfield, Va. 22161) in paper

copy or microfiche form.

Order NBS publications (except NBSIR's and Biblio- graphic Subscription Services) from: Superintendent of Documents, Government Printing Office, Washington,

D.C. 20402. BIBLIOGRAPHIC SUBSCRIPTION SERVICES

The following current-awareness and literature-survey

bibliographies are issued periodically by the Bureau:

Cryogenic Data Center Current Awareness Service A literature survey issued biweekly. Annual subscription: Domestic, $20.00; foreign, $25.00.

Liquefied Natural Gas. A literature survey issued quarterly. Annual subscription: $20.00. Superconducting Devices and Materials. A literature

survey issued quarterly. Annual subscription: $20.00. Send subscription orders and remittances for the pre- ceding bibliographic services to National Technical Information Service, Springfield, Va. 22161.

Electromagnetic Metrology Current Awareness Service Issued monthly. Annual subscription: $100.00 (Special rates for multi-subscriptions). Send subscription order and remittance to Electromagnetics Division, National Bureau of Standards, Boulder, Colo. 80302.
U.S. DEPARTMENT OF COMMERCE

National Buraau of Standards

Washington, D.C. 20234

OFFICIAL BUSINESS

Penalty for Private Use. $300

POSTAGE AND FEES PAID

U.S. DEPARTMENT OF COMMERCE COM.219

FOURTH CLASS MAIL

^UT,°V

'^6-A9lfe