FFT Paper
FFT Paper
net/publication/345360372
CITATIONS READS
0 9,512
2 authors:
All content following this page was uploaded by Hina Magsi on 22 February 2021.
Abstract—The paper presents the Verilog coding of Fast and amplitude would be difficult to analyze in time domain
Fourier transform implementation on Vivado. The butterfly [19]. Due to this reason the signal would be converted into
diagram used to design the Fast Fourier transform of given input frequency domain to get the complete information. In IoMT
signals. The FFT is useful and efficient tool in digital signal (Internet of Medical Things) FFT plays an important role. As
processing especially in the area of digital signal and image
EEG and ECG are highly noisy and difficult for processing.
processing. It has also been used in new technologies like internet
of medical things for extracting desired information from signal. That’s why extraction information form this signal is the main
The Verilog implementation of FFT which includes complex issue. To extract the detailed and meaningful information from
numbers addition and multiplication due to twiddle factor. It is noisy signal in order to get the best analytics FFT is used. It
an efficient and fast method which requires less computations converts the noisy data into desired information and reduces
and produces output in short time. the noise level. It provides the detailed information in
frequency domain. The frequency domain representation of
Keywords— fast fourrier trasnsform(FFT) ,dicrete fourier signals educes the computational complexity of various digital
transform(DFT),twiddle factor. processing systems. In the field of ultrasonic echo signals FFT
increased the computational speed and accuracy which makes
I. INTRODUCTION the system performance better. The FFT is the center part in
The main purpose in digital signal processing is to reduce the Doppler blood flow spectrum analysis and also used in
requirements of hardware and increased the computation. The Doppler imaging system [1]. The results of DFT and FFT are
Fast Fourier transform (FFT) is an algorithm which samples same only difference is the reduction in the calculations. FFT
the signal over some space and splits them into frequency
points. This method is used to get the discrete Fourier
transform of the signal and it converts the signal into its
frequency domain. It has advantage over DFT because it
reduces the complexity of DFT from O(N^2) to O(NlogN)
where N represents the data points. The fast method to
compute the DFT (Discrete Fourier transform) is the FFT (fast
Fourier transform). It has many applications like spectral
analysis, matched filtering, image processing and disease
extractions. When FFT was developed the real time digital
signal become realized in many fields such as radar and
communications. There are many situations where FFT Fig: 2 Bit Reversal [11]
computation is required to face the real-time data like medical
diagnosis and earthquake monitoring and so on [17]. The divides the data into smaller sets (even and odd) [12]. There
detailed information about spectrum of signal in frequencies are two types of division known division in time and division
in frequency. The division in time requires bit reversed output
and produces normal output order while division is frequency
takes normal input order and generates bit reversed output
[14]. This paper uses the division in time method. Each stages,
the results of previous stage are combined. The Fig. 1 shows
the butterfly diagram of 8-point FFT [9]. The butterfly is part
of the FFT computation which combines smaller DFT point
into larger points. The name butterfly implies that the shape of
the flow of data as shown in Fig. 1. In every stage first inputs
are multiplied by twiddle factor and add or subtract to other
input. The points defines the stages of butterfly like 8-point
have 3 stages, 16-point have 4 stages and so on. In FFT
Vinodh et al proposed the implementation of FFT pruning where x(n) represents the inputs and exponential part is known
algorithm on FPGA [13]. The FFT reduced the time for k
computation when zero valued number outstrips the non-zero
as twiddle factor( w n
) which includes complex numbers. N is
valued due to excessive computations. This is achieved by the number of data points. The paper proposed implementation
pruning algorithm of FFT and is implemented in hardware. of DIT radix-2 algorithm Fast Fourier Transform using
The computational time consumption is observed. The FFT Verilog on VIVADO software. The design includes the
implementation on FPGA would reduce the computation time implementation of DIT radix-2 8-point FFT butterfly
and easily calculates the DFT [20]. algorithm. The butterfly comprises of three stages. Every stage
is connected with each other to get final output. It takes input
Atin et al [15] proposed the area efficient architecture of sequence and twiddle factor and produces the final desired
radix-2 FFT processor. The algorithm reused the units of output. The twiddle factor is calculated manually and initialize
single stages of butterfly units which reduces the area. The in Vivado. The design includes adders and multipliers of
simulation has been taken on VHDL. The system has been complex numbers. The Fig. 4 illustrated the FFT design radix-
implemented and verified on FPGA. The FFT processor 2. The RTL diagram for radix-2 FFT algorithm is shown in
performance can be increased b recording the size and Fig. 6.The adder and multiplier of radix-2 FFT is shown in
improving SNR of the system [18]. The proposed system Fig.5. It takes 8 bit inputs as (x0,x1,x2,x3,x4,x5,x6,x7),
provides the better results than conventional system of FFT initialize twiddle factor as real (wr) and imaginary part (wi)
processor. and produces the final output after three stages as 8 bit real
Josue et al explained the 16 and 32 bit vertex 6 FFT and imaginary part(𝑦0, 𝑦1,y2,y3,y4,y5,y6,y7). The initial
algorithm on VHDL [16]. The design proposed had used short input values are x0=1, x1=2, x2=4, x3=8, x5=16, x7=64,
area and increase of input-output block can be reduced by x7=128, and the twiddle factors are calculated below and
using parallel in serial out and serial in parallel out shift manual calculations are shown in Table. I.
registers. TABLE I. Manual Calculations
Calculations
Stage 1 output Stage 2 output Stage 3 output
=4-(1)64=-60. =-15-(-j)-60=-15-j60.
= [-15-j60] + (-0.707-j0.707) (-30-j120) =-78+j45.
=2+ (1)32=34 =34+ (1)136=170. =85-(1)170=-85.
=2-(1)32=-30. =-30+ (-j)-120=- =
30+j120. = [-15+j60]-(0.707-j0.707) (-30+j120) =-78-j45.
=8+(1)128=136. =34-(1)136=-102. ==-51-(-j) (-102) =-51-
j102.
=8-(1)128=-120. =-30-(-j)-120=-30-
j120. = [-15-j60] + (-0.707-j0.707) (-30-j120) =48-j165.
j 2 k / N
e
k
III. PROPOSED FFT ALGORITHM w n
Where N=8
e j 2 (0)/8 e0 1
The mathematical representation of Fast Fourier transform [9] 0
is given as: w 8
1 j
e j 2 (1)/8 e j /4
1
w 8
2
e j 2 (2)/8 e j / 2 j
2
w 8
(1 j )
e j 2 (3)/8 e j 3 /4
3
w 8
2
ACKNOWLEDGMENT
Fig. 6 RTL diagram of DIT radix-2 FFT This work is funded by HEC Pakistan under the START-
UP RESEARCH GRANT PROGRAM (SRGP) #21-
1465/SRGP/R&D/HEC/2016, and Sukkur IBA University,
IV. RESULTS Sukkur, Sindh, Pakistan.