Skip to content

Fft

Overview

Forward FFT of real data

Discussion

Computes the fast Fourier transform of a real input signal yielding a complex half spectrum. The blockSize, N, of the input must be a power of 2 in the range [4...16384]. The output pin is complex with a blockSize of N/2+1 complex samples. The output pin contains the complex transform data for FFT 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 = 1269

Type Definition

typedef struct _ModuleFft
{
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
} ModuleFftClass;

Variables

Properties

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

Pins

Input Pins

Name in
Description Real input
Data type float
Channel range Unrestricted
Block size range 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384
Sample rate range Unrestricted
Complex support Real

Output Pins

Name out
Description Complex output
Data Type float

Scratch Pins

Channel Count 1
Block size 5
Sample rate 48000

Matlab Usage

File Name: fft_module.m 
 M=fft_module(NAME) 
 Computes the forward FFT of real input data.  The input block  
 size must be a power of 2.  The module supports multichannel signals. 
 Arguments: 
    NAME - name of the module. 

Copyright (c) 2026 DSP Concepts, Inc.