2

I am trying to calculate the phase jitter of a transmitter. A phase noise profile is given, say:

+------------+-----------------+
| Offset (f) | L(f)_dB [dBc/Hz]|
+============+=================+
|    10 Hz   |       -58       |
+------------+-----------------+
|   100 Hz   |       -68       |
+------------+-----------------+
|    1 kHz   |       -78       |
+------------+-----------------+
|   10 kHz   |       -88       |
+------------+-----------------+
|   100 kHz  |       -98       |
+------------+-----------------+
|    1 MHz   |       -108      |
+------------+-----------------+
|    3 MHz   |       -108      |
+------------+-----------------+
|   10 MHz   |       -108      |
+------------+-----------------+

\$L\$ above is the noise power relative to the total power in the signal, in a bandwidth of 1 Hz. This value can be converted to phase noise spectrum, \$W\$, in units of rad2 by using the formula:

$$W(f)=2L(f)=2\times 10^{L(f)_{\text{dB}}/10}$$

To calculate the carrier phase variance, \$\sigma^2\$, I then need to integrate \$W(f)\$. Various textbooks state that the calculation is:

$$\sigma^2=\int_{0}^{\infty}W(f)|1-H(f)|^2df$$

where \$H(f)\$ is the transfer function of the phased locked loop receiving the transmit carrier. To simplify, we can consider \$H = 0\$, i.e. integrate \$W\$ over the entire range of \$f\$. Then to calculate the jitter, \$\sigma\$, we square root the variance.

To perform this calculation, I use the trapezoid trapz function in MATLAB. But since there are only 7 data points, I would like to create a finer array of frequencies, and linearly interpolate the phase noise (\$W\$) accordingly. The problem is... I can either perform an interpolation in "log space" or in "linear space". Which interpolation method is best? The graphs below demonstrate the problem:

  • Left graph: the interpolation looks good when plotting \$W\$ and \$f\$ on a log-log graph, but show errors when plotting on semilog or linear graph.
  • Right graph: the interpolation looks good when plotting \$W\$ and \$f\$ in linear space, but shows error when plotting on semilog or log-log graph.

Interpolations in log- and linear-space

I have confirmed that online phase noise calculator would effectively interpolate in log space. If you enter the above phase noise profile in https://rf-tools.com/jitter/ for example, you obtain \$\sigma = 1.461^{\circ}\$. But in the right graph you see that this might be under-estimating the PSD close-in to the carrier. If you perform a trapezoid calculation using method demonstrated in the right-hand graph, you end up with a larger jitter: \$\sigma = 1.874^{\circ}\$. It's clear that it's due to the trapezoid "catching" more of the space under the linear curve.

What is the correct approach?


Update I have found the answer to this question. Please see Chapter 7C.5 of "Phaselock Techniques" by F.M. Gardner, 3rd Ed. I can't recreate here, but he essentially states the the curves on the "left" graphs above should be used, and provides a method to calculate the integral.

rksat
  • 21
  • 2
  • Usually, log-log fits these sorts of curves better than linear. However, you'll get more error from where you put your lowest frequency (10 Hz, 3 Hz, 1 Hz, 30 Hz ???) (what is jitter down at those frequencies anyway?) than how you interpolate the points you have. – Neil_UK Feb 08 '22 at 16:46
  • @Neil_UK. Good question. I don't know -- if I am being truly honest, that integral is going from 10 Hz to 10 MHz, rather than 0 to Infinity. 10 MHz is assumed to have the same phase noise as 3 MHz. – rksat Feb 08 '22 at 17:04
  • How do you define error? Difference between the red and blue curves? This does not make sense because there are no data points at intermediate frequencies for the blue curve. Also, not sure if it matters to you, but the phase noise profile is -30db/dec at low offsets and -20db/dec at higher offsets. Your data points are also incorrect. – sarthak Feb 08 '22 at 20:23
  • It's pretty typical that very close in phase noise drops off faster, there's 1/f^4 and 1/f^3 terms so that's typical. I agree, there are only 7 points, so interpolation isn't going to add any information and isn't worth worrying about. – rfdave Feb 08 '22 at 23:33
  • @sarthak thank you for your comment. I am not sure what you mean when you say the data points are incorrect. The graph plots W vs. f, where W is related to L, as defined in the question. I have checked my script and the L profile is as per the question :) – rksat Feb 09 '22 at 09:40
  • @rfdave: it's a valid point to ask "why even interpolate". It's a good question. In any case the comparison against the online tool shows that some phase noise is not being "caught" by the trapezoidal integration, and matches the "left" implementation. If I don't interpolate, and just covert L to linear W, one would expect that the jitter would be the larger value, \$\sigma = 1.874\deg\$, since the trapezoidal integration considers the trapezoid defined by 10 Hz and 100 Hz so it would catch all the area under the "linear" curve on the graph on the right. – rksat Feb 09 '22 at 09:49

0 Answers0