SystemVue Demo

SystemVue is a physical (PHY) layer simulation tool with simulated hardware in the loop.  Channel coding, modulation, the RF, the channel, demodulation and channel decoding can all be modelled. Performance can be tested at various parts of the signal chain – eg.  the air-interface performance metrics or the end-to-end bit error rate performance (BER) curves with various signal path impairments.  Many blocks are coded for you and you simply enter the parameters of the block.  Alternatively your own blocks can be defined – eg. when creating a complex MIMO channel for example.  Waveforms can also be uploaded to signal generators or downloaded from signal analysers, for real (and not simulated) hardware in the loop experiments.

I tried the software for about five days and was impressed with what it could do quickly.  As an alternative, it is also possible to use Matlab to generate a waveform and co-simulate with Keysight ADS using the Ptolemy product as an interface – a method I prefer to use today, as I own ADS and Matlab.  Using SystemVue would be a more cost effective solution to carry out these simulations though if you didn’t need the other capabilities of ADS and Matlab.

The good guys at Keysight gave me a trial of SystemVue.  I tried a few things to test it out:

Experiment 1: Transmitter System Design

A standard 10GHz transmit chain was designed using typical performance circuit blocks.  In addition to gain, noise figure and IP3 cascaded Excel designs, SV can also add mixer harmonic tables, frequency response, and more sophisticated noise and non-linearity models.



Cascade analysis:

The TX design is then optimised by viewing the cascade table that describes many performance metrics at the output of each circuit block stage.  Circuit blocks can be optimised to achieve the overall system performance.


Select IF frequencies:

Using the “What-IF” tool, it is simple to find the IF frequencies that are spurious free.  The utility does this by using the mixer harmonic tables.  Again, something that can be done in Excel but SV was much much quicker.


Define filter responses:

The noise and spurious can be estimated at the output of each circuit block, which therefore allows the designer to choose the filtering requirements to keep the noise and spurious below the specification level.


Experiment 2:  Create test modulation – 256QAM

Again, it was very quick to generate complex modulations.  256QAM could be generated with a few clicks, but also OFDM and 5G signal could be set up without too much effort.

Eye diagrams

It is easy to zoom in and view eye closure.


IQ constellations

Another output – IQ constellation is easy to view as well as metrics such as error vector magnitude (EVM).


Experiment 3:  Testing linearity of TX chain

The air interface of the transmitter can then be tested with the modulation with all the usual performance metrics on the standard simulated.

Spectral regrowth


Envelope CCDF before and after TX chain


EVM before and after the TX chain was also easy to find.

Experiment 4:  Measure BER with TX chain in the loop

An end-to-end BER simulation was set up.  A copy of the input bit stream is compared to the bit stream out of the system.  A delay must be found so the bit streams align and this can be found by looking at their correlation, using a sliding correlator block.

BER test bench


Theoretical versus Monte Carlo BER simulations

BER curves with channel coding can also be modelled with the tool with soft and hard decoding.  I did not try this myself but understand Viterbi, RS, Turbo, LDPC, etc are all possible to model without knowledge of complex mathematics. The curve below is without channel coding – note you must run more samples to get a smoother curve.


Well, there is a flavour of what Keysight’s SystemVue can do – a sophisticated system level PHY layer modelling tool.  It is certainly worth considering over matlab for example as it is much quicker to get sims up and running and delivering results.  For more simulation power though, especially with circuits (down to transistor level) in the loop, my preference is Matlab embedded in ADS, but this would be a more expensive option.