IFFT MATLAB | Inverse Fast Fourier Transform function
This page compare IFFT vs FFT functions and mentions difference between IFFT and FFT terms. IFFT stands for Inverse Fast Fourier Transform where as FFT stands for Fast Fourier Transform.
Introduction : The IFFT and FFT are used together in wide range of applications because they complement each other and enable efficient analysis. They are used in processing of signals in both time and frequency domains. They are fundamental tools in both MATLAB and mathematics. IFFT and FFT are applied in various fields which include signal processing, digital communications, image processing, system identification and modeling, Mathematics and numerical analysis.
• IFFT stands for Inverse Fast Fourier Transform.
• IFFT converts frequency domain vector signal to time domain vector signal.
• One of the application of IFFT is its use in modulator block of OFDM Transmitter as shown below.
IFFT Example (In MATLAB) :
X = [1 2 3 4 5 6 7 8 9 10];
Y = ifft(X)
MATLAB output when user run above script at command line.
Y = 5.5000 + 0i -0.5000 - 1.5388i -0.5000 - 0.6882i -0.5000 - 0.3633i -0.5000 - 0.1625i -0.5000 + 0i -0.5000 + 0.1625i -0.5000 + 0.3633i -0.5000 + 0.6882i -0.5000 + 1.5388i
When you run "fft(Y)" at MATLAB command prompt following output can be obtained.
This output is the same as the original vector X mentioned above.
ans = 1 2 3 4 5 6 7 8 9 10
The figure-1 depicts IFFT equation. As the name suggests, it performs reverse operation of FFT. The IFFT takes frequency domain data such as magnitude and phase of each frequency component and reconstructs the original time domain signal. The IFFT algorithm is derived from FFT algorithm and shares many similarities. However it involves additional scaling factors and conjugate operations to properly invert FFT output. IFFT algorithm offers fast implementation which significantly reduces computational complexity compared to naive methods.
The IFFT has numerous applications in various fields particularly in signal processing and
telecommunications. It is used for tasks such as audio compression, image compression,
signal filtering, channel equalization and system identification. Tranformation of signals between
time and frequency domains enable analysis, manipulation and synthesis of signals
with different frequency characteristics. Following are some specific applications and usages of
IFFT in MATLAB and mathematics.
Signal Processing : It is widely used for signal processing tasks such as signal reconstruction, filtering and equalization. This is very useful for tasks such as audio/image processing, de-noising and audio synthesis.
Digital communications : In communication systems, IFFT is essential component in OFDM (Orthogonal Frequency Division Multiplexing) implementation. OFDM modulation and its variants such as OFDMA are widely used in WiFi, 4G LTE and 5G NR systems.
Image Processing : IFFT is employed for tasks such as image reconstruction, filtering and compression. By applying IFFT to frequency domain representation of an image, we can convert it back to spatial or pixel domain. This enables operations like image reconstruction from compressed data. It can be used in frequency based filters to remove noise or to enhance specific image features.
• FFT stands for Fast Fourier Transform.
• FFT converts time domain vector signal to frequency domain vector signal.
• It is used before demodulator block in the OFDM Receiver.
The figure-2 depicts FFT equation. Refer FFT basics with FFT equation➤.
Difference between IFFT and FFT
Following table mentions difference between IFFT and FFT functions used in MATLAB and Mathematics. Both IFFT and FFT functions do not use scaling factors by default, but they are applied as needed based on specific use cases and requirements.
|Purpose||To convert frequency domain vector to time domain vector||To convert or transform time domain signal vector to frequency domain signal vector|
|Usage||Reconstructing signals, time domain operations||Analyzing signals, frequency domain operations|
|Implementation||Reverse process of the FFT||Computation of the DFT|
|MATLAB funtion by name||"IFFT"||"FFT"|
|Output||Time domain representation||Complex valued frequency domain representation|
Application : Use of IFFT and FFT in OFDM chain
The figure depicts OFDM Transmitter and Receiver along with IFFT and FFT modules at the transmitter and receiver respectively. OFDM modulated data after IFFT is up-converted to the appropriate RF (radio frequency) for transmission as per wireless standard 802.11 or 802.16 OFDM specifications. Refer WiMAX Physical layer >> as per OFDM physical layer specifications defined in IEEE 802.16-2004 standard.
IFFT input : Complex modulated data symbol vector (in frequency domain) as per BPSK, QPSK, 16QAM, 64QAM or 256 QAM etc.
IFFT output : Complex data vector in time domain.
16 point FFT MATLAB SOURCE CODE
Refer FFT MATLAB Source Code➤ which mentions step by step implementation of 16 point FFT.
Useful Links to MATLAB codes
OFDM Preamble generation Time off estimation corr Freq off estimation corr channel estimation 11a WLAN channel PN sequence generation OFDMA Tx Rx AES DES carrier aggregation CCDF FIR Filter IIR Filter Low Pass FIR Viterbi decoder CRC8 CRC32