Go to www.awrcorp.com
Back to search page Click to download print version MWO,VSS,AO,MMIC,Analyst

Chapter 17. VSS: System Simulation in VSS

This chapter provides a brief outline of the theory behind the Visual System SimulatorTM (VSS), and includes a procedure for a simple amplitude modulation to demonstrate how a simulation is performed in VSS software. The first section describes the basic philosophy of the simulator, and the example describes use of several key VSS features.

Overview of VSS Theory

VSS software is a sampled time-domain simulator that uses a fixed time step which is set either by the default system settings for every system diagram, or by individual blocks inside a system diagram (usually sources) and inherited by subsequent blocks. This section outlines several important aspects of a VSS simulation, including data types, the concept of Complex Envelope signal representation, center frequency and sampling frequency and their importance, and finally the concept of parameter propagation.

Data Types

All VSS blocks have input and output nodes which handle (and operate on) data belonging to one of four basic data types: Digital, Real, Complex or Complex Envelope, or Unset. Each VSS block node color corresponds to its data type: green for Digital, yellow for Real, red for Complex or Complex Envelope (CE), and white for an Unset data type. Unset nodes indicate the block supports two or more data types. You can double-click an unset node to redefine it as a specific node type. For example, ADD, an n-input adder (located in the Element Browser under System Blocks in the Math Tools category) has Unset nodes by default, signifying that it adds the data coming into its nodes and provides the sum at its output node regardless of the data type. Another example is the behavioral amplifier AMP_B (located in the Element Browser under System Blocks in the RF Blocks > Amplifiers category), which also has its ports unset. The amplifier block supports both real and complex signals, but does not support digital signals.

Digital data types comprise streams of digital data with abrupt transitions (such as a pseudo-random sequence of bits generated by a source to perform a Monte-Carlo simulation of a digital communication system). Real data refers to any real waveform observed in communication systems, for example, sinusoids, real passband noise, or possibly a sawtooth waveform. You can use these two data types to represent any waveform encountered in natural system design. Complex data deserves more attention because it is a compact way to represent complex baseband data (with frequency content concentrated around DC, as required by modern communication systems), as well as real passband waveforms via the CE signal representation.

Parameter details include the following Data Types: Integer, Real, Complex, Data Model, Name Element, String, Enumeration, and Vector.

Complex Envelope Signal Representation

As a sampled time-domain system simulator, a basic underlying concept of VSS software is that of sampling frequency-- something not encountered in nature (where all signals and waveforms are analog, i.e., they exist in continuous time), but more and more prevalent in modern measurement equipment, a growing portion of which samples the measured data at a uniform specified rate before manipulating or processing it.

In general, sampling an analog signal into a discrete time representation is an information-lossless operation only if the sampling frequency exceeds two times the highest frequency content of the analog signal. In such cases, recovery of the original analog waveform from its sampled stream is typically perfect via an ideal lowpass filter. Otherwise, a phenomenon known as aliasing occurs, and it is not possible to reconstruct the original analog waveform based on the sampled stream.

This concept places a significant burden on any time-domain systems simulator, because in a simulated transmitter/receiver chain it forces the overall sampling frequency to be at least twice the highest frequency component anywhere in the system. This is somewhat wasteful, since up- or down-conversion chains usually include carrier-modulated passband signals of relatively low frequency content (bandwidth) concentrated around a very high frequency carrier. In principle, the signal of interest is the modulating signal and not the carrier, and assuming an interest in a narrow band of frequencies around a center frequency, this modulating signal can be more efficiently represented by its Complex Envelope (CE), assuming the frequencies very far away from the carrier are filtered out anyway. For example, consider a GSM signal, which has a bandwidth of a few hundred kHz, but is modulated on a 1.9 GHz carrier. In principle, a sampling frequency of 5 MHz (more correctly, 5 Msamples/sec) can adequately describe the signal in its CE form, but to also comfortably sample the carrier, the sampling frequency must be at least 3.8 GHz, and more comfortably 5 GHz, or 5 Gsamples/sec. It is obvious how the two different approaches can result in a simulation speed difference of three orders of magnitude.

