I'm looking to create an AD9833 function generator (and have been, for too long) and keep getting stuck on the hurdle of digital control. I'd like a good way to be able to vary frequency (easy enough), waveform (easy enough) and voltage offset + amplitude, preferably with no more than 100mV steps, and all digitally.
The design requirements:
- Hopefully, +/- 12V operation (supplying this is not an issue)
- Full use of the 12.5MHz bandwidth of the AD9833
- Complete digital control of everything for software level frequency/voltage sweeps if wanted
My main issue is finding suitable ICs, my original thought was digital pots, but they have varying impedance over frequency range, and it feels like a poor solution. I've been looking into PGAs, but they all tend to have poor ranges for amplification, or are way way way overbudget for this, plus they don't solve the voltage offset issue. Also, the signal by the AD9833 is +ve biased, and different for the square output vs the analog outputs, so I can't seem to think of a good way to deal with this without some digitally controlled low ripple DAC trimmed to average 0.
Any help would be appreciated, more than anything I just need pointing vaguely in the right direction.