International Journal of Applied Engineering Research ISSN 0973-4562 Volume 12, Number 11 (2017) pp. 2692-2702
© Research India Publications. http://www.ripublication.com
2692
An Enhanced Arbitrary Radix FFT Algorithm
Fairouz Belilita
1
, Nourredine Amardjia
2, 3
and Djamel Chikouche
1, 3
1
Department of Electronics, Faculty of Technology, University of M’sila, Algeria.
2
Department of Electronics, Faculty of Technology, University of Setif-1, Algeria.
3
LIS Laboratory, University of Setif-1, Algeria.
~
2
ORCID: 0000-0002-7177-4260
Abstract:
In this paper, we propose an enhanced radix-R decimation-in-
frequency (DIF) FFT algorithm based on the Cooley–Tukey
approach coupled with a new indexing process introduced in
some of the output sub-sequences resulting from the
conventional decomposition of the DFT, where R is an
arbitrary integer greater than two. The proposed algorithm
significantly reduces the number of twiddle factors
computations or loads from the lookup table compared to the
conventional Cooley–Tukey radix-R DIF FFT algorithm. The
gain is about 50%, which is achieved without any extra
computational or structural complexity.
Keywords: Discrete Fourier Transform; FFT indexing
process; Radix-R decimation-in-frequency FFT; Twiddle
factors computations.
INTRODUCTION
Among all the discrete transforms, the discrete Fourier
transform (DFT), which maps a sequence from the time
domain to the frequency domain and vice versa, is the most
widely utilized transform in the area of digital signal
processing and related fields. Basic applications such as
filtering, convolution/correlation, spectrum analysis, and more
advanced ones like communications (e.g. OFDM), speech
signal-processing, radar, sonar, imaging, are just a subset of
the wide range of its uses. This tremendous popularity of the
DFT is partly due to the fact that it can be computed
efficiently using a fast Fourier transform (FFT) algorithm. The
development of the Cooley–Tukey FFT algorithm (CTA) [1]
has been followed by various enhancements carried out by
other subsequent researchers leading, for instance, to
algorithms such as the prime factor [2, 3], vector radix [2, 4],
split radix [5], split vector radix [6] and Winograd Fourier
transform algorithm (WFTA) [7]. These efforts were mainly
devoted to design faster algorithms suitable for some available
platforms that are based on general purpose processors, DSP
chips or FFT dedicated processors. However, it must be
highlighted that because of their simplicity and very high
regularity, the algorithms resulted from the well-known
Cooley-Tukey approach remain the most popular for the
reason that they lead to efficient software and hardware
implementations. In addition, with the remarkable advance in
VLSI technology, implementing high-radix FFT algorithms
on small silicon area is becoming feasible [8-11]. High-radix
Cooley-Tukey FFT algorithms are desirable for the reason
that they noticeably reduce the number of arithmetic
operations and data transfers when compared to the radix-2
FFT algorithm. These reductions have a direct impact on
decreasing the execution time and power consumption, which
are very important and sought-after properties on dedicated
portable or embedded FFT processors.
Furthermore, twiddle factors represent an important part in an
FFT computation. They can be generated at run-time by using
the CORDIC algorithm [12, 13], a polynomial-based approach
[14] or a function generator based on the recursive feedback
difference equation for the computation of sine and cosine
functions [15]. They can also be pre-computed once and
stored in a memory array and then accessed by a table lookup.
In the radix-2 N-point FFT, there are N/2 different twiddle
factors and a simple way to produce the indices of the
appropriate twiddle factor for each butterfly operation is given
in [16]. A technique requiring only N/4 coefficients to be
stored into a lookup table is reported in [17]. Besides, due to
the periodicity of trigonometric functions, a coefficient
manipulation method presented in [18] needs only (N/8+1)
coefficients to generate all the twiddle factors. These methods
permit to shrink the twiddle factors lookup table memory
space but they are designed only for the sole radix-2 algorithm.
Techniques based on high radices and focussing on achieving
improvements in terms of twiddle factor generations and
accesses to the lookup table have also been proposed in [19-