Tutorials

Why we care about Residual EVM of a Signal Analyzer (802.11ac)

Monday, January 9th, 2012

Error Vector Magnitude (EVM) is a measure used to quantify the quality or performance of a modulated signal from a transmitter or receiver. In simple terms, if we consider a constellation diagram the EVM is the magnitude of the difference between the measured vector and the ideal (reference) vector. This can be visualized as below.

It can be seen from this simple diagram that EVM is influenced by a number of parameters such as below:

  • Phase Error
  • Frequency Error
  • Magnitude Error
  • Noise that contributes to all of the above

Each of these areas are contributed to not only by the signal being measured, but also by the test instrument itself which has an effect on how well it can capture the signal, but also how it is able to generate an “ideal” reference signal to use for the calculation. If we take a look at this block diagram which shows a model of transmitter EVM contributions such errors also exist during the demodulation process. Therefor the limit of EVM demodulation performance can only be as good as the error contributions added during the demodulation process in the signal analyzer.

Transmitter EVM Model

Many of the effects we are able to correct for in DSP as part of signal synchronization etc. Although phase noise is not so easy to correct for and has a direct impact on performance.

Synchronisation Process

Below are some graphics showing a visual representation of the effects of the distortions described in the model on the constellation diagram.

EVM Performance when measuring the new 802.11ac 80MHz standard 256QAM

Below are two graphics showing screenshots taken from an R&S Vector Signal Analyzer on an 802.11ac signal with a specific EVM of the transmit signal. The good signal has 33dB of EVM and the bad signal only 30dB of EVM performance. It is clear to see on the bad signal that some symbols (constellation points) are much further away from the ideal point which would result in more error and a poorer EVM result.

30db

Constellation with 30dB of EVM Performance

33db

Constellation with 33dB of EVM Performance

Instruments with a worse EVM performance will contribute directly to this error and on signals over a wide bandwidth and such high order modulation schemes (256QAM / 1024QAM etc) EVM performance and phase noise performance of the test instrument becomes critical to measuring such parameters.

Graphics courtesy Rohde & Schwarz FSV-K70 user manual and some very helpful colleagues relating to the EVM plots above.

Post Tags: » » » » » »

Test and Measurement Instrument control using PHP

Sunday, December 11th, 2011

There are various ways of remote controlling instruments such as remote desktop or VNC for getting access to the screen but often you want it to do something specific in an automated way. Many people use tools such as Labiew or even full on programming languages like Visual C, C#, VB etc with drivers (VXI or LXI) to achieve robust production solutions. Often when I am asked by customers to assist with some remote control, I turn to a web scripting language called PHP. Its not the normal scripting language people think of for instrument remote control but it has some benefits for me:

  1. It has socket support allowing control to port 5025 by sending SCPI commands as ASCII to write commands and read results.
  2. Its fast to develop, is very much like C but with simplicity.
  3. Has built in support for Regular Expressions and Text Parsing meaning string manipulation is quick and easy.
  4. As I’m familiar with the language I can knock up scripts quickly and send the SCPI command sequence to the customer.
  5. It can be used with a web server. There are possibilities with PHP to build a scaleable instrument remote control solution that is becomes a web application, meaning easy control of instruments just by logging onto a website.
  6. If required a complex system could be developed to easily store and recall results from a MySQL back end.

Of course there are other languages that could be used and are often used by customers such as Perl or Python to achieve the above tasks, I just happen to get on with PHP.

A simple example might be something like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Allow the script to hang around waiting for connections
set_time_limit (0);
 
$fsq_ip_address = '192.168.1.2';
$port = 5025; 
 
// open socket to instrument 
$fsq= fsockopen ($fsq_ip_address, $port, $errno, $errstr, 10); 
 
// open the output file for results 
$fp = fopen ("output.txt", "w+"); 
 
// query instrument for its details and output result 
writescpi($fsq, "*IDN?"); 
$result = readscpi($fsq); 
logger("Instrument: " . $result); 
 
// close sockets and file 
fclose ($fsq);
fclose ($fp); 
 
