Digital Signal Processing Reference
In-Depth Information
A faster and more efficient implementation of buffering is possible using point-
ers rather than copying data from one buffer to another, but the latter approach is
adopted for purposes of clarity.
Example 6.8: Fast Convolution with Overlap-Add Simulation for FIR
Implementation Using a C-Coded FFT Function ( fastconvo_sim )
This example further illustrates the overlap-add fast convolution scheme. The
program fastconvo_sim.c (on the CD) is a non-real-time version of the program
fastconvo.c , which processes a prestored sequence of input samples. In lieu of
using TI's FFT and support functions for bit reversal, the C-coded FFT function
introduced in Example 6.2 is invoked. The program also performs an inverse FFT
by first taking the conjugate of the samples and then invoking the FFT function.
Build this project as Fastconvo_sim . Using breakpoints (several breakpoint
locations are specified within the program), the user can step through the various
stages in the overlap-add process, viewing the contents of each of the buffers at each
step. Figure 6.23 shows a typical view of the contents of the buffers (obtained with
CCS): h , iobuffer , overlap , and samples at an intermediate stage in the process.
FIGURE 6.23. CCS plots of four buffers— h , iobuffer , overlap , and samples —at an
intermediate processing stage using the simulation version program fastconvo_sim.c .
Search WWH ::




Custom Search