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

• 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

IFFT Equation

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.

IFFT Applications

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

• 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.

FFT Equation

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.

Parameters IFFT FFT
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.

OFDM Transmitter Receiver

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

Refer following as well as links mentioned on left side panel for useful 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  

What is difference between

RF and Wireless Terminologies