The signal generator on hand is a relatively inexpensive device bought on eBay for around AUD$100. It provides output in the frequency range of 23.5 MHz to 6000 MHz. The Voltage-Controlled Oscillator (VCO) of the MAX2870 runs natively from 3 GHz to 6 GHz and provides a sinewave output between those two frequencies. For frequencies below 3 GHz the output is derived from digital dividers and so the output is a square wave. This is very convenient as a setting to 1528.700 MHz outputs a square wave with harmonics right up to at least 12 GHz - which is used as a test signal for measuring the LO frequencies of Ku-Band LNBFs. It also has a sweep function. Of course - as the sweep is in discrete steps - the output during a sweep contains "sidebands" produced by the jump in frequency (i.e., a kind of FM) plus other spurii due to the step response of the PLL in the MAX2870 chip.
One of the videos on Tony Albus's YouTube channel (video #112) details a modification to a similar earlier version of the signal generator. I commend you to look through Tony's videos as they are very informative and show an Aladdin's Cave of test gear and electronic bits.
Examination under a microscope revealed that the MAX2870 version has the same layout as the ADF4351 version shown in Tony's video.
The modification is a simple one in electronic terms - but difficult in physical terms due to the small size of components. In the microscope image below the existing 25 MHz crystal oscillator can be seen. In its original state the 25 MHz oscillator feeds a reference signal to the MAX2870 and also out to an SMA output socket (labelled 'MCLK'). The modification simply consists of removing the chip resistor 'R7' (0-ohm) which cuts off the 25 MHz crystal drive from the MAX2870 and using the 'MCLK' output SMA as an 'External Reference' input.
The SMD R7 is miniscule and if it wasn't for having a SMD 'tweezer'-type soldering iron it would be very difficult to remove the component - circled in green below...
The settings change is simply to alter the 'Ref Clock' value in the 'Setting menu' from '25.000 MHz' to '10.000 MHz'. This change is written to non-volatile memory and is retained - so no need to re-enter each time the generator is powered up.
If that 'Ref Clock' change is not done then the output frequencies will be the frequency settings divided by 2.5.
To check the behaviour of the modification a re-test of the drift of the generator set to 1528.700 MHz was done. Below are the results for 'before' - with onboard crystal oscillator - and 'after' - with external RFS reference - results.
The 'AFTER' curve is similar in behaviour to the NESDR Smart dongle drift shown on the right - which indicates that some part of the 'drift' seen in the 'AFTER' signal generator result is actually drift in the dongle sample clock. NOTE: the steps in the readings are due to ~ 7 Hz resolution bandwidth (RBW).
If the values from the 'AFTER' result for the signal generator are subtracted from the NESDR Smart dongle values a result such as shown below is obtained.
This shows that - apart from the first 5 minutes or so where the dongle is heating up and drifting - the 'AFTER' signal generator result is actually all dongle drift.
From these results it can be assumed that the error in the measurement of LNBF LO frequencies is virtually the dongle drift - which is of the order of 150 Hz. Translated to 12.178 GHz this is an error of 0.01 ppm - or 0.004 km/s.
One aspect of this modification that is of a concern is that the output signal has a lot of close-in sidebands. It is suspected that this is the result of using 10 MHz for the reference instead of 25 MHz. The PLL time constants would - presumably - have been optimised for 25 MHz - and so the lower reference frequency probably causes some instability. To determine whether this is the case or not, a frequency multiplying circuit will be used to supply a 25 MHz or 30 MHz frequency reference signal derived from the 10 MHz RFS reference.