CONTENTS Title Page Copyright Page Preface 1 Overview of Laboratory Signal Processing (LSP) 1.1 What Is LSP? 1.2 Example of an LSP Program 1.3 Summary of LSP Routines 2 Running LSP Programs 2.1 Languages That Do Not Support COMPLEX * 8 Data Types 2.1.1 Declaring a REAL * 4 Array as Twice the Length of a COMPLEX * 8 Array 2.1.2 Declaring a REAL * 4 Array as a Two-Dimensional Array 2.2 Linking Libraries Under ULTRIX 2.2.1 Examples of Linking Libraries 2.3 Including Symbolic Definition Files 3 Data Format Translation for ADCs and DACs 3.1 Overview 3.2 Binary Number Representation 3.3 Offset Binary Number Representation 3.4 Two's Complement Number Representation 4 Performing Fourier Transforms and Correlation Functions 4.1 Definition of the Fourier Transform 4.1.1 Mathematical Definition of Continuous Fourier Transform 4.1.2 Mathematical Definition of Discrete Fourier Transform 4.1.3 Definition of Fourier Transform in Two Dimensions 4.2 Definition of the Correlation Function 4.3 Additional References 5 Digital Filtering 5.1 Definition of Digital Filtering 5.1.1 Polynomial Filtering 5.1.2 Nonrecursive Filtering 5.2 Examples of Digital Filtering 5.3 Additional References 6 Spectral Window Filtering 6.1 Overview of Spectral Window Filtering 6.2 The Periodogram Technique 6.3 Spectral Window Routines and Algorithms 6.4 Additional References 7 Thermocouple Conversion 7.1 Overview of Thermocouple Conversion 7.2 Setting Up an Experiment 8 Signal Processing Routines APPLY WINDOW TABLE BUILD WINDOW TABLE CORRELATION FFT COMPLEX FFT COMPLEX 2D FFT REAL FILTER NONREC FILTER POLY FILTER POLY 1ST DERIV FILTER POLY 2ND DERIV FILTER POLY 3RD DERIV FORMAT TRANSLATE ADC FORMAT TRANSLATE DAC HIST F HIST I PHASE ANGLE PHASE ANGLE 2D POWER SPECTRUM SPECTRAL WINDOWS THERMOCOUPLE X 9 Status Checking and Error Messages 9.1 Overview of Status Checking 9.2 Automatic Status Checking 9.2.1 Examples of Automatic Status Checking 9.3 Manual Status Checking 9.3.1 Examples of Manual Status Checking 9.4 List of Error Messages 10 Online Sample Programs 10.1 Overview 10.2 List of LSP Online Sample Programs A Floating Point Precision Under RISC ULTRIX and Under VMS B Converting VMS-Specific LSP Programs to the Portable LSP B.1 Differences Between the VMS-Specific LSP and the Portable LSP B.1.1 Syntax B.1.2 Include File Names B.1.3 Status Checking for VMS-Specific Programs B.1.3.1 Testing for Success B.1.3.2 Testing for a Specific Status B.1.3.3 Omitting the Status Argument B.1.4 Status Checking for the Portable LSP B.2 Online Sample Programs B.3 A Sample VMS-Specific Program EXAMPLES 1-1 Digital Filtering Using LSP B-1 A Sample VMS-Specific Program FIGURES 2-1 Storage Formats of COMPLEX * 8 Variables and REAL * 4 Variables 4-1 Forward Fourier Transform 5-1 Digital Filter Transfer Function Forms 5-2 Lowpass Nonrecursive Filter for Varying nterms 5-3 Lowpass Nonrecursive Filter for Varying Wiggles 5-4 Data in Array WAVE Before Filtering 5-5 Data in Array WAVE Filtered in Lowpass Mode 5-6 Data in Array WAVE Filtered in Highpass Mode 6-1 The Five Spectral Window Types A-1 RISC: Single-Precision Floating Point Format A-2 RISC: Double-Precision Floating Point Format A-3 VAX: Single-Precision Floating Point Format A-4 VAX: Double-Precision Floating Point Format TABLES 1-1 Signal Processing Routine Summary 2-1 Compile Options for Linking Libraries in LSP Programs 2-2 DEC RT Integrator Symbolic Definition Files 3-1 12-Bit Unipolar ADC and 12-Bit Unipolar DAC with Binary Coding 3-2 12-Bit Bipolar ADC and 12-Bit Bipolar DAC with Offset Binary Coding 3-3 12-Bit Bipolar ADC and 12-Bit Bipolar DAC with Two's Complement Coding 4-1 Fourier Transform of a Real-Valued Data Set 5-1 Controlling Filtering Type 6-1 Spectral Window Function Files 6-2 Time Saved by Using Multiple Segments 7-1 Thermocouples with Conversion Routines 7-2 Thermocouple Temperature and Voltage Ranges 9-1 Status Value Definition Files 10-1 LSP Online Sample Programs B-1 VMS-Specific Status Value Definition Files