Forums

[O.T.] Audio DAC as AWG (test source)?

Started by Pete Fraser October 31, 2010
I'm just finishing up design of an analog data acquisition system
(16 bits, 100 kHz sampling), and need to come up with a
test / verification scheme. I've looked at some of the arbitrary
waveform generators available, and they seem to be expensive,
and not very accurate (13 or 14 bits).

There seems to be a wide variety of inexpensive USB and
firewire audio DACs available, and some of them are
specified to 192 kHz sampling and 24 bits. If I could buy
a DAC with 24 bits and 192 kHz (or higher) sampling I
could write some code to generate a source file, play it through
the DAC, capture the resultant signals in the test system, and
analyze the system performance.

Has anyone here done that? Can you offer any pointers?
It's not clear from the specifications / manual of the DACs I've
looked at whether filtering can be disabled. Most are
specified from 20 Hz to 20 kHz, and seem intended to
take in 44.1 kHz or 48 kHz, do a filtered up-conversion,
and (presumably) have a sloppy output filter. Some specify
that they can accept 192 kHz, but I've no idea what filters
they use and whether they can be bypassed.

Any thoughts / observations?

Thanks

Pete 



Pete Fraser wrote:

> I'm just finishing up design of an analog data acquisition system > (16 bits, 100 kHz sampling), and need to come up with a > test / verification scheme. I've looked at some of the arbitrary > waveform generators available, and they seem to be expensive, > and not very accurate (13 or 14 bits). > There seems to be a wide variety of inexpensive USB and > firewire audio DACs available, and some of them are > specified to 192 kHz sampling and 24 bits. If I could buy > a DAC with 24 bits and 192 kHz (or higher) sampling I > could write some code to generate a source file, play it through > the DAC, capture the resultant signals in the test system, and > analyze the system performance.
If your system actually performs to 16 bit @ 100kHz, you will be analysing then imperfections of the abovementioned stuff rather then your performance.
> Has anyone here done that? Can you offer any pointers? > It's not clear from the specifications / manual of the DACs I've > looked at whether filtering can be disabled. Most are > specified from 20 Hz to 20 kHz, and seem intended to > take in 44.1 kHz or 48 kHz, do a filtered up-conversion, > and (presumably) have a sloppy output filter. Some specify > that they can accept 192 kHz, but I've no idea what filters > they use and whether they can be bypassed.
AD5791
> Any thoughts / observations?
We developed the data acqusition board for geophysics: http://www.abvolt.com/projects_and_solutions/data_acquisition_board.htm SNR ~ 133dB, THD ~ 0.0001% We had exactly the same problem, so we had to design in the generator for self testing. That generator should be DC accurate, allow for the generation of the pulsed waveforms as well as the super clean sinewave. I used the general purpose DAC with heavy analog filtering. Audio DACs are delta-sigmas, their bandwidth is from 0 to ~0.9 of Nyquist at the corresponding sample rate. Audio DACs aren't DC accurate. By nature of operation of delta sigma, the signal is bandlimited, i.e. you can't generate a sharp pulse. Other feature of the audio DACs is the huge pile of the noise shaping residuals in the near ultrasound area. Also, audio DACs are power hungry, work only synchronously and can't be stopped so you have to feed them with the data continuously. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
"Vladimir Vassilevsky" <nospam@nowhere.com> wrote in message 
news:h9CdnVgyyrq7HVDRnZ2dnUVZ_vadnZ2d@giganews.com...

> AD5791
It looks like a nice part. The eval board is cheap, and it will give me a chance to play with a Blackfin also.
> We developed the data acqusition board for geophysics: > > http://www.abvolt.com/projects_and_solutions/data_acquisition_board.htm > > SNR ~ 133dB, THD ~ 0.0001%
Looks cool. I'm impressed that you got in on 4-layer. Thanks Pete

Pete Fraser wrote:

