Simulating Wireless Communication Systems: Practical Models in C++
C. Britton Rorabaugh
The practical, inclusive reference for engineers simulating wireless systems
In order to keep prices within reach of the average consumer, cellular phone and wireless data transceiver manufacturers resort to mass producing millions of units from a single design. Considering the design complexity and fabrication expense involved, typical prototyping is not practical–designs must first be tested and honed using simulation.
Author C. Britton Rorabaugh brings to the table more than 20 years of experience simulating large, state-of-the-art communications systems. In Simulating Wireless Communication Systems, Rorabaugh explores, using C++, practical and authoritative techniques for simulating even the most complex wireless communication systems. Along the way he shows you how to create custom simulations that fit your project's intended design, so that you and your engineering team aren't forced to resort to inadequate commercial simulation packages.
This book includes nearly two hundred models of practical devices for implementing wireless communication systems and major subsystems. Mathematical and statistical appendices are also included to provide useful information for those seeking to understand, set up, and use any of Rorabaugh's detailed device models.
- A background and overview of simulation
- Discussion of a variety of model types, including Random Process, Filter, and Channel models
- Practical modulation and demodulation
- Synchronization, signal shifting, and recovery
- Detailed instructions for working with Galois fields
- A comprehensive companion Web site featuring dozens of ready-to-run software modules
If you're an engineer or wireless communication project manager, then Simulating Wireless Communication Systems: Practical Models in C++ will prove to be both a convenient reference and an ideal instructional manual for the creation of specialized wireless communication simulations that will enable you to bring your product to market in a cost-effective and efficient manner.
C. BRITTON RORABAUGH has a BS and MS in Electrical Engineering from Drexel University and currently holds the position of Chief Scientist for a company that develops and manufactures specialized military communications equipment. He is the author of several publications on topics such as DSP, Digital Filters, and Error Coding and has experience in object-oriented design, realtime software, numerical methods, computer graphics, C++, C, SPW, MATLAB®, Visio®, TEX/LATEX, Microsoft® Office, and assembly languages for various microprocessors and DSP devices.
PRENTICE HALL Professional Technical Reference Upper Saddle River, NJ 07458
© Copyright Pearson Education. All rights reserved.
|Product dimensions:||7.03(w) x 9.51(h) x 1.25(d)|
About the Author
C. BRITTON RORABAUGH has a BS and MS in Electrical Engineering from Drexel University and currently holds the position of Chief Scientist for a company that develops and manufactures specialized military communications equipment. He is the author of several publications on topics such as DSP, Digital Filters, and Error Coding and has experience in object-oriented design, realtime software, numerical methods, computer graphics, C++, C, SPW, MATLAB, Visio, TEX/LATEX, Microsoft Office, and assembly languages for various microprocessors and DSP devices.
Read an Excerpt
Modern communications systems and the devices operating within these systems would not be possible without simulation, but practical information specific to the simulation of communications systems is relatively scarce. My motive for writing this book was to collect and capture in a useful form the techniques that can be used to simulate a wireless communication system using C++. It has been my experience that organizations newly confronted with a need to simulate a communication system are in a rush to get started. Consequently, these organizations will purchase a commercial simulation package like SPW or MATLAB Simulink without even considering the alternative of constructing their own simulation using C++. In the beginning, progress comes quickly as simple systems are configured from standard library models. Only when they begin to model the more complex proprietary parts of their systems do these organizations begin to realize how much control and flexibility they sacrificed in going with a commercial package. It is not possible for any library of precoded models to be absolutely complete. There will always be a need to build a highly specialized model or make modifications to existing models. A user attempting to do either, using a commercial package, usually spends more time dealing with the rules and limitations of the simulation infrastructure than with the details of the model algorithms themselves.
In the mid 1990s, I was the architect and lead designer for a proprietary simulation package that was used to simulate the wireless data communication links in several very large U.S. defense systems. This package wasn’t perfect—software never is—but I drew upon this experience, and while writing this book, I developed a simpler simulation package that avoids many of the complexities and objectionable features of my earlier effort. This new package is called PracSim, which is short for Practical Simulation. All of the source code for the models and infrastructure comprising the PracSim package is provided on the Prentice Hall Web site (http://authors.phptr.com/rorabaugh/). Examples of this code are prexv sented and discussed throughout the book, but there is far too much code to include it all in the text. The library of PracSim models is not intended to be complete, but rather to provide a foundation that users can modify or build upon as needed to capture the nuances of the particular systems they are attempting to model.
I didn’t keep accurate records, but I’m sure that construction of the PracSim software took far more time than the actual writing of the text. I would like to thank my wife Joyce, son Geoffrey, daughter Amber, and mother-in-law Eleanor for not complaining too much about all the time I spent on this project and for dealing with all of the household problems that I never seemed to have time for. I would also like to thank my editor, Bernard Goodwin, for his patience despite the numerous times that I postponed delivery of the final manuscript.
Table of Contents
1. Simulation: Background and Overview.
2. Simulation Infrastructure.
3. Signal Generators.
Elementary Signal Generators.
Sampling Baseband Signals.
Baseband DataWaveform Generators.
Modeling Bandpass Signals.
4. Random Process Models.
Random Sequence Generators.
Continuous-Time Noise Processes.
Additive Gaussian Noise Generators.
Parametric Models of Random Processes.
5. Discrete Transforms.
Discrete Fourier Transform.
Small -N Transforms.
Prime Factor Algorithm.
6. Spectrum Estimation.
Windowing and Other Issues.
7. System Characterization Tools.
8. Filter Models.
Analog Filter Responses.
Classical Analog Filters.
Simulating Filters via Numerical Integration.
Using IIR Digital Filters to Simulate Analog Filters.
Filtering in the Frequency Domain.
9. Modulation and Demodulation.
Quadrature Phase Shift Keying.
Binary Phase Shift Keying.
Multiple Phase Shift Keying.
Frequency Shift Keying.
Minimum Shift Keying.
10. Amplifiers and Mixers.
Characterizing Nonlinear Amplifiers.
Two-Box Nonlinear Amplifier Models.
11. Synchronization and Signal Shifting.
Shifting Signals in Time.
Correlation-Based Delay Estimation.
Phase-Slope Delay Estimation.
Changing Clock Rates.
12. Synchronization Recovery.
Linear Phase-Locked Loops.
Digital Phase-Locked Loops.
13. Channel Models.
Discrete Memoryless Channels.
Characterization of Time-Varying Random Channels.
Diffuse Multipath Channels.
Discrete Multipath Channels.
14. Multirate Simulations.
Basic Concepts of Multirate Signal Processing.
Filter Design for Interpolators and Decimators.
Multirate Processing for Bandpass Signals.
15. Modeling DSP Components.
Quantization and Finite-Precision Arithmetic.
16. Coding and Interleaving.
Viterbi Decoding with Soft Decisions.
A. Mathematical Tools.
Table of Integrals.
Modified Bessel Functions of the First Kind.
B. Probability Distributions in Communications.
C. Galois Fields.
Computer Generation of Extension Fields.
Minimal Polynomials and Cyclotomic Cosets.