Main Support:       Knowledge Center
Documentation:   SystemVue English Doc   >  Unsupported Releases   >  SystemVue 2015.01   >  SystemVue 201501 Release Notes

This document contains references to Agilent Technologies. Agilent's former Test and Measurement business has become Keysight Technologies. For more information, go to

Skip to end of metadata
Go to start of metadata

SystemVue 2015.01 Release Notes

Release Highlights: W1461 SystemVue Core Platform


5G Advanced Modem Library off-cycle release based on SystemVue 2015.01

The following new libraries have been added as part of the 5G Advanced Modem Library off-cycle release:

  • New Flexible OFDM MIMO source and receiver
    • Support flexible OFDM structure consistent with FlexOFDM source
    • Support 8x8 MIMO configuration
    • Support MIMO precoding
    • Support channel estimation using pilots or preamble symbols
    • Support non-overlapping and overlapping pilot structure and corresponding channel estimation in the receiver
  • New F-OFDM SISO transmitter and receiver
    • Support flexible F-OFDM structure, such as FFT size, subcarrier spacing, pilot and data allocation
    • Support different shaping filter for F-OFDM
    • Support F-OFDM EVM measurement
    • Support BER measurement in AWGN
  • New  UF-OFDM SISO transmitter and receiver
    • Support flexible UF-OFDM structure, such as FFT size, subcarrier spacing, pilot and data allocation
    • Support multiple subbands for each UF-OFDM source
    • Support different shaping filter for UF-OFDM
    • Support UF-OFDM EVM measurement
    • Support BER measurement in AWGN
  • New hybrid beamforming simulation
    • Support configurable and flexible hybrid beamforming architecture
    • Support Narrowband system and OFDM-based wideband system
    • Support ideal and practical beam training
    • Support Taylor window for beamforming
  • New 3D channel model
    • Support 3GPP channel model with user-defined scenario
    • Support NYU channel model, including mmwave UMi, Indoor and user-defined scenario
    • Support up to 256x256 MIMO channel configuration
    • Support custom EMpro and HFSS antenna pattern import
  • New channel sounding simulation
    • Support reference signal generation for channel sounding measurement
    • Support channel profile extraction for channel sounding data, including path number, path delay, path power, AoA, AoD and etc

For more information, see About 5G Advanced Modem Library.


MATLAB Script replaces the Math Language expression engine that was syntax compatible with MATLAB. MATLAB Script provides the scripting engine which is the same as MATLAB, and a limited subset of MATLAB functions to be used in SystemVue for equations and parameter expressions. You do not need to buy any license to use MATLAB Script engine and its functions.

The following are the features in MATLAB Script that behave differently compared to Math Language (supported in previous releases):

  • The MATLAB Script model replaces the MathLang model. The behavior of the MATLAB Script model conforms with MATLAB function variable scoping. In prior releases, variables in the workspace scope can be accessed by the MathLang model equations. Now, only model parameters are accessible by the MATLAB Script model equations (The expressions to specify the port rates can still access the workspace variables).
  • A built-in Vectorization parameter is provided in the MATLAB Script model to speed up the simulation for simple MATLAB Script  model equations. See the Vectorization Parameter of the MATLAB Script model.
  • Tuning variable syntax = ? has been changed to tune.
  • The Math Language keywords “#matlabregion” and “#endregion” and functions “setmatlabvariable” and “getmatlabvariable” are no longer supported in MATLAB Script. You can use your MATLAB installation (MATLAB 2014a or later) from a workspace equation, a design equation, a MATLAB Script model or the Command Prompt by switching to “Use MATLAB” in the right click menu. Once the equation is switched to use MATLAB, you can delete the lines containing “#matlabregion”, “#endregion”, “setmatlabvariable”, and “getmatlabvariable”.

  • There is a set of SystemVue specific MATLAB Script functions that do not work in the retail MATLAB mode. See to MATLAB Script Functions in Retail MATLAB Mode.

  • If the MathLang equation uses the using function to access dataset variables and then uses #matlabregion to post process the variables in MATLAB, the equation needs to be manually divided into two equations. One equation uses the "using" function (in MATLAB Script) to assign dataset variables to workspace variables, and the other equation post process the workspace variables in the retail MATLAB mode. This is because the "using" function (in MATLAB Script) does not support the retail MATLAB mode. For example, the MathLang equation:

    a=S1; %S1 is a dataset variable in 'Design1_Data'

    can be divided to this equation in the MATLAB Script mode


    and the following equation in the retail MATLAB mode

  • Operations on variables with unit and/or independents (see to Defining Variables with Units and Independents) are in general slower than the variables with just primitive data types (For example, double). In general, variables obtained from the datasets by using the using function or the getvariable function has the associated unit and/or independents. To improve the performance, you can cast the variables to the corresponding primitive data types (For example, double(var)). The cast will lose the unit and independents and you can associate unit and independents back using the cc functions.
  • Expressions in MATLAB Script equation block without output suppression (semicolon ;), do not generate output in the Command Prompt. However, it is still recommended to use semicolon at the end of expression lines to improve the performance. For maximum performance, use semicolons to terminate MATLAB Script statements.
  • Due to MATLAB Script limitation, SystemVue can only be installed in a path that contains ASCII characters.

  • getunits and setunits have been renamed to setdisplayunit and setindep . For performance optimization purpose,setdisplayunit, getdisplayunit, setindep, and getindep do not work as expected inside a MATLAB_Script model. setdisplayunit and setindep do not support class variables.

  • The tcpip workspace variable created from previous versions is incompatible with the current tcpip class format. In MATLAB Script mode, the tcpip class uses the MATLAB Script tcpip class implementation. In the retail MATLAB mode, it uses the tcpip from the MATLAB instrument control toolbox. The tcpip object variable stored in the workspace cannot be used interchangeably between MATLAB Script and retail MATLAB.
  • The using function (in MATLAB Script) may behave differently for certain cases. See the using function document for details.
  • Thet exist function (in MATLAB Script) no longer supports the checking variable existence in a dataset (the third argument), use the hasvariable function instead.
  • The interp1 function (in MATLAB Script) requires the first argument to be a monotonic array.
  • The isstring function (in Math Language) is no longer supported in MATLAB Script, use ischar instead.

  • In Math Language, the default working directory is the workspace directory, so you may use functions such as fopen and readvector, and use relative path with respect to the workspace directory. However, MATLAB Script does not reset the working directory to the workspace directory. The recommendation is to use getworkspacedir to obtain the workspace directory then use it to construct the full path or use cd to display and change the workspace directory.

  • The unsigned 16-bit integer arrays that were interpreted as strings by Math Language, is not compatible with MATLAB Script. For example, the script below works for Math Language but will generate an error in MATLAB Script, with the error message "Error using str2num, requires string or character array input."

    aBytecnt = fread( t, 1, 'uchar=>ushort'); %t is a TCPIP object
    tTotal = str2num( aBytecnt ); %aBytecnt is an unsigned 16bit integer 

    To make this work in MATLAB Script, change the second line as:

    aBytecnt = fread( t, 1, 'uchar=>ushort');
    tTotal = str2num( char(aBytecnt’) ); 
  • Integers in MATLAB Script (as well as MATLAB) can only be combined with integers of the same class, or scalar doubles. For example, expressions such as:

    integer_variable + logical_variable;
    integer_variable * [1:10];

    do not work. You need to cast the variables to proper data types. For example:

    int32(integer_variable) + int32(logical_variable);
    double(integer_variable) * [1:10];


  • In the SystemVue 32 bit, if the MATLAB Script working directory is in C:\windows\system32, there is an error message like Invalid MEX-file 'C:/windows/system32/version.dll'. When this happens, you can use cd command to manually set the working directory to other locations.