> "Vladimir Vassilevsky" <nospam@nowhere.com> wrote in message > news:h9CdnVgyyrq7HVDRnZ2dnUVZ_vadnZ2d@giganews.com... >
>>We developed the data acqusition board for geophysics: >>http://www.abvolt.com/projects_and_solutions/data_acquisition_board.htm >>SNR ~ 133dB, THD ~ 0.0001% > > > Looks cool. > I'm impressed that you got in on 4-layer.
But for EMC requirements and BGA packages, just about anything could be laid in two layers. Multilayer boards only enfeeble the developers. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On 31/10/2010 15:06, Pete Fraser wrote:
> I'm just finishing up design of an analog data acquisition system > (16 bits, 100 kHz sampling), and need to come up with a > test / verification scheme. I've looked at some of the arbitrary > waveform generators available, and they seem to be expensive, > and not very accurate (13 or 14 bits). > > There seems to be a wide variety of inexpensive USB and > firewire audio DACs available, and some of them are > specified to 192 kHz sampling and 24 bits. If I could buy > a DAC with 24 bits and 192 kHz (or higher) sampling I > could write some code to generate a source file, play it through > the DAC, capture the resultant signals in the test system, and > analyze the system performance. > > Has anyone here done that? Can you offer any pointers? > It's not clear from the specifications / manual of the DACs I've > looked at whether filtering can be disabled. Most are > specified from 20 Hz to 20 kHz, and seem intended to > take in 44.1 kHz or 48 kHz, do a filtered up-conversion, > and (presumably) have a sloppy output filter. Some specify > that they can accept 192 kHz, but I've no idea what filters > they use and whether they can be bypassed. > > Any thoughts / observations? >
If you get an appropriate DAC (such as the AD5791) with an SPI interface, you could connect it up to an FTDI FT4232H module. That would let you fairly easily run a high speed SPI bus directly from a PC. If I remember the figures correctly, the FT4232H can run an SPI bus at 30 MHz. You get relatively long latencies using USB and a PC - it's not much good if you have to mix reading and writing. But you can write out a continuous stream at full speed.
"David Brown" <david@westcontrol.removethisbit.com> wrote in message 
news:poednSAUkb9tRlLRnZ2dnUVZ7v6dnZ2d@lyse.net...

> If you get an appropriate DAC (such as the AD5791) with an SPI interface, > you could connect it up to an FTDI FT4232H module. That would let you > fairly easily run a high speed SPI bus directly from a PC. If I remember > the figures correctly, the FT4232H can run an SPI bus at 30 MHz. You get > relatively long latencies using USB and a PC - it's not much good if you > have to mix reading and writing. But you can write out a continuous > stream at full speed.
Thanks. It looks like an interesting and useful part. I will probably use it in a future project. For the test system I'm working on I don't think I really need arbitrary waveforms, so I'll just end up coding everything I need (sweeps, steps, noise, spot frequencies, etc) into a small FPGA board. I've probably got five different Spartan 3 boards in my basement, so I'm sure one will work nicely. Thanks everybody for your suggestions on this project. Pete
"David Brown" <david@westcontrol.removethisbit.com> wrote in message 
news:poednSAUkb9tRlLRnZ2dnUVZ7v6dnZ2d@lyse.net...
> > If you get an appropriate DAC (such as the AD5791) with an SPI interface, > you could connect it up to an FTDI FT4232H module.
I am not recommending you get their services
On 10/31/2010 7:06 AM, Pete Fraser wrote:
> I'm just finishing up design of an analog data acquisition system > (16 bits, 100 kHz sampling), and need to come up with a > test / verification scheme. I've looked at some of the arbitrary > waveform generators available, and they seem to be expensive, > and not very accurate (13 or 14 bits). > > There seems to be a wide variety of inexpensive USB and > firewire audio DACs available, and some of them are > specified to 192 kHz sampling and 24 bits. If I could buy > a DAC with 24 bits and 192 kHz (or higher) sampling I > could write some code to generate a source file, play it through > the DAC, capture the resultant signals in the test system, and > analyze the system performance. > > Has anyone here done that? Can you offer any pointers? > It's not clear from the specifications / manual of the DACs I've > looked at whether filtering can be disabled. Most are > specified from 20 Hz to 20 kHz, and seem intended to > take in 44.1 kHz or 48 kHz, do a filtered up-conversion, > and (presumably) have a sloppy output filter. Some specify > that they can accept 192 kHz, but I've no idea what filters > they use and whether they can be bypassed. > > Any thoughts / observations? > > Thanks > > Pete > >
Pete, I've not done this but it seems to me that a high-quality sine generator would be very useful and maybe easier to come by than an arbitrary signal generator. I'd be thinking sine waves and step inputs. You could force the FT length to match an integral number of periods after having gathered a bunch of sinusoid samples. If the generator clock is locked to the sample clock or vice-versa so much the better. Then you could look for distortion and noise levels (which one might hope would be close to the predicted quantization noise. Step inputs would give you a good idea of overall transient performance: slew rate, rise time, ringing, recovery times, etc. I didn't see any strange input requirements here: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.151.8077&rep=rep1&type=pdf But there are a bunch of good ideas there at least. Fred