Models of Communication Signals and Processes | The STÆDT Program

Description
 

About the Authors
 

How to Order
 

Simulation Techniques: Models of Communication Signals and Processes

TABLE OF CONTENTS

Preface
Nomenclature
1 Introduction
2 Representation of Analog Signals and Noise
3 Representation of Analog Filters
4 Representation of Analog Signal Processes
5 Digital Simulation of Analog Signals and Processes
6 Computer Modeling of Analog Filters
7 Generation of Data Signals
8 Overview of Reception Processes
9 Generation of Noise
10 Shifters and Interpolators
11 Synchronization
12 Symbol Detection and Demapping
13 Evaluation of Performance
14 Feedback Loops and Control Signals
15 Simulation of Digital Processes
16 Sample Rate Conversion
17 Entry and Builder Routines
18 Graphical Displays
19 Programming Issues


1 Introduction
1.1 Role of Simulation
1.1.1 Simulator Capabilities
1.1.2 User Background
1.1.3 Limits of Simulation
1.2 Transmission Links
1.2.1 Hierarchy
1.2.2 Link Elements
1.3 Pertinent Literature
1.4 Study Plan
2 Representation of Analog Signals and Noise
2.1 Baseband Signal Representations
2.1.1 Time-Limited Versus Bandlimited Pulses
2.1.2 Pulse Amplitude Modulation (PAM)
2.1.3 Nyquist Shaping
2.1.4 Other Pulse Formats
2.2 Passband Signal Representations
2.2.1 Basic Modulation Formats
2.2.2 Quadrature Amplitude Modulation (QAM)
2.2.3 Examples of Passband Signal Formats
2.3 Power, Energy, and Spectrum Relations
2.3.1 Baseband Signals
2.3.2 Passband Signals and Complex Envelopes
2.4 Noise
2.4.1 Additive Gaussian Noise
2.4.2 Counterexamples: Non-AWGN
2.5 Key Points
2.5.1 Baseband Signals
2.5.2 Passband Signals
2.5.3 Power, Energy, and Spectrum
2.5.4 Noise
3 Representation of Analog Filters
3.1 Categories of Filter Representation
3.1.1 Differential Equation Representation
3.1.2 Rational Transfer Functions
3.1.3 Nonrational Transfer Functions
3.1.4 Impulse Response
3.1.5 Summary of Categories
3.2 Filters for Complex Signals
3.2.1 Bandpass Filters
3.2.2 Signal Transmission Through a Bandpass Filter
3.2.3 Filter Structure
3.3 Conversion to Complex Filters
3.3.1 Frequency-Domain Conversion
3.3.2 Time-Domain Conversion
3.4 Key Points
3.4.1 Filter Categories
3.4.2 Complex Filters
3.4.3 Conversion to Complex Filters
3.4.4 STÆDT Processes
Appendix 3A: Complex Conversion of Time-Domain Filters
4 Representation of Analog Signal Processes
4.1 Modulators
4.1.1 Complex Envelope
4.1.2 Angle Modulations
4.1.3 Analytic Signal
4.2 Demodulators
4.2.1 I-Q Demodulation
4.2.2 Demodulator Coherence
4.3 PAM Link Model; Matched Filters
4.3.1 PAM-QAM Link Model
4.3.2 Matched Filters
4.4 Symbol Detection
4.4.1 Symbol-by-Symbol Detection
4.4.2 Decision Rules
4.5 Nonlinear Processes
4.6 Key Points
4.6.1 Modulators
4.6.2 Demodulators
4.6.3 PAM Link Model; Matched Filters
4.6.4 Symbol Detection for PAM-QAM Coherent Reception
4.6.5 Nonlinear Processes
4.6.6 STÆDT Processes
5 Digital Simulation of Analog Signals and Processes
5.1 Digitization
5.1.1 Quantization
5.1.2 Sampling
5.1.3 Aliasing
5.1.4 Other Features
5.1.5 Digital Representation
5.2 Digitized Signals in the Frequency Domain
5.2.1 z-Transform
5.2.2 Discrete Fourier Transform (DFT)
5.2.3 Time/Frequency Relations
5.3 Structures and Nomenclature
5.3.1 Simulation Modules
5.3.2 Data Formats
5.3.3 Properties of the Data Formats
5.4 Energy and Power Relations
5.4.1 Energy Formulas
5.4.2 Energy of Analog Pulse Trains
5.4.3 Power
5.4.4 Rationale
5.5 Key Points
5.5.1 Digitization
5.5.2 Discrete Fourier Transform
5.5.3 Structures and Formats
5.5.4 Energy and Power
5.5.5 STÆDT Processes
Appendix 5A: Aliasing Energy
Appendix 5B: Upper Bound on Magnitude of Aliasing Error
Appendix 5C: Analog/Digital Energy Relations
6 Computer Modeling of Analog Filters
6.1 Filter Algorithms
6.1.1 Frequency-Domain Filters
6.1.2 Time-Domain Convolution with Unit-Sample Response
6.1.3 Time-Domain Recursive Difference Equations
6.1.4 Complex Coefficients
6.1.5 Linear Blocks from Frequency-Domain Filters
6.2 Analog-to-Digital Filter Transformation
6.2.1 Frequency-Domain Transformations
6.2.2 Time-Domain Transformations of IIR Filters
6.2.3 Time-Domain Transformations of FIR Filters
6.3 Key Points
6.3.1 On-Line Filter Processes
6.3.2 Filter Preparation
6.3.3 STÆDT Processes
7 Generation of Data Signals
7.1 Message Source
7.1.1 Binary Shift-Register Sequences
7.1.2 Representative Sequences
7.2 Symbol Mapping
7.2.1 Mapping for Linear Modulations
7.2.2 Differential Encoding
7.2.3 Mapping for Nonlinear Modulations
7.3 Pulse Shaping
7.3.1 Generating Impulse Trains
7.3.2 Pulse-Shaping Filters
7.4 Modulators
7.4.1 Linear Modulation
7.4.2 Nonlinear Modulation
7.5 Amplifiers
7.5.1 Linear Amplifiers and Attenuators
7.5.2 Nonlinear Amplifiers
7.6 Key Points
7.6.1 Message Source
7.6.2 Symbol Mapping
7.6.3 Pulse Shaping
7.6.4 Modulators
7.6.5 Amplifiers
7.6.6 STÆDT Processes
Appendix 7A: Differential Encoding Examples
8 Overview of Reception Processes
8.1 Simple Channels
8.1.1 Model of the Medium
8.1.2 Processes Required in Receiver
8.1.3 Performance Evaluation
8.2 More-Complicated Channels
8.2.1 Nonwhite, Non-Gaussian, and Nonadditive Disturbances
8.2.2 Frequency-Selective Channels
8.2.3 Time-Varying Channels
8.3 Spread-Spectrum Processes
8.4 Afterword
9 Generation of Noise
9.1 Uniformly Distributed Samples
9.2 Gaussian Noise Generation
9.2.1 Transformation Algorithm
9.2.2 Scaling
9.2.3 Colored Noise
9.2.4 Phase Noise
9.3 Non-Gaussian Variates
9.4 Key Points
9.4.1 Noise Generation
9.4.2 STÆDT Processes
Appendix 9A: Complex Envelope of Bandpass Gaussian Noise
10 Shifters and Interpolators
10.1 Phase Shifters
10.1.1 Phase Shifting of Complex Signals
10.1.2 Phase Shifting of Real Signals
10.2 Frequency Shifters
10.2.1 Frequency Shifting of Time-Domain Complex Signals
10.2.2 Frequency Shifting of Frequency-Domain Signals
10.2.3 Frequency Shifting of Real Signals
10.3 Time Shifters
10.3.1 Discrete Time Shifts: Delays
10.3.2 Continuous Time Shifts via Transforms
10.4 Interpolation
10.4.1 Interpolator Model
10.4.2 Characteristics of Interpolating Filters
10.4.3 Simulation of Interpolation
10.4.4 Variable Delay by Interpolation
10.5 Key Points
10.5.1 Phase Shifters
10.5.2 Frequency Shifters
10.5.3 Time Shifters
10.5.4 Interpolation
10.5.5 STÆDT Processes
11 Synchronization
11.1 Synchronization by Calibration
11.1.1 Hardwire Synchronization
11.1.2 Calibration by Recovery Synchronizers
11.2 Recovery Synchronizers
11.2.1 Synchronizer Categories
11.2.2 Synchronizer Operations
11.3 Synchronizer Elements
11.3.1 Correctors
11.3.2 Timing Controllers (Feedback)
11.3.3 Carrier Regenerators
11.3.4 Clock Regenerators
11.3.5 Parameter Extractors
11.3.6 Error Detectors
11.4 Synchronizer Processes
11.5 Key Points
11.5.1 Recovery Configurations
11.5.2 Synchronizer Elements
11.5.3 STÆDT Processes
Appendix 11A: Synchronization by Correlation
Appendix 11B: Carrier Regenerators
Appendix 11C: Locating Zero Crossings by Inverse Linear Interpolation
12 Symbol Detection and Demapping
12.1 PAM-QAM Decisions
12.1.1 Minimum-Distance Decisions
12.1.2 Quantizer Decisions
12.1.3 Differential Detection of MPSK
12.2 Multiple-Strobe Decisions
12.3 Key Points
12.3.1 Minimum-Distance Detection
12.3.2 Quantizer Detection
12.3.3 Differential Detection
12.3.4 Largest-of Detection
12.3.5 Demapping
12.3.6 STÆDT Processes
13 Evaluation of Performance
13.1 Monte Carlo Counting
13.1.1 Monte Carlo Configuration
13.1.2 Monte Carlo Statistics
13.1.3 Importance Sampling
13.2 Quasianalytic Method
13.2.1 Overview of QA Methods
13.2.2 QA Computation of Error Probability
13.2.3 Phantom Noise Calibration
13.2.4 Implications of Time Invariance
13.3 Key Points
13.3.1 Monte Carlo Method
13.3.2 QA Method
13.3.3 Alignment
13.3.4 Signal and Noise Calibration
13.3.5 STÆDT Processes
Appendix 13A: Error Probabilities for Quasianalytical Evaluations
Appendix 13B: Theoretical Error Performance
Appendix 13C: Evaluation of Q(X)
Appendix 13D: Delay and Phase Alignment for Performance Evaluations
Appendix 13E: Phantom Noise Calibration
Appendix 13F: Truncation of Infinite Impulse Responses
14 Feedback Loops and Control Signals
14.1 Simulation of Feedback
14.1.1 Single-Point Format
14.1.2 Opened-Loop Simulation
14.1.3 Multiple Loops
14.2 Control Signals
14.2.1 Configuration and Properties
14.2.2 Loop Filters for Control Signals
14.3 Key Points
14.3.1 Feedback Loops
14.3.2 Control Signals
14.3.3 STÆDT Processes
15 Simulation of Digital Processes
15.1 Quantization
15.1.1 Quantizer Laws
15.1.2 Simulation of Quantizers
15.1.3 Quantizer Applications
15.2 Other Digital Issues
15.2.1 Number Representation
15.2.2 Overflow and Underflow
15.2.3 Processing Delays
15.3 Key Points
15.3.1 Quantization
15.3.2 Other Digital Issues
15.3.3 STÆDT Processes
16 Sample Rate Conversion
16.1 Block-Mode Conversions
16.1.1 Resampling Definitions
16.1.2 Block-Mode Issues
16.1.3 Reblocking
16.1.4 Block-Mode Interpolation
16.2 Single-Point Conversions
16.2.1 Flag-Mediated Control
16.2.2 Internal Scheduling
16.2.3 Mixed Scheduling
16.3 Rate-Changing Processes
16.3.1 Downsampling Processes
16.3.2 Upsampling Processes
16.3.3 Block Alterations
16.4 Key Points
16.4.1 Sample Rate Conversion
16.4.2 Interpolation
16.4.3 Block Mode
16.4.4 Single-Point Mode
16.4.5 STÆDT Processes
17 Entry and Builder Routines
17.1 Overview
17.2 Entry Routines
17.2.1 File Formats
17.2.2 Entry Tools
17.3 Conditioning
17.3.1 Conditioning of Nonlinear Amplifiers
17.3.2 Frequency Response of Filters
17.3.3 Other Conditioning Tasks
17.4 Nonlinearity Builder Routines
17.4.1 Nonlinearity Overview
17.4.2 Function Fitting
17.4.3 Interpolation
17.5 Filter Builder Routines
17.5.1 Filter Builder Constituents
17.5.2 Standard Filters
17.5.3 Frequency-Domain Builder Routines
17.5.4 Time-Domain Builder Routines
17.5.5 Specimens of Frequency Rescaling
17.6 Key Points
17.6.1 Nonlinearity Builders
17.6.2 Filter Builders
17.6.3 STÆDT Processes
18 Graphical Displays
18.1 Types of Plots
18.1.1 Time-Domain Plots
18.1.2 Frequency-Domain Plots
18.1.3 Other Plots
18.2 Units and Scales
18.2.1 Abscissas
18.2.2 Ordinates
18.2.3 Plot Windows
18.3 Data Conditioning
18.3.1 Computation of Delay
18.3.2 Spectrum Conditioning
18.4 Key Points
18.4.1 Types of Plots
18.4.2 Units and Scales
18.4.3 Data Conditioning
18.4.4 STÆDT Processes
19 Programming Issues
19.1 Simulation Language
19.1.1 Evolution of Simulation Language
19.1.2 Relation to Programming Language
19.1.3 High Level Versus Low Level
19.2 Architecture and Rules
19.2.1 User's Interface
19.2.2 Parameter Entry
19.2.3 Order of Execution
19.2.4 Data Connectivity
19.2.5 Types
19.2.6 Composite Commands
19.3 Interpreters Versus Compilers
19.3.1 Interpreters
19.3.2 Compilers
19.4 Auxiliary Features
19.5 Key Points
REFERENCES
INDEX


