- DSP log - http://www.dsplog.com -

EVM with phase noise

Posted By Krishna Sankar On July 9, 2012 @ 6:30 am In Analog | 9 Comments

The previous post on phase noise discussed about finding the root mean square phase noise for a given phase noise profile [1]. In this post let us discuss about the impact of phase noise on the error vector magnitude (evm) of a transmit symbol.

Error Vector Magnitude due to constant phase offset

Consider a system model introducing a constant phase offset and thermal noise  as shown in the figure.

Figure : System model with phase noise and thermal noise

The received symbol is,



is the phase distortion in radians,

 is the transmit symbol and

 is the contribution due to thermal noise

Expanding into real and imaginary components,


Representing in matrix algebra,

The power of the error vector is,


Finding the average error over many realizations,


The individual terms can be simplified as,


as .


as and are uncorrelated.

iii) .

iv) , the variance of the noise.

Applying (i), (ii) , (iii) and (iv), the error term simplifies to


EVM due to random phase offset

The above equation derives the evm when the system is affected by a constant phase offset .   Assume that the phase is Gaussian distributed with zero mean and variance  radians^2 having a probability density function as,


The conditional error power for a given phase  is,


Computing the average over all realization of phase,


The integral term is,

(Note : proof will be discussed in another post)

Then the error vector power is,

and the error vector magnitude is,

Using Taylor series, and assuming that the  is small,



Figure : Example constellation plot (Es/N0=30dB, =5 degrees)

Matlab/Octave example

Attached script computes the evm of a QPSK modulated symbol versus Es/N0 for different values of rms phase noise.

% Script for simulating the error vector magnitude (evm) of a QPSK 
% modulated symbol affected by phase noise and thermal noise
% ----------------------------------------------------------

clear;close all;
N = 10^5 % number of bits or symbols

Es_N0_dB = [15:3:40]; % multiple Eb/N0 values
phi_rms_deg_vec = [0:1:5];

for ii = 1:length(Es_N0_dB)
	for jj = 1:length(phi_rms_deg_vec)
	   % Transmitter
	   ip_re = rand(1,N)>0.5; % generating 0,1 with equal probability
	   ip_im = rand(1,N)>0.5; % generating 0,1 with equal probability
	   s = 1/sqrt(2)*(2*ip_re-1 + j*(2*ip_im-1)); % QPSK modulation 

	   n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % thermal noise 
	   phi = phi_rms_deg_vec(jj)*(pi/180)*randn(1,N); % phase noise

	   % Noise addition
	   y = s.*exp(j*phi) + 10^(-Es_N0_dB(ii)/20)*n; 

	   % error vector
	   error_vec = (y-s);	

	   evm(ii,jj)  = error_vec*error_vec';	
	   theory_evm(ii,jj) =  10^(-Es_N0_dB(ii)/10) + 2 - 2*exp(-(phi_rms_deg_vec(jj)*pi/180).^2/2);

hold on;grid on
ylabel('error vector magnitude, dB');
title('EVM vs Es/N0 for different phase noise rms values');
legend('0deg rms','1deg rms','2deg rms','3deg rms','4deg rms','5deg rms')

Figure : EVM vs Es/N0 for different values of rms phase noise


As a quick rule of thumb, for a system  with rms phase noise of 1 degree, the evm due to phase noise alone is -35.16dB and rises by 6dB per octave (or 20dB per decade).

The phase noise profile used in this simulations assumes a Gaussian distributed flat spectrum, which is not the case in typical phase noise profiles. The EVM with a classical phase noise profile will be discussed in another post.


[1] Georgiadis, A.; , “Gain, phase imbalance, and phase noise effects on error vector magnitude,” Vehicular Technology, IEEE Transactions on , vol.53, no.2, pp. 443- 449, March 2004
doi: 10.1109/TVT.2004.823477
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1275708&isnumber=28551 [2]

Article printed from DSP log: http://www.dsplog.com

URL to article: http://www.dsplog.com/2012/07/09/evm-phase-noise/

URLs in this post:

[1] root mean square phase noise for a given phase noise profile: http://www.dsplog.com/2012/06/22/phase-noise-psd-to-jitter/

[2] http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1275708&isnumber=28551: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1275708&isnumber=28551

[3] click here to SUBSCRIBE : http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1348583&loc=en_US

Copyright © 2007-2012 dspLog.com. All rights reserved. This article may not be reused in any fashion without written permission from http://www.dspLog.com.