September
2000
doc.: IEEE 802.11-00/296r1
Suggested Phase Noise Model
for 802.11 HRb
Mark Webster and Mike Seals
Intersil Corporation
September, 2000
Submissio Slide 1 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Overview
• This presentation recommends a phase-noise
model for 802.11 HRb proposals.
• Phase noise impacts packet-error-rate.
• The model is a fair representation of phase noise
behavior and “ideal” carrier recovery loops.
• The model is easy to use.
• Used by 802.11a.
Submissio Slide 2 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
VCO Phase Noise and Ideal 2nd-
order Carrier Recovery Loops
F3dB
freq freq
VCO -20 dB/dec PLL
dBc/Hz Trk
Resp. +20 dB/dec
F3dB
freq
2nd-order
VCO
PLL
Output
Composite -20 dB/dec
Assumes Ideal
Phase Detector
Submissio Slide 3 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Equivalent Phase Noise Model
Randomly Pre-energize F3dB
freq
to prevent
Startup Transient Output
Composite
-20 dB/dec
1st-order
AWGN
LPF
F3dB
freq freq
AWGN 1st-
PSD order -20 dB/dec
LPF Matches Composite
Hardware Effect
Submissio Slide 4 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Two Free Parameters
F3dB
freq
Composite Pssb dB
Phase Noise
-20 dB/dec
Free Parameters
1. 3 dB bandwidth
2. SSB Phase noise level at 0 Hz (or RMS Phase noise)
Submissio Slide 5 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Equivalent Noise Bandwidth of 1-pole
Butterworth Filter used for phase noise shaping.
R 1
H s sC
1
C R
sC
1
H j , where 2 f
1 j RC
1 1
H j
2
, where f3dB
f
2
2 RC
1
f3dB
df
EQBW 2
f3dB , where is the excess bandwidth factor.
0 f 2 2
1
f
3dB
Submissio Slide 6 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Compute RMS Phase Noise as
Function of Flat SSB Power Pssb dB
F3dB
freq
Pssb dB Pssb 10 Pssb dB /10
Phase
Noise
-20 dB/dec
Pone side 2 Pssb
Pone side H f
2
2
df Pone side f 3 dB
0
2
2
Submissio Slide 7 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code Usage
% Settable parameters.
vcoPnDegRms = 1; % Desired RMS phase error in degree.
vcoPnBwHz = 10e3; % LPF 3 dB bandwidth in Hz.
nSamples = 1e6; % Length of transmit signal (packet).
chanSampRateMHz = 44; % Signal (packet) sample rate.
%------------------------------------------------------------------*
% Monte-Carlo simulation to verify model.
% Note, the 1-pole filter has a start-up transient.
% But, that is OK for examining effects of phase deviations.
% Output samples have the form exp(j*radian_deviation).
%------------------------------------------------------------------*
% Generate a VCO sample waveform.
vcoPnPhasor = PhzNoiseGen( vcoPnDegRms, vcoPnBwHz, ...
nSamples, chanSampRateMHz);
% Phase-noise distort signal
outSig = inSig .* phzNoise.
Submissio Slide 8 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code for Generator (page 1 of 3)
%**********************************************************************
% PhzNoiseGen.m
%
% VCO Phase Noise modeled using a 1-pole Butterworth filter to
% give 20 dB/dec slope. Gaussian white noise is passed
% through the Butterworth filter, with the correct level
% to generate the radian variation. Output samples have
% the form exp(j*radian_deviation).
%
% Input parameters:
%
% vcoPnDegRms % Desired RMS phase error in degrees.
% vcoPnBwHz % LPF 3 dB bandwidth in Hz.
% nSamples % Size of output vector.
% chanSampRateMHz % Simulation sample rate.
%
% Output parameters:
%
% phzNoise % nSamples length complex vector.
% % Each sample has abs() equal to 1;
% % Example usage:
% % outSig = inSig .* phzNoise.
%
%
% Mark Webster September 19, 2000
%**********************************************************************
function phzNoise = PhzNoiseGen( vcoPnDegRms, vcoPnBwHz, nSamples, chanSampRateMHz)
Submissio Slide 9 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code for Generator (page 2 of 3)
% Design VCO phz noise filter.
% 1-pole Butterworth.
vcoPnNPoles = 1; % Gives 20 dB/dec phase-noise roll-off.
chanSampRateHz = chanSampRateMHz * 1e6;
Wn = 2 * vcoPnBwHz / chanSampRateHz;
[vcoPnB,vcoPnA] = butter( vcoPnNPoles, Wn);
% Compute the resulting RMS phz noise in dBc/Hz.
vcoPnRadiansRms = vcoPnDegRms * pi/180;
vcoPnVar = vcoPnRadiansRms ^ 2;
excessBw1PoleButter = pi/2; % Relative excess bandwith of 1-pole filter.
vcoPnPwrPerHzOneSided = vcoPnVar / (vcoPnBwHz * excessBw1PoleButter) ;
vcoPnPwrPerHzSsb = vcoPnPwrPerHzOneSided / 2;
vcoPnLvldBcPerHzSsb = 10 * log10( vcoPnPwrPerHzSsb );
% Compute AWGN source level feeding Butterworth filter.
awgnPnPwr = vcoPnPwrPerHzSsb * chanSampRateHz;
awgnPnRms = sqrt(awgnPnPwr);
Submissio Slide 10 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code for Generator (page 3 of 3)
% Pre-energize lowpass filter to eliminate start-up transient
% by setting initial lowpass filter state.
% Energize with Gaussian variable equal to desired rms phase noise.
lpFiltInitState = vcoPnRadiansRms*randn;
% Generate a VCO phase-noise sample waveform.
awgnPn = awgnPnRms * randn(nSamples,1);
coloredGaussianPn = filter(vcoPnB,vcoPnA,awgnPn,lpFiltInitState);
phzNoise = exp(j*coloredGaussianPn);
Submissio Slide 11 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code for Test Shell (page 1 of 3)
%**********************************************************************
% MainPhzNoiseTest.m
%
% This routine tests the procedure for simulating phase noise
% using 1-pole LPF spectral shaping. In this routine, the user
% sets
%
% (1) The 3 dB bandwidth of the LPF filter
% (2) The desired RMS phase noise in degrees.
% (3) The number of phase noise samples desired.
% (4) The simulation channel sample rate.
%
% Simulation verifies the model.
%
% Mark Webster September 9, 2000
%**********************************************************************
clear all
close all
% Settable parameters.
vcoPnDegRms = 1; % Desired RMS phase error in degree.
vcoPnBwHz = 10e3; % LPF 3 dB bandwidth in Hz.
nSamples = 1e6; % Length of transmit signal (packet).
chanSampRateMHz = 44; % Signal (packet) sample rate.
Submissio Slide 12 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code for Test Shell (page 2 of 3)
%------------------------------------------------------------------*
% Monte-Carlo simulation to verify model.
% Note, the 1-pole filter has a start-up transient.
% But, that is OK for examining effects of phase deviations.
% Output samples have the form exp(j*radian_deviation).
%------------------------------------------------------------------*
% Generate a VCO sample waveform.
vcoPnPhasor = PhzNoiseGen( vcoPnDegRms, vcoPnBwHz, ...
nSamples, chanSampRateMHz);
% Estimate the VCO's output phz noise in degrees RMS.
degRx = angle(vcoPnPhasor) * 180/pi;
degRmsEst = sqrt(mean(degRx.^2));
Submissio Slide 13 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Matlab Code for Test Shell (page 3 of 3)
%--------------------------------------*
% Plot and print stochastic results.
%--------------------------------------*
figure
plot(degRx)
grid
xlabel('sample #')
ylabel('Degrees')
str = sprintf('Phz Noise Sample: %2.2f degrees', degRmsEst);
title(str)
disp(' ')
disp('*********************')
str = sprintf('Target RMS phz error (degrees): %d', vcoPnDegRms);
disp(str)
str = sprintf('Estimated RMS phz error (deg) using %d samples: %d', ...
nSamples, degRmsEst);
disp(str)
disp('*******************')
disp(' ')
Submissio Slide 14 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Example Test Shell Output
*********************
Target RMS phz error (degrees): 1
Estimated RMS phz error (deg) using 1000000 samples: 1.005964e+000
*******************
Submissio Slide 15 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Zoomed Plot of Test Shell Output
Start-up Transient Avoided by
Pre-energizing Lowpass Filter
with Gaussian variable having
desired RMS degree phz noise.
Submissio Slide 16 M. Webster, Mike Seals
n
September
2000
doc.: IEEE 802.11-00/296r1
Summary
• Recommend 1-pole phase noise shaping.
• Use 3 dB bandwidth of 20 KHz.
• Sweep RMS phase noise in degrees.
• Show influence on Carrier Degradation in
AWGN.
• Start-up transient is avoided.
• Caveat: assumes “ideal” carrier recovery
loop.
Submissio Slide 17 M. Webster, Mike Seals
n