Models of Communication Signals and Processes | The STÆDT Program

Description
 

About the Authors
 

How to Order
 

Software Updates
 

System Requirements:

IBM-compatible PC, 640K RAM minimum, 3.5" high-density floppy drive, and hard drive.
STÆDT runs under DOS 3.3 or later or as a DOS application under Windows 3.1 or 95. Graphics support: CGA, EGA, VGA, Olivetti, AT&T, or Hercules Monochrome Graphics (Hercules requires driver not included with STÆDT).
 

Command Names used with STÆDT
 

Simulation Techniques: The STÆDT Program

TABLE OF CONTENTS OF THE REFERENCE MANUAL

1. Overview and Installation
1.1 System Requirements
1.2 Installation
1.2.1 Installation Procedures
1.2.2 Windows® Operation
1.2.3 Memory Configuration
1.3 Disk Contents
1.4 Hard Copy
1.5 Organization
1.6 Study Plan

2. Preparing and Running Simulations with STÆDTTM
2.1 What Is a Command List?
2.2 What Is a Module?
2.3 The Command Library
2.3.1 Signal Generation Processes
2.3.2 Filters
2.3.3 Signal Processes
2.3.4 Noise Generation and Calibration Processes
2.3.5 Signal Reception Processes
2.3.6 Performance-Evaluation Processes
2.3.7 Control Signal Processes
2.3.8 Data Conversion Processes
2.3.9 Single-Point Processes
2.3.10 Display Commands
2.3.11 Flow Control Commands
2.3.12 Housekeeping
2.3.13 Declaration and Assignments
2.3.14 Builder Routines
2.3.15 Composite Modules
2.3.16 LET and LETS
2.4 How a Simulation Is Conducted
2.4.1 System Block Diagram
2.4.2 System Capture to a Command List
2.4.3 Running a Simulation
2.4.4 Postsimulation User Activities
2.5 Key Points

