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 > > > > 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
Message
Re: [lpc2000] Re: 44Khz 16-bit audio
2005-01-20 by Paul Stoffregen
Attachments
- No local attachments were found for this message.