'More bits are better" is a perception that certainly applies to the computing market--PCs, sound cards, displays, video games and other electronic components do need a lot of processing power and storage capacity. However, when it comes to audio processing, a more appropriate mantra is, "More bang for the buck." The 24-bit, fixed-point digital signal processors for audio applications, even at the high end of the market, can provide more processing power for less money than a 32-bit, floating-point processor.
In the early 1980s, the creators of audio CDs chose 16-bit resolution and a 44.1 kHz sample rate. The 44.1 kHz sample rate allows a frequency response from 20 Hz to 22 kHz. They chose that range because the human ear can hear tones up to about 20 kHz, although for most adults the highest range of audible sound is closer to 10 kHz. The 16-bit resolution allows 96 dB of dynamic range, which is the range from the loudest to the quietest signal that you can represent. Twenty-four bits of resolution provides 144 dB of dynamic range; 32 bits provides 192 dB.
In the real world, high-quality digital audio generally does not require 32 bits of precision. Indeed, audio CDs still use the same decades-old, 16-bit format. Most movie soundtracks in Dolby Digital or DTS format are 20 bits or less. Only a few DVD-Audio examples approach 24-bit resolution. A typical DVD movie contains compressed data with anywhere from 16- to 20-bit accuracy.
Having a very wide dynamic range is also less important when you consider the limits of digital-to-analog (D/A) conversion. A 24-bit D/A converter can generally accomplish between 100 and 110 dB dynamic range; 120 dB would be exceptional. For the sake of argument, you could have 144 dB of dynamic range in the digital domain, but the world of human hearing is analog. When you eventually have to convert to the analog domain, that dynamic range is lost since there are resolution and quality limits on the converter itself.
Once you move up to a 32-bit, floating-point architecture, the mathematics of a 24-bit mantissa and an 8-bit multiplier provide 24-bit accuracy at a given amplitude step and practically limitless dynamic range. Take the example of a stereo equalizer with a typical range of -12 dB to +12 dB. When engineers design this system, they have to plan for the worst-case scenario of a full-scale signal with the EQ gain set to +12 dB. A 32-bit, floating-point DSP can simply scale up to accommodate the noise level. A 24-bit DSP must have pre-scaling and other compensation mechanisms programmed in to make sure that data is not lost, and that noise is not introduced, as the signal scales up and down. The 32-bit, floating-point processor, however, produces a problem called a pumping noise floor. As the signal scales up and down, the effective noise floor also moves up and down. The signal may be quiet or constant, but the noise floor cycles from quieter to louder and back again, and listeners can often detect this noise.
Another disadvantage of a 32-bit audio processor is memory size and storage on a semiconductor die. On a DSP die, memory takes up the majority of the space. A 32-bit memory cell takes up 33 percent more memory than a 24-bit memory cell, so it's more expensive. Serial processing across data ports moves more slowly because there is one-third more data to pass through the signal path. Freescale has found that historically, even in the more complex algorithms, only 10 to 20 percent of the signal processing is relevant to processing levels greater than 24 bits. Under those rare circumstances, a 24-bit DSP can more cost-effectively accomplish the task through double-precision (48-bit) calculations.
A 24-bit, fixed-point architecture can actually perform more accurate audio processing at a lower price point than a 32-bit, floating-point architecture. Every time a 32-bit, floating-point processor performs a multiply-accumulate calculation, the results are rounded to fit the 24-bit mantissa. With a 24-bit processor, the audio engineer can decide how to handle this rounding error, for example, by using double precision or by carrying the extra information for a long period and rounding at the very end of the process. While a 32-bit, floating-point processor does have the dynamic ability to shift up and down, every single calculation is eventually truncated or rounded back to 24 bits. A 24-bit processor can use double precision and retain greater than 24-bit precision through, for example, 1,000 cycles of calculation, and then truncate the result to 24 bits for transmission. A 32-bit, floating-point processor will truncate this 24-bit word on every single calculation. Therefore, the percentage of error that can occur after 1,000 cycles could be significantly higher with a floating-point processor that has theoretically more resolution.
Using Freescale's 24-bit, fixed-point Symphony audio DSPs, design engineers have been able to implement 96-bit precision by manipulating the filter processing. Rather than losing precision with each floating-point calculation, better planning of software algorithms can result in far greater precision. The money saved on the processor can then be spent on higher-quality A/D and D/A converters, and the additional processor speed can be used to allow more post-processing to improve the acoustics of the room, compensate for bad speakers and other manipulations that make a practical difference in audio quality.
The 32-bit, floating-point audio processors do have certain advantages such as ease of gain planning because of their scalable dynamic range. However, in the audio world, 24-bit fixed point can be more cost-effective to implement. New and improved software tools using optimized code provide even more precise control while ultimately delivering superb performance. In the world of high-fidelity digital audio, sometimes less really is more.
Todd Benson is the audio DSP product line manager, Freescale Multimedia Applications Division.