Digital Signal Processing Reference
In-Depth Information
placed at the location of xðn 7 Þ and the oldest sample is pushed out. Thus, the location for xðn 7 Þ
becomes the location for the current sample. The original location for xðnÞ becomes a location for the
past sample of xðn 1 Þ . The process continues according to the mechanism just described. For each
new data sample, only one location on the circular buffer needs to be updated.
The circular buffer acts like a first-in/first-out (FIFO) buffer, but each datum on the buffer does not
have to be moved. Figure 9.7 gives a simple illustration of the 2-bit circular buffer. In the figure, there
is data flow to the ADC ( a, b, c, d, e, f, g, . ) and a circular buffer initially containing a, b, c, and d . The
pointer specifies the current data of d , and the equivalent FIFO buffer is shown on the right side with
the current data of d at the top of the memory. When e comes in, as shown in the middle drawing in
Figure 9.7 , the circular buffer will change the pointer to the next position and update old a with a new
datum e . It costs the pointer only one movement to update one datum in one step. However, on the right
side, the FIFO has to move each of the other data down to let in the new datum e at the top. For this
FIFO, it takes four data movements. In the bottom drawing in Figure 9.7 , the incoming datum f for both
the circular buffer and the FIFO buffer continues to confirm our observations.
Like finite impulse response (FIR) filtering, the data buffer size can reach several hundreds. Hence,
using the circular buffer will significantly enhance the processing speed.
9.3 DIGITAL SIGNAL PROCESSORS AND MANUFACTURERS
DS processors are classified for general DSP and special DSP. The general-DSP processor is designed
and optimized for applications such as digital filtering, correlation, convolution, and FFT. In addition
to these applications, the special-DSP processor has features that are optimized for unique applications
such as audio processing, compression, echo cancellation, and adaptive filtering. Here, we will focus
on the general-DSP processor.
The major manufacturers in the DSP industry are Texas Instruments (TI), Analog Devices, and
Motorola. TI and Analog Devices offer both fixed-point DSP families and floating-point DSP families,
while Motorola offers fixed-point DSP families. We will concentrate on TI families, review their
architectures, and study real-time implementation using the fixed- and floating-point formats.
9.4 FIXED-POINT AND FLOATING-POINT FORMATS
In order to process real-world data, we need to select an appropriate DS processor, as well as a DSP
algorithm or algorithms for a certain application. Whether a DS processor uses a fixed- or floating-point
method depends on how the processor's CPU performs arithmetic. A fixed-point DS processor represents
data in 2's complement integer format andmanipulates data using integer arithmetic, while a floating-point
processor represents number using a mantissa (fractional part) and an exponent in addition to the integer
format and operates data using floating-point arithmetic (discussed in Section 9.4.2).
Since the fixed-point DS processor operates using the integer format, which represents only a very
narrow dynamic range of the integer number, a problem such as overflow of data manipulation may
occur. Hence, we need to spend much more coding effort to deal with such a problem. As we shall see,
we may use floating-point DS processors, which offer a wider dynamic range of data, so that coding
becomes much easier. However, the floating-point DS processor contains more hardware units to
Search WWH ::




Custom Search