Sie sind auf Seite 1von 5

GENERALIZED FFT ALGORITHM

Ali Saidi

Motorola Applied Research, Paging and Wireless Data Group


Boynton Beach, FL 33426

ABSTRACT The recursive procedure in the DIF FFT algorithm trans-


A new formulation of the decimation method fast Fourier lates to the following recurrence for g-,,”(n).

1
transform (FFT) algorithm is introduced. This formula-
tion generalizes both the decimation-in-time (DIT) and the
decimation-in-frequency (DIF) FFT algorithms for various
radices in multidimensions. This alternative derivation of $n? = 0 and y = 0
the decimation method FFT algorithm has the advantage of
clearly showing what is exactly being computed in the inter-
mediate stages of the algorithm. This information is used to
present an efficient algorithm for computing the large dis-
crete Fourier transform (DFT) coefficients of a correlated
data sequence which reduces the computations associated
with the small coefficients. Another application of this new
formulation is discussed in [8].
where v = 1,.. . ,log N and y = 0 , . . . , 2 ” - 1.
GENERALIZED RADIX-2
1.
DECIMATION-IN-FREQUENCY FFT Note that, if input and output are in normal order then
the nodes at every stage are also in normal order, but if
The DFT of a finite-length sequence of length N is defined the computation is done in-place then the output and the
as follows. nodes at every stage are in bit-reversed order.
N-1
X ( k )= z(n)W;3” k = O , l , . . . ,N - 1 2. RADIX-2 DECIMATION-IN-TIME FFT
n=O
The derivation of the DIT FFT algorithm is very similar to
where W N = e-jZsIN. Assuming N is a power of two, the that of the DIF FFT algorithm. Consider the construction
DFT can be broken into two (N/2) -point DFT of odd- of the binary tree in the DIF FFT, but this time every node
indexed and even-indexed frequency samples. Each one of
the two (N/2) -point DFTs can then be broken up again
y of the stage v contains a sequence g7,,,(n) of length &
which is defined as follows:
into two (N/4) -point DFTs. We proceed by recursively
decomposing each DFT until only %point DFTs remain.
The recursive decomposition in the DIF FFT algorithm
is analogous to the construction of a binary tree with log N m=O
stages, where every stage v , v = 1 , 2 , .. .,log N , consists 2”
of 2” nodes. Each node contains either the odd-indexed or =-
E X(k)W,-k” n = O , l , . .. , & - 1
N
the even-indexed coefficients of its parent. More specifically, kmod 2 ” = 7
each node y of the stage U , contains a sequence q7,”(n)of The recursive procedure in the DIT FFT algorithm yields
length & whose DFT is either the odd-indexed or the even- the following recurrence for q7,”(n),

I$nL
indexed coefficientsof its parent. The qy,,,(n) in the DIF
FFT algorithm is defined as follows:
(2Y)-l = 0 and y = 0
q7,.(n) = z(n + m 3”q w p +Im$)

m=O

_ -2y
-
N E X(k)W-(k-’)”
N n =O,l, . .. , g - 1
k mod 2 “ = 7
The above equation can be proven by simply replacing z(n+
m f ) by its inverse DFT. Also in the above equation, when
v = log N , n = 0 and q-,,,,(n) = X ( k ) .

227
4. MULTIDIMENSIONAL FFT ALGORITHM
.
where U = 1,.. ,log N and y = 0,. ,2” - 1. ..
Similarly, if the computation is done in-place then the out- In previous sections we described a formulation that in-
put and the nodes at every stage are in bit-reuerued order. troduces a unified generalization of the decimation method
The flow graph of Fig-1 displays the in-place computation FFT algorithm. The extension of the above formulation
of 16-point DIT FFT algorithm. to multidimensions results in the vector-radix FFT algo-
rithm. We first extend our formulation to two dimensions
3. RADIX-R FFT ALGORITHM and then the higher dimensions will follow. To extend
our formulation to two dimensional FFT, we decompose a
To drive the radix-R FFT algorithm we use the same anal- NI x NZ input in both dimensions. Assuming N I = NZ = N
ogy that was used to formulate the radix-2 FFT. In the and N is a power of two, the 2-D DFT can be broken
radix-R FFT, we decompose the input to R smaller subse- into four N/2 x N/2 point DFT. This decomposition re-
quences of length N/R. This decomposition is continued sults in constructing a tree with logN stages, where ev-
recursively until the DFT coefficients are obtained. The .
ery stage v , U = 1,2,. . ,log N ,consists of 2” x 2” nodes.
recursive decomposition in the radix-R FFT algorithm is Each node 7172, y1,yz = 0,. .., 2” - 1, contains a sequence
analogous to the construction of a tree with N stages, g717a,v(nl, n2) of length $ x $. g717a,u(ni,n2) in the 2-D
..
where every stage Y , U = 1,2,. ,logR N, consists of R” DIF FFT is defined as follows,