3 Rules for Command Lists
3.1 Order of Execution of Commands
3.2 Data Connectivity
3.2.1 Naming Rules
3.2.2 Exceptions to Naming Rules
3.3 Mode Rules: Block or Single Point
3.3.1 Mode Switching
3.3.2 Block Storage
3.3.3 Single-Point Storage
3.3.4 Storage of Variables and Control Signals
3.3.5 Intermodal Connectivity
3.4 Feedback Loops
3.5 Initialization of State Information
3.5.1 Initialization Flags
3.5.2 Initial Values
3.6 Composite Modules
3.7 Sample-Rate Changing
3.7.1 Visible Tools
3.7.2 Hidden Tools
3.8 Builder Routines
3.9 Arrays
3.9.1 Array Allocations
3.9.2 Reallocation with DIM
3.10 Directories and Files
3.11 Documentation
3.11.1 Run-Time Documentation
3.11.2 Archival Documentation
3.12 Key Points
3.12.1 Fundamental Rules
3.12.2 Other Rules

4 Using the Menus Program
4.1 Starting the Menus Program
4.2 Exiting from the Menus Program
4.3 Making Menu Selections
4.3.1 Moving Between Menu Boxes
4.3.2 List Boxes
4.3.3 Input Boxes
4.3.4 Message Boxes
4.4 Leaving a Menu
4.5 Creating a New Command List
4.5.1 The EDIT Menu
4.5.2 The APPEND Submenu
4.5.3 Command Input Box
4.5.4 Name List Box
4.5.5 Deleting a Selected Command
4.5.6 Intermediate Save of Command List
4.5.7 Command List Length Limit
4.5.8 Leaving the APPEND Submenu
4.6 Specifying Process Parameters
4.6.1 Parameter Selection Menu
4.6.2 Navigating in the Parameter Tables
4.6.3 Allowable Entries for Parameter Values
4.7 The File Menu
4.7.1 The File Selection Menu
4.7.2 SAVE a Command List
4.7.3 LOAD a Command List
4.7.4 VIEW a Command List
4.7.5 PRINT a Command List
4.7.6 TRANSLATE a Command List
4.7.7 EXECUTE a Command List
4.7.8 RETURN to Main Menu
4.8 Editing an Existing Command List
4.8.1 ERASE ALL Existing Command List
4.8.2 APPEND after
4.8.3 INSERT before
4.8.4 Entering New Commands
4.8.5 DELETE LINE
4.8.6 CHANGE Parameter Values
4.8.7 MERGE Command Lists
4.8.8 Composite Special Procedure
4.8.9 RETURN to Main Menu
4.9 The Colors Menu
4.9.1 Color Options
4.9.2 UPDATE Color Selections
4.9.3 Return to Main Menu
4.10 DOS SHELL

