ad9958 loop filter
Good. Students should explore new ways to do things! Keep at it!
The standard way to do this is to use a very narrowband phase locked loop with a very large divisor ratio (maybe 20,000), and AC couple the digital signal onto the VCO tuning line. The narrowband loop keeps the frequency excursions "averaged" to be centered around the desired middle frequency.
For low bandwidth applications, you can actually change the divisor ratio to give two different locked frequencies (as in going from 20,000 to 20,003 for a divisor ratio). You would need a faster loop bandwidth for this.
There are other ways to do it though. You could use an image reject mixer downconverting the signal before the PLL divisor, and add, and then subtract, a pilot tone signal.
You could have a fixed frequency PLL, and send the VCO output thru a 3 bit phase shifter, and step the phase upward in uniform steps for a while (will look like a lower frequency), and then step the phase downward inuniform steps for a while (will look like a higher frequency)--serodyne phase shifting.
You could use a regenerative frequency divider and a PLL that can have more than one divisor ratio, such as divide by 3, 4,5,6 etc, and coarse tune the VCO to force a divide by 5, and then a divide by 6.
There are lots of ways to skin a cat!