Why the hell do you need a whole frickin DDS to generate exactly one frequency? Use an LC oscillator and be done with it. Besides cheaper and
simpler, it's also smaller, being a coil, transistor, a few capacitors, resistors...
Also, easy to build in through-hole, if you are so inclined. But SMD is easy enough, at least the wide pitch stuff.
The NMR signal is about 100 Hz wide (for reaaaally shifted signals). This is not high bandwidth stuff. You don't need, and you don't want, a 50MHz
ADC chopping up the whole thing, all it sees is the same damn sine wave. Instead of 10k datapoints in the audio range, you need 500M datapoints with
~100MB/s bandwidth. That's ludicrous!
What is needed is precision frequency sources. An ovenized quartz oscillator should be good enough. IF frequencies can be generated with
multiplier-divider-PLL blocks, which are tedious, but not difficult.
Hmm, the ATmega series does 10kSa/s pretty easily. That's plenty for a 100Hz signal. It's no DSP chip, but with external SRAM to hold the data, and
a few extra seconds between pulses to process it, you could easily run the works on a dinky little microprocessor. You could even pipe the output to
a graphical LCD. Push a button, click click, wait a few seconds, there's your spectrum!
Too bad the ADCs are only 10 bits. Lots of samples could be taken, using subtractive dithering to reduce error, to improve this. It would take a lot
of sampling to get it up to 16 bit quality though (~4k passes!).
An ARM something would be better suited to the math, and external ADC/DAC would improve performance (something for 16 bit audio would be fine). Or
you can just use a PC's soundcard, which already has all this, plus oodles of RAM and HDD storage, plus gobs of processing power, plus familiar
interfaces (if you're a Windows programmer anyway).
Tim |