MATLAB Script allows you to use your MATLAB. The supported MATLAB version is 2014a and later. You can use your MATLAB installation (MATLAB 2014a or later) from a workspace equation, a design equation, a MATLAB Script model or the command prompt by switching to “Use MATLAB” in the right click menu. The corresponding MATLAB licenses are required when you use your MATLAB installation. Once you start to use your MATLAB from within SystemVue, the corresponding MATLAB licenses will be held for the remainder of the SystemVue session, and released on exit.

MATLAB Script allows you to use external .m functions from a specified directory. The default MATLAB function directory is $HOME\SystemVue\MATLAB. You can change the directory by using Tools > Options... > Directories > MATLAB Functions. In MATLAB Script mode, you can use external .m functions from the specified directory inside SystemVue. However, .p functions, MATLAB classdef files and MATLAB script files are not supported in MATLAB Script mode. When switching to use MATLAB, you can use external functions and classdef files (in .m or .p) from the specified directory (Tools > Options... > Directories > MATLAB Functions) and from your MATLAB search path inside SystemVue. The following tables show the supported context:

.m File ContentUse MATLAB ScriptUse MATLAB 2014a and later
classdefnot supportedsupported
scriptnot supportednot supported
.p File ContentUse MATLAB ScriptUse MATLAB 2014a and later
functionnot supportedsupported
classdefnot supportedsupported
scriptnot supportednot supported
File LocationUse MATLAB ScriptUse MATLAB 2014a and later
Tools > Options... > Directories > MATLAB Functionssupportedsupported
MATLAB search pathnot supportedsupported

The auto completion feature in Equation Editor also supports MATLAB functions. When you trigger the auto completion window for the first time, and if the current mode is MATLAB, a background process will be invoked, and this background process will interact with MATLAB installed on your PC to generate the supported function list. Additionally, this function list will be used by the auto completion feature later. Since generating the whole toolbox function list is a time-consuming activity which may take about 20 minutes, so a standalone process is used to complete this acitivity thus it can continue running even after SystemVue is closed. Moreover, you can also manually generate or update MATLAB function list by clicking the “Update MATLAB Function List” option from the context menu of Equation Editor.

In SystemVue, workspace variables, design variables, and dataset variables support the "double precision floating point, 32 bit integer, unitcode strings, boolean, and complex numbers in double precision floating point" datatypes for serialization and deserialization. In MATLAB Script, you can use functions such as double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64, and logical to cast a variable to a specific datatype and precision. Within a MATLAB Script equation evaluation, the datatype is preserved. However, when a MATLAB Script variable is transferred to SystemVue for storage, the variable is converted to one of the supported datatypes that can hold the value without lossing the data. Once the variable is converted, it remains in the converted datatype when passing into MATLAB Script again.

In general, a value class can be transferred from a retail MATLAB equation (or command prompt) to a SystemVue workspace and can be used later in another retail MATLAB equation (or command prompt). An example of the value class is ‘gf’ (Galois field array). On the other hand, a handle class has a reference to the actual object, and may not expect to work when transferring across the boundary between retail MATLAB and SystemVue. The general guideline is to use handle classes just within a retail MATLAB equation, that is, create the handle class variable in the equation, delete, and clear the handle class variable before the end of the equation. For example:

