The previous post on phase noise discussed about finding the root mean square phase noise for a given phase noise profile. 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 and are uncorrelated.
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)
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); end end figure; plot(Es_N0_dB,10*log10((evm/N)),'s-'); hold on;grid on plot(Es_N0_dB,10*log10(theory_evm),'+-'); xlabel('Es/N0,dB'); 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.
 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