Skip to content

FFT implemented on an FPGA with a Physical Representation

Notifications You must be signed in to change notification settings

GGoodacre/ELEX7660-TermProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FFT Visualizer with Guitar Input

Objective:

Implement a Fourier Transform on an FPGA to visualize the frequency spectrum of a guitar's output. The objective is to display the played notes in real-time, leveraging FPGA efficiency for accurate and optimized processing.

Our Solution:

Integral to our system is a dedicated circuitry component that scales down the guitar signal to match the input range of the Analog-to-Digital Converter (ADC). This crucial step ensures precise and accurate digital conversion of the incoming analog signal, optimizing the dynamic range and enabling the FPGA to effectively capture and process the guitar's nuanced frequency components.

For the visualization aspect of this project, we employed a unique solution using 3D-printed chevrons attached to servos. These servos dynamically adjust the position of the chevrons based on the magnitude of specific frequencies detected through the Fourier Transform. As a result, users can visually interpret the varying amplitudes of different frequency components in the guitar's output.

The Fourier Transform functionality core is implemented through a dedicated FFT (Fast Fourier Transform) module instantiated on the FPGA. The code facilitating seamless communication between the FPGA and the FFT module is developed to ensure efficient and accurate frequency analysis. This module serves as the backbone of the frequency visualization system, delivering the necessary computational power to process incoming audio signals.

Additionally, to convert the computed magnitudes into actionable visual feedback, we integrated a Pulse Width Modulation (PWM) module. This module generates a PWM signal proportional to the magnitude of the detected frequency, allowing for a dynamic representation of the intensity of each note. By combining these elements – the 3D-printed chevrons controlled by servos, the FFT module for frequency analysis, and the PWM module for visual output – our solution provides a comprehensive and engaging means of visualizing the guitar's frequency spectrum in real-time.

Media:

Credits:

Kurt Querengesser

Author of PWM code and Circuitry

Kurt Querengesser

Garnett Goodacre

Author of FFT Code

Garnett Goodacre

About

FFT implemented on an FPGA with a Physical Representation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published