Stability characterization
Unfortunately I don't have access to a frequency standard which would be accurate enough for proper comparisons. What I can do, however, is look at the Allen deviation referenced to the GPS PPS.
I measured the OCXO as free running twice and then running with the PLL controller. The PLL controller was configured to estimate the phase error every 8 seconds. The control law was then set to a time constant of 48 cycles - leading to a total time constant of around 384 seconds for the PLL.
![]() |
Modified Allan deviation of the OCXO as free running (2 measurements) and under PLL control |
In the short time scales the Allan deviation is seen to be approximately the same between the free running oscillator measurement and the PLL controlled oscillator measurement. This is desirable, as in the short time scales it is expected that the free running OCXO has smaller phase noise than the GPS PPS. Since the stability here is measured against the GPS PPS, the true short time scale behavior cannot be observed as it is corrupted by the noise of the GPS PPS itself.
On the other hand, going to larger time scales, we know that the GPS PPS noise becomes very low. In those time scales we see that the PLL controlled oscillator Allan deviation keeps decreasing as it follows the GPS PPS ever closer, while running free, the OCXO would start exhibiting an increase in the deviation.
For the long time scale it's quite easy to get to a low deviation with just about any PLL implementation locked to the GPS PPS. It seems to be more difficult to not amplify the noise too much in the short time-scale. Even after several iterations and a lot of tuning, there is some noise gain left. I am however happy with this for now. Perhaps in the future I'll revisit this by measuring it against an atomic reference, but for my home lab needs, this is most likely more than good enough.
Phase noise characterization
At the time of completing the build I happened to have access to a lab with a Rohde & Schwarz FSW26 spectrum analyzer. I used it to measure the phase noise behavior of the device.
![]() |
Phase noise from 10 Hz to 10 MHz |
The OCXO datasheet gives the typical phase noise values as
- -80 dBc/Hz @ 1 Hz
- -120 dBc/Hz @ 10 Hz
- -140 dBc/Hz @ 100 Hz
- -145 dBc/Hz @ 1 kHz
- -150 dBc/Hz @ 10 kHz
I
did not measure down to 1 Hz or below due to the sheer amount of time
it would have taken, and I only had day time access to said lab. It would seem likely, however, that the unit is
better than -80 dBc/Hz at 1 Hz. Noise density of -120 dBc/Hz at 10 Hz
appears to be met. However, for the higher frequencies the noise
performance is clearly not reached. This discrepancy can either be
because of the OCXO itself or due to additive noise from the 74HC04s
used as clock buffers. The result is still pretty good, so I don't mind.
The period RMS jitter can be calculated from the phase noise through correlating the phase noise at time t with the phase noise at t + period. This can be integrated from the phase noise spectrum. We get
- 50 ns: RMS jitter = 11.48 ps
- 100 ns: RMS jitter = 14.88 ps
To
sanity check the calculations, I used a Rohde & Schwarz RTP164
oscilloscope - also present in the lab - to directly measure the period
jitter at different time offsets
- 50 ns: RMS jitter = 15.53 ps
- 100 ns: RMS jitter = 21.05 ps
- 10 ms: RMS jitter = 18.36 ps
- 100 ms: RMS jitter = 17.88 ps
Jitter performance is thus quite uniform over a large correlation time range and matches the order of magnitude computed from the phase noise.
While
I wasn't targeting a low jitter clock source, I think the jitter
performance is easily good enough for anything I could consider doing at
my home lab currently. I'm extremely pleased with the results.
No comments:
Post a Comment