fwrite(a,3); % use the tcpip object
clear a;

You can use the 'isvalid' function of the handle class to test whether a variable is a valid handle. For MATLAB 2014b and later, you can use the 'ishghandle' function to test whether a variable is a valid Handle Graphics object.

In general, the performance of the equation system is comparable to the previous releases. You can even observe performance improvement in certain cases, for example, using heavy "for" loops or using computation intensive functions like "conv". However, due to architectural difference in MATLAB Script, you may observe performance degradation in the following conditions:

  • MATLAB Script model can be relatively slow when it uses simple equations. In this case, a built-in Vectorization parameter is provided in the MATLAB Script model to speed up the simulation. See the Vectorization Parameter of the MATLAB Script model for details.
  • The user interface may appear unresponsive when SystemVue is running a long and computation-intensive equation. If the computation is not completed within a few seconds, a cancellation dialog box will be displayed to:
    • indicate SystemVue is still running the equation, and
    • enables you to cancel the equation evaluation.
  • For a workspace that has equations set to use retail MATLAB, MATLAB is launched the first time one of these equations is calculated. The launch may take some time, potentially a minute or longer. The user interface may appear unresponsive, and a dialog will be displayed indicating that MATLAB is starting. After retail MATLAB is launched, equation evaluation using MATLAB Script may become noticeably slower due the synchronization needed between the two modes.
  • Sweep, optimization, Monte Carlo, and yield simulations may take longer time to complete if there are graph windows open that use functions like extractsweptdata, sweepplot, histogram, etc. and the graph uses simulation outputs. When the graph window is open, the plot will be recomputed after each analysis. Close the graph windows to improve simulation speed.


Use Model Update to Equations and Variable Viewers

The use model of equations has been updated to more closely align with the MATLAB use model.  

Workspace tree equations now behave like scripts. The variables defined in them have workspace-wide scope (no matter where in the workspace hierarchy the equation is located) and so they can be used anywhere in the workspace (other tree equations, schematics, design equations, graphs, tables). Workspace tree equation variables are shown in the Workspace Variables viewer. You can enable Workspace Variables viewer from the menu bar (View > Workspace Variables).

A global Command Prompt is now available for equation scripting. The Command Prompt can access all Workspace Variables. The results of command prompt expressions execution are shown immediately in the Command Prompt as well as in the Workspace Variables viewer.

In previous releases, a Workspace tree equation window contained an equation script editor, a variable viewer showing the variables defined in the equations, and a command prompt. Now a workspace tree equation window is just an equation script editor. Variables created from a Workspace tree equation are now shown in the Workspace Variables viewer. The global Command Prompt replaces the local equation window ones compared to the previous releases.

Similarly, a design equation window is now just an equation editor for the design. Design parameters (defined in the Parameters tab of a design) and variables created in a design equation are now shown in the Design Variables viewer. The Design Variables viewer displays the variables of the design that is currently in focus (active window) or the design that was last in focus (if the current active window is not a design). You can enable Design Variables viewer from the menu bar (View > Design Variables).

A design has its own Design Variables scope; the Design Variables (including design parameters and the variables defined in the design equation) are only accessible within the design. The design variables are automatically cleared before the design equation is evaluated.

Specifically, for the MATLAB Script language, a function object is provided to define a MATLAB Script function. A Workspace tree equation or a design equation that uses MATLAB Script can only define a script. However, it can not define functions. For more details, see Using Equations and Functions in a Workspace.

If multiple workspaces are opened at the same time using the same instance of SystemVue and these workspaces contain different definitions of the same MATLAB Script function, the behavior is undefined due to function name conflict. In this case, do not allow multiple open workspaces (Tools > Options > General) and reopen the workspace that you want to work on.

Workspace Variables resolve an ambiguous situation where multiple Workspace tree equations can define the same variable with different values. In the previous release, the variable that is going to be used during an evaluation is undefined (assuming the equations that define the same variable are in scope). Now, the variable value is uniquely defined by the last equation that evaluates it and the value is displayed in the Workspace Variables viewer. The tooltip and "Go to definition" context menu can also be used to identify which equation defined the workspace variable.

Following are the tips specifically related to the equation use model update. See Tips for Effective Equation Writing for more details.

  1. Ensure that the input and output equations are in separate blocks to prevent circular dependencies.
  2. Be aware of variable redefinition, especially when it is redefined unintentionally because workspace tree equations share the same Workspace Variables scope. If it is desirable to define the same workspace variable in different workspace tree equations, consider turning off Auto-calculate for these workspace tree equations and control their execution manually. If the intent is to define different variable values for different designs, it is recommended to use design equations instead of using multiple workspace tree equations. If the intent is to use multiple workspace tree equations for post processing, ensure the result variables use different names so they can be compared and plotted together.
  3. It is no longer recommended to put "clear" at the top of a MATLAB Script equation. Workspace tree equations share the same Workspace Variables scope. Putting "clear" at the top of a workspace tree equation is going to clear ALL workspace variables, including the ones defined in other workspace tree equations. Since design variables are always cleared before a design equation is evaluated, there is no need to put "clear" at the top of a MATLAB Script design equation.
If you have existing VB scripts that access equation variables through Application.Manager.<Workspace Name>.<Equation Name>.VarBlock, you need to change it to Application.Manager.<Workspace Name>.WorkspaceVariables.VarBlock.


