Interesting.
I considered using FPGA for one other project a year back (arbitrary waveform generator) but the problem was that at that point I realized that I can achieve reasonably high sampling rate only with the fastest FPGAs (Xilinx, Altera) and the lead times were over 56 weeks.
Do you have any suggestions as to which Altera, Quartus FPGAs would be suitable enought considering the calculation speed (sin function is PITA and I even considering implementing fixed point arithmetics)?
I use for my hobby, which is limited to audio signal processing, the usual easy to get
devices from Altera: EP1C3, EP2C5, EP3C25, EP4CE6, EP4CE10 and 10M08.
So i do not need that much speed and could give no advice which device to use.
But You should try to instantiate a DDS on a device of Your choice.
For a 10 MHz signal a clock of 50 to 100 MHz should be sufficient.
This is not that fast. You should test the result and test how well it works.
DDS means not the calculation of sin. Its only a lookup in a table.
Maybe some linear calculation to interpolate and a Nyquistfilter after this.
The same is valid for Your modulation generator.
The modulation itself is a simple multiplication of both signals with
a offset for the modulation to achieve 100 % modulation.
Doing linear sweeps is also only simple math. Determine the control word for
the start frequency and how fast to increment this control word.
As a proof of concept i made once a "state oscillator" on a Cyclone 1 with a
synthesized (soft-)multiplier and 100 MHz clock derived from a PLL which
outputs 10 MHz (sine).
This oscillator calculates every 10 ns the next value of sine.
But they could not easily sweeped, so they are not for You.
Good luck, and
Best Regards