Fast Fourier Transform Block

Fast Fourier Transform Block

The Fast Fourier Transform block emits the Discrete Fourier Transform (DFT) of an input signal, implemented using the computationally efficient Fast Fourier Transform (FFT) algorithm. We use rustfft crate to implement the FFT.

The DFT analyzes a sequence of discrete measurements to estimate the component frequencies present in a signal. The output is a vector of length equal to the buffer size, and represent frequency bins. The frequency represented by each bin depends on the sampling rate and buffer size. The 0th bin represents the DC offset of the signal, essentially any fixed bias.

This block is useful for analyzing a sensor reading to determine what frequencies are present. It's an approximation that depends highly on the buffer size and sampling rate (See: Nyquist Frequency).


  • Buffer Size (default = 10.0): Number of samples to accumulate before performing the FFT.


FFT Filter Example