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 CooleyTukey 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 CooleyTukey 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 CooleyTukey 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-