VSS software utilizes the CE representation of signals whenever possible to gain the tremendous advantage in simulation speed discussed here, without compromising simulation accuracy. Specifically, a real passband signal x (t), representing a narrowband modulation centered about a high frequency sinusoidal carrier with frequency fc is mathematically represented as:

where xc(t) and xs(t) are real lowpass signals, with bandwidth much smaller than the carrier frequency fc, and are called the in-phase and quadrature components of the real passband signal x (t). The signal can be represented by its Complex Envelope (CE) form c (t), where:

and, therefore, it holds that the CE lowpass signal is:

VSS software utilizes the CE lowpass equivalent signal c (t) wherever possible to allow for orders-of-magnitude-faster narrowband simulation. To this end, each signal at any point in the simulation has a sampling frequency, and a center frequency tag associated with it. For example, a plain tone at frequency 2 GHz for which the real passband signal is x(t)=cos2πfct, can be easily generated using the SINE block (located under System Blocks in the Sources > Waveforms category) with its output node set to complex and represented in CE form:

  • by leaving the center frequency (CTRFRQ) empty and setting frequency (FRQ) to 2GHz resulting in c(t) = 1.0 + j0.0 bearing a center frequency tag of 2 GHz, or

  • by having a center frequency (CTRFRQ) of, for example, 1 GHz and frequency (FRQ) of 2 GHz, in which case c(t) = exp(j2π·(FRQ - CTRFRQ)t) bears a center frequency tag of 1 GHz, or

  • by having a center frequency (CTRFRQ) of 0 and a FRQ of 2 GHz, in which case c(t) = exp(j2π·2e9·t) bears a center frequency tag of 0.

When working with RF tones, the TONE block, located under System Blocks in the RF Blocks > Sources category, is preferred, as all frequencies are specified in absolute frequency and power is specified in dB/dBm.

All of these CE forms show the same spectrum plot (the 2 GHz tone corresponding to the real passband signal x(t)=cos2πfct), although the time domain waveform generated by VSS software is internally different. The center frequency tag is a parameter propagated implicitly, but internally the signal is modeled as a CE lowpass equivalent.

As another example, the GSM signal previously discussed would also be in CE lowpass equivalent form in VSS software; a sequence of complex numbers sampled at 5 MHz and bearing only a center frequency tag of 1.9 GHz, and not a series of real samples taken at a rate of 5 Gsamples/sec. Of course, if the latter more cumbersome approach is desired, VSS software provides the capability to switch any signal to real passband representation via the CE-to-Real block (CE2R) located under System Blocks in the Converters > Complex Envelope category.

Note that VSS software treats complex signals depending on their context, their center frequency, and the block performing the operation. For example, blocks found under the System Blocks Math Tools > Math Functions category simply perform standard complex arithmetic on their input complex signals, treating them as ordinary complex numbers. Modulation mapper and detection blocks in the Modulation category treat the series of complex samples as baseband I/Q symbols. Blocks designed to operate on RF signals, such as those in the Filters or RF Blocks categories treat complex signals with non-zero center frequency as CE representations of a real signal centered around a carrier at the center frequency. When the center frequency is 0, by default the RF amplifier, RF mixer and circuit filter blocks treat the complex signal as a pair of real signals representing separate I and Q channels.

Center Frequency and Sampling Frequency

It is important to note that the CE representation of signals can greatly reduce simulation time, but requires careful choice of the sampling frequency, such that the frequencies of interest are included in a simulation. Any simulated CE signal only exists for frequencies that lie in the interval:

where f c is the center frequency of the signal, and f s is the sampling frequency.

