By , 1/5/2004
The digital audio product
Digital audio products are complex systems, comprised of numerous
software and hardware subsystems. If you've already read "Anatomy of a
Modern Digital Audio Product"
you've seen many of these subsystems and how they work together. At the
heart of the digital audio system is a microprocessor tasked with
rendering audio.
In this article we'll take a look at key processor options and
processor selection criteria for consumer audio products. We'll examine
the various types of processors available for digital audio processing,
and explore the advantages and disadvantages of each type. We'll also
investigate how considerations related to other parts of the system may
make one type of processor more attractive than another.
What's the right processor then?
Which processor is best for a given digital audio product depends on a
broad mix of factors. Key selection criteria typically include speed,
price, energy efficiency, on-chip integration, development tools, and
the availability of application software modules.
Speed
Processor speed is a key factor affecting product performance. The
processor must be fast enough to implement all of the required
algorithms, operating in their most demanding modes, in real-time.
Additional performance beyond this level may not be helpful, though.
Although clock rate has an impact on processor speed, it is not a
reliable indicator of processor speed. Processors that are highly
specialized for audio signal processing can generally achieve real-time
performance on audio tasks at lower clock speeds than can
general-purpose processors. A lower processor clock rate is desirable,
as it may help reduce system complexity and external component costs.
For example, lower clock speeds can result in less costly board design
and a reduction in EMI effects.
Price
The audio processor is often one of the most costly
components on the bill of materials, and thus its cost is closely
scrutinized. But bear in mind that the choice of processor can affect
the total system cost in complex ways. For example, a specialized
processor may be expensive compared to a general-purpose processor, but
the specialized processor may include a number of required peripherals,
reducing system chip count and resulting in a lower total bill of
materials cost.
Energy Efficiency
Processor energy efficiency is a key concern for portable audio
products, since it directly affects battery life. Increasingly,
processors that target portable applications are incorporating
sophisticated power management features, such as software controlled
on-the-fly frequency and voltage scaling. Lowering the operating
frequency alone, or in combination with lowering the supply voltage,
can result in reduced power consumption. System designers can optimize
power consumption by tailoring the processing power available (via
frequency and voltage scaling) to the demands of current workload.
Line-powered devices are not immune from energy efficiency
considerations: higher energy dissipation may require heat sinks,
larger power supplies, or costly (and noisy!) cooling fans—which are
unlikely to be acceptable in an audio product.
Software and Development Tools Availability
A digital audio
device will require a number of software components, or sub-systems.
Commonplace components include communications protocol stacks like
TCP/IP, device drivers for USB ports and other peripherals, file system
managers, the user interface, audio compression/decompression
algorithms, and audio post-processing algorithms such as reverb, echo,
room correction, and 3D surround sound. Developing highly optimized
implementations of audio processing algorithms, such as audio
compression/decompression and post-processing, is difficult and time
consuming. (Read the accompanying article "Building Good Audio Software"
for details). In some cases, the processor vendor or third party
supplier offers audio software modules optimized for a particular
processor. If the available off-the-shelf modules correspond to the key
functions needed in the product, their availability can dramatically
reduce development time and the specialized know-how required.
When evaluating off-the-shelf software modules, it is important to
consider not only the functionality provided, but also the degree of
optimization, level of quality, and whether the modules are provided in
source or object code form. Some modules are distributed only in object
code form, making it difficult to understand their operation and fix
programming errors. Other modules may be hindered by inadequate
documentation; for example, they may lack accurate data on the
processor resources used. Even when most of the required software
modules are available off-the-shelf, inevitably some new software will
be required. Solid software development tools are critical for
efficient software development and integration. For testing audio
software, tool support for streaming test data to and from the
processor can be extremely helpful. Signal-processing-oriented tools
features, such as data visualization, can be important for audio
application development, but aren't found in most tools.