Tranter, W.H., Kosbar, K.L."Computer-Aided Design and Analysis of Communication The electrical Engineering Handbook Ed. Richard C. dorf Boca Raton: CRc Press llc. 2000
Tranter, W.H., Kosbar, K.L. “Computer-Aided Design and Analysis of Communication Systems” The Electrical Engineering Handbook Ed. Richard C. Dorf Boca Raton: CRC Press LLC, 2000
78 Computer-Aided Design and analysis of Communication Systems 78.1 Introduction 78.2 The Role of Simulation 78.3 Motivation for the Use of Simulation 78.4 Limitations of Simulation 78.5 Simulation Structure 78.6 The Interdisciplinary Nature of Simulation 78.7 Model Design 78.8 Low-Pass Models 78.9 Pseudorandom Signal and Noise Generators William h. tranter 78.10 Transmitter, Channel, and Receiver Modeling niversity of Missouri-Rolla 78.11 Symbol Error Rate Estimation 78.12 Validation of Simulation Results Kurt l kosbar 78.13 A Simple Example Illustrating Simulation Products University of Missouri-Rolla 78.14 Conclusions 78.1 Introduction It should be clear from the preceding chapters that communication systems exist to perform a wide variety of tasks. The demands placed on today's communication systems necessitate higher data rates, greater flexibilit and increased reliability. Communication systems are therefore becoming increasingly complex, and the result ing systems cannot usually be analyzed using traditional (pencil and paper )analysis techniques. In addition communication systems often operate in complicated environments that are not analytically tractable. Examples include channels that exhibit severe bandlimiting, multipath, fading, interference, non-Gaussian noise, and perhaps even burst noise. The combination of a complex system and a complex environment makes the design and analysis of these communication systems a formidable task. Some level of computer assistance must usually be invoked in both the design and analysis process. The appropriate level of computer assistance can range from simply using numerical techniques to solve a differential equation defining an element or subsystem to developing a computer simulation of the end-to-end communication system There is another important reason for the current popularity of computer-aided analysis and simulation techniques. It is now practical to make extensive use of these techniques. The computing power of many personal computers and workstations available today exceeds the capabilities of many large mainframe computers of only a decade ago. The low cost of these computing resources make them widely available. As a result, significant computing resources are available to the communications engineer within the office or even the home environment. c 2000 by CRC Press LLC
© 2000 by CRC Press LLC 78 Computer-Aided Design and Analysis of Communication Systems 78.1 Introduction 78.2 The Role of Simulation 78.3 Motivation for the Use of Simulation 78.4 Limitations of Simulation 78.5 Simulation Structure 78.6 The Interdisciplinary Nature of Simulation 78.7 Model Design 78.8 Low-Pass Models 78.9 Pseudorandom Signal and Noise Generators 78.10 Transmitter, Channel, and Receiver Modeling 78.11 Symbol Error Rate Estimation 78.12 Validation of Simulation Results 78.13 A Simple Example Illustrating Simulation Products 78.14 Conclusions 78.1 Introduction It should be clear from the preceding chapters that communication systems exist to perform a wide variety of tasks. The demands placed on today’s communication systems necessitate higher data rates, greater flexibility, and increased reliability. Communication systems are therefore becoming increasingly complex, and the resulting systems cannot usually be analyzed using traditional (pencil and paper) analysis techniques. In addition, communication systems often operate in complicated environments that are not analytically tractable. Examples include channels that exhibit severe bandlimiting, multipath, fading, interference, non-Gaussian noise, and perhaps even burst noise. The combination of a complex system and a complex environment makes the design and analysis of these communication systems a formidable task. Some level of computer assistance must usually be invoked in both the design and analysis process. The appropriate level of computer assistance can range from simply using numerical techniques to solve a differential equation defining an element or subsystem to developing a computer simulation of the end-to-end communication system. There is another important reason for the current popularity of computer-aided analysis and simulation techniques.It is now practical to make extensive use of these techniques. The computing power of many personal computers and workstations available today exceeds the capabilities of many large mainframe computers of only a decade ago. The low cost of these computing resources make them widely available.As a result, significant computing resources are available to the communications engineer within the office or even the home environment. William H. Tranter University of Missouri–Rolla Kurt L. Kosbar University of Missouri–Rolla 8574/ch078/frame Page 1749 Wednesday, May 6, 1998 11:08 AM
Encoder Transmitte Channell Receive FIGURE 78.1 Basic communication link. Personal computers and workstations tend to be resources dedicated to a specific individual or project. Since the communications engineer working at his or her desk has control over the computing resource, lengthy simulations can be performed without interfering with the work of others. Over the past few years a number of software packages have been developed that allow complex communication systems to be simulated with relative ease [Shanmugan, 1988]. The best of these packages contains a wide variety of subsystem models as well as integrated graphics packages that allow waveforms, spectra, histograms, and performance characteristics to be displayed without leaving the simulation environment. For those motivated to generate their own simulation code, the widespread availability of high-quality C, Pascal, and FORTRAN compilers makes it possible for large application-specific simulation programs to be developed for personal computers and work- stations. When computing tools are both available and convenient to use, they will be employed in the day-to- day efforts of system analysts and designers e The purpose of this chapter is to provide a brief introduction to the subject of computer-aided design and analysis of communication systems. Since computer-aided design and analysis almost always involves some level of simulation, we focus our discussion on the important subject of the simulation of communication systems Computer simulations can, of course, never replace a skilled engineer, although they can be a tremendous help in both the design and analysis process. The most powerful simulation program cannot solve all the problems that arise, and the process of making trade-off decisions will always be based on experience. In ddition, evaluating and interpreting the results of a complex simulation require considerable skill and insight. While these remarks seem obvious, as computer-aided techniques become more powerful, one is tempted replace experience and insight with computing power. 78.2 The role of simulation The main purposes of simulation are to help us understand the operation of a complex communication system to determine acceptable or optimum parameters for implementation of a system, and to determine the per formance of a communication system. There are basically two types of systems in which communication engineers have interest: communication links and communication networks A communication link is usually a single source, a single user, and the components and channel between source and user. A typical link architecture is shown in Fig. 78. 1. The important performance parameter in a digital communication link is typically the reliability of the communication link as measured by the symbo or bit error rate(BER). In an analog communication link the performance parameter of interest is typically the signal-to-noise ratio (SNR)at the receiver input or the mean-square error of the receiver output. The simulation is usually performed to determine the effect of system parameters, such as filter bandwidths or code rate,or to determine the effect of environmental parameters, such as noise levels, noise statistics, or power ral o A communication network is a collection of communication links with many signal sources and many users. Computer simulation programs for networks often deal with problems of routing, flow and congestion control and the network delay. While this deals with the communication link, the reader is reminded that network simulation is also an important area of study. The simulation methodologies used for communication networks are different from those used on links because, in a communication link simulation, each waveform present in the system is sampled using a constant sampling frequency. In contrast, network simulations are event-driven, with the important events being such quantities as the time of arrival of a message e 2000 by CRC Press LLC
© 2000 by CRC Press LLC Personal computers and workstations tend to be resources dedicated to a specific individual or project. Since the communications engineer working at his or her desk has control over the computing resource, lengthy simulations can be performed without interfering with the work of others. Over the past few years a number of software packages have been developed that allow complex communication systems to be simulated with relative ease [Shanmugan, 1988]. The best of these packages contains a wide variety of subsystem models as well as integrated graphics packages that allow waveforms, spectra, histograms, and performance characteristics to be displayed without leaving the simulation environment. For those motivated to generate their own simulation code, the widespread availability of high-quality C, Pascal, and FORTRAN compilers makes it possible for large application-specific simulation programs to be developed for personal computers and workstations. When computing tools are both available and convenient to use, they will be employed in the day-today efforts of system analysts and designers. The purpose of this chapter is to provide a brief introduction to the subject of computer-aided design and analysis of communication systems. Since computer-aided design and analysis almost always involves some level of simulation, we focus our discussion on the important subject of the simulation of communication systems. Computer simulations can, of course, never replace a skilled engineer, although they can be a tremendous help in both the design and analysis process. The most powerful simulation program cannot solve all the problems that arise, and the process of making trade-off decisions will always be based on experience. In addition, evaluating and interpreting the results of a complex simulation require considerable skill and insight. While these remarks seem obvious, as computer-aided techniques become more powerful, one is tempted to replace experience and insight with computing power. 78.2 The Role of Simulation The main purposes of simulation are to help us understand the operation of a complex communication system, to determine acceptable or optimum parameters for implementation of a system, and to determine the performance of a communication system. There are basically two types of systems in which communication engineers have interest: communication links and communication networks. A communication link is usually a single source, a single user, and the components and channel between source and user. A typical link architecture is shown in Fig. 78.1. The important performance parameter in a digital communication link is typically the reliability of the communication link as measured by the symbol or bit error rate (BER). In an analog communication link the performance parameter of interest is typically the signal-to-noise ratio (SNR) at the receiver input or the mean-square error of the receiver output. The simulation is usually performed to determine the effect of system parameters, such as filter bandwidths or code rate, or to determine the effect of environmental parameters, such as noise levels, noise statistics, or power spectral densities. A communication network is a collection of communication links with many signal sources and many users. Computer simulation programs for networks often deal with problems of routing, flow and congestion control, and the network delay. While this chapter deals with the communication link, the reader is reminded that network simulation is also an important area of study. The simulation methodologies used for communication networks are different from those used on links because, in a communication link simulation, each waveform present in the system is sampled using a constant sampling frequency. In contrast, network simulations are event-driven, with the important events being such quantities as the time of arrival of a message. FIGURE 78.1 Basic communication link. 8574/ch078/frame Page 1750 Wednesday, May 6, 1998 11:08 AM
Simulations can be developed to investigate either transient phenomena or steady-state properties of The study of the acquisition time of a phase-lock loop receiver is an example of a transient phend Simulations that are performed to study transient behavior often focus on a single subsystem such as synchronization system Simulations that are developed to study steady-state behavior often model system. An example is a simulation to determine the BeR of a system 78.3 Motivation for the Use of simulation As mentioned previously, simulation is a reasonable approach to many design and analysis problems because complex problems demand that computer-based techniques be used to support traditional analytical approaches. There are many other motivations for making use of simulation. A carefully developed simulation is much like having a breadboard implementation of the communication system available for study. Experiments can be performed using the simulation much like experiments can be performed using hardware. System parameters can be easily changed, and the impact of these changes can be evaluated. By ontinuing this process, parameteric studies can easily be conducted and acceptable, or perhaps even optimun parameter values can be determined. By changing parameters, or even the system topology, one can play "what if games much more quickly and economically using a simulation than with a system realized in hardware. It is often overlooked that simulation can be used to support analysis. Many people incorrectly view simu lation as a tool to be used only when a system becomes too complex to be analyzed using traditional analysis hniques. Used properly, simulation goes hand in hand with traditional techniques in that simulation can often be used to guide analysis. a properly developed simulation provides insight into system operation. As an cample, if a system has many parameters, these can be varied in a way that allows the most important parameters, in terms of system performance, to be identified. The least important parameters can then often be discarded, with the result being a simpler system that is more tractable analytically. Analysis also aids mulation. The development of an accurate and efficient simulation is often dependent upon a careful analysis of various portions of the syst 78.4 Limitations of Simulation Simulation, useful as it is, does have limitations. It must be remembered that a system simulation is an approximation to the actual system under study. The nature of the approximations must be understood if one is to have confidence in the simulation results. The accuracy of the simulation is limited by the accuracy to which the various components and subsystems within the system are modeled. It is often necessary to collect extensive experimental data on system components to ensure that simulation models accurately reflect the ehavior of the components. Even if this step is done with care, one can only trust the simulation model over the range of values consistent with the previously collected experimental data. A main source of error in a simulation results because models are used at operating points beyond which the models are valid In addition to modeling difficulties, it should be realized that the digital simulation of a system can seldo be made perfectly consistent with the actual system under study. The simulation is affected by phenomena not present in the actual system. Examples are the aliasing errors resulting from the sampling operation and the finite word length (quantization) effects present in the simulation. Practical communication systems use a number of filters, and modeling the analog filters present in the actual system by the digital filters required by the simulation involves a number of approximations. The assumptions and approximations used in modeling an analog filter using impulse-invariant digital filter synthesis techniques are quite different from the ass tions and approximations used in bilinear z-transform techniques. Determining the appropriate modeling technique requires careful thought. Another limitation of simulation lies in the excessive computer run time that is often necessary for estimating performance parameters. An example is the estimation of the system BER for systems having very low nominal bit error rates. We will expand on this topic later in this chapter. e 2000 by CRC Press LLC
© 2000 by CRC Press LLC Simulations can be developed to investigate either transient phenomena or steady-state properties of a system. The study of the acquisition time of a phase-lock loop receiver is an example of a transient phenomenon. Simulations that are performed to study transient behavior often focus on a single subsystem such as a receiver synchronization system. Simulations that are developed to study steady-state behavior often model the entire system. An example is a simulation to determine the BER of a system. 78.3 Motivation for the Use of Simulation As mentioned previously, simulation is a reasonable approach to many design and analysis problems because complex problems demand that computer-based techniques be used to support traditional analytical approaches. There are many other motivations for making use of simulation. A carefully developed simulation is much like having a breadboard implementation of the communication system available for study. Experiments can be performed using the simulation much like experiments can be performed using hardware. System parameters can be easily changed, and the impact of these changes can be evaluated. By continuing this process, parameteric studies can easily be conducted and acceptable, or perhaps even optimum, parameter values can be determined. By changing parameters, or even the system topology, one can play “what if” games much more quickly and economically using a simulation than with a system realized in hardware. It is often overlooked that simulation can be used to support analysis. Many people incorrectly view simulation as a tool to be used only when a system becomes too complex to be analyzed using traditional analysis techniques. Used properly, simulation goes hand in hand with traditional techniques in that simulation can often be used to guide analysis. A properly developed simulation provides insight into system operation. As an example, if a system has many parameters, these can be varied in a way that allows the most important parameters, in terms of system performance, to be identified. The least important parameters can then often be discarded, with the result being a simpler system that is more tractable analytically. Analysis also aids simulation. The development of an accurate and efficient simulation is often dependent upon a careful analysis of various portions of the system. 78.4 Limitations of Simulation Simulation, useful as it is, does have limitations. It must be remembered that a system simulation is an approximation to the actual system under study. The nature of the approximations must be understood if one is to have confidence in the simulation results. The accuracy of the simulation is limited by the accuracy to which the various components and subsystems within the system are modeled. It is often necessary to collect extensive experimental data on system components to ensure that simulation models accurately reflect the behavior of the components. Even if this step is done with care, one can only trust the simulation model over the range of values consistent with the previously collected experimental data. A main source of error in a simulation results because models are used at operating points beyond which the models are valid. In addition to modeling difficulties, it should be realized that the digital simulation of a system can seldom be made perfectly consistent with the actual system under study. The simulation is affected by phenomena not present in the actual system. Examples are the aliasing errors resulting from the sampling operation and the finite word length (quantization) effects present in the simulation. Practical communication systems use a number of filters, and modeling the analog filters present in the actual system by the digital filters required by the simulation involves a number of approximations. The assumptions and approximations used in modeling an analog filter using impulse-invariant digital filter synthesis techniques are quite different from the assumptions and approximations used in bilinear z-transform techniques. Determining the appropriate modeling technique requires careful thought. Another limitation of simulation lies in the excessive computer run time that is often necessary for estimating performance parameters. An example is the estimation of the system BER for systems having very low nominal bit error rates. We will expand on this topic later in this chapter. 8574/ch078/frame Page 1751 Wednesday, May 6, 1998 11:08 AM
Simulation Simulation Preprocessor Exerciser Postprocessor FIGURE 78.2 Typical structure of a simulation program. 78.5 Simulation Structure As illustrated in Fig. 78.1, a communication system is a collection of subsystems such that the overall system provides a reliable path for information flow from source to user. In a computer simulation of the system, the individual subsystems must first be accurately modeled by signal processing operations. The overall simulation program is a collection of these signal processing operations and must accurately model the overall commu- nication system. The important subject of subsystem modeling will be treated in a following section The first step in the development of a simulation program is to define the topology of the system, which ecifies the manner in which the individual subsystems are connected. The subsystem models must then be defined by specifying the signal processing operation to be performed by each of the various subsystems. A simulation structure may be either fixed topology or free topology. In a fixed topology simulation, the basic tructure shown in Fig. 78.1 is modeled. Various subsystems can be bypassed if desired by setting switches, but the basic topology cannot be modified In a free topology structure, subsystems can be interconnected in any way desired and new additional subsystems can be added at will A simulation program for a communication system is a collection of at least three operations, shown in Fig 78.2, although in a well-integrated simulation these operations tend to merge together. The first operation, sometimes referred to as the preprocessor, defines the parameters of each subsystem and the intrinsic parameters that control the operation of the simulation. The second operation is the simulation exercisor, which is the imulation program actually executed on the computer. The third operation performed in a simulation program is that of postprocessing. This is a collection of routines that format the simulation output in a way which provides insight into system operations and allows the performance of the communication system under study to be evaluated. A postprocessor usually consists of a number of graphics-based routines, allowing the user to view waveforms and other displays generated by the simulation. The postprocessor also consists of a number of routines that allow estimation of the bit error rate, signal-to-noise ratios, histograms, and power spectral densities When faced with the problem of developing a simulation of a communication system, the first fundamental choice is whether to develop a custom simulation using a general-purpose high-level language or to use of the many special-purpose communication system simulation languages available. If the decision is made to develop a dedicated simulation using a general-purpose language, a number of resources are needed beyond compiler and a mathematics library Also needed are libraries for filtering routines, software models for the subsystems contained in the overall system, channel models, and the waveform display and data routines needed for the analysis of the simulation results(postprocessing). While at least some of the required software will have to be developed at the time the simulation is being written, many of the required routines can probably be obtained from digital signal processing(DSP) programs and other available sources. As more simulation projects are completed, the database of available routines becomes larger The other alternative is to use a dedicated simulation language, which makes it possible for one who does not have the necessary skills to create a custom simulation using a high-level language to develop a commu- nication system simulation. Many simulation languages are available for both personal computers and work stations[Shanmugan, 1988. While the use of these resources can speed simulation development, the user must ensure that the assumptions used in developing the models are well understood and applicable to the problem of interest. In choosing a dedicated language from among those that are available, one should select a language that has an extensive model library, an integrated postprocessor with a wide variety of data analysis routines, on-line help and documentation capabilities, and extensive error-checking routines. e 2000 by CRC Press LLC
© 2000 by CRC Press LLC 78.5 Simulation Structure As illustrated in Fig. 78.1, a communication system is a collection of subsystems such that the overall system provides a reliable path for information flow from source to user. In a computer simulation of the system, the individual subsystems must first be accurately modeled by signal processing operations. The overall simulation program is a collection of these signal processing operations and must accurately model the overall communication system. The important subject of subsystem modeling will be treated in a following section. The first step in the development of a simulation program is to define the topology of the system, which specifies the manner in which the individual subsystems are connected. The subsystem models must then be defined by specifying the signal processing operation to be performed by each of the various subsystems. A simulation structure may be either fixed topology or free topology. In a fixed topology simulation, the basic structure shown in Fig. 78.1 is modeled. Various subsystems can be bypassed if desired by setting switches, but the basic topology cannot be modified. In a free topology structure, subsystems can be interconnected in any way desired and new additional subsystems can be added at will. A simulation program for a communication system is a collection of at least three operations, shown in Fig. 78.2, although in a well-integrated simulation these operations tend to merge together. The first operation, sometimes referred to as the preprocessor, defines the parameters of each subsystem and the intrinsic parameters that control the operation of the simulation. The second operation is the simulation exercisor, which is the simulation program actually executed on the computer. The third operation performed in a simulation program is that of postprocessing. This is a collection of routines that format the simulation output in a way which provides insight into system operations and allows the performance of the communication system under study to be evaluated. A postprocessor usually consists of a number of graphics-based routines, allowing the user to view waveforms and other displays generated by the simulation. The postprocessor also consists of a number of routines that allow estimation of the bit error rate, signal-to-noise ratios, histograms, and power spectral densities. When faced with the problem of developing a simulation of a communication system, the first fundamental choice is whether to develop a custom simulation using a general-purpose high-level language or to use one of the many special-purpose communication system simulation languages available. If the decision is made to develop a dedicated simulation using a general-purpose language, a number of resources are needed beyond a quality compiler and a mathematics library. Also needed are libraries for filtering routines, software models for each of the subsystems contained in the overall system, channel models, and the waveform display and data analysis routines needed for the analysis of the simulation results (postprocessing). While at least some of the required software will have to be developed at the time the simulation is being written, many of the required routines can probably be obtained from digital signal processing (DSP) programs and other available sources. As more simulation projects are completed, the database of available routines becomes larger. The other alternative is to use a dedicated simulation language, which makes it possible for one who does not have the necessary skills to create a custom simulation using a high-level language to develop a communication system simulation. Many simulation languages are available for both personal computers and workstations [Shanmugan, 1988]. While the use of these resources can speed simulation development, the user must ensure that the assumptions used in developing the models are well understood and applicable to the problem of interest. In choosing a dedicated language from among those that are available, one should select a language that has an extensive model library, an integrated postprocessor with a wide variety of data analysis routines, on-line help and documentation capabilities, and extensive error-checking routines. FIGURE 78.2 Typical structure of a simulation program. 8574/ch078/frame Page 1752 Wednesday, May 6, 1998 11:08 AM