Therefore, to examine the frequency content (for example, the Adjacent Channel Power Ratio, or ACPR) of the previous GSM signal at a frequency offset of 30 MHz from the 1.9 GHz carrier (the signal's center frequency tag), you must make sure the sampling frequency is at least fs≥60 MHz, so that the signal exists between 1.87 GHz and 1.93 GHz, or [fc-fs/2,fc+fs/2] .

Because VSS software is geared towards digital communication applications, many of its blocks (and the entire system diagram) have Data Rate and Oversampling associated with them.

The Data Rate is the number of digital communication symbols per second. Inside a VSS system diagram the default data rate is denoted _DRATE. A symbol can differ in meaning, depending on the modulation specifics. For example, for the previous GSM, the symbol rate or data rate is set by the standard as 270.833 ksymbols/sec, and since in this case every symbol is one bit, it translates to 270.833 kbits/sec. To simulate a satellite link using Quadrature Phase Shift Keying (QPSK) modulation to transmit 100 Mbits/sec, you set the symbol rate (or data rate) of the QPSK source block to 50 Msymbols/sec (because each QPSK symbol corresponds to 2 bits). The QPSK_SRC block is found under the System Blocks Modulation > QPSK category.

Each of these symbols can be represented with any number of samples (oversampling). Inside a VSS system diagram the default number of samples per symbol is denoted _SMPSYM. For the QPSK example, you can have 10 samples per symbol, which is a total sampling frequency of:

fs = (DataRate)·(Oversampling) = 500 MHz.

As previously explained, if the center frequency tag of this QPSK signal is 5 GHz, the signal will exist for 250 MHz on either side of the 5 GHz carrier (from 4.75 GHz to 5.25 GHz).

For digital communications, the data rate and oversampling values, and the center frequency tag of each signal are important. You can set these values on the Basic tab of the System Simulator Options dialog box (as shown in the following example) or in the source blocks in the simulation (usually at the beginning of a simulated chain) and they are subsequently propagated along any constructed simulation chain. At any point in the system diagram you can use the System Tools measurements or annotations to check the propagated parameters.

Most of the blocks that have either a DRATE or SMPFRQ parameter have a default value of empty for these parameters. When the value is empty, the blocks will automatically determine their data rate or sampling frequency. If a downstream block somehow specifies the sampling frequency, either directly or due to other blocks connected to it, that value is used. Otherwise, the rate is determined from the default settings from the Options dialog box of a system diagram.

Parameter Propagation

An important VSS feature for increasing ease of use is parameter propagation, introduced briefly when previously discussing propagation of the sampling frequency and the center frequency by all VSS blocks to other blocks further downstream in the simulation chain. This procedure of parameter propagation is bidirectional, and also occurs from the end to the beginning of a simulation chain. In VSS software, the forward and backward parameter propagation occurs for a variety of parameters, a small set of which are center frequency, sampling frequency, oversampling, signal and noise levels, and delay and phase distortion.

For example, you can place a QPSK transmitter inside a system diagram, configure it for the properties of the specific transmission scenario (data rate, pulse shaping, power, etc.), and not repeat the corresponding settings in a receiver block. This is done automatically via parameter propagation by the simulator at the start-up phase of each simulation. Even more impressively, you can place an amplifier block and/or a filter somewhere in the simulation chain between the transmitter and receiver, and then not need to adjust the signal arriving at the receiver for delay and phase rotation introduced by the filter, or for gain introduced by the amplifier. All of these parameters are automatically propagated forward by the simulator, thus allowing the receiver block to adjust the received signal for them. As a result, even the first time, you can set up and run a relatively involved BER simulation of a transmitter/receiver chain in just a few minutes.

The details of parameter propagation for each individual block are explained in the block Help and VSS Modeling Guide. For instance, an amplifier doesn't alter the propagated value of the center frequency tag at its input, but does alter the propagated signal and noise levels, according to its gain (and possibly noise figure). A mixer block with a center frequency f m,c arriving at its input node, and a center frequency f LO,c arriving at its LO node propagates as a center frequency either the sum

(if it is in up-conversion mode) or the difference

(if it is in down-conversion mode). A filter block increases the propagated value of delay at its output by adding to the propagated delay at its input the amount of delay it introduces itself to the signal.

Amplitude Modulation (AM) Example

In this example a sinusoidal data signal with a frequency of 2 GHz is modulated onto a sinusoid carrier of 40 GHz.

AM modulation is described as:

where m(t) is the message data signal; a sinusoidal signal of frequency 2 GHz given by:

A represents the DC level of the message signal and B and C represent the amplitudes of the carrier and the message signal respectively.

The procedures in this example include:

  • Creating a project

  • Setting default system settings

  • Creating a system diagram

  • Placing blocks in the system diagram

  • Specifying System Simulator options

  • Adding graphs and measurements

  • Running the simulation and analyzing the results

NOTE: The Quick Reference document lists keyboard shortcuts, mouse operations, and tips and tricks to optimize your use of the NI AWR Design Environment suite. Choose Help > Quick Reference to access this document.

Creating a Project

The first step in building and simulating your designs is to create a project. You use a project to organize and manage related designs, and everything associated with them, in a tree-like directory structure.

The example you create in this chapter is available in its complete form as AM.emp. To access this file from a list of Getting Started example projects, choose File > Open Example to display the Open Example Project dialog box, then Ctrl-click the Keywords column header and type "getting_started" in the text box at the bottom of the dialog box. You can use this example file as a reference.

To create a project:

  1. Start the VSS program if not already started by clicking Start on your desktop, choosing All Programs > AWRDE 14 > AWR Design Environment 14, or by double-clicking the corresponding shortcut on your desktop. For information on installing, setting up shortcuts and starting the program, see the Installation Guide.

  2. Choose File > New Project.

  3. Choose File > Save Project As. The Save As dialog box displays.

  4. Navigate to the directory in which you want to save the project, type "AM" as the project name, and then click Save. The project name displays in the title bar.

Setting Default System Settings

Before creating a simulation you should set the default system settings.

To set default project units:

  1. Choose Options > Project Options. The Project Options dialog box displays.

  2. Click the Global Units tab and verify that your settings match those in the following figure. You can choose units by clicking the arrows to the right of the display boxes.

  3. Click OK to save your settings.

Creating a System Diagram

The system diagram is the canvas upon which you build end-to-end communications systems and graphically develop algorithms using VSS behavioral blocks. A VSS project can include multiple system diagrams, linear and nonlinear schematics, and netlists.

To create a system diagram:

  1. Choose Project > Add System Diagram > New System Diagram. The New System Diagram dialog box displays.

  2. Type "AM", and click Create. A system diagram window displays in the workspace and the "AM" system diagram displays under System Diagrams in the Project Browser.

Placing Blocks in a System Diagram

The Element Catalog is a database of behavioral system blocks that you can include in your system diagrams.

To place a system block in a system diagram:

  1. Click the Elements tab to display the Element Browser. The Element Browser replaces the Project Browser window.

  2. If necessary, click the + symbol to the left of the System Blocks node to expand the system blocks tree.

  3. Click the Sources category. A Real Source block (SRC_R) displays in the lower pane.

  4. Select the SRC_R block and drag it onto the system diagram, release the mouse button, and then click to position the element as shown in the following figure. This serves as the DC level of the message signal.

    NOTE: You can view the full name of a system block in the Element Browser before dragging it to the system diagram by moving the mouse over the block or right-clicking it and choosing Details.

  5. Expand the Sources category, then click the Waveforms group. Select the SINE block and place it as shown in the following figure.

    NOTE: Before clicking to position a block, you can rotate the block in 90-degree increments by right-clicking it.

  6. Expand the Math Tools category, then select the ADD block and place it as shown in the following figure.

  7. Expand the Modulation category, then click the Analog group. Select the AM_MOD block and place it as shown in the following figure.

  8. Select the SINE block in the system diagram. Choose Edit > Copy then Edit > Paste. Place the duplicated block as shown in the following figure.

    NOTE: Choose View > Zoom In to magnify the system diagram.

  9. To save the file choose File > Save Project.

Connecting the Blocks and Adding Test Points

To connect the system blocks and add test points:

  1. Place the cursor over the node of the SRC_R block. The cursor displays as a wire coil symbol.

  2. Click and drag the displayed wire to input node 2 of the ADD block, then click to place the wire.

  3. Repeat steps 1 and 2 to complete the connections shown in the following figure.

  4. In the Element Browser, click the Meters category. Individually select three Test Points (TP) and place them as shown in the following figure. You can also click the Test Point button on the toolbar. While placing the test points, right-click to rotate them as needed. The simulation results can be displayed at these test points.

    NOTE: You can also connect blocks by moving them to snap their nodes together. When they are properly connected a small green square displays and the connection wire extends if you move either block. If you do not see the green square, try to drag one of the blocks into place again.

Editing Block Parameters

To edit block parameters:

  1. In the system diagram, double-click the SINE block connected to the ADD block. The Element Options dialog box displays.

  2. Click Show Secondary to display the secondary parameters. Edit the parameters to the values shown in the following figure, then click OK.

  3. Double-click the SINE block connected to the AM_MOD block. If the secondary parameters are not visible, click Show Secondary. Change the FRQ parameter value to "40", the AMPL parameter to "3", the CTRFRQ parameter to "0", and the SMPSYM parameter to "10", then click OK.

  4. Double-click the SRC_R block and change the SMPSYM parameter to "10", then click OK.

  5. Double-click the AM_MOD block and change the MODIDX parameter to "2", then click OK.

    NOTE: You can also simply double-click the parameter value displayed on the system diagram to modify a single parameter.

Specifying System Simulator Options

To specify system simulation sampling:

  1. Choose Options > Default System Options. The System Simulator Options dialog box displays.

  2. Click the Basic tab, and type "160" GHz as the Sampling Frequency Span and "160" as the Oversampling Rate, then click OK.

Creating a Graph to View Results

VSS software allows you to see the results of your simulations in various graphical formats. Before you perform a simulation, you must create a graph and specify the data or measurements that you want to plot.

To create a graph:

  1. Click the Project tab to display the Project Browser.

  2. Right-click Graphs and choose New Graph. You can also click the Add New Graph button on the toolbar. The New Graph dialog box displays.

  3. Type "Amplitude Mod" in Graph Name, select Rectangular as the Graph Type, and click Create. The graph displays in a window in the workspace and displays as a node under Graphs in the Project Browser.

Adding a Measurement

To add a measurement to the graph:

  1. Right-click the "Amplitude Mod" graph in the Project Browser, and choose Add Measurement. The Add Measurement dialog box displays. You can also click the Add New Measurement button on the toolbar.

  2. For measurement type, select System under Measurement Type and select WVFM under Measurement.

  3. Type "2" as the Time Span and select ns as the Units and select Real as the Complex Modifier.

  4. Ensure that Test Point is TP.TP1, then click Add. The AM:Re(WVFM(TP.TP1,2,5,1,0,0,0,0,0)) measurement displays under the "Amplitude Mod" graph in the Project Browser.

  5. Select TP.TP2 in Test Point, then click Add.

  6. Select TP.TP3 in Test Point, then click OK.

    NOTE: You can custom name a test point by double-clicking its ID number.

Running the Simulation and Analyzing Results

To run the simulation:

  1. Choose Simulate > Run/Stop System Simulators. Let the simulation run for 5 seconds, then choose Simulate > Run/Stop System Simulators again to stop the simulation. You can also click the Run/Stop System Simulators button on the toolbar. The simulation response in the following graph should display.

  2. Save and close the project.

Please send email to awr.support@ni.com if you would like to provide feedback on this article. Please make sure to include the article link in the email.

Legal and Trademark Notice