Digital Signal Processing Reference
In-Depth Information
FIGURE 6.23. ( Continued )
Example 6.9: Graphic Equalizer ( graphicEQ )
Figure 6.24 shows a listing of the program graphicEQ.c , which implements a
three-band graphic equalizer. TI's floating-point complex radix-2 FFT and IFFT
support functions are used again in this project (see also Examples 6.3, 6.4, and 6.7).
The coefficient file graphicEQcoeff.h contains three sets of coefficients;
lowpass at 1.3 kHz, bandpass between 1.3 and 2.6 kHz, and highpass at 2.6 kHz,
designed with MATLAB's function fir1 . Both the input samples and the three sets
of coefficients are transformed into the frequency domain. The filtering is performed
in the frequency domain based on the overlap-add scheme used in Example 6.7
[19,20]. Note that the complex multiplication (H)(X) , where H represents the trans-
fer function and X the input sample, yields
(
)
(
) =
(
) +
(
)
H
+
jH
X
+
jX
H
X
-
H X
j H
X
+
H X
R
I
R
I
RR
I
I
RI
I
R
as used in the program, where
ISR continuously (every sample period T s ) outputs a value from the buffer
iobuffer , then inputs a new value until iobuffer is full. At this time a new frame
j
=-
1
Search WWH ::




Custom Search