Use Model Update to Parameter Evaluation and Units

The use model of how a part parameter is evaluated has been updated to resolve the confusion between "Use MKS" and "Use Display" in previous releases. The "Use MKS" and "Use Display" options (provided at the top of the variable viewer frame of an equation window) have been removed from the product. In this release, when a part parameter has units and a variable (or an expression) is used to set its value, the following rules are used for parameter evaluation:

  • If the variable (or the result of the expression) does not have an associated unit, the unit of the part parameter is applied to the value. For example, suppose a variable "var" is 100, and suppose the parameter Value is set to "var" and the parameter Units is set to MHz, the resulting parameter value is 100 MHz (100e6).
  • If the variable (or the result of the expression) has an associated unit, the parameter value is simply the MKS value of the variable and the parameter Units is not used to interpret the parameter value (in this case, the parameter unit selected is used ONLY for display purposes, e.g. to show the parameter value on the schematic). For example, suppose a variable "var" is 100 Hz (MKS value 100 with display unit Hz), and suppose the parameter Value is set to "var" and the parameter Units is set to MHz, the resulting parameter value is 100 Hz (MKS value 100) and is displayed as 100e-6 MHz.

See Using Variables or Design Parameters to Set Part Parameters for more details.

Workspace Compatibility and Workspace Conversion Tool

The workspace file format has been changed to improve file integrity due to all backward incompatible use model changes made in this release. The workspaces created using the previous SystemVue releases are automatically converted when they are opened in SystemVue . The original workspace is not modified unless you overwrite it by saving (File > Save) the converted workspace.

The workspaces created using the current version of SystemVue are incompatible with previous SystemVue releases. There is no way to convert a current workspace to a prior-version of SystemVue.

When an old format workspace is loaded and converted you will see an Information message in the Errors window notifying you that a conversion has happened.

If there are any errors encountered during the conversion, a Conversion Log note object is created on the workspace tree; this note contains details about the conversion errors encountered.

When loading old XML libraries such as Design, Part, Equation libraries, a dialog box is automatically displayed to convert the old XML library to the new format. You will need to provide a name for the new library and the converted library will be automatically loaded. The old libraries remain unchanged so you can still load them in previous versions. You can also run the conversion tool (see below) outside the product to convert your XML libraries to the new format.

A command line utility program, WorkspaceConversionTool.exe, is provided to convert multiple workspaces and XML libraries in a directory. The workspace conversion tool can be found in the <SystemVue_Install_Directory>\bin directory.

The command line syntax of the conversion tool is like: WorkspaceConversionTool.exe "SourcePath" "DestinationPath".

For example: WorkspaceConversionTool.exe "C:\Examples\WorkspaceA_For2013_08.wsv" "C:\Examples\Converted\ConvertedWorkspaceA_For2014_01.wsv"

The conversion tool also works with directories. All workspaces in the source directory and any sub-directories are converted to the destination directory. Non-workspace files in the source directory are copied to the destination directory.

For example: WorkspaceConversionTool.exe "C:\Examples\MyWorkspaces" "C:\Examples\ConvertedWorkspaces"

The workspace conversion tool converts the following items to match the new use model in the current product:

  1. Convert part parameter units and equations, if necessary, to preserve the same results with the new use model of parameter evaluation. See Use Model Update to Parameter Evaluation and Units.
    1. If a part parameter value is set to a variable (or an expression using a variable) and the variable is defined in a "Use MKS" equation and the variable does not have an associated unit in the original workspace, the part parameter unit will be set to the MKS version of that unit category (for example, from MHz to Hz).
      • If it is not desirable to change part parameter unit, there is a command line option, -ScaleEquationText, in the workspace conversion tool to associate MKS display unit with the variable at the end of the equation that defines the variable. For example, WorkspaceConversionTool.exe C:\tmp\source_directory\workspace1.wsv C:\tmp\destination_directory\workspace1.wsv -ScaleEquationText
    2. If a design equation is set to "Use Display" and there are design parameters that have associated units, additional lines will be inserted at the top of the design equation to strip out design parameter units and adjust design parameter values such that the design behaves the same as before.
  2. Convert workspace tree Equation object that defines a Math Language function to a workspace tree Function object that defines a MATLAB Script function. The workspace conversion tool only handles the case where the first valid line in the original equation defines a function. If an equation block defines multiple functions, then only the first function will be converted to a function object. The other function(s) will exist only in the local scope of the converted function.

  3. Convert setunits and getunits in Math Language to setdisplayunit and getdisplayunit in MATLAB Script. It also converts the old unit specification in setunits to the new unit specification in setdisplayunit.

  4. Convert tuning syntax =? in Math Language to tune in MATLAB Script.
    If there is a "clear" function call at the top of a MATLAB Script equation, the line will be commented out because it is no longer recommended to do so in the current version. Workspace tree equations share the same Workspace Variables. Putting "clear" at the top of a workspace tree equation is going to clear all workspace variables, including the ones defined in other workspace tree equations. Since design variables are always cleared before a design equation is evaluated, there is no need to put "clear" at the top of a MATLAB Scriptdesign equation.

  5. Remove old tcpip variables from the workspace because the current tcpip class format is incompatible with the previous version. You can rerun the equation to create the tcpip variable for the current version.
  6. Convert "isstring" function to "ischar" because "isstring" is no longer supported in MATLAB Script.

