TEMPLATE-BASED SIMULATION IN DIGITAL WIRELESS COMMUNICATION Paul G. Flikkema, G. B. Shyam, and J. Hariprasad Department of Electrical Engineering University of South Florida Tampa, Florida 33620 U.S.A.
Abstract
This paper presents a template-based approach for the study of simulation and digital communication that we have developed for use in a graduate-level course in wireless communication. The simulation templates and subsequent original student work are implemented using a graphical block-oriented package. To accelerate the learning process, students are exposed to modeling and simulation via two templates. These templates are also designed to reinforce the extremely important interplay between theory and simulation. To promote teaming skills, students are organized into groups of two or three for exercises based on the templates and for further investigation of a particular topic.
Introduction
It is a well-known maxim that the best way to teach programming employs|at least in part|the study of well-written code examples. We are adopting the same approach for the modeling and simulation of digital communication systems. In this paper, we present a template-based simulation component that we have developed for use in a graduate-level course in wireless communication. We use the nomenclature \template," in contrast to case study, to emphasize that these examples can be used as a guide to understanding fundamentals of system modeling and design as well as for development and evaluation of more sophisticated models.
The Course
The focus of this eort is to improve the learning experience in a graduate-level electrical engineering course in wireless communication titled \Mobile and Personal Communication." The primary goal of the course is for the student to develop a solid understanding of three fundamental properties of digital wireless: Multipath fading channels { including channel modeling, limitations on signaling rates, and the importance of diversity techniques.
Multi-user channels { including multiple-access methods, e.g., TDMA, FDMA, CDMA. Cellular systems { the notions of frequency re-use, hand-o, and inter-cell interference. Courses of this type have been developed in dozens of graduate electrical engineering programs in the last four years, and several texts are available, e.g., [1, 2, 3]. There are also a number of courses and texts dedicated to simulation of communication systems (see, e.g., [4]). However, simulation is an extremely useful tool in wireless communication systems engineering [5]. We believe that students can reap great bene ts from seeing the application of underlying theory, system modeling, analytical techniques, and simulation to problems in wireless communication. Thus the simulation component of the course has several objectives. First, it is designed to enliven the theory and show its usefulness. In addition, the simulation-based exercises serve as vehicles to promote the development of modeling, abstraction, and design abilities, as well as teaming/collaboration skills.
Modeling and Simulation
A fundamental precept of the course is the importance of the relationship between theory and simulation. We regard simulation as only one tool for system design and evaluation. Of course, simulation is often used in industry to evaluate systems for which analytical results are not available due to numerous implementation eects. However, we agree strongly with Hamming that, particularly in education, \The purpose of computing is insight, not numbers" [6], and feel his admonition also applies to simulation. Therefore one of our goals is for the student to recognize that a simulation should be built on a basic framework whose results can be veri ed by analysis. Learning a new computer or simulation language is can be slow process at the start, primarily due to initial stumbling blocks. These can be extremely timeconsuming and frustrating for students. In some situations, initial delays leading to discovery are a valuable
part of the learning process. In this case, however, the predominant reaction upon resolution of the diculty is not \Aha!" but further exasperation. This is a natural response to the fact that the discovery was not of a fundamental nature, but rather a trivial one of how to manipulate the system. Our approach to this problem is to \jump-start" students, accelerating them through this initial stage. We do this in two ways: rst is the templates, which provide working examples for the students to study, exercise, and modify to gain con dence. The examples are complete, and of sucient complexity to provide a solid framework for further study. Thus they are analogous not to code fragments in programming, but complete and highly exible programs. Second, student groups are encouraged from the outset to work together, so that tricks and system foibles are learned via shared folklore rather than through trial and error.
Modeling and Simulation Tool
For communication system simulation, graphical blockoriented packages are now the industry standard. This promotes visualization of the functions and properties of transmitters, channels, and receivers, and allows intuitive substitution of new elements (e.g., a Rayleigh
at-fading channel for an non-fading one). For this course, we are using the Ptolemy [7] simulation environment, which has a number of useful features. First, it is available via public-domain methods (e.g., ftp) and the source code is included in the distribution. Thus students are not tracked into learning speci cs of proprietary software, and it can be modi ed and extended as a research tool. In addition, support from users worldwide is available via the Ptolemy Internet newsgroup.1 Ptolemy also extensible: new signal processing elements (or \stars" in the Ptolemy argot) can be developed in three ways. The rst involves straightforward connection of already-existing stars in the Ptolemy library. The next method is to write the algorithm for the star using the MATLAB language; this allows students to quickly test new ideas using a familiar highlevel language. Naturally, the re-formatting of data across the Ptolemy/MATLAB interface and vice-versa can slow down the simulation. The solution to this problem is provided by the third alternative: writing the algorithm in C++. Though this can be daunting to some students, others have the option to become conversant in a very common language while simultaneously developing modeling and simulation skills. We note that the MATLAB and C++ development methods also demonstrate the importance of abstraction, i.e., how organization in high-level blocks can hide lowlevel code details. This develops a hierarchical perspective, demonstrating the relationships between systemlevel models and the low-level procedural representa1
For more information, the reader is referred to .
http://ptolemy.eecs.berkeley.edu/
tion of signal processing operations. Ptolemy can be used on a number of computing platforms. Normally, students will use it on a Sun workstation located on campus. However, there is another option for the motivated student: a version of Ptolemy is also available for linux, a public-domain Unix-like operating system that can be installed on X86/Pentium PCs. This can potentially provide a vehicle for distance-learning students to do projects, and we will be investigating this option further.
The Templates
Rather than smaller weekly exercises using the modeling and simulation tool, we have chosen to employ two larger templates that provide strong foundations for further study. The rst is a model of simple binary phase-shift keyed (BPSK) communication system, while the second is a model of a direct-sequence spread spectrum (DS/SS) system.
BPSK Template
The rst template that students are exposed to is a binary phase-shift keyed (BPSK) communication system. The introductory version of this system uses a simple additive white Gaussian noise (AWGN) channel. This basic system is modeled at baseband, reinforcing the complex-envelope representation of narrowband signals used throughout the class. The computer-based model for the system, given in Figure 2, includes the basic building blocks for any link simulation. The main components are the pseudo-random binary source, mapping to a sampled antipodal rectangular-shaped waveform, additive channel noise, and a simple receiver. The bit detection is performed using a simpli ed correlation structure followed by threshold detection (see Figure 1). This structure is reviewed in class, where it is shown to be optimum with respect to the minimum probability of error criterion. The notion of sampling for simulation is demonstrated via the repeat (`"') block. If the signaling pulse is not repeated, then the correlation (or matched ltering) operation is hidden. It follows that the received datum represents the correlator output, and the corresponding receive-side averaging (`X ') block can be removed. On the other hand, waveform-related (subbaud) eects can be evaluated using the repeat and averaging blocks, each with the same parameter. Finally, bit error rate measurement is also shown, and is based on a running computation of the ratio of bits in error to simulated bits. The rst exercise students perform is comparison of simulated performance (using the bit error rate as a criterion) with theoretical bit error probability. Key concepts explored using this template include (1) the relationship between the modeled system gure-of-merit (Eb=N0 ) and the simulation parameters of signal amplitude, noise variance, and sampling rate, and (2) the
WW WW WWWW TkText
Average
fork
Test.condition=GT
Const
fork
Figure 1: Binary phase-shift keyed receiver model. number of trials (length of the simulated bit stream) required to obtain accurate estimates. Once the basic ideas are learned, the student then modi es the system to incorporate a simple Rayleigh
at fading channel. The system performance is again compared with analytical results. In the construction of the model, the students explore (1) the concept of envelope fading, and (2) the theory of scattering and application of the central limit theorem. The exercise is completed with extension to the Ricean fading case, where the Ricean K -factor is varied to show the importance of the ratio between specular and scattered signal strength. At this point, the students are assigned (or can suggest) projects exploring such topics as sampling rate (modeled and simulated) ltering and pulse shaping QPSK dierentially coherent detection receiver diversity Students are encouraged to establish a library of models that can be re-used and extended to examine new ideas and techniques during the semester. For example, it is a simple, yet instructive, exercise to simulate a receiver that uses two-branch equal-gain diversity combining and again compare the results with theory.
Direct-Sequence Spread Spectrum Template
The second template consists of a direct-sequence spread spectrum communication system. The students' rst exposure is to a simpli ed version that includes only spreading/despreading with only an ideal AWGN channel. The rst exercise demonstrates (1) the importance of synchronization and (2) that spectrum spreading provides no advantage with AWGN channels. Then a simple interference model is introduced to demonstrate the usefulness of spread spectrum. Each of these concepts is also discussed in a tutorial article on spread spectrum which provides the analytical underpinnings for these concepts from an intuitive signal processing perspective [8]. Follow-on projects for this template, in addition to those for the rst template, include sequence generation multiple transmitters frequency-selective fading channels rake receivers Figure 3 shows an advanced version of the template
to demonstrate the capabilities of the Ptolemy environment. In addition to signal spreading and despreading, this model includes a time-dispersive multipath fading channel and a rake (multipath combining) receiver. The receiver incorporates a non-ideal channel sounding (estimation) model based on the use of a binary symmetric channel with given miss and false alarm probabilities. Both templates can serve as points of departure for the study of many topics, including modulation, frequency-selective fading, equalization, non-linearities, synchronization, and sampling eects. Finally, other simulation approaches can be explored. One example is the use of semi-analytical approaches that employ analytical results within the simulation to improve accuracy and/or speed.
Conclusions
We have described the system-level modeling and simulation component of a graduate-level class in digital wireless communication. The key feature of our approach is the use of fully working, non-trivial templates that allow students to accelerate their skill levels and move on to more challenging problems. This approach is also designed to promote development of modeling and design capabilities and teaming skills. Finally, the importance of theory in the modeling and simulation process is emphasized throughout.
References
[1] T. S. Rappaport, Wireless Communications: Principles and Practice. Prentice-Hall PTR, 1996. [2] K. Pahlavan and A. Levesque, Wireless Information Networks. Wiley, 1995. [3] G. L. Stuber, Principles of Mobile Communication. Kluwer Academic, 1996. [4] M. C. Jeruchim, P. Balaban, and K. S. Shanmugan, Simulation of Communication Systems. Plenum, 1992. [5] B. D. Woerner, J. H. Reed, and T. S. Rappaport, \Simulation issues for future wireless modems," IEEE Communications Magazine, vol. 32, no. 7, pp. 42{53, 1994. [6] R. W. Hamming, Numerical Methods for Scientists and Engineers. Dover, 1986. [7] J. Buck, S. Ha, E. A. Lee, and D. G. Messerschmitt, \Ptolemy: A framework for simulating and prototyping heterogeneous systems," International Journal of Computer Simulation, Jan. 1994. Special issue on Simulation Software Development. [8] P. G. Flikkema, \Introduction to spread spectrum for wireless communication: a signal processing perspective." IEEE Signal Processing Magazine, to be published Fall 1996.
UUUU UUUU UUUU
ii ii ii
IIDGaussian
WW WWW YYYYY WWW W 123 W Ykkkk YkkkkW
TkText
Add
output1
Tk ShowValues
output2 input1
receiver
output1 output2
input2
output3
YYYYY WW YYYYY 123 Ykkkk W
output1
output2
comparator
source-iid-bin
FloatToInt
YYYYY W 123 W Ykkkk
fork
Tk ShowValues
Mpy
Reciprocal
Tk ShowValues
Figure 2: Binary phase-shift keyed system template.
123 sumup
Reciprocal
Test.condition=NE
sumup
Tk ShowValues
Mpy
Mpy fork
Sgn
fork
Bi_Source
IntToFloat
Tx PN
BPSK-DSSS
BlockFIR
AWGN
BlockFIR
Mpy
BlockFIR
Average
Sgn
UnPkFloat_M
BlockFIR Path-Indicator
Matlab Weights
Pack_M
Matlab_M
UnPkFloat_M
RealW BSC Sounder FloatToInt
UnPkFloat_M
Figure 3: A Direct-Sequence Spread Spectrum System with rake receiver