|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AT - A - GLANCE |
|
You can dive right into detailed circuit design of a communications system after a preliminary analysis of noise, bandwidth, and similar factors. Similarly, you can go from a rough outline structure of your signal-processing algorithms to actually coding them. With either of these sharp transitions, you assume that your basic calculations and intuition identify the right target specifications for major functional blocks, that you understand the subtleties of the numerical signal processing and data encoding, and that you sense the interplay between hardware circuit functions and software data quality.
Alternatively, you can first simulate system architecture to efficiently allocate and distribute performance parameters among the various stages, balancing and trading off factors such as input signal strength, internal and external noise, bandwidth, distortion, and channel dynamics to achieve your system goals at lowest cost. This simulation isn't necessarily a one-pass process, either (Figure 1). You may decide on what initially appears to be an optimum balance among the stages, only to find that you can't meet the design goals for one stage. You may find that your signal-processing algorithms don't work well with the signals and noise they receive or the insufficient precision they apply. When this situation happens, the iterative process begins: You go back to your original plan, re-evaluate and reallocate performance goals for each stage or modify your algorithms, and then try to design a suitable circuit or numeric-processing approach that meets your revised specifications.
Many circuit-design-analysis tools are available. These tools range from basic spreadsheets to well-known Spice-modeling and descriptive languages. However, designers--especially those who adapt communication systems to new applications--know less about other tools for communications modeling at the system level. The goal of this hands-on project is to investigate some of the commercially available system-level modeling packages to see what they can do and what operating options they offer.
If all you need is basic noise-figure or SNR analysis, you probably don't need a simulation package. A spreadsheet can adequately do the job. But if you want to understand what your architecture can do, to analyze the unavoidable effects of component variation and drift, or to understand how well algorithms perform under different conditions and with different channel conditions, these packages can make that task much easier. Even if you have a relatively simple point-to-point link, such as a garage-door opener or an RF-identification link, you still need to consider the distances you can achieve, the noise levels you can tolerate, and consistent performance despite manufactured-unit variations.
Devising and revising
When I began this project, I thought the most sensible and logical way to evaluate simulation packages would be to set up one representative communication-system block diagram and then exercise each simulation package versus that system. However, my Consumer Reports approach soon foundered, because the various simulation packages have different capabilities, underlying strategies, and structures. I realized it would be neither fair to vendors nor meaningful to design engineers to measure all the packages against my arbitrary example.
Instead, I examined each package on its own terms to see what it did, how easy it was to use, and what its primary strengths were. De-signers have different needs, as well: Some need more detailed and complex capabilities; others seek just basic validation of their ideas. In addition to the five packages I used, I omitted several that may be of interest to you (see sidebar "Some roads not taken"). All packages run on PCs with Windows 95, and some also run on Macs or under Unix. Note that some vendors of these packages developed them specifically for communications simulation, whereas others began with general-purpose modeling and simulation software and then added communications-specific adjuncts (Table 1).
In a simulation and modeling package, you need to consider ease of use, overall capabilities, and speed. The more flexible and powerful packages were more difficult to set up than the others, and you may not need all the power of a fully customizable package. Further, if you concentrate more on the analog and analoglike signal-path functions, such as filtering, modulation, and jitter, you may not need to invoke the more complex algorithm-related functions of data generation, encoding/decoding, error detection and correction, and numeric-processing error analysis.
You may, however, need multirate processing if your design will have different data rates for spread-spectrum techniques, decimation, and data interleaving; again, this adds complexity to use. Also, be sure that you can select a level of model detail that's commensurate with your area of design emphasis. If you are more concerned with receiver than transmitter design, for example, you'll want to represent the transmitter as a relatively simple, high-level block and the receiver in full detail with many more functional blocks and models. Conversely, you may be involved with transmitter design and be less interested in the availability of detailed channel noise and fading models from the various vendors.
Simulation speed is im-portant, and it would be nice if you could easily compare packages for this feature. However, I had to adjust so many factors when I set up comparable and meaningful benchmarks that I soon realized that I could easily generate misleading comparative execution times for what seem to be equivalent situations. All these packages, though, are relatively fast, when you consider the amount of analysis they do. With a 200-MHz Pentium II-based PC, a two-function-block simulation took just a few seconds with some of the programs. The longest time I encountered was for a 1000-run Monte Carlo simulation of a system with 12 blocks, which took about 30 minutes. But remember, as they say in the fine print, "These results are typical; your actual results may vary." All the packages also let you trade off accuracy and resolution for execution time, so you can run quick, coarse tests to debug your configuration and get a sense of how well your simulation is doing and then switch to a slower but more precise run.
SystemView from Elanix
The latest revision of the PC-based SystemView dynamic-system-simulator software package from Elanix emerged at the end of last year. With this system, you select the basic functional blocks to build your system from a library of more than 200 functions and then connect them in the work-area, or "systems," window. These functions, or "tokens," include filtering, mixing, modulation, multiplexing, and clock-related operations. Your final system configuration can include linear, nonlinear, discrete- and continuous-time, analog, digital, and mixed-mode operation. You use tokens to represent signal sources, test-probe points (or "sinks"), and operations. Icons on the screen represent these tokens, and looking at these tokens was at first a little confusing, but I soon became accustomed to them and was quickly interpreting the diagrams. A close correlation exists between how you would "sketch" the system block diagram and how it translates into onscreen appearance (Figure 2).
Within each function, you can establish many of the performance parameters you need. For example, with filters, which are critical to every communications signal path, you can choose both FIR and IIR filters, such as lowpass, highpass, band reject, differentiators, and 908 phase-shift Hilbert functions. You can also select IIR filters, including classical multipole versions of Bessel, Butterworth, Chebyshev, and linear-phase filters. SystemView does not limit you to one system-clock rate. Because it accommodates multiple-rate systems, you can use decimating FIR filters, for example.
After you connect your tokens and specify your sinks, you run the simulation. An analysis window shows the results. You can really have fun now, because SystemView provides so many types of analysis to choose from. These types include simple and complex FFTs, such as magnitude, squared magnitude, milliwatts into 50V, power spectral density, phase, and group delay; arithmetic and algebraic operations; autocorrelation; cross correlation; convolution; bit-error rates (BER); histograms; statistical analysis; waterfall displays; eye patterns; constellation and scatter plots; and integration, differentiation, and cosine, sine, log and other fundamental operations. You can quickly see the span between perfection and reality and the effect of system sampling rate (Figure 3).
If your system is large, with complex architecture, SystemView provides a feature for levels of hierarchy which they call the Metasystem object. With the Metasystem, you can group blocks together to form subsystems, which you then save for use in other SystemView files. To speed simulations, you can use an automatic program-generation feature to create Windows-executable programs and dynamically linked libraries that run as stand-alone applications or that you can link to the main simulation. The vendor claims this feature makes simulation 10 to 50 times faster.
Extensive libraries are critical to effective end-to-end signal-path simulation, and Elanix offers five related libraries. The Communications Library simplifies modeling of cell phones Global System for Mobile (GSM) communications, time-division multiple-access (TDMA), cordless phones, pagers, modems, satellite systems, and spread-spectrum designs. The library includes various modulators and demodulators, such as the Costas loop, a variant of the PLL; various channel-noise and fading models; data encoding and decoding, such as BCH (Bose, Chaudhuri, Hocquenghan), Reed Solomon, and Golay; and pulse-shaping filters, including raised cosine and Gaussian.
The RF/Analog Library provides lower level functional blocks, including op amps; variable-gain amplifiers; mixers; passive blocks, such as splitters and RLC circuits; and noise-figure propagation. The DSP Library provides an array of fixed- and floating-point numerical operations as well as logical functions in both IEEE-standard and Texas Instruments DSP formats. The Logic Library implements basic logic gates (AND, NAND, OR, and more) as well as generic functions from the classic "7400'' logic family. SystemView also supports the User Code Library that lets you develop your own tokens in C or C++, but you should be able to avoid needing this harder-to-use library by using the basic package and the other four libraries.
RfIntercept from RHR Labs
The RfIntercept time- and frequency-domain simulator from RHR uses a two-part structure by starting with the Extend simulation package, which Imagine That Inc (San Jose, CA, www.imaginethatinc.com), first released in 1987. Extend provides the user interface, file operations, printing, and plotting, and it is also a mathematical engine with its own library of math- and signal-processing functions. In addition, you can create custom libraries and model blocks in Extend using ModL, a C-like compiled language.
Using Extend as the framework, RfIntercept adds a library of 28 basic behavioral blocks and 20 system models. Extend's blocks represent electronic functions, including A/D and D/A converters, comparators, multipliers, various filters, peak detectors, PLL, VCO, and similar functions; math functions are also available. The library blocks of RfIntercept are more communication-specific: modulated waveform generators, amplifiers with specifiable second- and third-order intercepts, Class AB amplifiers, noise sources, splitters, phase shifters, demodulators, pseudorandom bit generators, and mixers. You can use RfIntercept to model a basic feed-forward amplifier, for example, that closely resembles how you would traditionally draw it (Figure 4).
The RfIntercept and Extend libraries are compatible with each other, and you can mix them as desired. You can also combine several lower-level blocks into a higher-level block to simplify your modeling. As with the other simulation packages, you select the desired blocks by their icons and interconnect them to match your architecture. To establish the operating parameters for each block, such as gain or noise power, you double-click on the icon. You can also select among many signal sources, noise sources, and nonlinear signal operations. RfIntercept and Extend also offers various spectral-analysis modes, eye patterns, and statistical analysis.
RfIntercept and its Extend framework are available for PCs and Macs. Certainly, the look and feel of the programs have that user-friendly style of the Mac. Setting parameters, making changes, and checking what-ifs are all intuitive. Although Extend comes with its own thick documentation (most of which you don't need to read to use the package), the documentation for the RfIntercept portion is less than 100 pages and easy to read and use. It went from tutorials to illustrative examples, on to detailed explanations of the various blocks, to an alphabetical reference of each model and its functions, all in a smooth flow.
One nice feature in this program is that you can easily insert model data based on your benchtests. For a Class AB amplifier, for example, you can specify odd-order intermodulation products via an Excel spreadsheet template, or you can draw the distortion properties on the screen (Figure 5). You can use similar table-entry or screen-drawing methods for entering arbitrary filter-response curves that you can't model using the supplied filter-response blocks and parameters.
Separate from RfIntercept, but also using Extend as its simulation framework, RHR Laboratories offers a related package, Receiver and Transmitter Analysis. With this software, you can face the reality of physical systems: component tolerances and random variations from nominal model specifications, plus the somewhat-more-predictable yet still detrimental temperature-induced variations. By running the analysis with Monte Carlo simulation techniques, you can see via histograms and other statistical-analysis tools how these unavoidable deviations from nominal values affect virtually all system parameters, such as sensitivity, selectivity, image rejection, and SNR. Note that you can use data results from RfIntercept as source data for Receiver and Transmitter Analysis.
The president of RHR Laboratories, Peter Vizmuller, is also the author of a companion reference book, RF Design Guide: Systems, Circuits, and Equations, which covers many aspects of communications system and circuit design. For many applications, you don't need to look at this book, because today's ICs embody many of the discussed circuit functions. However, the book may be useful for improving modeling and interface design when you have system inputs and outputs, such as at the antenna or transmission lines.
TESLA from Tesoft
Transient Electronic System Level Analysis (TESLA) Version 2.0 from Tesoft is a straightforward-to-use time-domain simulator with a library of functions, such as filters, mixers, VCOs, and digital blocks for analog, mixed-signal, and digital time simulation. Using the model library, you draw a block diagram of your system using OrCAD (www.orcad.com) Capture for Windows or Capture for DOS (Figure 6); you can also enter the diagram's information via a netlist (Listing 1). Switching between TESLA and Capture takes just a keystroke, so you don't have to exit from the simulation environment to change the block diagram.
Although at first glance the TESLA library doesn't seem as broad as some of the others, the models offer plenty of opportunity to adjust their functional parameters. For example, the integrator function lets you set positive and negative clipping levels, as well as the zero of the integrator's response, a feature that many closed-loop configurations need. For the filters, you can capture real-world considerations, for example, by establishing the loss at their band edges as separate parameters from their ripples. You directly set noise-related parameters, such as C/N0, Eb/N0, C/N, or noise temperature in the relevant models. If you need to create unique models, you can use an optional Model Generator and Microsoft Fortran or C.
You can analyze and plot a variety of spectrum and performance attributes, such as BER and eye patterns, and view these results as multiple windows to give you parallel perspectives and insight into relationships. For example, the lower right window of Figure 7 shows a portion of the OrCAD Capture block diagram for a 100-kbps direct-sequence spread-spectrum transmitter and receiver, with a 1-Mbps chipping rate. The upper left window shows half of the bandpass spread and despread spectrum (marked using triangles and squares, respectively) with the center frequency at the left edge. The eye pattern--which always tells you so much about overall end-to-end performance and is a great indicator of your potential BER--is in the lower left window, and the envelope of the received carrier is in the upper right window.
TESLA also realizes that mistakes can happen. When you begin a simulation run, the program checks for problems and issues error alerts, which interrupt the simulation, and warning alerts, which are logged and reported to you. Errors tell you that you have established an invalid model configuration, such as a sampling rate that is too low for the filter bandwidth; in contrast, warnings note possible but not definite "this-can-get-you-in-trouble" conditions, such as a sampling rate less than 10 times the filter's edge frequency.
Matlab from The Mathworks
Matlab from the Mathworks, a Windows-, Macintosh-, and Unix-compatible simulation package, starts with the Matlab "technical-computing environment," which integrates numeric computation and scientific visualization. You then add a modeling package, Simulink, which allows you to perform interactive simulation of dynamic systems, including linear, nonlinear, discrete-time, continuous-time, and mixed-mode systems. To these two packages you next add toolboxes, which provide application-oriented tools to the overall construction (Figure 8). The Mathworks did not design Matlab and Simulink exclusively for communication simulation; you can also use them for fluid analysis, electromechanical-system modeling, neural-network design, and physics analysis with appropriate toolboxes.
A communications toolbox provides more than 100 Matlab functions and 150 Simulink blocks for modeling, including signal sources, source-data encoding/decoding, modulation/demodulation, filters, channel models, and plotting. It also contains complicated models, such as a full simulation of a CCITT (now ITU) v.34 modem, along with details of the modem's internal blocks, such as the trellis-coding subsystem (Figure 9). This allows you to modify the supplied examples to build and investigate other modem implementations.
You can combine this toolbox with a signal-processing toolbox, which provides additional Matlab functions for algorithm development, signal analysis, data modeling, and graphical analysis. If you are developing DSP-driven algorithms, you can add a DSP Blockset for numerical signal-processing; complex, elementary, and vector operations; matrix arithmetic; and spectral analysis. The documentation for Matlab, Simulink, and the toolboxes is detailed with numerous examples and discussion of parameters, their effects, and how you can change or adjust them. If your channel or system has complex noise characteristics, Matlab and its adjuncts offer comprehensive libraries of noise models.
Although Matlab and Simulink work together, along with the various toolboxes, a key difference exists between using Matlab functions and using Simulink block diagrams. Matlab uses data-flow simulation, whereas Simulink uses time-flow simulation (see sidebar "Go with the flow").
ACOLADE from Icucom
The Advanced COmmunication Link Analysis and Design Environment (ACOLADE) from Icucom is a simulation package for PC and Unix environments. The basic function of Version 4.20 is similar to that of the other packages, and ACOLADE offers several communication-specific libraries with extensive digital data-manipulation and data-coding capabilities. It's a data-driven simulator, as compared with a time-driven simulator, and so it handles multiple data rates as well as asynchronous data streams.
As with the other simulation packages, you select from a library of models and interconnect them on-screen, select signal sources, and identify points of measurement. You can perform both waveform analysis and Monte Carlo analysis for statistical insight. ACOLADE models end-to-end channel operation, including the source data encoding; modulation; DSP operations; RF and microwave components; and channel characteristics, such as fading, multipath, impulse noise, jamming, and even interference.
ACOLADE begins with approximately 100 models for basic communication functions and analysis. You can add an Advanced Transmission Library as a superset that contains general-purpose models for sophisticated modulation schemes; coding techniques; and noise sources, such as spread-spectrum designs; and more complex receiver structures, such as the Costas loop (a variation of the ubiquitous PLL). A superset of the Advanced Transmission Library, the Coding Library provides more models for data encoding, decoding, interleaving, and transforms, such as those represented by Reed-Solomon encoders and V.32 trellis encoders.
Although these libraries offer you powerful tools, you still need to adapt them to your application. Alternatively, Icucom offers optional libraries to the basic package, which support more specialized links or advanced analysis. The RF/Analog Library, for example, has A/D converters, mixers, modulators, noise sources, amplifiers, and filters. You can analyze results in the frequency domain for system characteristics, such as spurious response, intermodulation distortion, and cross modulation, or the time domain for linear and nonlinear response, impulse response, and modulation effects. You can also add imperfections, such as sampling aperture jitter, to your model structure.
A moderately complex, end-to-end system-channel model for a binary-phase-shift-keying-modulated data stream using the RF/Analog Library has mixers for both transmitter upconversion and receiver downconversion (Figure 10). You can view BER-versus-SNR performance under various conditions with a basic additive-white-Gaussian-noise channel in the signal path.
Another library for spread-spectrum/code-division multiple-access (CDMA)/IS-95 system simulation contains the data correlators, receiver structures (parallel and serial rakes, for example, which extract coherent data streams from multipath-affected signals), Viterbi and Walsh functions, and data spreaders/despreaders that are associated primarily with this class of system. Your overall system can interconnect models to combine data encoding/decoding, error detection and correction; modulation/demodulation; and a time-varying, multipath channel (Figure 11).
For GSM communications designs, a GSM Library modifies some models and adds those that are relevant to the GSM time-division standard, roughly analogous to those for CDMA/IS-95 but differing in internals. Although I did not use them, I liked the names of three of the GSM-channel models: the Hilly Terrain Channel, the Rural Area Channel, and the Typical Urban Channel. A new Global Positioning System (GPS) Library adds coding, timing, and structures that are unique to GPS.
If your analysis includes development and evaluation of DSP algorithms, ACOLADE offers a Finite Precision Arithmetic Library. With this library, you can establish and analyze processing based on the hardware realities and restrictions of finite word lengths; fixed- and floating-point arithmetic; and overflow, rounding, and truncation characteristics. This type of analysis is valuable because numerical processing limitations when the algorithms execute through many loops greatly affect end-to-end channel performance measures, such as BER.
To install ACOLADE, the documentation leads you through a discussion of general modeling concepts, several general communications tutorials, and typical communication architectures and then relates these discussions to the ACOLADE approach. The manual next moves to architecture examples, including a discussion of each block module, settable parameter, input, output, limitation, and error condition that ACOLADE provides.
Whichever package you choose to investigate further, be sure to weigh flexibility, ease of use, application notes, documentation, and available technical support (which all vendors offer for a price), and cost. Also, consider whether you need multiple-platform/OS capability. Further, you may want a smaller, dedicated communications-only package versus a package that you can also use for noncommunications applications, such as mechanical and thermal modeling, with the appropriate libraries. Finally, think ahead to appropriate RF circuit-level EDA tools, because you'll undoubtedly be using these tools after you simulate your system at the block-function level.
I used five vendor offerings for this Hands-On Project. However, I did not exercise others because of lack of time, logistics issues with the vendors, or a the fact that the vendors were planning to release a new revision of the package, and I didn't want to test its beta-release version. These packages, which you may also wish to investigate, are:
In the data-flow simulation of Matlab, processed data goes through one stage of computation before initiating processing by the next stage. In contrast, a Simulink simulation is a time-flow process, in which each block advances its operation at each time step (Figure A). Think of the difference as roughly analogous to serial processing versus parallel processing. Neither time-flow nor data-flow simulation is inherently better than the other; like the time-domain and the frequency-domain-analysis signals, they are just different perspectives on the same data and objectives, and both can provide the same degree of accuracy, given enough time. However, one approach may be more efficient or appropriate for an application than the other. Icucom, which offers ACOLADE, says that data-driven simulators are faster and perform much better in multirate applications than time-driven simulators, but I had no way of reliably verifying this statement or measuring the extent of the improvement.
Communication-simulation products |
|||
| Vendor | Products | Platform/OS | Price |
| Elanix Inc Westlake Village, CA 1-818-597-1414 fax 1-818-597-1427 www.elanix.com |
SystemView 1.9 | PC/Win 95; Win NT | $3495 |
| Communications Library |
|
$1495 | |
| RF/Analog Library | $995 | ||
| DSP Library | $995 | ||
| User Code Library | $795 | ||
| CDMA/PCS Library | $1450 | ||
| Icucom Corp Troy, NY 1-518-274-7711 fax 1-518-274-7010 www.icucom.com |
ACOLADE 4.20 |
PC/Win 95; Win 3.1; DOS; Unix |
$3995 |
| Above plus Advanced Transmission Library |
$5990 | ||
| Above plus Coding Library | $8485 | ||
| RF/Analog Library | $2995 | ||
| Finite Precision Arithmetic Library |
$4995 |
||
| GSM Library | $3995 | ||
| IS-95CDMA Library | $3995 | ||
| GPS Library | $2995 | ||
| Advanced Analysis Library | $2995 | ||
| Mathworks Inc Natick, MA 1-508-647-7000 fax 1-508-647-7001 www.mathworks.com |
Matlab 5.2 (includes Simulink, Signal Processing Toolbox 4, and DSP blockset) | PC/Win 95; Win NT; Macintosh; Unix | $5900 |
| Communications Toolbox | $895 | ||
| RHR Laboratories Richmond Hill, ON, Canada 1-905-884-2392 fax 1-905-884-6843 http://iypn.com/rhrlaboratories |
Extend 4.0 from Imagine That Inc |
PC/Win 95; Win NT; Win 3.1; DOS; Macintosh | $695 |
| RfIntercept 2.0 | PC/Win 95; Win NT; Win 3.1; DOS; Macintosh | $550 | |
| Receiver and Transmitter Analysis | $550 |
||
| Tesoft Inc Roswell, GA 1-770-751-9785 fax 1-770-664-5817 www.tesoft.com |
Tesla 2.0 | PC/Win 95; Win 3.1 | $995 |
| (uses OrCAD Capture for Windows or for DOS) | |||
| Modgen 2.0 (to add new blocks) | $695 |
||
| Parts Library for OrCAD | $249 | ||
You can reach Technical Editor Bill Schweber at 1-617-558-4484, fax 1-617-558-4470, bill.schweber@cahners.com.
| EDN Access | Feedback | Table of Contents |
Copyright © 1998 EDN Magazine, EDN Access. EDN is a registered trademark of Reed Properties Inc, used under license. EDN is published by Cahners Business Information, a unit of Reed Elsevier Inc.