The workspace conversion cannot preserve the behavior for the following cases and will report conversion errors or warnings after loading the converted workspace.

  1. If there are duplicated variables defined in multiple tree equations in the original workspace, only one of them will be displayed in the Workspace Variables viewer. See Use Model Update to Equations and Variable Viewers.
  2. If there is a variable defined in a workspace tree equation that "Use Display" and the variable is associated with a unit (for example, through setunits or coming from a dataset) and the variable is used to set a part parameter, the behavior could be different than the previous release.
  3. If an equation should be converted to a MATLAB Script function object, but the function name is already in use by another workspace tree object then the function object will not be created. The equation object cannot be renamed to another workspace tree object with the same name.

  4. If an equation contains keywords “#matlabregion” and “#endregion” and functions “setmatlabvariable” and “getmatlabvariable”, they are no longer supported in MATLAB Script. The workspace conversion tool will report conversion error and instruct you about how to switch to use your MATLAB installation.

  5. If functions like "fopen" and "readvector" use relative file path, make sure the working directory is set properly. You can use 'cd' to display and change the working directory and use 'getworkspacedir' to obtain the workspace directory.

The unit use model has been updated in SystemVue and is not compatible with previous versions. The workspace conversion tool can convert prior workspaces to match the new unit behavior for most cases. However, here are the limitations:

  • If the original workspace uses setunits to set the unit of a variable and such variable is used directly or indirectly (through expression) to set a part parameter, the value of the part parameter might be different than previous versions.

3D Graphing

3D graphs are now supported natively in SystemVue. See 3D Graphs for detailed descriptions. The following illustrates a few sample MATLAB scripts for creating 3D graphs:

[xx,yy] = meshgrid(-1:.1:1,-1:.1:1); % a built-in Matlab Script expression 
zz = xx.^2+yy.^2;
graph1 = graph_figure ('First Cartesian graph with wireframe'); % create a graphing object
graph1. add_mesh_data (xx,yy,zz,'salad_bowl_mesh'); % a 3D mesh plot with mesh grid is displayed
graph1. set_title ('Image of a salad bowl mesh'); % Title of the graph

graph1. set_label_x ('X Range'); % label for X-axis

graph1. set_label_y ('Y Range'); % label for Y-axis

graph1. set_label_z ('Z Range'); % label for Z-axis

graph2 = graph_figure ('Cartesian graph without wireframe');
graph2. add_surface_data (xx,yy,zz,'salad_bowl_surface'); % a 3D surface plot is displayed; explicitly name the trace with the 4th (an optional) argument
graph2. set_title ('Image of a salad bowl surface'); % Title of the graph can be set after the image is created

[theta,phi] = meshgrid(linspace(-pi,pi,88),linspace(-pi/2,pi/2,69));
rho = 0.1 + sin(4*theta).*sin(2*phi);
graph3 = graph_figure ('First spherical graph');
graph3. add_spherical_data (theta,phi,rho,'sphr_16_lobe'); % a 3D spherical plot is displayed.
graph3. set_title ('8+8 lobes'); % Title of the graph

[x4,y4,z4]=sph2cart(theta,phi,rho); % a built-in Matlab Script expression
graph4 = graph_figure ('Spherical graph transformed to Cartesian graph');
graph4. add_mesh_data (x4,y4,z4); % a 3D mesh plot.

[a5,e5,r5]=cart2sph(x4,y4,z4); % a built-in Matlab Script expression
graph5 = graph_figure ('Spherical graph back again');
graph5. add_spherical_data (a5,e5,r5,'eight_lobe'); % a 3D spherical plot.
graph5. set_title ('8-lobe spherical'); % Title of the graph

graph6 = graph_figure ('Two images in one');
graph6. add_mesh_data (x4,y4,z4, 'tr_6a'); % image #1
graph6. add_mesh_data (xx,yy,zz, 'tr_6b'); % image #2
graph6. set_title ('Two 3D Shapes'); % Title of the graph

The examples showing 3D graphing capabilities are available in \Examples\PreReleaseExamples\3D_Beamforming_plots.wsv and \Examples\PreReleaseExamples\Bluetooth - 3D.wsv in the SystemVue installation directory. 

Use Model Update to Equation Auto-Calculate

If the variables defined in an equation are not used anywhere in the workspace (graphs, designs, tables), then the equation will not calculate (execute) when the workspace is opened even if it is set to Auto-calculate.


  • SystemVue 2015.01 requires: a) version 2014.07 of the EEsof EDA licensing software, b) version 3.2 codewords to run, and c) the licensing server software, lmgrd and agileesofd, to be upgraded to at least the same versions as what are included in EEsof EDA Licensing software 2014.07. SystemVue 2015.01will not start if any of these requirements is not met. Refer to the License Codeword Version Compatibility Table.
  • In the EEsof EDA License Tools version 2014.07, licensing vendor daemon (agileesofd) is upgraded to sync up with FlexNet FNP version of FLEX license manager (lmgrd). SystemVue installer for the Windows platform will automatically set up these two new license server daemons by default for the local node-locked license users; for Linux, you need to follow the Linux/Solaris Licensing Setup instruction to complete the licensing configuration process. For more details, refer to Licensing (For Administrators).
  • SystemVue does not automatically release licenses after checking out. From SystemVue 2013.08 onwards, Action > Release All Simulation Licenses option is available to manually release all checked out simulation licenses.

