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 jitterT=mean(periods);% compute the cumulative phase of each transitionphases=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 windowSphi = 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 binsNfft = 512; % should be power of twowinLength = 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

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 ?