DSPRelated.com
Forums

Confusion about Phase Noise vs. Jitter

Started by Peter Mairhofer February 27, 2016
Hi,

I have some confusion about phase noise and jitter.
According to [1], the phase noise spectrum is identical to the spectrum
of the phase noise (because phase fluctuations <<pi/2) and hence, the
statistics of output signal of the oscillator with phase noise should be
identical to the statistics of the phase noise.

Now using Markus Nentwigs script [2] I generate phase noise for the
AD9914 which has the following specs:

srcPar.f_Hz = [ 0 10 100 1e3 10e3 100e3 1e6 10e6 100e6 9e9 ];
srcPar.g_dBc1Hz = [ -90 -90 -107 -121 -131 -130 -140 -145 -145 -145 ];

s = pn_generator();

Since the carrier (=signal) has amplitude one, the variance of s should
give me the SNR due to the phase noise at baseband, correct?

NMSE = 20*log10(var(s))
     = -61.7993

Now I use a script from MATLAB File Exchange [3] to calculate the RMS
jitter of this system for fc=2.2 GHz:

Jitter1 = Pn2Jitter(srcPar.f_Hz, srcPar.g_dBc1Hz, 2.2e9)
        = 546.46e-15

But due to what I have written at the top I could also use the signal s
itself to obtain the standard deviation which should be identical to the
standard deviation of the phase jitter:

Jitter2 = std(s)/2/pi/2.2e9
        = 58.858e-15

which is not only far off but also unrealistic.

Finally, I start to doubt what's written in [1]: It implies that the SNR
due to jitter varies *linearly* with the RMS jitter.

However, doing some math on my own I can first show that the LO jitter
translates into signal jitter. Denote the RF signal as xrf(t) and the LO
as m(t):

xrf(t) * m(t) = cos((wc+w)t) * cos(wc*t + phi) = ...
              = 1/2 cos(w*t + phi) = y(t) (after filtering)

Denote x(t) the clean signal with the form

   x(t) = cos(2*pi/T t)

and the jittered as

   y(t) = cos(2*pi/T t + phi(t))

where the amplitudes have been normalized to 1. The SNR over one period
(leaving phi as random variable) can be defined as

SNR_phi = ( \int_0^T x^2(t) dt ) / ( \int_0^T (x(t) - y(t))^2 dt )
        = ...
        = 1 / ( 2 - 2*cos(phi(t)) )

where phi(t) is a random variable.

Now the expected SNR can be calculated by taking the expected value.
Assuming white Gaussian noise:

1/SNR = E[ 1/SNR_phi ] = 2 - 2*E[ cos(\phi) ]
       = ...
       = exp(-\phi^2/2)

This gives a slope of 20dB/dec and running experiments in Simulink
confirms this result which contradicts [1].

Where is the mistake?

Last but not least, there are many models and options in MATLAB/Simulink
to generate phase noise at *baseband* (like Markus Nentwigs script).
However, for my application I would like to generate phase noise in
passband for a continuous-time solver in Simulink.

For white noise, I can just use the random number generator to generate
white noise signal phi using the jitter spec and then generate
cos(2*pi*fc*t + phi). I can color it a bit by inserting an analog
Butterworth filter before. However, how can I generate a phase noise
profile as described above without using discrete-time signal processing?


Thanks,
Peter





[1] https://www.maximintegrated.com/en/app-notes/index.mvp/id/3359
[2] http://www.dsprelated.com/showcode/246.php
[3]
http://www.mathworks.com/matlabcentral/fileexchange/22038-phase-noise-to-jitter


Try analog devices app note mt 008.
I can't paste a link w this tablet.
M
On 2016-02-27 7:41, makolber@yahoo.com wrote:
> Try analog devices app note mt 008. > I can't paste a link w this tablet. > M
Hi Markus (?), Thanks. I thoroughly read the note. It seemed to resolve at least one thing: My derivation coincides with (Eq.1) from the note (given that the exponent is very small which is the case). Hence it suggests that jitter variance is indeed linearly proportional to SNR. Although MT008 relates to jitter on ADC clocks it seems to generalize to jitter on an LO (my case). Hope this is not just coincidence. However, apart from that, it does not resolve the various other issues. Most importantly, if the statistics of phi(t) in cos(w*t + phi(t)) are equivalent to the actual noise due to phase noise (inverse Fourier transform of L(f)). And if so, why calculating jitter via std(s)/2/pi/fc gives wrong result from Markus Nentwigs script. I think my most important concern is on whether I can expect different SNR degradation for different phase noise shapes which have the same jitter. Dealing with just one number (RMS jitter) would be much easier than some complicated phase noise shapes. (I've a couple of other related issues/inconsistencies but I'll spend a separate topic on it). Thanks, Peter
The SNR will be due to the noise integrated over your bandwidth.
I prefer to call it MER or EVM when it is due to phase instead of
Awgn.   