C++ Model Builder

  • SystemVue is now built with Microsoft Visual Studio 2012, as a result, C++ model builder libraries need to be compiled with Microsoft Visual Studio 2012 to load into SystemVue. If you have existing C++ model builder libraries, compile them again using Microsoft Visual Studio 2012.
  • AgilentEEsof namespace for model builder has been rebranded to SystemVueModelBuilder. It is recommended to use SystemVueModelBuilder namespace when creating new C++ models. For backward compatibility, namespace AgilentEEsof is defined as an alias of SystemVueModelBuilder in DFModel.h, so the existing C++ model files do not need to be rewritten.

C++ Code Generation

The C++ Code Generation flow no longer supports ADS Ptolemy Model as a Target. For alternative ways to bring SystemVue content into ADS, see the following documentation sections:

Signal Downloader Enhancements

  • SignalDownloader_M9381A now supports up to 4 channels.
  • Waveform Sequence Composer can now be controlled from external C# programs.
  • A new signal download supports the new M8195A wideband AWG.

Filter Designer Enhancements

  • Filter Designer now supports specification of complex taps in custom response category.

Algorithm Design Model Enhancements

  • WaveForm now supports optional trigger signal.
  • Flex_OFDM : Support for the input of QAM_Identifiers and QAM_Levels when generating VSA 89600-compatible configuration files.

SystemC Modeling Enhancements

Other Enhancements

  • Annotation Text now supports equation expression macros using the new %=statement=% syntax.
  • Annotation Picture now allows .png files and uses relative paths to the image (so you can share the image(s) associated with your workspaces).

Release Highlights: Add-on Libraries and Design Kits

W1712 Distributed Computing 8-pack

W1713 SerDes Models

  • Spread spectrum clock (SSC) and band limited random jitter are added to the PulseShaping model.
  • FFT based fast convolution is added to the SData model which increases the simulation speed of SerDes channel greatly.
  • The VCSEL_Extractor model now saves extracted device parameters to data set.
  • The VCSEL model can now load device parameters from data set variables.

W1714 AMI Model Generation

  • Added new SerDes modeling examples (\Examples\Model Building\IBIS-AMI Modeling\):
    • Adaptive CTLE
    • PCI express 3.0
    • USB 3.1

W1715 MIMO Channel

  • The MIMO channel model now supports the 3D WINNER+ model, which adds elevation in addition to (X,Y) coordinate distance.

W1716 DPD builder

  • The DPD system has added Dual-Band DPD modeling, for extraction and pre-distortion. Dual-band PAs amplify two independent RF bands, thus cross-coupling the DPD coefficients.
  • New DPD SFP(Soft Front Panel) example using COM interface. See Examples\DPD\

W1717 Hardware Design Kit

  • Support for Keysight M9703A wideband digitizer FPGA Development Kit (FDK). Ability to program the Xilinx Virtex 6 devices in the instrument for real-time processing, as well as, HIL co-simulation with that instrument.
  • Support for Aldec Riviera PRO 2013.10 through 2015.02.

W1718 C++ Code Generation

  • Support for Microsoft Visual Studio 2012, replacing VS2010 and VS2008 in previous releases.

W1719 RF System Design Kit (Spectrasys)

  • Support for EVM and BER estimation for digital modulation.
  • Corrected phase issues associated with phase noise and reference clocks.
  • Added an SFDR parameter to the ADC that sets the level harmonics generated by the ADC.
  • Added ability for ADC spurs to be set either in dBc or dBFS.
  • Improved the ADC doc.
  • Improved the residual phase noise of the amplifier to only work on desired input spectrum and harmonics created from desired spectrum.
  • Fixed many issues with cascaded X parameters models.
  • Improved the accuracy of Phase Noise Channel Power (PNCP) measurement.
  • Improved the accuracy of Output Saturation Power (EOPSAT and OPSAT) measurements.
  • The Multisource now supports frequency dependent port impedance.
  • All RF port now have a frequency parameter to support frequency dependent port impedances.
  • Improved coherency doc with respect to noise.

Changes from High Carrier Count Intermods (HCCI) to a Frequency Comb Carrier

The organization and structure for creating a frequency comb (HCCI) signal is changed from its initial release in SystemVue 2013.08. The changes are as follows:

  • Use of High Carrier Count Intermods is changed to Frequency Comb Carrier and Intermods.
  • The High Carrier Count option is removed from the system analysis.
  • The examples folder directory is renamed to Frequency Comb instead of High Carrier Count.
  • To create a frequency comb carrier this option must be selected in the Multisource. The unique frequency comb carrier is no longer be created selecting the Use Multiple Carriers option on the multisource. Multiple carriers can still be created using this option. However, it no longer creates the unique frequency comb carrier that can leverage intermod calculation speed.

Existing workspaces that use the old HCCI option must be converted to the new format by following these steps:

  1. Editing the exiting HCCI source and selecting Frequency Comb instead of CW.
  2. Setting the number of carriers. This is the same number of carriers specified with the old HCCI option.
  3. Setting the total bandwidth. This must be calculated since the old way used a frequency offset. The bandwidth equals = (Number of Carriers - 1) * Frequency Offset.
  4. Unchecking the Power specifies total comb power since the old HCCI option each individual tone in the comb was at the specified power.
    The Center Frequency is used instead of a start frequency. The center frequency equals = start frequency + bandwidth / 2.

Mixer S Parameter Accuracy Improvements

The mixer models have a new parameter called Input Port (InPort) that is used to identify the primary input port of the mixer. This information is necessary to improve the S parameter accuracy of the mixer. The linear mixer model now support Conversion Gain in the forward direction and RF to IF Isolation in the reverse direction. This enables higher accuracy load impedances seen on the mixer input port due to varying mixer load impedances.

