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.
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.