Skip to content

Ifft

Overview

Inverse FFT of real data

Discussion

Computes the inverse fast Fourier transform of a complex half spectrum yielding a real-valued result. The blockSize, N, of the real valued output must be a power of 2 in the range [4...16384]. The input pin is complex with a blockSize of N/2+1 complex samples. The input contains the complex transform at samples k=0, 1, ..., N/2. The DC (k=0) and Nyquist (k=N/2) samples always have an imaginary component of 0.

Module Pack

Advanced

ClassID

classID = 1289

Type Definition

typedef struct _ModuleIfft
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
void * hardware_specific_struct_pointer;      // This may point to a struct that varies based on the target platform
} ModuleIfftClass;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
hardware_specific_struct_pointer void * state 1 Unrestricted

Pins

Input Pins

Name in
Description Complex input
Data type float
Channel range Unrestricted
Block size range 3, 5, 9, 17, 33, 65, 129, 257, 513, 1025, 2049, 4097, 8193
Sample rate range Unrestricted
Complex support Complex

Output Pins

Name out
Description Real input
Data Type float

Scratch Pins

Channel Count 1
Block size 4
Sample rate 48000

Matlab Usage

File Name: ifft_module.m 
 M=ifft_module(NAME) 
 Computes the inverse FFT of a real time domain sequence.  The input 
 block is complex valued with a blockSize of N/2+1.  The output is 
 real data of length N.  The module supports multichannel signals. 
 Arguments: 
    NAME - name of the module. 

Copyright (c) 2026 DSP Concepts, Inc.