In simulation intensive workspaces like sweeps, monte carlo, and optimization of the a system design the simulation speed can generally be improved by turning off the 'Use Volterra Model' option located on the Calculate tab of the System Analysis. Turning off this option can decrease intermod accuracy.

New DC Power Supply Parameters and Measurements

Current and voltage power supply parameters have been added to the active behavioral models. DC power supply measurements have been added to the main system analysis dataset that show users power supply requirements for the entire design. This includes the calculated DC supply power. 

New RF Design Kit Examples

  • AGC using Power Dependent Attn.wsv
  • AM to PM Basics.wsv
  • AM_to_PM_RF_model_LTE.wsv
  • AM_to_PM_RF_model_QPSK.wsv
  • Node Data to Text file.wsv
  • ACPR Estimation.wsv
  • BER Estimation Validation.wsv
  • EVM Basic Estimation.wsv
  • TX Hybrid Amp Initial.wsv
  • Phase Noise Channel Power.wsv
  • RF Amp Residual Phase Noise.wsv
  • Monte Carlo Sweep.wsv
  • Quick Sweep Monte Carlo.wsv

W1902 Digital Modem library

  • New reference source "DigMod_SourceD_RF" and receiver "DigMod_ReceiverD_EQ_RF" .
  • These enable framing, robust EQ/corrections, mod/demod, and EVM/BER measurements of 7 differential modulation types listed below. These constant-envelope formats are typically used in high-power and battery-efficient applications such as satellite and mobility comms.
    • DQPSK
    • Pi/4 DQPSK
    • D8PSK
    • Pi/8 D8PSK
    • P/4 CQPSK
    • DBPSK
    • Pi/2 DBPSK

W1905 Radar library

The Radar library has newly added "framework" templates and components and several new examples

New model:

  • RADAR_RangeMeas: To measure the range of targets.
  • RADAR_VelocityMeas: To measure the velocity of targets.
  • RADAR_UnAmbRange: To measure the un-ambiguity range with multiple PRFs.
  • RADAR_UnAmbVelocity: To measure the un-ambiguity velocity with multiple PRFs.
  • RADAR_DOA: To measure the direction of arrival of targets.
  • RADAR_ADBF: Radar adaptive beamforming.
  • RADAR_ArrayCouple: To simulate the element couple effect in the phased array.
  • RADAR_AntennaPolarizationTx: To support EMPro file import.
  • RADAR_AntennaPolarizationRx: To support EMPro file import.

Updated Model:

  • RADAR_Clutter: To update the clutter generation algorithm.
  • RADAR_EchoGenerator: To fix the bug of propagation loss.
  • RADAR_TargetEcho: To add the rotation velocity to support ISAR imaging.
  • RADAR_MultiChTx: To add the imbalance effect of multiple channels.
  • RADAR_MultiChRx: To add the imbalance effect of multiple channels.
  • RADAR_EWJamming: To add the deceptive jamming with false targets, range pull, and velocity pull.

W1906 5G Exploration library

  • The W1906BEL 5G baseband exploration library is a new product for SystemVue 2015.01.  
  • It is a specially-licensed IP product that provides C++ algorithmic source code for pre-5G standards investigations and research.  
  • This source code library is a separate installation and is not directly included with the main SystemVue release.

W1907 "5G Forward" library bundle

  • The W1907BP 5G Forward baseband verification library bundle is a new product for SystemVue 2015.01
  • It provides 
    • licensed, compiled versions of the W1906BEL 5G simulation models, not otherwise available.  
    • The bundle also includes W1918 (LTE-Advanced and LTE), W1916 (2G and 3G), and the W1715 MIMO Channel models. 
  • The 5G models and documentation are included in this installation. 

W1917 WLAN library

  • New Bluetooth low energy source "Bluetooth_LESource" for reference packet signal.
  • New Bluetooth receiver "Bluetooth_Receiver" to output the decoded bits for all modes.

W1918 LTE-Advanced library

  • The LTE-Advanced library now supports:
    • PUCCH format 3
    • PUCCH demodulation and decoding
    • CSI RS transmission
    • Adaptive Modulation and Coding (AMC)
    • Coordinated Multi-point (CoMP)

Obsoleted Features

  • SystemVue 2007 APG DLL Import feature has been obsoleted from the product.
  • MATLAB_Cosim part has been obsoleted from the product. MATLAB_Script model with the retail MATLAB mode can be used to achieve the same functionality.
  • Using Matlab compiled m-code (with mcc) as 3rd party library to create SystemVue C/C++ DF models is no longer supported. Instead, you can generate C/C++ code from m-code using Matlab Coder (codegen) and compile the generated code as 3rd party library.
  • dBFS has been obsoleted from the relative unit category. The SNR parameter of ADC_BASIC is assumed to be specified in dBFS (dB relative to the full scale value).

Resolved Issues

  • Fixed an issue with the function 'extractsweptdata' so that data can be extracted from nested sweeps


  • On windows, a possible Administrator privilege issue preventing the automatic restarting of the FlexFNP license server program, lmgrd after the PC comes out of the hibernation mode has been fixed. The License Setup Wizard will automatically restart the server without any user intervention.

