DSPRelated.com
Forums

Model for jitter on oscillator for downconversion

Started by Peter Mairhofer July 23, 2015
Hi,
Would someone be able to help me with jitter modeling? Empirically I get
the following relationship between "LO jitter" and normalized MSE (NMSE;
which is roughly -SNR in this case):

    http://snag.gy/VNmkU.jpg

I generated this plot using a simple simulink model:

    x0 -> filter -> y0
    x0 -> *cos(wc t) -> *sign(cos(wc t + jitter(t))) -> filter -> y1

jitter is a function which alters the zero crossings of the square wave
in a way that they have a standard deviation of sigma. x0 is either a
cosine or a BLWGN signal. Then I compare the sampled signals y0 and y1:

    NMSE = 20*log10(norm(y1-y0)/norm(y0));

I would like to derive an analytical relationship (or at least an
approximation) for the plot but I do not really know how to start.

Furthermore, it makes no sense to me that the BLWGN signal is
significantly worse that the single cosine. Is there an explanation for it?

Thank you,
Peter
On Thu, 23 Jul 2015 11:02:32 +0200, Peter Mairhofer <63832452@gmx.net>
wrote:

>Hi, >Would someone be able to help me with jitter modeling? Empirically I get >the following relationship between "LO jitter" and normalized MSE (NMSE; >which is roughly -SNR in this case): > > http://snag.gy/VNmkU.jpg > >I generated this plot using a simple simulink model: > > x0 -> filter -> y0 > x0 -> *cos(wc t) -> *sign(cos(wc t + jitter(t))) -> filter -> y1 > >jitter is a function which alters the zero crossings of the square wave >in a way that they have a standard deviation of sigma. x0 is either a >cosine or a BLWGN signal. Then I compare the sampled signals y0 and y1: > > NMSE = 20*log10(norm(y1-y0)/norm(y0)); > >I would like to derive an analytical relationship (or at least an >approximation) for the plot but I do not really know how to start. > >Furthermore, it makes no sense to me that the BLWGN signal is >significantly worse that the single cosine. Is there an explanation for it? > >Thank you, >Peter
Maybe I'm missing something, but is there a reason a traditional phase noise model doesn't work in your case? Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On 2015-07-23 16:34, Eric Jacobsen wrote:
> On Thu, 23 Jul 2015 11:02:32 +0200, Peter Mairhofer <63832452@gmx.net> > wrote: > >> Hi, >> Would someone be able to help me with jitter modeling? Empirically I get >> the following relationship between "LO jitter" and normalized MSE (NMSE; >> which is roughly -SNR in this case): >> >> http://snag.gy/VNmkU.jpg >> >> I generated this plot using a simple simulink model: >> >> x0 -> filter -> y0 >> x0 -> *cos(wc t) -> *sign(cos(wc t + jitter(t))) -> filter -> y1 >> >> jitter is a function which alters the zero crossings of the square wave >> in a way that they have a standard deviation of sigma. x0 is either a >> cosine or a BLWGN signal. Then I compare the sampled signals y0 and y1: >> >> NMSE = 20*log10(norm(y1-y0)/norm(y0)); >> >> I would like to derive an analytical relationship (or at least an >> approximation) for the plot but I do not really know how to start. >> >> Furthermore, it makes no sense to me that the BLWGN signal is >> significantly worse that the single cosine. Is there an explanation for it? >> >> Thank you, >> Peter > > Maybe I'm missing something, but is there a reason a traditional phase > noise model doesn't work in your case?
Yes, because my actual system is non-conventional (e.g., the LO is frequency varying). I need to simulate it at RF. But in order to do this, I need to understand the "conventional" version (as described above). I have played around a little bit but still no success :( One try is to use the classical "sampling jitter": NMSE = 10*log10(sigma^2 * w^2) because for a single sinusoid a jitter in the LO corresponds to a jitter in the downconverted signal. My argument would be: I look at one single "t", e.g. at the zero crossing. Then the downconverted cosine incl. jitter has a deviation of sigma on the time axis. In order to get the amplitude (for the mean squared error): Delta x = dx/dt * Delta t E{ (Delta x)^2 } = E{ (dx/dt)^2 } sigma^2 = 1/2 w^2 sigma^2 However, my empiric results seem to be largely independent of frequency (e.g. 1MHz vs. 100MHz signal does not really matter). Also otherwise this does not match ... Peter
Peter Mairhofer  <63832452@gmx.net> wrote:

>I need to understand the "conventional" version (as described above).
>I have played around a little bit but still no success :( One try is to >use the classical "sampling jitter": NMSE = 10*log10(sigma^2 * w^2) >because for a single sinusoid a jitter in the LO corresponds to a jitter >in the downconverted signal. My argument would be: I look at one single >"t", e.g. at the zero crossing. Then the downconverted cosine incl. >jitter has a deviation of sigma on the time axis. In order to get the >amplitude (for the mean squared error):
> Delta x = dx/dt * Delta t > E{ (Delta x)^2 } = E{ (dx/dt)^2 } sigma^2 > = 1/2 w^2 sigma^2
>However, my empiric results seem to be largely independent of frequency >(e.g. 1MHz vs. 100MHz signal does not really matter). Also otherwise >this does not match ...
One approach is to model it at RF for the purpose of determining the RMS value of the resulting multiplicative noise at baseband, i.e., the phase noise referenced to baseband could be something like -28 dBc, and it should remain pretty close to -28 dBc over the entire range of received signal strength, and you should be able to verify this. If that simulation charaterization is successful, then you could shift to a more approximate (but simpler / lower runtime) baseband model that simply adds -28 dBc of additive noise to the signal to acount for the phase noise. Steve
On Thursday, July 23, 2015 at 4:33:37 PM UTC-4, Steve Pope wrote:
> Peter Mairhofer <63832452@gmx.net> wrote: > > >I need to understand the "conventional" version (as described above). > >
perhaps the answer you seek is in this white paper from Watkins johnson. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.138.5529&rep=rep1&type=pdf Basically you determine the phase noise density at each offset that remains after the carrier recovery loop removes the low frequency phase noise. Typically the CR loop will act as a high pass filter with cutoff about equal tothe lop BW. Then you integrate by parts the (filtered) phase noise density by converting each dBc value to numerical, adding them all up (to integrate) and convert back to dBc. This reult is approximatly the equivalent SNR due to the phase noise. If you take the sq root of the numerical value, that is the integrated jitter in radians RMS. You can do this all in spread sheet. Mark
<makolber@yahoo.com> wrote:

>Basically you determine the phase noise density at each offset that >remains after the carrier recovery loop removes the low frequency phase >noise. >Typically the CR loop will act as a high pass filter with cutoff about >equal tothe lop BW.
>Then you integrate by parts the (filtered) phase noise density by >converting each dBc value to numerical, adding them all up (to >integrate) and convert back to dBc.
>This reult is approximatly the equivalent SNR due to the phase noise.
That's a good point -- the OP did not say they had a carrier recovery loop (some receivers do not) but if they do, they need to do somethink like you just described. (Otherwise they will get a pessimistic result.) Steve
On 2015-07-23 22:33, Steve Pope wrote:
> Peter Mairhofer <63832452@gmx.net> wrote: > >> I need to understand the "conventional" version (as described above). > >> I have played around a little bit but still no success :( One try is to >> use the classical "sampling jitter": NMSE = 10*log10(sigma^2 * w^2) >> because for a single sinusoid a jitter in the LO corresponds to a jitter >> in the downconverted signal. My argument would be: I look at one single >> "t", e.g. at the zero crossing. Then the downconverted cosine incl. >> jitter has a deviation of sigma on the time axis. In order to get the >> amplitude (for the mean squared error): > >> Delta x = dx/dt * Delta t >> E{ (Delta x)^2 } = E{ (dx/dt)^2 } sigma^2 >> = 1/2 w^2 sigma^2
Another try. Any idea what could be wrong with this approach? Signal at RF: x(t) = cos((wc+w0)t) Ideal and non-ideal downconverted signal: r1(r) = cos((wc+w0)t)*cos(wc t) r2(r) = cos((wc+w0)t)*cos(wc t + phi) with phi ~ N(0,wc sigma) After resolving the trig identities and filtering the 2*wc part: x1(t) = cos(w0 t) x2(t) = cos(w0 t - phi) Then I look at one time point, e.g. t=0 and calculate the expected error in the normalized mean squared sense: NMSE = E{ (cos(w0 t) - cos(w0 t - phi))^2/cos(w0 t)^2 } | t=0 = E{ (1 - cos(w0 t - phi))^2 } = 1 - 2E{ cos(phi) } + E{ cos^2(phi) } = 1 - 2 exp(-sigma^2/2) + 1/2(1-exp(-2 sigma^2)) from [1]
>> However, my empiric results seem to be largely independent of frequency >> (e.g. 1MHz vs. 100MHz signal does not really matter). Also otherwise >> this does not match ...
This result would at least satisfy two observed properties: It depends on sigma and it does not depend on the frquency of the cosine. However, the numbers I get from this result clearly make no sense (the results are even negative)
> One approach is to model it at RF for the purpose of determining > the RMS value of the resulting multiplicative noise at baseband, i.e., > the phase noise referenced to baseband could be something
I think I cannot really use this approach because as I said in the end I do not have a conventional system with a fixed LO. However, I first would like to understand why and how I get the results I get for a conventional system without abstracting away anything.
> like -28 dBc, > and it should remain pretty close to -28 dBc over the entire > range of received signal strength, and you should be able to > verify this.
Where do you get this number from (sounds arbitrary to me). I am not sure what you are saying precicely. Do you have a pointer about what you are talking? Thanks, Peter [1] http://nbviewer.ipython.org/gist/dougalsutherland/8513749
On 2015-07-24 11:20, Peter Mairhofer wrote:
> On 2015-07-23 22:33, Steve Pope wrote: >> Peter Mairhofer <63832452@gmx.net> wrote: >> >>> I need to understand the "conventional" version (as described above). >> >>> I have played around a little bit but still no success :( One try is to >>> use the classical "sampling jitter": NMSE = 10*log10(sigma^2 * w^2) >>> because for a single sinusoid a jitter in the LO corresponds to a jitter >>> in the downconverted signal. My argument would be: I look at one single >>> "t", e.g. at the zero crossing. Then the downconverted cosine incl. >>> jitter has a deviation of sigma on the time axis. In order to get the >>> amplitude (for the mean squared error): >> >>> Delta x = dx/dt * Delta t >>> E{ (Delta x)^2 } = E{ (dx/dt)^2 } sigma^2 >>> = 1/2 w^2 sigma^2 > > Another try. Any idea what could be wrong with this approach? > > Signal at RF: > > x(t) = cos((wc+w0)t) > > Ideal and non-ideal downconverted signal: > > r1(r) = cos((wc+w0)t)*cos(wc t) > r2(r) = cos((wc+w0)t)*cos(wc t + phi) with phi ~ N(0,wc sigma) > > After resolving the trig identities and filtering the 2*wc part: > > x1(t) = cos(w0 t) > x2(t) = cos(w0 t - phi) > > Then I look at one time point, e.g. t=0 and calculate the expected error > in the normalized mean squared sense: > > NMSE = E{ (cos(w0 t) - cos(w0 t - phi))^2/cos(w0 t)^2 } | t=0 > = E{ (1 - cos(w0 t - phi))^2 } > = 1 - 2E{ cos(phi) } + E{ cos^2(phi) } > = 1 - 2 exp(-sigma^2/2) + 1/2(1-exp(-2 sigma^2)) from [1]
One more followup: There is one mistake here. The last line should be: = 1 - 2*exp(-sigma^2/2) + 1/2*(1+exp(-(2*sigma)^2/2)) This matches now with the ensamble average for t=0. However, the result is completely different if I take one realization of the process and calculate the error from that. Even the slope in the error plot is different: http://snag.gy/6amNg.jpg From this I conclude that this is *not* an ergodic process and I cannot use the method above (calculating the error for fixed "t"). What is the right one? Peter
Peter Mairhofer  <63832452@gmx.net> wrote:

>On 2015-07-23 22:33, Steve Pope wrote:
>> One approach is to model it at RF for the purpose of determining >> the RMS value of the resulting multiplicative noise at baseband, i.e., >> the phase noise referenced to baseband could be something
>I think I cannot really use this approach because as I said in the end I >do not have a conventional system with a fixed LO. However, I first >would like to understand why and how I get the results I get for a >conventional system without abstracting away anything.
>> like -28 dBc, >> and it should remain pretty close to -28 dBc over the entire >> range of received signal strength, and you should be able to >> verify this.
>Where do you get this number from (sounds arbitrary to me).
It is arbitrary, I was just starting this as an example.
>I am not sure what you are saying precicely. Do you have a pointer about >what you are talking?
Pointer, no, but the important thing here in most systems (which may not help you much, given that your system is "unconventional") is that usually you want your integrated phase noise in the baseband to be comfortably below the additive noise sources and other nonidealities that determine your operating point / sensitivity. For example, if the phase noise is -29 dBc, and other noise sources add up to -25 dBc, that is not such a bad result. (In this situation, you can do some arithmetic and estimate that the phase noise is imparing your sensitivity by about 1 dB.) Steve