Section 8.2. Developing a Simulation


8.2. Developing a Simulation

Simulation is the software implementation of an experimental testbed used for gaining insight into system design alternatives and system performance characteristics. The first, and most important, step in developing a simulation program is to carefully define the required simulation products. As an example, a simulation may be developed to predict system performance over a range of receiver input signal-to-noise ratios. In this case, the simulation product would likely be a plot of the symbol error rate as a function of the signal-to-noise ratio at the receiver input. Another example might be a simulation developed to estimate the required time for a synchronizer to establish lock. The first simulation would have to be developed so it is computationally efficient because many symbol errors may have to be counted in order to estimate the symbol error rate accurately. The time required to execute the second simulation would likely be much shorter, so computational efficiency would be less of a concern. In either case, however, the simulation results will only be as good as the model upon which the simulation is based.

After the simulation products are established, the next step is to develop the simulation code. As depicted in Figure 8.2, this is a three-step process. The first step is to carefully define those attributes of the physical device being modeled that affect the required simulation products. Developing models involves making extensive measurements of the physical device being studied. The form of the model to be developed often depends upon the purpose of the simulation. For example, if the required simulation product is the symbol error rate, any system attribute affecting the symbol error rate must be included in the model. In general, the symbol error rate is considered a steady-state system attribute; therefore, transient effects such as initial synchronization behavior are not considered. After the attributes of the physical device to be included in the model are defined, the system is then mapped to an analytical model. This analytical model takes the form of a system of equations defining the operations performed by the physical device. The last step is to determine the simulation model, which takes the form of a block of computer code (such as MATLAB or C++). Note that at each step in the process, the level of abstraction increases.

Figure 8.2. Steps in Simulation Development.

SOURCE: W. H. Tranter, K. S. Shanmugan, T. S. Rappaport, and K. L. Kosbar, Principles of Communication Systems Simulation with Wireless Applications [1]. © Pearson Education, Inc., 2004. Used by permission.


For example, suppose we wish to simulate the performance of a particular Forward Error Correction (FEC) code in the presence of Rayleigh fading. If desired, we could model the individual logic gates (or transistors) used to implement the FEC code, the parasitic inductance of the component leads used to connect the gates to a circuit board, the lossy transmission lines on the board, noise and crosstalk generated from other systems operating on the board, nonlinearities and harmonics in the mixers and amplifiers, and so forth. The result would be a very complete and accurate model. However, the simulation would take such a vast amount of time and computational power to execute that it would be essentially useless. By assuming ideal performance of logic gates, we can develop simulation code that is simple, efficient, and accurate.

It bears repeating that the accuracy of the simulation is constrained by the accuracy of the underlying model. Great care must be taken when deciding which parameters to include in the model and how much to trust the simulation results. A disastrous example of inaccurate modeling occurred in the design of a UWB transmitter based on a Step Recovery Diode (SRD) pulse generator (see Chapter 6, "Receiver Design Principles"). To generate a UWB pulse, a commercially available SRD was selected, modeled based on information contained in the datasheet, and simulated in a pulse generating circuit. The simulation results are shown in Figure 8.3, and a considerable amount of time and resources was expended designing the UWB transmitter based on the assumption that this SRD would produce a pulse with a peak output of 3.0 Volts. When the transmitter was constructed, the actual output pulse (shown in Figure 8.3b) was only 0.4 Voltsconsiderably weaker than what the simulation predictedand resulted in an inoperative transmitter.

Figure 8.3. Outputs from a Step Recovery Diode UWB Pulse Generator. (Note that the simulation predicts a significantly larger peak output voltage.)

SOURCE: A. Orndorff, "Transceiver Design for Ultra-Wideband Communications," M. S. Thesis [24]. © A. Orndorff, 2004. Used by permission.


Another potential source of errors comes from the implementation of the simulation itself. In Chapter 1, "Introduction," a number of analytical models were presented for pulse shapes, modulation, and multiple access schemes. In order to be simulated, these continuous analytical expressions must be sampled and quantized into finite-precision sampled values. Here, the user is obviously constrained by available memory and computational power. A sampling frequency or numerical precision that is too high results in a simulation that takes an inordinate amount of time to execute. On the other hand, sampling at too low a rate or with insufficient numerical precision results in a distortion of the signal and leads to simulation errors.

The last step in the process of developing a simulation involves validating, or sanity checking, the results. There are two levels of validation. The individual component models used in the simulation must be validated, and the overall simulation must also be validated. Model validation is typically carried out by comparing the operating characteristics of the model used in the simulation with measured data taken of the component being modeled or by comparing simulation results from the component with data sheets supplied by the manufacturer. Validating the overall simulation is a more complicated process and typically involves comparing the simulated system performance against field data or against an approximate theoretical analysis.

Therefore, before beginning any simulation, the engineer must be able to answer several questions. Among these are the following:

  1. How much detail should be included in the analytical and simulation models, and how will these details affect any design decision based on the data received from simulation?

  2. How might the differences between the physical device and the simulation model affect the design decisions, what errors might occur, and will any other factors (either in the simulation construction or in the physical implementation) overwhelm them?

  3. How is the simulation to be validated (sanity checked)?



    An Introduction to Ultra Wideband Communication Systems
    An Introduction to Ultra Wideband Communication Systems
    ISBN: 0131481037
    EAN: 2147483647
    Year: 2005
    Pages: 110

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net