Known Issues


  • Unable to install Flex-10 driver if Flex-9 dongle is already plugged into a machine.
    Workaround: Before installing a Flex-10 driver for the first time, unplug the Flex-9 dongle.
  • There is a known Flexera FNP issue, whereby mixing node-locked codewords and floating codewords in one license file can result in: a) Remote simulations not working or b) A second local simulation not working in case the license is node-locked and also has incorrect version.
    Workaround: It is strongly recommended that you do not mix node-locked codewords and floating codewords in one license file nor in any configuration that ends up with node-locked codewords and floating codewords both available on the same server. In other words, put the node-locked license and the floating license on different servers, and point to the respective one based on what you need to run.
    Additionally, we also recommend you to remove expired codewords, to separate out the new and the old versions of codewords into different files and different servers, and to point to the respective one based on what you need to run.
  • Not specifying the TCP/IP port for the license server during license setup may lead to unexpected behavior and/or license checkout failure on the Windows platform. We strongly recommend you to always explicitly specify the TCP/IP port associated with each license server.
  • A node-locked and floating bundle operating on Linux cannot be shared between products using EDA License Tools version older than 2014.01 when run at the same time.
  • The "Check-in failed" message occurs in the license activity log occasionally can be ignored; the license mentioned in this message is actually properly returned.
  • License Setup Wizard does not remove any previous user-configured FLEX Windows License Service installed using FlexNet's lmtools. 
    Workaround: You must remove the previous user-configured Windows License Service via lmtools.
    • Run the lmtools.exe from C:\Program Files\Agilent\EEsof_License_Tools\bin to invoke the lmtools utility. The lmtools utility window is displayed.

      If you have installed an EEsof product released before 1st August, 2014 on your system prior to installing an EEsof product released after 1st August, 2014 then the default EEsof Licensing tools path will remain C:\Program Files\Agilent\EEsof_License_Tools.On the systems that only have EEsof products released after 1st August, 2014 installed then the default EEsof Licensing tools path will be C:\Program Files\Keysight\EEsof_License_Tools.
    • In the Service/License File tab, check the Configuration using Services option. All user-configured FLEX Windows License Services will be listed.
    • Select the service you wish to remove.
    • Select the Config Services tab and click the Remove Service button to remove the service.
      To ensure that the license service or lmgrd is running, click View Log. A log window appears that confirms whether agileesofd and lmgrd are up and running.
  • While running multiple versions of prior SystemVue releases together, set SYSTEMVUE_MAXIMUM_BUNDLE_USAGE=ON in your environment so that all of them will use the same method to check out licenses. Otherwise, you might receive an error message, "Licensed number of users already reached".
  • On some Windows 7 machines, when more than one definition of an Ethernet adapter exists (duplicates), license checkouts may appear to hang up.
    Workaround: Disable the duplicate network card definitions in your network settings: Control Panel > Network and Internet > Network Connections. This issue has been acknowledged by Flexera and they have created a bug report (SIOC-000103097).
  • For LSF style distributed simulations, in case of windows, ensure that the PATH points to the $HPEESOF_DIR/EEsof_License_Tools/${architecture} directory that corresponds to the EEsof release being used. This needs to be done in order to ensure that the proper version of the Flexera utilities (like lmutil) gets picked up in the path before any older in-compatible versions (that may also be installed on a users’ system.)
  • License Setup Wizard (aglmwizard.exe), which is used to set up and record the license path would not work if you already have an environment variable set for SYSTEMVUE_LICENSE_FILE.
    Workaround: You can use SYSTEMVUE_LICENSE_FILE variable to point to license file or refer to Licensing (For Administrators).
  • The License Setup Wizard will exit or not properly configure a license server, if the server has all of its licenses currently in use.
    Workaround: Wait for a license on the server to become available as you normally would before launching the product.
  • Unable to set license in case unicode characters are used either in path or license file name because the Flex License Service does not support these characters.
  • The Product Selector tool will be unable to display the license server status properly when connected to older license server.
    Workaround: Upgrade your license server to the latest version.
  • The vendor daemon agileesofd sometimes crashes when running on remote Windows 8 machine. This crash occurs in the License Manager and Product Selector dialog boxes. SystemVue can still run. Keysight is working with Flexera to resolve this issue.

    Workaround: Use a different operating system for remote license server. If you must use Windows 8, the vendor daemon may crash when viewing licenses with the License Manager or when requesting license availability from the Product Selector dialog box. The license server, lmgrd, automatically restarts the vendor daemon and license checkout can proceed normally.

3D Graphing 

  • Stepping through the 3D graphing related MATLAB functions inside SystemVue debugger may not work. Use "Run Equations" command instead.
  • If 3D graphs appear to mal-function on your system, ensure to update your display adapter to the latest graphics driver–e.g. Intel(R) HD Graphics 4000 or NVidia Quadro K600 are among the latest graphics drivers that should work. You can find out your current graphics driver via Control Panel>System>Device Manager>Display adapters. For INTEL system, you can use to update your drivers. 
  • If you try to tune a variable that can change a 3D graph through an equation (For example, tune a variable that controls beamwidth from a marker), you need to re-run the equation that creates the 3D graph after you open the workspace.


  • Antivirus on your system may remove one or more files installed during the SytemVue installation leading to a corrupt SystemVue installation.
    Workaround: Disable antivirus and other related programs on your system before installing SystemVue. You can enable them once the SystemVue installation is complete.
  • The runanalysis function could potentially cause stability issues. If that happens, the workaround is to close all windows inside SystemVue and then run the equation that contains runanalysis. During the simulation invoked by the runanalysis, do not run other simulations or equations.

Please help us improve
Please help us improve
Was this topic helpful? Yes No