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