Handbook for Sound Engineers

(Wang) #1

1172 Chapter 31


bandwidth, so the final bandwidth of the audio signal will
be a function of the filters implemented in the specific
A/D and the sample rate of the system.


31.7 Algorithm Development


Once a signal is digitized, the next step in a DSP system
is to process the signal. The system designer will begin
the design process with some goal in mind and will use
the algorithm development phase to develop the neces-
sary steps (i.e., the algorithm) for achieving the goal.
The design cycle for a DSP system generally has
three distinct phases as shown in Fig. 31-16: an abstract
algorithm conceptualization phase, in which various
mathematical algorithms and systems are explored; an
algorithm development phase, where the algorithms are
tested on large amounts of data; and a system imple-
mentation phase, where specific hardware is used to
realize the system.


Traditionally, the three phases in the DSP design
cycle have been performed by three entirely different
groups of engineers using three entirely different classes
of tools, although this process has converged as devel-
opment tools have improved. The algorithm conceptual-
ization phase is most often performed by researchers in
a laboratory environment using highly interactive,
graphically oriented DSP simulation and analysis tools.
In this phase, the researcher begins with the concept of
what to accomplish and creates the simulation environ-
ment that will enable changes and reformulations of the


approach to the problem. No consideration is given, at
this point, to the computational performance issues. The
focus is on proof of concept issues—proving that the
approach can solve the problem (or a temporarily
simplified version of the problem).
In the algorithm development phase, the algorithms
are fine-tuned by applying them to large databases of
signals, often using high-speed workstations to achieve
the required throughput. During this step it is often
necessary to refine the high-level conceptualization in
order to address issues that arose while running data
through the system. Simulations are characterized by
having many probes on the algorithm to show interme-
diate signal values, states, and any other useful informa-
tion to aid in troubleshooting both the algorithm and the
implementation of the simulation.
Once the simulation performs as desired, the next
step is to create a real-time implementation of the simu-
lation. The purpose of the real-time implementation is to
better simulate the final target product, to begin to under-
stand what the real-time memory and computational
requirements will be, and to run real-time data through
the system. There is no substitute for running real-time
data through the system because real-time data typically
exhibits characteristics that were either not anticipated or
have unintended consequences in the simulation envi-
ronment. Real-time data is generally more stressful to an
algorithm than simulated, or non-real-time, data.
Often, with the introduction of real-time data, it may
be necessary to go to the conceptual level again and
further refine the algorithm.
Although advanced development tools and
high-speed processors have blurred the distinction
between simulation and real-time implementation, the
goal of the real-time implementation is to “squeeze as
much algorithm as possible” into the target processor
(or processors). Squeezing more into the target
processor is a desirable goal because it is usually much
less expensive to use a single signal processor than to
use multiple processors.

31.8 Digital Signal Processors

Programmable digital signal processors are micropro-
cessors with particular features suited to performing
arithmetic operations such as multiplication and addi-
tion very efficiently.3,4 Traditionally, these enhance-
ments have improved the performance of the processor
at the expense of ease of programmability.
A typical microprocessor will have an arithmetic and
logic unit for performing arithmetic operations, a
memory space, I/O pins, and possible other peripherals

Table 31-3. Common Sample Rates Found in Typical
Applications and the Practical Bandwidths Realized
at Each Sample Rate


Application Sample Rate Bandwidth
Telephony applications 8 kHz 3.5 kHz
Videoconferencing 16 kHz 7 kHz
FM radio 32 kHz 15 kHz
CD audio 44.1 kHz 20 kHz
Professional audio 48 kHz 22 kHz
Future audio 96 kHz 45 kHz

Figure 31-16. The three phases of DSP application
development.


Conceptual
development

System
development implementation

0.20.00.40.60.81.00.00.20.40.60.81.0

Algorithm
Free download pdf