For audio, a signal to noise plus distortion spec is common. That's
what 6 dB per bit (with an ideal converter) is all about. Human hearing
is complex, and most ears aren't very sensitive to many types of
distortion. Harmonic distortion, for example, really isn't noticable
(to most people) at 0.1%, which is only -40 dB. But noise at -40 dB is
quite noticable and very annoying, especially if it is tonal (eg, 1 kHz
sine wave).
All DACs output a signal that is a ratio of some reference. Most
likely, the single largest factor that will impact the perceived sound
quality from the internal DAC is the quality of its reference. If the
reference voltage varies, and those changes have any spectral energy in
the audio range, the output will probably seem to have "wierd sounds".
Even though the DAC's best theoretical perfornance is 60 dB S/N+D, as
long as it's monotonic and the reference is good, most of that will
likely be less noticable distortion , rather than annoying noise. A
quick check is to simply output a DC signal (just write the same value
to the DAC over and over), and measure the noise... or run that "signal"
into an amplifier and listen to it in a quiet room or via headphones.
The "hiss" associated analog cassette tapes is about -50 to 60 dB, for
the sake of comparison.
There are techniques to increase resolution using oversampling.
Oversampling generally assumes there is noise, and by collecting more
samples than necessary, you can low pass filter (or average together)
many samples to get one more accurate from many lower accuracy ones.
In the context of using the 10 bit DAC, you could (in theory) output
twice times as many samples per second as necessary. You'd attempt to
output 11 bits by driving the DAC first with all but the lower bit, and
then increment it during the second sample if the least significant bit
is a 1. Of course, you'll need an analog low pass filter. Don't forget
to use low-noise analog parts to avoid adding noise, and capacitors with
highly linear voltage/charge (capacitance) to avoid adding distortion
(eg, NPO ceramic or certain poly films).
In practice, this probably won't necessarily work well, because the
linearity of the DAC output steps isn't perfect. This is often called
differential nonlinearity
Sigma-delta converters use an analog trick to "shape" their
noise+distortion, and they run very fast so there's lots of unnecessary
spectrum for all that noise and distortion to get filtered away. It's
easist and most practical with just 1 bit, because a 1 bit converter has
only two possible output voltages.... which always fits a perfect
straight (linear) line. So it's easy to scale up to very high speed
(oversampling ratio) without the problem where consecutive conversions
don't add together as expected. Together with the noise shaping, the
massive noise+distortion of using just 1 bit is easy to filter away.
The important thing about sigma-delta is the noise shaping, which (on
average) the errors to be concentrated in the higher frequencies... so
the filtering improves the resolution much more than simply filtering
oversampled evenly distributed white noise.
If you really need near CD audio quality, your best approach is to use a
quality DAC chip. Saddly, these all take high speed serial bitstreams,
and Philips doesn't seem to have any LPC chips that are designed to
output the common formats (eg, I2S). These DACs use phase locked loops
or other techniques that require a steady clocked bitstream. It would
be quite difficult to emulate such a thing from the SPI port, for example.
There is another vendor with ARM7 chips now sampling that does include a
peripheral that outputs these types of bitstreams, and they also provide
a DMA-like engine so you can set up a block transfer (avoid burning lots
of CPU with 44100 interrutps/sec) and a second pending block transfer
(avoid needing worst case interrupt latency of 22.6 us). Sorry Philips...
It's possible to build a similar thing in logic using an FPGA... accept
data into a fifo via the external bus and stream it out to the DAC as
the clock requires, and interrupt the processor at a low watermark. But
that's a lot harder and more expensive than it's probably worth.
Paul
Show quoted textHide quoted text
>
>
> > Some of the early CD players worked on this principal. They had a high
> > freq 14 bit D/A. The advantage of this is the improved phase
> response of
> > the system. Jo public couldn't understand how a 14 bit D/A was
> giving 16
> > bit performance so I think they stopped doing it.
>
> No, I believe the idea transformed to the extreme with MASH 1 bit
> converters. Sample fast enough and you only need 1 bit (a single high
> speed comparator). Isn't this what sigma-delta codecs use ?
>
> --
> Cheers,
> Bruce