I've got a question regarding the effects of sample and hold. My input signal is $x$, and my output signal $x_{SH}$. The error between the signals is $e_{SH} = x_{SH}-x$.

The sampling frequency is set to $f_s = 1000kHz$ and the jitter delay to $t_{jitter}=4\cdot 10^{-4}s$.

The influence of the jitter is implemented in Matlab as the following:

t = (0:N-1)/f_S; 
x = sin(2*pi*f*t); 
t_SH = t+Tjitter*(2*rand(size(t))-1); 
x_SH = sin(2*pi*f*t_SH); 
e_SH = x_SH-x; 
rxx = xcorr(x,x,'biased'); 
ree = xcorr(e_SH,e_SH,'biased'); 

Now I'd like to estimate $t_{jitter}$ using the formula:

$SNR = 20 \log_{10}\left[\frac{1/\sqrt{2}}{\Delta v_{rms}}\right]=20 \log_{10} \left[\frac{1}{2\pi f t_{jitter}}\right]\\$ $\Rightarrow t_{jitter} = \frac{1}{ 2\pi f \left(\sqrt{ \frac{P_{signal}}{P_{noise}} }\right) }=\frac{1}{ 2\pi f \left(\sqrt{ \frac{max(r_{xx})}{max(r_{ee})}} \right) }$

Now I only achieve the same result of $t_{jitter}$ if I add a factor of $\sqrt{3}$, which I can't explain why.

$\Rightarrow t_{jitter} = \frac{1}{ 2\pi f \left(\sqrt{ \frac{P_{signal}}{P_{noise}\cdot 3} }\right) }$

I'd be happy for some help! Thanks in advance!


I think the jitter to SNR formula is based on a gaussian jitter.

You use "rand" which yields uniformly distributed numbers. You should use randn() instead which yields numbers distributed according to a gaussian distribution.

  • 1
    $\begingroup$ Good catch Ben! And the variance of a uniform distribution [0..1] is $1/12$ If he uses randn instead it would have a variance = 1 so a difference of $1/12$ between the two in power if I am thinking correctly --- I am trying to see the $\sqrt{3}$ factor any further insight? $\endgroup$ – Dan Boschen Nov 26 '19 at 0:02
  • 1
    $\begingroup$ I'm puzzled too. Maybe the bias of the uniform distribution? $\endgroup$ – Ben Nov 26 '19 at 0:15
  • 1
    $\begingroup$ Cycle to cycle jitter vs absolute time jitter? (cycle to cycle jitter is a high pass on what would otherwise be white noise) $\endgroup$ – Dan Boschen Nov 26 '19 at 0:18
  • 2
    $\begingroup$ The jitter is actually 2 * rand() - 1, which would yield a variance of 1/3 Standard deviation would be 1/sqrt(3), Maybe that's where the sqrt(3) comes from $\endgroup$ – Ben Nov 26 '19 at 1:37
  • 2
    $\begingroup$ Awesome you figured it out- that is exactly it. The std of a uniform distribution is $d/\sqrt{12}$ and in this case d = 2 so the variance = 4/12 = 1/3. The bias doesn't do anything to the variance. But there is the 1/3 factor compared to using randn-- just like you first suggested (so using randn and without the x2 factor). The world is back in alignment. $\endgroup$ – Dan Boschen Nov 26 '19 at 1:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.