tains a sequence g7,”(n) of length


FFT is defined as follows:
+.-
nodes. Each node y, 7 = 0,1,. .. ,R” 1, of stage U con-
g7,,,(n) for the DIF

=
N
X(k)W,‘(”-7)” n=O,l, ..., + - I
kmod RY=7
w;(ki-~i)ni W;(ka--la)na
and in a manner similar to the radix-2 algorithm, the re-
cursive decomposition in radix-R DIF FFT results in the where n l , nz = 0, 1,... 9- 1, and as in one dimensional
recursive computation of g7,,,(n) from g7,,,-1 (n). case g7,7a,u(n11nz) is computed recursively from g7172,u--1(n1,nz):

z(n1, nz)
44 if U = O and y1 = y2 = 0
if v = 0 and 7 = 0 1 1

i=O
if. 7 = X +jR”“ (j= 0,. .., R - 1)
The g7,”(n) in the radix-R DIT FFT algorithm is given
by1
Finally, gr17a,u(nl,n2) for the DIT FFT algorithm is given
by,
_.
ma0

R”
=7
_.
X(k)WGk” n = o l l , ...,+-1 m1-0 mamO

k mod RY= 7
iimi#w;ma&
and again the recursive procedure in the radix-R DIT FFT WN
algorithm yields the following recurrence for g7,,,(n), 2”
= (TI2 X(k1,kz)

I$”? = 0 and 7 = 0
k 1mod 2” ‘71 ka mod2”nia
WGkini W--kana
N

with the following recurrence to compute the DFT co-


efficients,

if Y = x + ~ R ” - ~ ( j = o , ...,R - I )

228
Next, we compare the average power at each node to a
threshold f(8). If the average power is less than f ( 8 ) , we
terminate the computations at that node. For example, if
f ( 8 ) = &, and P,,, < f ( 8 ) , then X(k) 5 8 for all k
such that, k mod 2” = y. The choice of 8 and f ( 8 ) depends
on the statistics of the magnitude and distribution of the
coefficients. For example in signal detection, the noise level
is a lower bound on 8, and f ( 8 ) depends on the difference
between the signal and noise level.
Although our algorithm can be applied to both the DIT
and DIF FFT algorithms, a close examination of these two
algorithms show that in the DIT FFT algorithm majority
of the complex multiplications are done in the latter stages
This formulation can easily be generalized to higher di- of the algorithm where in the DIF FFT algorithm it is ex-
mensions by decomposing the input in all dimensions. The actly the opposite. Therefore we choose to use the DIT
constructed tree for the n-dimensional case has log N stages FFT in our algorithm since, finding the small coefficients
and in each stage U there are (2”)” nodes and at every node in the early stages of the algorithm will result in significan
YI . . .7n, 7 1 , . .. ,7n = 0,.. . , 2 ” - 1, grl...7nrY(ni,.
. . ,n”) is reduction in the complex multiplications corresponding to
a sequence of length fi and it is computed recursively. those coefficients.

5. COMPUTING THE LARGE DFT 5.2. APPROXIMATING THE AVERAGE


C0EFFICIENTS POWER
In the early stages of the algorithm, computing the aver-
In many applications such as data compression and spec- age power can be very expensive. Alternatively, one can
trum analysis, often because of the high correlation in the approximate the average power at every stage or the early
data sequence, a small number of the DFT coefficients of stages of the algorithm instead of computing its exact value.
the signal have very large magnitude, while the majority To approximate the average power at each node of stage U ,
of the coefficients are either very small or zero. In such m distinct samples are randomly selected from the range
applications, finding the large-magnitude coefficients is the 6
[0, 1,.. . , - 11. To analyze our approximation we use the
heart of the problem. For example, in some data compres- following form of the Chernofl bounds theorem [2].
sion applications the original signal is approximated using
only the large coefficients. In signal detection, the frequen- Cherno$ bounds theorem: Let XI, X2,. . .,Xm be
cies of the signal sources are estimated by computing the i.i.d. random variables with E[Xi] = p, and I Xi 15 G.
spectral peaks, i.e., the index of the DFT coefficients for
which the magnitude of the spectrum attains its maxima. Let Sm = XI Xz+ +. + .. Xm. If m 2 %In then, 3
Mansour in [2] presents a new recursive algorithm for a p
proximation of sparse polynomials and extends his results
to the DFT. In this section we extend the results in [2]
to the decimation method FFT to present an efficient al-
gorithm for computing the DFT coefficients larger than a Since the number of times that we compute the average
given threshold. In this algorithm we use our formulation power is bounded by t log N, The overall computation of
of the decimation method FFT along with Parseval’s theo- the average power is done on the order of G‘t log N log 5
rem to reduce the computations associated with the small multiplications, where G is the absolute value of the largest
coefficients. point in the data, t is the number of coefficients with mag-
nitude larger than 8,and 6, a small positive real number, is
5.1. 1-D RADIX-2 ALGORITHM the accuracy parameter. Note that the computation of the
average power no longer depends on N . The total number
Parseval’s theorem for the DFT states that, +
of multiplications is on the order of G’tlog Nlog $ h(k),
N-1 N--1 where h ( k ) depends on the indices of the large coefficients.
For example, if the indices of the large coefficients are mul-
k=O n=O
tiples of N / 8 , then h ( k ) = 4.
To reduce the unnecessary computations that are used to
5.3. 1-D RADIX-R ALGORITHM
find the coefficients smaller than a given threshold, 8, we
make the following modification to the FFT algorithm: In radix-R FFT, we again compute the average power at
using Parseval’s theorem, we compute the average power each node as follows,
at each node as follows,

229
Here, since we decompose the output to R smaller sub- The above equation shows the relationship between the
sequences of length NJR, the probability of finding the average power of the DFT coefficientsof w(n) at each node
small coeffiqients in each stage is increased by a factor of and the average power of the corresponding DCT coeffi-
(f)”.Furthermore, the number of times that we compute cients of the z(n). Thus, using our algorithm to find the
the average power is bounded by tlogRN, therefore the large DFT coefficients of u(n), one can choose the thresh-
overall computation of the average power is done using on olds based on the DCT coefficientsof the z(n).
the order of G‘tlog, N log multiplications.
7. CONCLUDING REMARKS
6.4. TWO DIMENSIONAL ALGORITHM
The complexity of our algorithm depends in most part to
In two dimensional FFT algorithm, the average power at two parameters, namely G and t. Since the DFT is a linear
each node is computed using the Parseval’s theorem for two transformation, normalizing the data prior to computation
dimensional D F T
will result in reducing GIwhich in turns will result in re-
&-1&-1 duction in the computations. In some applications it is
poesible to divide the input signal into smaller bands and
find the large coefficients in each band separately. In such
applications, number of the large coefficients in each band
may be very small compared to t , or in many cases zero.
A subband decomposition system similar to a sub-band
k1modlu=.r1 L a m o d P - n coder/decoder can be used for this purpose.
The constructed tree in the vector-radix FFT algorithm
has logN stages and at each stage U there are 4” nodes. 8. ACKNOWLEDGEMENTS
Therefore the average power computational complexity for
two dimensional case is the same M the one dimensional The author would like to thank Mojdeh Mohtashemi for her
radix-4 algorithm. This algorithm can be easily extended valuable comments.
to multidimensional FFT in a similar manner
9. REFERENCES
6. COMPUTING THE LARGE DCT
COEFFICIENTS [I] A. V. Oppenheim and R. W.Schafer, Discrete-Time
Signal Processing. Englewood Cliffs, NJ: Prentice Hall,
High energy compaction property of the DCT has made it 1989.
one of the most widely used transformations in data com-
pression applications. All the standard image compression
[2] Y. Mansour, Randomized approsimation and interpo-
lation of sparse polyomial, ICALP, pp. 261-272, July
algorithms such as (MPEG, JPEG, etc. ) are DCT based
1992.
algorithms. In this section we apply our algorithm to FFT
based fast DCT to compute the large DCT coefficients. Us- [3] E. 0. Brigham, The Faat Fourier Tmnsform and
ing the algorithm in [6] [q, the DCT of a sequence z(n) is Its Applications. Englewood Cliffs, NJ: Prentice Hall,
given by 1988.
[4] P. Duhamel and H. Holmann, Split radix FFT algo-
~ ( k =) 2
N-1
w(n) cos
r(4n + 1)k k = 0, ...,N -1 rithm, Electronics Lett., Vol. 20, pp. 14-16, Jan. 5,
2N 1984.
nrO
[SI D. B. Harris, J. H. McClellan, D. S. K. Chan, and
where w(n) is defined as: H.W.Schuemler, Vector radiz fast Fourier transform,
w(n) =42n) Proc. ICASSP, pp. 548-551, April 1977.
w(N - n - 1) = z(2n + 1) n = 0,. .., $ - 1 [6] M. J. Naruimha and A. M. Peterson, On the compu-
tation of discrete cosine transform, IEEE Trans. Com-
then the DCT of the sequence z(n) can be computed from mun., Vol. COM-26, pp. 934-936, June 1978.
the DFT of w(n) using the following equation:
[7] J. Makhoul, A fast cosine transform in one and two
1
V ( k )= -W;k[c(k)
2
- j C ( N - k)], k = 0, ...,N -1 dimenrions, IEEE Trans. on ASSP, Vol.ASSP-28, pp.
27-34, Feb. 1980.
From the above equation it is clear that, [8] A. Saidi, Decimation in time/frequency F F T algo-
rithm, Manuscript, To be published. Feb. 1993.
N-1 N-1

krO ki0

and it is easy to show that, in each node 7 of stage U

230
Ex:

231

Das könnte Ihnen auch gefallen