Digital Signal Processing Reference
In-Depth Information
The folded design is shown in Figure 8.18(b). The input data is feed to the system every three
cycles. The multiplexer selects the input to the functional units, the selected line simply counts from
00 to 10 and starts again from 00.
8.7 Algorithmic Transformation
In many applications a more convenient hardware mapping can be achieved by performing an
algorithmic transformation of the design. For FFT computations the Goertzel algorithm is a good
example, where the computations are implemented as an IIR filter [23]. This formulation is effective
if only a few coefficients of the frequency spectrum are to be computed.
DTMF (dual-tone multi-frequency) is an example where the Goertzel algorithm is widely
used. This application requires computation of the frequency content of eight frequencies for
detection of dialed digits in telephony. The algorithm takes the formulation of (8.6) and converts
it to a convolution summation of an IIR linear time-invariant (LTI) system with the transfer
function:
1 W N z 1
HðÞ¼
z 1
2cos 2 p
1
N k
þ z 2
The Nth output sample of the system gives a DFT of N data samples at the kth frequency index.
Figure 8.19(a) shows the IIR filter realization of the transfer function. The feedforward path involves
a multiplication by
W N
that only needs to be computed at every Nth sample, and the multiplication
by 1 and two additions in the feedback loop can be implemented by a compression tree and an
adder. The design can be effectively implemented by using just one adder and a multiplier and is
shown in Figure 8.19(b). The multiplier is reused for complex multiplication after the Nth cycle.
X[n]
x[n]
y[n]
y[N]=X[k]
+
+
0
16h0001
4:2
+
R 1
2
π
rst_n
2
Cos
(
k
)
N
en
+
x
x
x
-
W N k
R 2
clk
rst_n
2
π
k
2
k
2
cos
cos
sin
N
N
N
x
-1
cntr
(a)
(b)
Figure 8.19 Iterative computation of DFT for frequency index k. (a) FDA design of Goertzel algorithm.
(b) Design mapped on a multiplier and an adder
Search WWH ::




Custom Search