15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 39.70<br />

FIGURE 39.71<br />

efficient to implement them in hardware, especially if multiple filter types can use the same filter structure.<br />

Moreover, while FIR and IIR filter structures are quite different, a clever designer may find opportunities<br />

to reuse the same basic arithmetic hardware for both. For example, both structures can use a multiplyaccumulate<br />

arithmetic unit. If each structure requires only one-half the available bandwidth, they can<br />

share the same math unit by time-division multiplexing the inputs. Because arithmetic units are generally<br />

costly, techniques such as this can significantly reduce the system cost.<br />

Effects<br />

Music synthesis applications use effects such as reverb, delay, and chorus as sweeteners. They are not<br />

required, but tend to make the music sound more pleasing. In contrast, 3-D positional and environmental<br />

simulation applications require delay and reverb to achieve realistic results. The fundamental unit of many<br />

digital audio effects is the digital delay line. A simple echo effect may use only one delay line, whereas a<br />

reverb effect may use 20 or more delay lines. Even modulation effects such as chorus and flange use delay<br />

lines. Digital delay lines require one memory location per sample period of delay, an address generator,<br />

and arithmetic units to scale the inputs and outputs of the delay line. Figure 39.71 illustrates a typical<br />

delay line implementing a repeating echo through the use of feedback.<br />

An obvious method of implementing a set of delay lines is to allocate memory buffers for each delay<br />

line and maintain circular address counters for each indicating the read and write locations. The delay<br />

time is equal to the difference between the read and write pointers, modulo buffer size. Maintaining<br />

circular address counters can easily use a large percentage of the total instruction bandwidth of a DSP.<br />

Many DSP implementations provide special instructions or self-maintaining address registers to reduce<br />

the load on the DSP.<br />

To provide maximum flexibility in implementation of effects, most PC audio systems include a programmable<br />

DSP. The designer may choose to purchase an off-the-shelf DSP, either as a separate chip or<br />

© 2002 by CRC Press LLC<br />

Bass and treble tone control filter shapes.<br />

Input<br />

Low Shelving<br />

Filter (Bass)<br />

Delay Memory<br />

Feedback Amount<br />

High Shelving<br />

Filter (Treble)<br />

Delay line with feedback implementing a repeating echo.<br />

N<br />

N<br />

freq<br />

freq<br />

Output

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!