The impact that noise will have on a receiver BER depends on the 
Sensitivity of the modulation and how the carrier tracking loop
removes the phase noise.  I'm not sure if you are dealing 
with a digital receiver or what?
On 2016-02-28 6:38, makolber@yahoo.com wrote:
> The SNR will be due to the noise integrated over your bandwidth. > I prefer to call it MER or EVM when it is due to phase instead of > Awgn.
Sure, it is not AWGN. For my system, I give it the general term NMSE (normalized mean squared error): NMSE = 10*log10(var(signal_ideal-signal_w_imperfections)/var(signal_ideal)) To make one thing clear: The output of the non-ideal oscillator (carrier is at 1 = 0dBc) is the NMSE/"SNR" when it would be sampled and compared to the "1" signal? Example: x(t) = cos(2 pi f t + phi(t)) y(t) = "downconvert x(t) to 0 Hz and remove images" Sample y(t) -> y[n] NMSE = 10*log10(var(y)) Or using the quoted script from Markus [1]: srcPar.f_Hz = [ 0 10 100 1e3 10e3 100e3 1e6 10e6 100e6 9e9 ]; srcPar.g_dBc1Hz = [ -90 -90 -107 -121 -131 -130 -140 -145 -145 -145 ]; srcPar.includeCarrier = 0; % remove carrier, so just noise is left s = pn_generator(); % actual signal is defined as 0dBc = 1 NMSE = 10*log10(var(s)) = -61.7993 Is this correct so far? Is it also true then that this added "noise" is just colored noise on the signal? If so, it seems that the noise is strongest very close to the carrier and gets less farther apart. Is my conclusion true that this is a big problem for a direct conversion receiver because most of the "noise" is close to the carrier (where an actual signal exists in a direct conversion receiver)?
> The impact that noise will have on a receiver BER depends on the > Sensitivity of the modulation and how the carrier tracking loop > removes the phase noise. I'm not sure if you are dealing > with a digital receiver or what?
It is not anything "conventional" and there is no modulation scheme used etc (except direct I/Q modulation). Think of it just as a VSA. Hence the way I want to think about it: Suppose I have an *arbitrary signal* between fc-BW/2 and fc+BW/2 and I downconvert this signal with a non-ideal oscillator to 0-BW and sample it to y[n] (ideal sampling), what is the impact in terms of NMSE (as defined above) ? Peter [1] http://www.dsprelated.com/showcode/246.php
On Sunday, February 28, 2016 at 10:29:47 PM UTC-5, Peter Mairhofer wrote:
> On 2016-02-28 6:38, makolber@yahoo.com wrote: > > The SNR will be due to the noise integrated over your bandwidth. > > I prefer to call it MER or EVM when it is due to phase instead of > > Awgn. > > Sure, it is not AWGN. For my system, I give it the general term NMSE > (normalized mean squared error): NMSE = > 10*log10(var(signal_ideal-signal_w_imperfections)/var(signal_ideal)) > > To make one thing clear: The output of the non-ideal oscillator (carrier > is at 1 = 0dBc) is the NMSE/"SNR" when it would be sampled and compared > to the "1" signal? > > Example: > > x(t) = cos(2 pi f t + phi(t)) > > y(t) = "downconvert x(t) to 0 Hz and remove images" > > Sample y(t) -> y[n] > > NMSE = 10*log10(var(y)) > > Or using the quoted script from Markus [1]: > > srcPar.f_Hz = [ 0 10 100 1e3 10e3 100e3 1e6 10e6 100e6 9e9 ]; > srcPar.g_dBc1Hz = [ -90 -90 -107 -121 -131 -130 -140 -145 -145 -145 ]; > srcPar.includeCarrier = 0; % remove carrier, so just noise is left > s = pn_generator(); > % actual signal is defined as 0dBc = 1 > NMSE = 10*log10(var(s)) > = -61.7993 > > Is this correct so far? > > Is it also true then that this added "noise" is just colored noise on > the signal? If so, it seems that the noise is strongest very close to > the carrier and gets less farther apart. > > Is my conclusion true that this is a big problem for a direct conversion > receiver because most of the "noise" is close to the carrier (where an > actual signal exists in a direct conversion receiver)? > > > The impact that noise will have on a receiver BER depends on the > > Sensitivity of the modulation and how the carrier tracking loop > > removes the phase noise. I'm not sure if you are dealing > > with a digital receiver or what? > > It is not anything "conventional" and there is no modulation scheme used > etc (except direct I/Q modulation). Think of it just as a VSA. > > Hence the way I want to think about it: Suppose I have an *arbitrary > signal* between fc-BW/2 and fc+BW/2 and I downconvert this signal with a > non-ideal oscillator to 0-BW and sample it to y[n] (ideal sampling), > what is the impact in terms of NMSE (as defined above) ? > > Peter > > > [1] http://www.dsprelated.com/showcode/246.php
I take the SSB noise density in dBc/Hz , convert to a numberical power (10^(x/10) , integrate over the BW, mulitpy by 2 to get the DOUBLE SIDED power. The SNR MSE is the integrated power relative to a carriwer = 1,(10*log(pwr)) so I think the answer to your question is YES, but beware of the tricky factors of 2 for SSB vs DSB and real vs complex. the magic units conversion factor is that the square root of the integrated DSB noise power expressed relative to the carrier power = phase jitter in radians RMS. So the carrier can be thought of as 1 Wattever and then the integrated noise is x Wattevers , square root >>>> radians RMS. M
On Monday, February 29, 2016 at 9:56:00 AM UTC-5, mako...@yahoo.com wrote:
> On Sunday, February 28, 2016 at 10:29:47 PM UTC-5, Peter Mairhofer wrote: > > On 2016-02-28 6:38, makolber@yahoo.com wrote: > > > The SNR will be due to the noise integrated over your bandwidth. > > > I prefer to call it MER or EVM when it is due to phase instead of > > > Awgn. > > > > Sure, it is not AWGN. For my system, I give it the general term NMSE > > (normalized mean squared error): NMSE = > > 10*log10(var(signal_ideal-signal_w_imperfections)/var(signal_ideal)) > > > > To make one thing clear: The output of the non-ideal oscillator (carrier > > is at 1 = 0dBc) is the NMSE/"SNR" when it would be sampled and compared > > to the "1" signal? > > > > Example: > > > > x(t) = cos(2 pi f t + phi(t)) > > > > y(t) = "downconvert x(t) to 0 Hz and remove images" > > > > Sample y(t) -> y[n] > > > > NMSE = 10*log10(var(y)) > > > > Or using the quoted script from Markus [1]: > > > > srcPar.f_Hz = [ 0 10 100 1e3 10e3 100e3 1e6 10e6 100e6 9e9 ]; > > srcPar.g_dBc1Hz = [ -90 -90 -107 -121 -131 -130 -140 -145 -145 -145 ]; > > srcPar.includeCarrier = 0; % remove carrier, so just noise is left > > s = pn_generator(); > > % actual signal is defined as 0dBc = 1 > > NMSE = 10*log10(var(s)) > > = -61.7993 > > > > Is this correct so far? > > > > Is it also true then that this added "noise" is just colored noise on > > the signal? If so, it seems that the noise is strongest very close to > > the carrier and gets less farther apart. > > > > Is my conclusion true that this is a big problem for a direct conversion > > receiver because most of the "noise" is close to the carrier (where an > > actual signal exists in a direct conversion receiver)? > > > > > The impact that noise will have on a receiver BER depends on the > > > Sensitivity of the modulation and how the carrier tracking loop > > > removes the phase noise. I'm not sure if you are dealing > > > with a digital receiver or what? > > > > It is not anything "conventional" and there is no modulation scheme used > > etc (except direct I/Q modulation). Think of it just as a VSA. > > > > Hence the way I want to think about it: Suppose I have an *arbitrary > > signal* between fc-BW/2 and fc+BW/2 and I downconvert this signal with a > > non-ideal oscillator to 0-BW and sample it to y[n] (ideal sampling), > > what is the impact in terms of NMSE (as defined above) ? > > > > Peter > > > > > > [1] http://www.dsprelated.com/showcode/246.php > > I take the SSB noise density in dBc/Hz , convert to a numberical power (10^(x/10) , integrate over the BW, mulitpy by 2 to get the DOUBLE SIDED power. > > The SNR MSE is the integrated power relative to a carriwer = 1,(10*log(pwr)) so I think the answer to your question is YES, but beware of the tricky factors of 2 for SSB vs DSB and real vs complex. > > the magic units conversion factor is that the square root of the integrated DSB noise power expressed relative to the carrier power = phase jitter in radians RMS. So the carrier can be thought of as 1 Wattever and then the integrated noise is x Wattevers , square root >>>> radians RMS. > > M
also see Watkins Johnson app notes Local Oscillator Phase Noise and its effect on Receiver Performance C. John Grebenkemper http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.138.5529&rep=rep1&type=pdf M
On Sun, 28 Feb 2016 19:29:40 -0800, Peter Mairhofer <63832452@gmx.net>
wrote:

>On 2016-02-28 6:38, makolber@yahoo.com wrote: >> The SNR will be due to the noise integrated over your bandwidth. >> I prefer to call it MER or EVM when it is due to phase instead of >> Awgn. > >Sure, it is not AWGN. For my system, I give it the general term NMSE >(normalized mean squared error): NMSE = >10*log10(var(signal_ideal-signal_w_imperfections)/var(signal_ideal)) > >To make one thing clear: The output of the non-ideal oscillator (carrier >is at 1 = 0dBc) is the NMSE/"SNR" when it would be sampled and compared >to the "1" signal? > >Example: > >x(t) = cos(2 pi f t + phi(t)) > >y(t) = "downconvert x(t) to 0 Hz and remove images" > >Sample y(t) -> y[n] > >NMSE = 10*log10(var(y)) > >Or using the quoted script from Markus [1]: > >srcPar.f_Hz = [ 0 10 100 1e3 10e3 100e3 1e6 10e6 100e6 9e9 ]; >srcPar.g_dBc1Hz = [ -90 -90 -107 -121 -131 -130 -140 -145 -145 -145 ]; >srcPar.includeCarrier = 0; % remove carrier, so just noise is left >s = pn_generator(); >% actual signal is defined as 0dBc = 1 >NMSE = 10*log10(var(s)) > = -61.7993 > >Is this correct so far? > >Is it also true then that this added "noise" is just colored noise on >the signal? If so, it seems that the noise is strongest very close to >the carrier and gets less farther apart.
Phase noise does not behave the same as additive noise.
>Is my conclusion true that this is a big problem for a direct conversion >receiver because most of the "noise" is close to the carrier (where an >actual signal exists in a direct conversion receiver)?
The architecture doesn't really have much affect on sensitivity to phase noise. Whatever the net rms phase noise happens to be, it won't matter whether it was het-. super-het-, or direct conversion.
>> The impact that noise will have on a receiver BER depends on the >> Sensitivity of the modulation and how the carrier tracking loop >> removes the phase noise. I'm not sure if you are dealing >> with a digital receiver or what? > >It is not anything "conventional" and there is no modulation scheme used >etc (except direct I/Q modulation). Think of it just as a VSA. > >Hence the way I want to think about it: Suppose I have an *arbitrary >signal* between fc-BW/2 and fc+BW/2 and I downconvert this signal with a >non-ideal oscillator to 0-BW and sample it to y[n] (ideal sampling), >what is the impact in terms of NMSE (as defined above) ?
As mentioned previously, it depends on the modulation. e.g., BPSK is far less sensitive to phase noise than 8PSK.
>Peter > > >[1] http://www.dsprelated.com/showcode/246.php >
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Peter Mairhofer  <63832452@gmx.net> wrote:

>On 2016-02-28 6:38, makolber@yahoo.com wrote:
>> The SNR will be due to the noise integrated over your bandwidth. >> I prefer to call it MER or EVM when it is due to phase instead of >> Awgn.
>Sure, it is not AWGN.
Not only that, it is not additive noise of any sort. Both phase noise and jitter are forms of multiplicative noise. (I'm not familiar with the acronym MER but maybe the M mean multiplicative.) Steve
On Monday, February 29, 2016 at 1:03:26 PM UTC-5, Steve Pope wrote:
> Peter Mairhofer <63832452@gmx.net> wrote: > > >On 2016-02-28 6:38, makolber@yahoo.com wrote: > > >> The SNR will be due to the noise integrated over your bandwidth. > >> I prefer to call it MER or EVM when it is due to phase instead of > >> Awgn. > > >Sure, it is not AWGN. > > Not only that, it is not additive noise of any sort. Both phase > noise and jitter are forms of multiplicative noise. > > (I'm not familiar with the acronym MER but maybe the M mean > multiplicative.) > > Steve
Modulation Error Ratio usually expressed in dB popular in the CATV biz very similar to EVM usually expressed in % M