A software-based, constant-flow implementation of the radix-2 Cooley-Tukey fast Fourier transform (FFT) algorithm is presented in this paper. The program is built within a real-time embedded environment running FreeRTOS. The system is used for the online frequency anal- ysis of time-varying, one-dimensional signals of an arbitrary length. The system’s design is validated through testing to produce results accurately on signals within specific boundaries. The proposed system has a maximum transform size of 256 samples due to the memory limitations on the development board. The hardware in use is an STM32L476 Nucleo development board which simulates the lightweight, low power, and limited resource design of IoT (internet of things) processors in the modern world. Memory is the primary constraint of the program, as the number of samples dictates the functional bandwidth of signals that can be analyzed. The system performs several validation tests that prove its effectiveness within the discovered bounds and verify the possibility of project expansion for a more robust implementation in future iterations.

Publication Date


Document Type

Master's Project

Student Type


Degree Name

Electrical Engineering (MS)

Department, Program, or Center

Department of Electrical and Microelectronic Engineering (KGCOE)


Mark A. Indovina

Advisor/Committee Member

Ferat Sahin


RIT – Main Campus