DIY FFT Audio Spectrum Analyzer

Introduction: DIY FFT Audio Spectrum Analyzer

FFT spectrum analyzer is an test equipment that uses Fourier analysis and digital signal processing techniques to provide spectrum analysis. Using Fourier analysis it is possible for one value in, for example, the continuous time domain to be converted into the continuous frequency domain, in which both magnitude and phase information are included.

Step 1: Building

The described device is exactly such a Spectral Analyzer that is made with the help of an Arduino microcontroller. Аs you can see the device is very simple and contains only a few components :

- Arduino nano

- LCD display with a resolution of 128 by 64 pixels (ST7920 128x64 LCD)

- Two resistors (10KOhm)

- potentiometer (10KOhm) and

- capacitor (1 microF)

The audio input to the Arduino is on A0, with bias at the mid point by 10K to Ground and 10K to +5V. At the input we can also set a potentiometer to control the amplitude of the input signal.
Code is also simple and it uses "fix_fft" libray which was created for this purpose

Step 2: Testing

The video describes several cases where different types of signals have been analyzed:

When analyzing a sinusoidal input signal, the carrier is clearly visible and By changing the frequency of the signal generator, the position of the carrier also changes. If we bring a rectangular signal to the input , on the spectral analyzer is clearly visible the fundamental signal, as well as the three odd harmonics x3, x5 & x7. If we bring an audio music signal to the input, this device is actually a graphics audio analyzer that can be found in more expensive audio equipments

Step 3: Schematic and Code

Finally, the entire assembly is housed in a suitable box. This is not a professional tool because it has low resolution and frequency range, but can serve as a great educational tool.

Attachments

Arduino Contest 2020

Participated in the
Arduino Contest 2020

Be the First to Share

    Recommendations

    • Maps Challenge

      Maps Challenge
    • Fruit and Veggies Speed Challenge

      Fruit and Veggies Speed Challenge
    • Backyard Contest

      Backyard Contest

    3 Comments

    0
    FatlyCatly
    FatlyCatly

    8 months ago

    Love it! It makes me wonder if it is possible to make an Arduino distortion analyzer. The Arduino can first find the largest signal (the fundamental) and then control a nulling filter to eliminate the fundamental, so the distortion can then be monitored...

    0
    Alex in NZ
    Alex in NZ

    1 year ago

    That's kind of impressive managing that lot on an Arduino! Well done, and thank you for sharing your work :-)

    0
    mircemk
    mircemk

    Reply 1 year ago

    Thanks a lot