// Function Definitions 
// Write string to the socket (output errors if debug enabled) 
function writescpi($inst, $msg) 
{ 	
  global $debug; 	
  fputs ($inst, $msg . "\n");
 
  if ($debug == true) 	
   { 	        
    print ("\nCmd: " . $msg); 		
    fputs ($inst, "syst:err?\n"); 		
    $result = readscpi($inst); 		
    print ("Result: " . $result . "\n"); 	
  } 
} 
 
// Read string from the socket 
function readscpi($inst) 
{ 	
  $buf = fgets ($inst,100000); 	
  $buf = trim ($buf); 	
  return $buf; 
} 
 
// output to screen and to file at the same time 
function logger($result) 
{ 	
  global $fp; 	
  print ($result . "\n"); 	
  fwrite ($fp, $result); 
}
Post Tags: » » »

Spectrum Analyzer Noise Correction for Increased Dynamic Range

Tuesday, July 19th, 2011

In a previous post we talked about noise figure and how ultimately thermal noise limits the performance of a spectrum analyzer. This limits our ability to see signals that would be in the noise floor of the analyzer. For quite some time it has been possible to “remove” the noise of a spectrum analyzer from the measurement to give an improved dynamic range. This can be extremely useful when trying to view spurs or improve channel power measurements and can give the user a significant performance increase (depending on settings) and allow us to measure almost to the thermal limit of -174dBm/Hz at lower frequencies (1GHz).

Sometimes it may be difficult to measure spurs due to them being such low power and also the power of a carrier being fed into the analyzer which may have the effect of over driving the input. The input signal may also be pulsed (as in this case) which means a longer sweep time is needed to see the whole spectrum. The challenge here is the trade off in resolution bandwidth, sweep speed and dynamic range.

The plot below shows the noise floor of spectrum analyzer with noise correction disabled and a normalised noise floor (1Hz RBW) of around -135dBm/Hz at the 11.5GHz center frequency. In this application we still want to see the peak of our input signal and do a relative measurement between the peak and any spurs or the noise floor, hence the use of delta markers on the screen.

Continue reading » » Spectrum Analyzer Noise Correction for Increased Dynamic Range

Post Tags: » » »

R&S RTO Oscilloscope has Spectrum Analyser Sensitivity

Thursday, June 30th, 2011

After some time playing with the RTO Richard and I decided to take a look at how it performed as a Spectrum Analyser.  When traditional oscilloscopes produce an FFT of the incoming time domain signal, they simply FFT the time domain samples produced. This means, the maximum resolution obtainable for a scope with an 8 bit A/D would be 8 bits. Traditional scopes also require you to set individual FFT parameters such as FFT size, record length, sample rates etc. As a user of a spectrum analyser its much more likely the person will want to set a span, center frequency and resolution bandwidth to gain instant information on the signal of interest.

Continue reading » » R&S RTO Oscilloscope has Spectrum Analyser Sensitivity

Post Tags: » »

Noise Figure, the Y Factor Method and Uncertainties

Saturday, April 30th, 2011

Any electronic device or component produces Noise. Its a fact of life. Even a passive resistor when at room temperature has movement of its electrons which results in noise. This is termed as Thermal Noise and the minimum this can be with a system at room temperature is -174dBm/Hz (-174dBm measured in a 1Hz bandwidth).

The noise power in a resistor is given by:

Noise Equation

where, k = Boltzmann’s constant in Joules per Kelvin, T = absolute room temp = 293 kelvin, B = Bandwidth, 1 Hz in this example. Then converted to dBm’s.

What is Noise Figure?

Noise Figure is a value that defines the amount of noise that a device adds to a signal that passes through it. When many components are added together in a circuit each component contributes to the overall noise generated. This is important for many types of circuit including transmitters and receivers. In a transmit stage, the noise contributes to degradation of the signal quality. In the receiver, noise limits the sensitivity of the circuit. This makes Noise Figure an important parameter to be measured for many electronic circuits.

Continue reading » » Noise Figure, the Y Factor Method and Uncertainties

Post Tags: » » »