35 MHz to 4.4GHz using an ADF4351 Fractional N PLLL Module and a Raspberry Pi
The ADF4531 Fractional N Synthesizer from Analog Devices can be used to generate signals over a range from 35MHz to 4.4GHz with resolution to a fraction of a Hz via a serial interface.
Making these from scratch is probably impractical for most hobbyists as the chip package is tiny and cannot be soldered by hand. But cheap modules are available from various sources with the chip and associated circuitry already mounted.
Programming them is not for the faint hearted however – the interface is quite complex with many registers requiring to be set up correctly before the chip will function. But various authors have written code for these chips. They can be set up in various modes including sweep.
I have built a generator with several modules and a touch screen interface using Python and PyQt
I have published the source code on GitHub (ref). This is a first cut – no doubt the code could be improved significantly
One of the challenges was getting several processes and threads to work to allow sweep and several devices to be programmable simultaneously. Python does not automatically work well in multithreaded environments.
No doubt there are programming gurus out there who could improve my solution
References
AD4531 datasheet
Source Code for Python implementation