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.
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.
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
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.
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
(t), representing a narrowband modulation centered about a high frequency
sinusoidal carrier with frequency
mathematically represented as:
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
The signal can be represented by its Complex Envelope (CE) form
and, therefore, it holds that the CE lowpass signal is:
VSS software utilizes the CE lowpass equivalent signal
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 in
the 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 underin the 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 Blockscategory simply perform standard complex arithmetic on their input complex signals, treating them as ordinary complex numbers. Modulation mapper and detection blocks in the category treat the series of complex samples as baseband I/Q symbols. Blocks designed to operate on RF signals, such as those in the or 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.
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:
f c is the center frequency of
the signal, and
f s is the sampling
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 Blockscategory.
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.
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
f m,c arriving at its input
node, and a center frequency
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.
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:
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
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
document lists keyboard shortcuts, mouse operations, and tips and tricks to optimize
your use of the NI AWR Design Environment suite. Choose to
access this document.
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 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:
Start the VSS program if not already started by clicking
Choose. The Save As dialog box displays.
Navigate to the directory in which you want to save the project, type
AM" as the project name, and then click
. The project name displays in the title
Before creating a simulation you should set the default system settings.
To set default project units:
ChooseThe Project Options dialog box displays.
Click thetab 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.
Clickto save your settings.
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:
ChooseThe New System Diagram dialog box displays.
AM", and click .
A system diagram window displays in the workspace and the "AM" system
diagram displays under System Diagrams in the Project Browser.
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:
Click the Elements tab to display the Element Browser. The Element Browser replaces the Project Browser window.
If necessary, click the + symbol to the left of the System Blocks node to expand the system blocks tree.
Click the Sources category. A Real Source block (SRC_R) displays in the lower pane.
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 .
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.
Expand thecategory, then select the ADD block and place it as shown in the following figure.
Expand thecategory, then click the group. Select the AM_MOD block and place it as shown in the following figure.
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.
To save the file choose
To connect the system blocks and add test points:
Place the cursor over the node of the SRC_R block. The cursor displays as a wire coil symbol.
Click and drag the displayed wire to input node 2 of the ADD block, then click to place the wire.
Repeat steps 1 and 2 to complete the connections shown in the following figure.
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 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.
To edit block parameters:
In the system diagram, double-click the SINE block connected to the ADD block. The Element Options dialog box displays.
Click Show Secondary to display the secondary parameters. Edit the parameters to the values shown in the following figure, then click OK.
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
Double-click the SRC_R block and change the SMPSYM parameter to
10", then click
Double-click the AM_MOD block and change the MODIDX parameter to
2", then click
NOTE: You can also simply double-click the parameter value displayed on the system diagram to modify a single parameter.
To specify system simulation sampling:
Choose. The System Simulator Options dialog box displays.
160" GHz as the Sampling Frequency
Span and "
160" as the
Oversampling Rate, then click
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:
Click the Project tab to display the Project Browser.
Right-click Add New Graph button on the toolbar. The New Graph dialog box displays.and choose . You can also click the
Amplitude Mod" in Graph
Name, select as the
Graph Type, and click
. The graph displays in a window in the
workspace and displays as a node under Graphs in the
To add a measurement to the graph:
Right-click the "Amplitude Mod" graph in the Project Browser, and choose Add New Measurement button on the toolbar.The Add Measurement dialog box displays. You can also click the
For measurement type, select Measurement Type and select under Measurement.under
2" as the Time Span and
select ns as the Units and select
Real as the Complex
Ensure that Test Point is TP.TP1, then click . 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.
Select TP.TP2 in Test Point, then click Add.
Select TP.TP3 in Test Point, then click OK.
NOTE: You can custom name a test point by double-clicking its ID number.