GithubHelp home page GithubHelp logo

makariosb / spectral-analyzer Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.17 MB

Small system I designed for my Digital Control class.

License: MIT License

C++ 100.00%
dsp signal-processing spectrum-analyzer audio-processing labview arduino

spectral-analyzer's Introduction

8-Band Spectral Analyzer using Arduino & LabVIEW

This is a small project I developed in 2019, during my studies in Electrical & Computer Engineering @ University of Patras.

It uses components in order to digitize an analog signal, process it using LabVIEW (unfortunately required to use for my class), and then output it to an Arduino Uno, which then controls an LED 8x8 array in order to display the spectrogram of the input audio signal.

The general architecture of the system is shown below:

High Level Block Diagram

In summary:

  • The NI USB-6001 Analog-to-Digital Converter is used to digitize the analog electrical signal
  • The digitized signal is then processed in a PC using LabVIEW.
    • The DC component is filtered out.
    • Calculates the signal's spectrum using Fast Fourier Transform.
    • Quantizes the spectrum into 8 integers representing the maximum component detected in each of 8 different equal ranges (frequencies 0-fs/2).
    • Sends those 8 intergers to an Arduino Uno using the serial port.
  • The Arduino then displays the quantized spectrum in a 8x8 LED Array using the MAX7219 shift register and the LedControl library.

The project report (written in modern Greek) can be found here. It contains all the necessary information about connections and explains the spectrum quantization logic in detail.

The Arduino half of the system can be tested using a simple .wav file, fed through LabVIEW. I have provided 2 audio files I used while testing the system in the test_wavs folder.

NOTE: The input analog signal should be properly filtered using an analog Low Pass Filter, in order to avoid aliasing.

spectral-analyzer's People

Contributors

makariosb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.