 Shopping Bag ( 0 items )

All (15) from $9.75

New (9) from $82.43

Used (6) from $5.60
More About This Textbook
Overview
Product Details
Related Subjects
Meet the Author
WILLIAM H. TRANTER is Bradley Professor of Communications and Associate Director of the Mobile and Portable Radio Research Group at Virginia Tech. He has authored or coauthored many technical papers and two widely used textbooks: Principles of Communications: Systems, Modeling, and Noise, Fifth Edition and Signals and Systems: Continuous and Discrete, Fourth Edition. He is a Fellow of the IEEE and currently serves as Vice President  Technical Activities of the IEEE Communications Society.
K. SAM SHANMUGAN is Southwestern Bell Distinguished Professor of Electrical Engineering and Computer Science at The University of Kansas, Lawrence. He is a Fellow of the IEEE and author or coauthor of over 100 publications and three books: Digital and Analog Communication Systems, Random Signals and Noise, and Simulation of Communication Systems, Second Edition.
THEODORE S. RAPPAPORT is a professor of Electrical and Computer Engineering at the University of Texas, and director of the Wireless Networking and Communications Group (WNCG.org). In 1990, he founded the Mobile and Portable Radio Research Group (MPRG) at Virginia Tech, one of the first university research and educational programs for the wireless communications field. He is the editor or coeditor of four other books on the topic of wireless communications, based on his teaching and research activities at MPRG.
KURT L. KOSBAR is Assistant Chair for Laboratories and Equipment, Department of Electrical and Computer Engineering, University of Missouri, Rolla.
Read an Excerpt
Preface
This book is a result of the recent rapid advances in two related technologies: communications and computers. Over the past few decades, communication systems have increased in complexity to the point where system design and performance analysis can no longer be conducted without a significant level of computer support.
Many of the communication systems of fifty years ago were either power or noise limited. A significant degrading effect in many of these systems was thermal noise, which was modeled using the additive Gaussian noise channel. Many modern communication systems, however, such as the wireless cellular system, operate in environments that are interference and bandwidth limited. In addition, the desire for wideband channels and miniature components pushes transmission frequencies into the gigahertz range, where propagation characteristics are more complicated and multipathinduced fading is a common problem. In order to combat these effects, complex receiver structures, such as those using complicated synchronization structures, demodulators and symbol estimators, and RAKE processors, are often used. Many of these systems are not analytically tractable using noncomputer based techniques, and simulation is often necessary for the design and analysis of these systems.
The same advances in technology that made modern communication systems possible, namely microprocessors and DSP techniques, also provided us with highspeed digital computers. The modern workstation and personal computer (PC) have computational capabilities greatly exceeding the mainframe computers used just a few years ago. In addition, modern workstations and PCs are inexpensive and therefore available at the desktop of design engineers. As a result, simulationbased design and analysis techniques are practical tools widely used throughout the communications industry.
As a result, graduatelevel courses dealing with simulationbased design and analysis of communication systems are becoming more common. Students derive a number of benefits from these courses. Through the use of simulation, students in communications courses can study the operating characteristics of systems that are more complex and more real world than those studied in traditional communications courses since, in traditional courses, complexity must be constrained to ensure that analyses can be conducted. Simulation allows system parameters to be easily changed, and the impact of these changes can be rapidly evaluated by using interactive and visual displays of simulation results. In addition, an understanding of simulation techniques supports the research programs of many graduate students working in the communications area. Finally, students going into the communications industry upon graduation have skills needed by industry. This book is intended to support these courses.
A number of the applications and examples discussed in this book are targeted to wireless communication systems. This was done for several reasons. First, many students studying communications will eventually work in the wireless industry. Also, a significant number of graduate students pursuing universitybased research are working on problems related to wireless communications. Finally, as a result of the high level of interest in wireless communications, many graduate programs contain courses in wireless communications. This book is designed to support, at least in part, these courses, as well as the selfstudy needs of the working engineer.
This book is divided into three major sections. The first section, Introduction, consists of two chapters. The first of these introductory chapters discusses the motivation for using simulation in both the analysis and the design process. The theory of simulation is shown to draw on several classic fields of study such as number theory, probability theory, stochastic processes, and digital signal processing, to name only a few. We hope that students will appreciate that the study of simulation ties together, or unifies, material from a number of separate areas of study. Different types of simulations are discussed, as well as software packages used for simulation.
The development of appropriate simulation models and simulation methodology is a basic theme of this book, and the basic concepts of model development are introduced in Chapters 1 and 2. Chapter 2 focuses on methodology at a very high level. Many of the basic concepts used throughout the book are introduced here. Students are encouraged to revisit this material frequently as the remainder of the book is studied. Revisiting this material will help ensure that the big picture remains in focus as specific concepts are explored in detail.
The second section, Fundamental Techniques, consists of nine chapters (Chapters 311). These nine chapters present basic material encountered in almost all simulations of communication systems. The sampling theorem, and the role of the sampling theorem in simulation, is the subject of Chapter 3. Also covered are quantization, pulse shaping, and the effect of pulse shaping on the required sampling frequency. The representation of bandpass signals by quadrature lowpass signals, which is a fundamental tool of simulation methodology, is the subject of Chapter 4. This is a key chapter, in that the techniques presented here will be used repeatedly throughout the book. Filter models and simulation techniques for digital filters are the subject of Chapter 5. Filters, of course, have memory, and more computation is required to simulate filters than most other functional blocks in a system. As a result, filters must be efficiently simulated if reasonable run times are to be achieved. The simulation of a phaselocked loop is presented as a case study in Chapter 6. The student should realize that, even though this material is presented early in the study of simulation, important problems can be investigated with the tools developed to this point. This case study focuses on the acquisition behavior of the phaselocked loop. Acquisition studies require the use of nonlinear models and, as a result, analysis is very difficult using traditional techniques. The methodology used to develop the simulation is presented in detail, and serves as a guide to the simulations developed later in the book. The simulation techniques for generating random numbers are the subject of Chapter 7. Initially, the focus is on the generation of a pseudorandom sequence having a uniform probability density function (pdf). Both linear conguential methods and techniques based on pseudonoise (PN) sequences are included. A number of methods for shaping the pdf and PSD of a random sequence are presented. Postprocessing, which is the manipulation of the data generated by a simulation into desired forms for visualization and analysis, is the subject of Chapter 8. Monte Carlo simulation techniques are introduced in Chapter 9 as a general tool for estimating the value of a parameter. The concept of unbiased and consistent estimators is introduced, and the convergence properties of estimators is investigated. The concepts developed in Chapter 9 are applied to communications systems in Chapter 10, which is devoted to Monte Carlo and semianalytic simulation of communication systems. Several simple examples are presented in this chapter. Chapter 11 discusses in detail the methodology used for simulating a wireless communications system in a slowlyvarying environment. The calculation of the outage probability is emphasized, and a number of semianalytic techniques are presented for reducing the simulation run time.
The third section of this book, Advanced Models and Simulation Techniques, is devoted to a number of specialized topics encountered when developing more advanced simulations. Chapter 12 is devoted to the simulation of nonlinear systems. Model development based on measurements is emphasized, and a number of models that have found widespread use are presented. Chapter 13 deals with timevarying systems. The important subject of modeling timevarying channels is introduced. Chapter 14 presents a number of models for waveform channels. Drawing on the material presented in the preceding chapter, models for multipath fading channels are developed. Chapter 15 continues the study of channel models, and presents techniques for replacing waveform channel models with discrete channel models at the symbol level. The motivation is a significant reduction in the required simulation run time. The principal tools used are the BaumWelch algorithm and the hidden Markov model. System models based on the hidden Markov model are presented. Chapter 16 deals with various strategies for reducing the variance of a bit error rate estimator. Several strategies are presented, but the emphasis is on importance sampling. Chapter 17 is devoted to the simulation of wireless cellular communication systems. It is shown that cellular systems tend to be interference limited rather than noise limited. In many systems, cochannel interference is a major degrading effect. Chapter 18 concludes the book with two example simulations. The first of these considers a CDMA system, and presents a simulation in which the bit error rate is computed as a function of the spreadspectrum processing gain, the number of interferers, the powerdelay profile, and the signaltonoise ratio at the receiver input. The data collected by the simulation is used to construct a discrete channel model based on the hidden Markov model. The hidden Markov model is then used to statistically reconstruct the error events on the channel. The BER is then computed using the discrete channel model, and the results are compared with the results obtained using a waveformlevel channel model. The second example is an FDM system operating over a nonlinear channel. The effect of intermodulation distortion on bit error rate is investigated using semianalytic techniques. From the preceding discussion, it is clear that this book covers a very wide range of topics. A completely rigorous treatment of all of the topics considered here would require a volume many times the size of this book, and the result would not be suitable as a course textbook. A compromise between completeness and rigor must always be made in developing a textbook. We have, in developing this book, attempted to provide sufficient rigor to make the results both understandable and believable. A large number of references are given for those wishing additional study.
Although this book is targeted to a onesemester course in communications, there is more material included here than is typically covered in a onesemester course. In the view of the authors, all courses using this book should cover the first two sections (Chapters 111). The instructor can then complete the course with selected material from the third section (Chapters 1218), assuming that time is available. A number of computer programs, written in MATLAB, are included in the text. The decision to include computer code within the body of the book was made for a number of reasons. First, the programs illustrate the methodology used to develop simulations, and illustrate the algorithms used to perform a number of important DSP operations. In addition, many code segments included in the MATLAB examples can be used by the student to aid the development of their own simulations. In order not to break the flow of the material, only short programs, those requiring no more than a single page of text, are included within the body of the chapters. Programs that are too long to fit on a single page are placed in appendices at the end of the chapter. The MATLAB code included here is designed to be easily followed by the student. For that reason, a number of the MATLAB programs are not written in the most efficient manner possible, in that forloops are often used when the loop could be replaced by a matrix operation. It is not suggested that the student type the computer code from the text. A web page is maintained by Prentice Hall containing all of the computer code included in the text, and code can be downloaded from this site. The URL is <http://authors.phptr.com/tranter/>.
The MATLAB code on this site will be updated periodically in order to ensure that errors and omissions are corrected. The choice of MATLAB requires some explanation. There are a number of reasons for this choice, and these are discussed in detail in Chapter 1. The main motivations are compactness (complex algorithms can be expressed with a very few lines of code), graphics support, and the installed base. Since MATLAB is used extensively in engineering curricula, most students will already have the resources required to execute the MATLAB programs contained herein. Many simulation programs involve extensive computational burden, and reasonable execution run times require the use of a compiled language such as C or C++. This is especially true of Monte Carlo simulations used to estimate the bit error rate when the signalto noise ratio is high. Many symbols must be processed through the channel in order to achieve a quality (low variance) estimator. MATLAB, however, is a powerful tool even in this situation, since a prototype simulation can be developed in MATLAB to design and test the individual signalprocessing algorithms, as well as the entire simulation. The resulting MATLAB code can then be mapped to C or C++ code for more efficient execution, and the results obtained can be compared against the results achieved with the prototype MATLAB simulation. Using MATLAB for prototyping allows conceptual errors to be quickly identified, which often speeds the development of the final software product. SIMULINK, although designed for simulation, was not used in this book, so that the details of the algorithms used in simulation programs, and the methodology used to develop the simulation code, would be clear to the students.
Acknowledgments
A number of colleagues, research sponsors, and organizations have contributed significantly to this book. Early in this project a CRCD (Combined Research Curriculum Development) grant was awarded to Virginia Tech by the National Science Foundation. Much of the material in Chapters 310 and Chapter 17 was developed as a part of this effort. The NSF program manager Mary Poats, encouraged us to develop simulationbased courses within the communications curriculum, and we thank her for the encouragement and support. The authors thank Cyndy Graham of Virginia Tech for her LaTeX skills, and for managing the development of such a large manuscript. In addition, the individual authors have the following specific acknowledgements:
William H. Tranter thanks the many students who took the simulation of communications systems course at the University of MissourinRolla, Canterbury University (Christchurch, New Zealand), and at Virginia Tech from the notes that formed the basis of much of this book. These students provided many valuable suggestions. Specific thanks are due to Jing Jiang, who helped with the semianalytic estimators in Chapter 10; Ihsan Akbar, who did much of the coding of the Markov and semiMarkov model estimators in Chapter 15 (especially the code contained in Appendices B, C, and D); and Bob Boyle, who developed the CDMA estimator upon which the CDMA case study in Chapter 18 is based. He also thanks Sam Shanmugan, who provided friendship, support, encouragement, and above all patience, through the years that it took to bring this material together. Also to be thanked are Des Taylor and Richard Duke, who provided support through an Erskine Fellowship at Canterbury University, and Theodore Rappaport at Virginia Tech, who provided support during a sabbatical year. It was during this sabbatical that much of the material in the early chapters of this book were originally drafted.
Sam Shanmugan would like to thank his colleagues and students at the University of Kansas, who have in many ways contributed to this book, and also the University of Canterbury, Christchurch, New Zealand for the Erskine Professorship during his sabbatical when much of this book was written. He would also like to thank his wife for her patience, understanding, and support while he was working on this and on many other writing projects. Dr. Shanmugan would like to add a special note of thanks to his coauthor Professor William Tranter, for his friendship and the extra effort he put in towards pulling together all the material for this book.
Ted Rappaport wishes to thank his many graduate students who provided insights and support through their teaching and research activites in wireless communications simulation and analysis. In particular, Prof. Paulo Cardieri, University of CampinasoUNICAMP, Brazil; Hao Xu of QUALCOMM Incorporated; and Prof. Gregory Durgin of the Georgia Institute of Technology, all contributed suggestions for the text. In particular, Dr. Cardieri's experiences as a graduate student researcher formed the basis of Chapter 17.
Kurt Kosbar thanks the students who screened early versions of this material, and the reviewers who provided valuable comments, including Douglas Bell, Harry Nichols, and David Cunningham.
William H. Tranter K. Sam Shanmugan Theodore S. Rappaport Kurt L. Kosbar
Table of Contents
Preface.
I. INTRODUCTION.
1. The Role of Simulation.
Examples of Complexity. Multidisciplinary Aspects of Simulation. Models. Deterministic and Stochastic Simulations. The Role of Simulation. Software Packages for Simulation. A Word of Warning. The Use of MATLAB. Outline of the Book. Further Reading.
2. Simulation Methodology.
Introduction. Aspects of Methodology. Performance Estimation. Summary. Further Reading. Problems.
II. FUNDAMENTAL CONCEPTS AND TECHNIQUES.
3. Sampling and Quantizing.
Sampling. Quantizing. Reconstruction and Interpolation. The Simulation Sampling Frequency. Summary. Further Reading. References. Problems.
4. Lowpass Simulation Models for Bandpass Signals and Systems.
The Lowpass Complex Envelope for Bandpass Signals. Linear Bandpass Systems. Multicarrier Signals. Nonlinear and TimeVarying Systems. Summary. Further Reading. References. Problems. Appendix A: MATLAB Program QAMDEMO. Appendix B: Proof of InputOutput Relationship.
5. Filter Models and Simulation Techniques.
Introduction. IIR and FIR Filters. IIR and FIR Filter Implementations. IIR Filters: Synthesis Techniques and Filter Characteristics. FIR Filters: Synthesis Techniques and Filter Characteristics. Summary. Further Reading. References. Problems. Appendix A: Raised Cosine Pulse Example. Appendix B: Square Root Raised Cosine Pulse Example. Appendix C: MATLAB Code and Data for Example 5.11.
6. Case Study: PhaseLocked Loops and Differential Equation Methods.
Basic PhaseLocked Loop Concepts. FirstOrder and SecondOrder Loops. Case Study: Simulating the PLL. Solving Differential Equations Using Simulation. Summary. Further Reading. References. Problems. Appendix A: PLL Simulation Program. Appendix B: Preprocessor for PLL Example Simulation. Appendix C: PLL Postprocessor. Appendix D: MATLAB Code for Example 6.3.
7. Generating and Processing Random Signals.
Stationary and Ergodic Processes. Uniform Random Number Generators. Mapping Uniform RVs to an Arbitrary pdf. Generating Uncorrelated Gaussian Random Numbers. Generating Correlated Gaussian Random Numbers. Establishing a pdf and a PSD. PN Sequence Generators. Signal Processing. Summary. Further Reading. References. Problems. Appendix A: MATLAB Code for Example 7.11. Main Program: c7 Jakes.m.
8. Postprocessing.
Basic Graphical Techniques. Estimation. Coding. Summary. Further Reading. References. Problems. Appendix A: MATLAB Code for Example 8.1.
9. Introduction to Monte Carlo Methods.
Fundamental Concepts. Application to Communications Systemsâ€”The AWGN Channel. Monte Carlo Integration. Summary. Further Reading. References. Problems.
10. Monte Carlo Simulation of Communication Systems.
Two Monte Carlo Examples. Semianalytic Techniques. Summary. References. Problems. Appendix A: Simulation Code for Example 10.1. Appendix B: Simulation Code for Example 10.2. Appendix C: Simulation Code for Example 10.3. Appendix D: Simulation Code for Example 10.4.
11. Methodology for Simulating a Wireless System.
SystemLevel Simplifications and Sampling Rate Considerations. Overall Methodology. Summary. Further Reading. References. Problems.
III. ADVANCED MODELS AND SIMULATION TECHNIQUES.
12. Modeling and Simulation of Nonlinearities.
Introduction. Modeling and Simulation of Memoryless Nonlinearities. Modeling and Simulation of Nonlinearities with Memory. Techniques for Solving Nonlinear Differential Equations. PLL Example. Summary. Further Reading. References. Problems. Appendix A: Saleh's Model. Appendix B: MATLAB Code for Example 12.2.
13. Modeling and Simulation of TimeVarying Systems.
Introduction. Models for LTV Systems. Random Process Models. Simulation Models for LTV Systems. MATLAB Examples. Summary. Further Reading. References. Problems. Appendix A: Code for MATLAB Example 1. Appendix B: Code for MATLAB Example 2.
14. Modeling and Simulation of Waveform Channels.
Introduction. Wired and Guided Wave Channels. Radio Channels. Multipath Fading Channels. Modeling Multipath Fading Channels. Random Process Models. Simulation Methodology. Summary. Further Reading. References. Problems. Appendix A: MATLAB Code for Example 14.1. Appendix B: MATLAB Code for Example 14.2.
15. Discrete Channel Models.
Introduction. Discrete Memoryless Channel Models. Markov Models for Discrete Channels with Memory. Example HMMsâ€”Gilbert and Fritchman Models. Estimation of Markov Model Parameters. Two Examples. Summary. Further Reading. References. Problems. Appendix A: Error Vector Generation. Appendix B: The BaumWelch Algorithm. Appendix C: The SemiHidden Markov Model. Appendix D: RunLength Code Generation. Appendix E: Determination of ErrorFree Distribution.
16. Efficient Simulation Techniques.
Tail Extrapolation. pdf Estimators. Importance Sampling. Summary. Further Reading. References. Problems. Appendix A: MATLAB Code for Example 16.3.
17. Case Study: Simulation of a Cellular Radio System.
Introduction. Cellular Radio System. Simulation Methodology. Summary. Further Reading. References. Problems. Appendix A: Program for Generating the Erlang B Chart. Appendix B: Initialization Code for Simulation. Appendix C: Modeling CoChannel Interference. Appendix D: MATLAB Code for Wilkinson's Method.
18. Two Example Simulations.
A CodeDivision Multiple Access System. FDM System with a Nonlinear Satellite Transponder. References. Appendix A: MATLAB Code for CDMA Example. Appendix B: Preprocessors for CDMA Application. Appendix C: MATLAB Function c18 errvector.m. Appendix D: MATLAB Code for Satellite FDM Example.
Index.
About The Authors.
Preface
Preface
This book is a result of the recent rapid advances in two related technologies: communications and computers. Over the past few decades, communication systems have increased in complexity to the point where system design and performance analysis can no longer be conducted without a significant level of computer support.
Many of the communication systems of fifty years ago were either power or noise limited. A significant degrading effect in many of these systems was thermal noise, which was modeled using the additive Gaussian noise channel. Many modern communication systems, however, such as the wireless cellular system, operate in environments that are interference and bandwidth limited. In addition, the desire for wideband channels and miniature components pushes transmission frequencies into the gigahertz range, where propagation characteristics are more complicated and multipathinduced fading is a common problem. In order to combat these effects, complex receiver structures, such as those using complicated synchronization structures, demodulators and symbol estimators, and RAKE processors, are often used. Many of these systems are not analytically tractable using noncomputer based techniques, and simulation is often necessary for the design and analysis of these systems.
The same advances in technology that made modern communication systems possible, namely microprocessors and DSP techniques, also provided us with highspeed digital computers. The modern workstation and personal computer (PC) have computational capabilities greatly exceeding the mainframe computers used just a few years ago. In addition, modern workstations and PCs are inexpensive and therefore available at the desktop of design engineers. As a result, simulationbased design and analysis techniques are practical tools widely used throughout the communications industry.
As a result, graduatelevel courses dealing with simulationbased design and analysis of communication systems are becoming more common. Students derive a number of benefits from these courses. Through the use of simulation, students in communications courses can study the operating characteristics of systems that are more complex and more real world than those studied in traditional communications courses since, in traditional courses, complexity must be constrained to ensure that analyses can be conducted. Simulation allows system parameters to be easily changed, and the impact of these changes can be rapidly evaluated by using interactive and visual displays of simulation results. In addition, an understanding of simulation techniques supports the research programs of many graduate students working in the communications area. Finally, students going into the communications industry upon graduation have skills needed by industry. This book is intended to support these courses.
A number of the applications and examples discussed in this book are targeted to wireless communication systems. This was done for several reasons. First, many students studying communications will eventually work in the wireless industry. Also, a significant number of graduate students pursuing universitybased research are working on problems related to wireless communications. Finally, as a result of the high level of interest in wireless communications, many graduate programs contain courses in wireless communications. This book is designed to support, at least in part, these courses, as well as the selfstudy needs of the working engineer.
This book is divided into three major sections. The first section, Introduction, consists of two chapters. The first of these introductory chapters discusses the motivation for using simulation in both the analysis and the design process. The theory of simulation is shown to draw on several classic fields of study such as number theory, probability theory, stochastic processes, and digital signal processing, to name only a few. We hope that students will appreciate that the study of simulation ties together, or unifies, material from a number of separate areas of study. Different types of simulations are discussed, as well as software packages used for simulation.
The development of appropriate simulation models and simulation methodology is a basic theme of this book, and the basic concepts of model development are introduced in Chapters 1 and 2. Chapter 2 focuses on methodology at a very high level. Many of the basic concepts used throughout the book are introduced here. Students are encouraged to revisit this material frequently as the remainder of the book is studied. Revisiting this material will help ensure that the big picture remains in focus as specific concepts are explored in detail.
The second section, Fundamental Techniques, consists of nine chapters (Chapters 311). These nine chapters present basic material encountered in almost all simulations of communication systems. The sampling theorem, and the role of the sampling theorem in simulation, is the subject of Chapter 3. Also covered are quantization, pulse shaping, and the effect of pulse shaping on the required sampling frequency. The representation of bandpass signals by quadrature lowpass signals, which is a fundamental tool of simulation methodology, is the subject of Chapter 4. This is a key chapter, in that the techniques presented here will be used repeatedly throughout the book. Filter models and simulation techniques for digital filters are the subject of Chapter 5. Filters, of course, have memory, and more computation is required to simulate filters than most other functional blocks in a system. As a result, filters must be efficiently simulated if reasonable run times are to be achieved. The simulation of a phaselocked loop is presented as a case study in Chapter 6. The student should realize that, even though this material is presented early in the study of simulation, important problems can be investigated with the tools developed to this point. This case study focuses on the acquisition behavior of the phaselocked loop. Acquisition studies require the use of nonlinear models and, as a result, analysis is very difficult using traditional techniques. The methodology used to develop the simulation is presented in detail, and serves as a guide to the simulations developed later in the book. The simulation techniques for generating random numbers are the subject of Chapter 7. Initially, the focus is on the generation of a pseudorandom sequence having a uniform probability density function (pdf). Both linear conguential methods and techniques based on pseudonoise (PN) sequences are included. A number of methods for shaping the pdf and PSD of a random sequence are presented. Postprocessing, which is the manipulation of the data generated by a simulation into desired forms for visualization and analysis, is the subject of Chapter 8. Monte Carlo simulation techniques are introduced in Chapter 9 as a general tool for estimating the value of a parameter. The concept of unbiased and consistent estimators is introduced, and the convergence properties of estimators is investigated. The concepts developed in Chapter 9 are applied to communications systems in Chapter 10, which is devoted to Monte Carlo and semianalytic simulation of communication systems. Several simple examples are presented in this chapter. Chapter 11 discusses in detail the methodology used for simulating a wireless communications system in a slowlyvarying environment. The calculation of the outage probability is emphasized, and a number of semianalytic techniques are presented for reducing the simulation run time.
The third section of this book, Advanced Models and Simulation Techniques, is devoted to a number of specialized topics encountered when developing more advanced simulations. Chapter 12 is devoted to the simulation of nonlinear systems. Model development based on measurements is emphasized, and a number of models that have found widespread use are presented. Chapter 13 deals with timevarying systems. The important subject of modeling timevarying channels is introduced. Chapter 14 presents a number of models for waveform channels. Drawing on the material presented in the preceding chapter, models for multipath fading channels are developed. Chapter 15 continues the study of channel models, and presents techniques for replacing waveform channel models with discrete channel models at the symbol level. The motivation is a significant reduction in the required simulation run time. The principal tools used are the BaumWelch algorithm and the hidden Markov model. System models based on the hidden Markov model are presented. Chapter 16 deals with various strategies for reducing the variance of a bit error rate estimator. Several strategies are presented, but the emphasis is on importance sampling. Chapter 17 is devoted to the simulation of wireless cellular communication systems. It is shown that cellular systems tend to be interference limited rather than noise limited. In many systems, cochannel interference is a major degrading effect. Chapter 18 concludes the book with two example simulations. The first of these considers a CDMA system, and presents a simulation in which the bit error rate is computed as a function of the spreadspectrum processing gain, the number of interferers, the powerdelay profile, and the signaltonoise ratio at the receiver input. The data collected by the simulation is used to construct a discrete channel model based on the hidden Markov model. The hidden Markov model is then used to statistically reconstruct the error events on the channel. The BER is then computed using the discrete channel model, and the results are compared with the results obtained using a waveformlevel channel model. The second example is an FDM system operating over a nonlinear channel. The effect of intermodulation distortion on bit error rate is investigated using semianalytic techniques. From the preceding discussion, it is clear that this book covers a very wide range of topics. A completely rigorous treatment of all of the topics considered here would require a volume many times the size of this book, and the result would not be suitable as a course textbook. A compromise between completeness and rigor must always be made in developing a textbook. We have, in developing this book, attempted to provide sufficient rigor to make the results both understandable and believable. A large number of references are given for those wishing additional study.
Although this book is targeted to a onesemester course in communications, there is more material included here than is typically covered in a onesemester course. In the view of the authors, all courses using this book should cover the first two sections (Chapters 111). The instructor can then complete the course with selected material from the third section (Chapters 1218), assuming that time is available. A number of computer programs, written in MATLAB, are included in the text. The decision to include computer code within the body of the book was made for a number of reasons. First, the programs illustrate the methodology used to develop simulations, and illustrate the algorithms used to perform a number of important DSP operations. In addition, many code segments included in the MATLAB examples can be used by the student to aid the development of their own simulations. In order not to break the flow of the material, only short programs, those requiring no more than a single page of text, are included within the body of the chapters. Programs that are too long to fit on a single page are placed in appendices at the end of the chapter. The MATLAB code included here is designed to be easily followed by the student. For that reason, a number of the MATLAB programs are not written in the most efficient manner possible, in that forloops are often used when the loop could be replaced by a matrix operation. It is not suggested that the student type the computer code from the text. A web page is maintained by Prentice Hall containing all of the computer code included in the text, and code can be downloaded from this site. The URL is <http://authors.phptr.com/tranter/>.
The MATLAB code on this site will be updated periodically in order to ensure that errors and omissions are corrected. The choice of MATLAB requires some explanation. There are a number of reasons for this choice, and these are discussed in detail in Chapter 1. The main motivations are compactness (complex algorithms can be expressed with a very few lines of code), graphics support, and the installed base. Since MATLAB is used extensively in engineering curricula, most students will already have the resources required to execute the MATLAB programs contained herein. Many simulation programs involve extensive computational burden, and reasonable execution run times require the use of a compiled language such as C or C++. This is especially true of Monte Carlo simulations used to estimate the bit error rate when the signalto noise ratio is high. Many symbols must be processed through the channel in order to achieve a quality (low variance) estimator. MATLAB, however, is a powerful tool even in this situation, since a prototype simulation can be developed in MATLAB to design and test the individual signalprocessing algorithms, as well as the entire simulation. The resulting MATLAB code can then be mapped to C or C++ code for more efficient execution, and the results obtained can be compared against the results achieved with the prototype MATLAB simulation. Using MATLAB for prototyping allows conceptual errors to be quickly identified, which often speeds the development of the final software product. SIMULINK, although designed for simulation, was not used in this book, so that the details of the algorithms used in simulation programs, and the methodology used to develop the simulation code, would be clear to the students.
Acknowledgments
A number of colleagues, research sponsors, and organizations have contributed significantly to this book. Early in this project a CRCD (Combined Research Curriculum Development) grant was awarded to Virginia Tech by the National Science Foundation. Much of the material in Chapters 310 and Chapter 17 was developed as a part of this effort. The NSF program manager Mary Poats, encouraged us to develop simulationbased courses within the communications curriculum, and we thank her for the encouragement and support. The authors thank Cyndy Graham of Virginia Tech for her LaTeX skills, and for managing the development of such a large manuscript. In addition, the individual authors have the following specific acknowledgements:
William H. Tranter thanks the many students who took the simulation of communications systems course at the University of MissourinRolla, Canterbury University (Christchurch, New Zealand), and at Virginia Tech from the notes that formed the basis of much of this book. These students provided many valuable suggestions. Specific thanks are due to Jing Jiang, who helped with the semianalytic estimators in Chapter 10; Ihsan Akbar, who did much of the coding of the Markov and semiMarkov model estimators in Chapter 15 (especially the code contained in Appendices B, C, and D); and Bob Boyle, who developed the CDMA estimator upon which the CDMA case study in Chapter 18 is based. He also thanks Sam Shanmugan, who provided friendship, support, encouragement, and above all patience, through the years that it took to bring this material together. Also to be thanked are Des Taylor and Richard Duke, who provided support through an Erskine Fellowship at Canterbury University, and Theodore Rappaport at Virginia Tech, who provided support during a sabbatical year. It was during this sabbatical that much of the material in the early chapters of this book were originally drafted.
Sam Shanmugan would like to thank his colleagues and students at the University of Kansas, who have in many ways contributed to this book, and also the University of Canterbury, Christchurch, New Zealand for the Erskine Professorship during his sabbatical when much of this book was written. He would also like to thank his wife for her patience, understanding, and support while he was working on this and on many other writing projects. Dr. Shanmugan would like to add a special note of thanks to his coauthor Professor William Tranter, for his friendship and the extra effort he put in towards pulling together all the material for this book.
Ted Rappaport wishes to thank his many graduate students who provided insights and support through their teaching and research activites in wireless communications simulation and analysis. In particular, Prof. Paulo Cardieri, University of CampinasoUNICAMP, Brazil; Hao Xu of QUALCOMM Incorporated; and Prof. Gregory Durgin of the Georgia Institute of Technology, all contributed suggestions for the text. In particular, Dr. Cardieri's experiences as a graduate student researcher formed the basis of Chapter 17.
Kurt Kosbar thanks the students who screened early versions of this material, and the reviewers who provided valuable comments, including Douglas Bell, Harry Nichols, and David Cunningham.
William H. Tranter
K. Sam Shanmugan
Theodore S. Rappaport
Kurt L. Kosbar
Introduction
Preface
This book is a result of the recent rapid advances in two related technologies: communications and computers. Over the past few decades, communication systems have increased in complexity to the point where system design and performance analysis can no longer be conducted without a significant level of computer support.
Many of the communication systems of fifty years ago were either power or noise limited. A significant degrading effect in many of these systems was thermal noise, which was modeled using the additive Gaussian noise channel. Many modern communication systems, however, such as the wireless cellular system, operate in environments that are interference and bandwidth limited. In addition, the desire for wideband channels and miniature components pushes transmission frequencies into the gigahertz range, where propagation characteristics are more complicated and multipathinduced fading is a common problem. In order to combat these effects, complex receiver structures, such as those using complicated synchronization structures, demodulators and symbol estimators, and RAKE processors, are often used. Many of these systems are not analytically tractable using noncomputer based techniques, and simulation is often necessary for the design and analysis of these systems.
The same advances in technology that made modern communication systems possible, namely microprocessors and DSP techniques, also provided us with highspeed digital computers. The modern workstation and personal computer (PC) have computational capabilities greatly exceeding the mainframe computers used just a few years ago. In addition, modern workstations and PCsare inexpensive and therefore available at the desktop of design engineers. As a result, simulationbased design and analysis techniques are practical tools widely used throughout the communications industry.
As a result, graduatelevel courses dealing with simulationbased design and analysis of communication systems are becoming more common. Students derive a number of benefits from these courses. Through the use of simulation, students in communications courses can study the operating characteristics of systems that are more complex and more real world than those studied in traditional communications courses since, in traditional courses, complexity must be constrained to ensure that analyses can be conducted. Simulation allows system parameters to be easily changed, and the impact of these changes can be rapidly evaluated by using interactive and visual displays of simulation results. In addition, an understanding of simulation techniques supports the research programs of many graduate students working in the communications area. Finally, students going into the communications industry upon graduation have skills needed by industry. This book is intended to support these courses.
A number of the applications and examples discussed in this book are targeted to wireless communication systems. This was done for several reasons. First, many students studying communications will eventually work in the wireless industry. Also, a significant number of graduate students pursuing universitybased research are working on problems related to wireless communications. Finally, as a result of the high level of interest in wireless communications, many graduate programs contain courses in wireless communications. This book is designed to support, at least in part, these courses, as well as the selfstudy needs of the working engineer.
This book is divided into three major sections. The first section, Introduction, consists of two chapters. The first of these introductory chapters discusses the motivation for using simulation in both the analysis and the design process. The theory of simulation is shown to draw on several classic fields of study such as number theory, probability theory, stochastic processes, and digital signal processing, to name only a few. We hope that students will appreciate that the study of simulation ties together, or unifies, material from a number of separate areas of study. Different types of simulations are discussed, as well as software packages used for simulation.
The development of appropriate simulation models and simulation methodology is a basic theme of this book, and the basic concepts of model development are introduced in Chapters 1 and 2. Chapter 2 focuses on methodology at a very high level. Many of the basic concepts used throughout the book are introduced here. Students are encouraged to revisit this material frequently as the remainder of the book is studied. Revisiting this material will help ensure that the big picture remains in focus as specific concepts are explored in detail.
The second section, Fundamental Techniques, consists of nine chapters (Chapters 311). These nine chapters present basic material encountered in almost all simulations of communication systems. The sampling theorem, and the role of the sampling theorem in simulation, is the subject of Chapter 3. Also covered are quantization, pulse shaping, and the effect of pulse shaping on the required sampling frequency. The representation of bandpass signals by quadrature lowpass signals, which is a fundamental tool of simulation methodology, is the subject of Chapter 4. This is a key chapter, in that the techniques presented here will be used repeatedly throughout the book. Filter models and simulation techniques for digital filters are the subject of Chapter 5. Filters, of course, have memory, and more computation is required to simulate filters than most other functional blocks in a system. As a result, filters must be efficiently simulated if reasonable run times are to be achieved. The simulation of a phaselocked loop is presented as a case study in Chapter 6. The student should realize that, even though this material is presented early in the study of simulation, important problems can be investigated with the tools developed to this point. This case study focuses on the acquisition behavior of the phaselocked loop. Acquisition studies require the use of nonlinear models and, as a result, analysis is very difficult using traditional techniques. The methodology used to develop the simulation is presented in detail, and serves as a guide to the simulations developed later in the book. The simulation techniques for generating random numbers are the subject of Chapter 7. Initially, the focus is on the generation of a pseudorandom sequence having a uniform probability density function (pdf). Both linear conguential methods and techniques based on pseudonoise (PN) sequences are included. A number of methods for shaping the pdf and PSD of a random sequence are presented. Postprocessing, which is the manipulation of the data generated by a simulation into desired forms for visualization and analysis, is the subject of Chapter 8. Monte Carlo simulation techniques are introduced in Chapter 9 as a general tool for estimating the value of a parameter. The concept of unbiased and consistent estimators is introduced, and the convergence properties of estimators is investigated. The concepts developed in Chapter 9 are applied to communications systems in Chapter 10, which is devoted to Monte Carlo and semianalytic simulation of communication systems. Several simple examples are presented in this chapter. Chapter 11 discusses in detail the methodology used for simulating a wireless communications system in a slowlyvarying environment. The calculation of the outage probability is emphasized, and a number of semianalytic techniques are presented for reducing the simulation run time.
The third section of this book, Advanced Models and Simulation Techniques, is devoted to a number of specialized topics encountered when developing more advanced simulations. Chapter 12 is devoted to the simulation of nonlinear systems. Model development based on measurements is emphasized, and a number of models that have found widespread use are presented. Chapter 13 deals with timevarying systems. The important subject of modeling timevarying channels is introduced. Chapter 14 presents a number of models for waveform channels. Drawing on the material presented in the preceding chapter, models for multipath fading channels are developed. Chapter 15 continues the study of channel models, and presents techniques for replacing waveform channel models with discrete channel models at the symbol level. The motivation is a significant reduction in the required simulation run time. The principal tools used are the BaumWelch algorithm and the hidden Markov model. System models based on the hidden Markov model are presented. Chapter 16 deals with various strategies for reducing the variance of a bit error rate estimator. Several strategies are presented, but the emphasis is on importance sampling. Chapter 17 is devoted to the simulation of wireless cellular communication systems. It is shown that cellular systems tend to be interference limited rather than noise limited. In many systems, cochannel interference is a major degrading effect. Chapter 18 concludes the book with two example simulations. The first of these considers a CDMA system, and presents a simulation in which the bit error rate is computed as a function of the spreadspectrum processing gain, the number of interferers, the powerdelay profile, and the signaltonoise ratio at the receiver input. The data collected by the simulation is used to construct a discrete channel model based on the hidden Markov model. The hidden Markov model is then used to statistically reconstruct the error events on the channel. The BER is then computed using the discrete channel model, and the results are compared with the results obtained using a waveformlevel channel model. The second example is an FDM system operating over a nonlinear channel. The effect of intermodulation distortion on bit error rate is investigated using semianalytic techniques. From the preceding discussion, it is clear that this book covers a very wide range of topics. A completely rigorous treatment of all of the topics considered here would require a volume many times the size of this book, and the result would not be suitable as a course textbook. A compromise between completeness and rigor must always be made in developing a textbook. We have, in developing this book, attempted to provide sufficient rigor to make the results both understandable and believable. A large number of references are given for those wishing additional study.
Although this book is targeted to a onesemester course in communications, there is more material included here than is typically covered in a onesemester course. In the view of the authors, all courses using this book should cover the first two sections (Chapters 111). The instructor can then complete the course with selected material from the third section (Chapters 1218), assuming that time is available. A number of computer programs, written in MATLAB, are included in the text. The decision to include computer code within the body of the book was made for a number of reasons. First, the programs illustrate the methodology used to develop simulations, and illustrate the algorithms used to perform a number of important DSP operations. In addition, many code segments included in the MATLAB examples can be used by the student to aid the development of their own simulations. In order not to break the flow of the material, only short programs, those requiring no more than a single page of text, are included within the body of the chapters. Programs that are too long to fit on a single page are placed in appendices at the end of the chapter. The MATLAB code included here is designed to be easily followed by the student. For that reason, a number of the MATLAB programs are not written in the most efficient manner possible, in that forloops are often used when the loop could be replaced by a matrix operation. It is not suggested that the student type the computer code from the text. A web page is maintained by Prentice Hall containing all of the computer code included in the text, and code can be downloaded from this site.
The MATLAB code on this site will be updated periodically in order to ensure that errors and omissions are corrected. The choice of MATLAB requires some explanation. There are a number of reasons for this choice, and these are discussed in detail in Chapter 1. The main motivations are compactness (complex algorithms can be expressed with a very few lines of code), graphics support, and the installed base. Since MATLAB is used extensively in engineering curricula, most students will already have the resources required to execute the MATLAB programs contained herein. Many simulation programs involve extensive computational burden, and reasonable execution run times require the use of a compiled language such as C or C++. This is especially true of Monte Carlo simulations used to estimate the bit error rate when the signalto noise ratio is high. Many symbols must be processed through the channel in order to achieve a quality (low variance) estimator. MATLAB, however, is a powerful tool even in this situation, since a prototype simulation can be developed in MATLAB to design and test the individual signalprocessing algorithms, as well as the entire simulation. The resulting MATLAB code can then be mapped to C or C++ code for more efficient execution, and the results obtained can be compared against the results achieved with the prototype MATLAB simulation. Using MATLAB for prototyping allows conceptual errors to be quickly identified, which often speeds the development of the final software product. SIMULINK, although designed for simulation, was not used in this book, so that the details of the algorithms used in simulation programs, and the methodology used to develop the simulation code, would be clear to the students.
Acknowledgments
A number of colleagues, research sponsors, and organizations have contributed significantly to this book. Early in this project a CRCD (Combined Research Curriculum Development) grant was awarded to Virginia Tech by the National Science Foundation. Much of the material in Chapters 310 and Chapter 17 was developed as a part of this effort. The NSF program manager Mary Poats, encouraged us to develop simulationbased courses within the communications curriculum, and we thank her for the encouragement and support. The authors thank Cyndy Graham of Virginia Tech for her LaTeX skills, and for managing the development of such a large manuscript. In addition, the individual authors have the following specific acknowledgements:
William H. Tranter thanks the many students who took the simulation of communications systems course at the University of MissourinRolla, Canterbury University (Christchurch, New Zealand), and at Virginia Tech from the notes that formed the basis of much of this book. These students provided many valuable suggestions. Specific thanks are due to Jing Jiang, who helped with the semianalytic estimators in Chapter 10; Ihsan Akbar, who did much of the coding of the Markov and semiMarkov model estimators in Chapter 15 (especially the code contained in Appendices B, C, and D); and Bob Boyle, who developed the CDMA estimator upon which the CDMA case study in Chapter 18 is based. He also thanks Sam Shanmugan, who provided friendship, support, encouragement, and above all patience, through the years that it took to bring this material together. Also to be thanked are Des Taylor and Richard Duke, who provided support through an Erskine Fellowship at Canterbury University, and Theodore Rappaport at Virginia Tech, who provided support during a sabbatical year. It was during this sabbatical that much of the material in the early chapters of this book were originally drafted.
Sam Shanmugan would like to thank his colleagues and students at the University of Kansas, who have in many ways contributed to this book, and also the University of Canterbury, Christchurch, New Zealand for the Erskine Professorship during his sabbatical when much of this book was written. He would also like to thank his wife for her patience, understanding, and support while he was working on this and on many other writing projects. Dr. Shanmugan would like to add a special note of thanks to his coauthor Professor William Tranter, for his friendship and the extra effort he put in towards pulling together all the material for this book.
Ted Rappaport wishes to thank his many graduate students who provided insights and support through their teaching and research activites in wireless communications simulation and analysis. In particular, Prof. Paulo Cardieri, University of CampinasoUNICAMP, Brazil; Hao Xu of QUALCOMM Incorporated; and Prof. Gregory Durgin of the Georgia Institute of Technology, all contributed suggestions for the text. In particular, Dr. Cardieri's experiences as a graduate student researcher formed the basis of Chapter 17.
Kurt Kosbar thanks the students who screened early versions of this material, and the reviewers who provided valuable comments, including Douglas Bell, Harry Nichols, and David Cunningham.
William H. Tranter
K. Sam Shanmugan
Theodore S. Rappaport
Kurt L. Kosbar