The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Measurements >> Phase Noise and Jitter Measurements >> Cumulative Phase and PhaseNoise
https://designers-guide.org/forum/YaBB.pl?num=1405235104

Message started by cheap_salary on Jul 13th, 2014, 12:05am

Title: Cumulative Phase and PhaseNoise
Post by cheap_salary on Jul 13th, 2014, 12:05am

I have two questions about PSD calculation of phase noise in LISTING-17 at page-46 in the following.
http://www.designers-guide.org/Analysis/PLLnoise+jitter.pdf


Quote:
% output estimates of period and jitter
T=mean(periods);
% compute the cumulative phase of each transition
phases=2*pi*cumsum(periods)/T;
% compute power spectral density of phase
[Sphi, f] = psd(phases, nfft, 1/T, winLength, overlap, "linear");

(1) Why do you apply above "phases" for evaluating PSD of phase noise ?
http://www.designers-guide.org/Forum/YaBB.pl?num=1066269978/1#1

If we use the above "phases", result of phase noise can not be consistent for completely clean signal.

For evaluating phase noise, I think phases has to be :
phases=2*pi*cumsum(periods-T) / T;
The following is same as my opinion.
http://www.designers-guide.org/Forum/YaBB.pl?num=1196964298/6#6


Quote:
% correct for scaling in PSD due to FFT and window
Sphi = winNBW*Sphi / nfft;
% plot the results (except at DC)
K = length(f);
semilogx( f(2:K), 10*log10(Sphi(2:K)) );
title("Power Spectral Density of VCO Phase");
xlabel("Frequency (Hz)");
ylabel("S phi (dB/Hz)");
rbw = winNBW/(T*nfft);

(2) Why is a unit of Sphi (dB/Hz) ?
Has it to be (dB/nbw) ?
Here "nbw" is a normalized Noise Bandwidth defined as following.
nbw = rbw * T

Title: Re: Cumulative Phase and PhaseNoise
Post by cheap_salary on May 25th, 2015, 8:52am

If we evaluate Sphi by "phases=2*pi*cumsum(periods)/T", it gives "cyan curve".
On the other hand, if we evaluate Sphi by "phases=2*pi*cumsum(periods-T)/T", it gives "green curve".

Do you think which result is reasonable ?
Of course, green curve is reasonable.
This is a reason why I think that phases has to be "phases=2*pi*cumsum(periods-T) / T".

Currently pwelch() is recommended for Welch's method of estimation rather than psd().

Quote:
winNBW = 1.5; % Noise bandwidth given in bins

Nfft = 512; % should be power of two
winLength = Nfft;
overlap = Nfft/2;

nbw = winNBW / Nfft;
fs = 1 / T;
NBW = fs * nbw;
rbw = NBW;

% compute power spectral density of phase
[Sphi, f] = pwelch(phases, hanning(winLength), overlap, Nfft, fs);
Sphi = NBW * Sphi;


Title: Re: Cumulative Phase and PhaseNoise
Post by cheap_salary on May 25th, 2015, 9:04am

http://www.mathworks.com/matlabcentral/answers/100251-what-is-the-difference-between-the-functions-psd-and-pwelch


Quote:
[Sphi, f] = psd(phases, Nfft, fs, winLength, overlap, 'linear');
Sphi = nbw * Sphi; % correct for scaling in PSD due to FFT and window
gives yellow curve.


Quote:
[Sphi, f] = pwelch(phases, hanning(winLength), overlap, Nfft, fs);
Sphi = NBW * Sphi;
gives green curve.

We can see 3dB difference between them, since pwelch() returns a single sided spectrum by default (for real signals).

I don't know why they give far different result for very low frequency.

Title: Re: Cumulative Phase and PhaseNoise
Post by designer_dude on Jul 27th, 2016, 5:49pm

Hi,

You need to substract out the nominal period for every period you use. Consider 0 noise clock signal. If you don't substract the nominal period out, the phase will be 0, 2pi, 4pi.... to infinity,  A phase noise plot would have infinite DC component for an ideal, clock.  THis is obviously wrong.

Title: Re: Cumulative Phase and PhaseNoise
Post by cheap_salary on Jul 27th, 2016, 6:54pm


designer_dude wrote on Jul 27th, 2016, 5:49pm:
You need to substract out the nominal period for every period you use.
Can you understand my appends surely ?
Surely read a start description of this thread.


The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.