5 Command Library Reference
5.1 Command Names
5.2 Signals and Variables
5.2.1 Data Signals
5.2.2 Variables and Control Signals
5.3 Parameters
5.3.1 Output- and Input-Name Parameters
5.3.2 Parameter Values
5.3.3 Parameters That Name Files
5.3.4 Parameters That Require Variables
5.3.5 Selection Parameters
5.3.6 Bypass Parameters
5.3.7 Initialization Parameters
5.4 Plot and Print Commands
5.4.1 Operating Procedures
5.4.2 Display Formats
5.5 Command Documentation (Reference material for each command, arranged in alphabetical order by abbreviated command name)
STÆDTTM Commands

6 Applications of STÆDTTM
6.1 Preliminaries
6.1.1 System Checkout: SMRTCHK
6.1.2 Command List Features
6.1.3 Interpretation of Displays
6.2 Guide to the Exercises
6.3 Circular-Block Examples
6.3.1 QPSK Example: CIRQPSK
6.3.2 VSB Example: CIRVSB
6.4 Linear-Block Examples
6.4.1 p/4-QPSK Example: PI-4QPSK
6.4.2 p/4-QPSK with Nonlinear Transmitter: NLPI-4
6.5 Single-Point, Feedback Example
6.5.1 Digital Phase-Locked Loop: DPLL
6.6 Cross Reference of Commands in Examples

7 Creating Your Own Signal Process
7.1 Overview
7.2 What You Will Need
7.3 Software Architecture
7.3.1 Command Tasks
7.3.2 Using the Template XXX.BAS
7.3.3 Summary of Housekeeping Activities
7.3.4 Data Structure in COMMON
7.3.5 Data Signal I/O
7.3.6 Command List Variables and Control Signals
7.3.7 Functions
7.3.8 State Variables
7.3.9 Error Handling
7.4 Step 1: Write Source Code by Template and Example
7.4.1 Naming the New Command
7.4.2 The Function Declaration
7.4.3 $INCLUDE and $DYNAMIC Statement
7.4.4 Comment Lines
7.4.5 Function Definition
7.4.6 Declare Local Variables
7.4.7 Set Return Value
7.4.8 Finding a Command's Parameters
7.4.9 Finding Data-Signal Input
7.4.10 Bypass/No Input
7.4.11 Initializations
7.4.12 Retrieve Previous State Variables
7.4.13 Error Handling
7.4.14 Code for the Core Algorithm
7.4.15 Write Outputs from Your Command
7.4.16 Terminate Your Command
7.4.17 Save the Source Code
7.5 Steps 2-7: Incorporate the New Command into STÆDT
7.5.1 Step 2: Modify the Library Manager
7.5.2 Step 3: Compile the New Command
7.5.3 Step 4: Link the New Command
7.5.4 Step 5: Modify the Menus Program
7.5.5 Step 6: Test and Debug New Command
7.5.6 Step 7: Prepare Documentation

Appendix A: Menus Quick Reference
Appendix B: String Constants Used in Parameters
Appendix C: Command List Format
Appendix D: Error Messages
Appendix E: Procedures Available to New Commands
INDEX

Description of Products | Tables of Contents | Download Software Updates | Other Publications & Resources of Interest | How to Order | Simulation Techniques Home Page


Copyright © 1998 John Wiley & Sons, Inc. All rights reserved.