Skip to content

Libreria FFT para arduinos basados en (Arduino Uno)ATMEGA328 (Arduino Leonardo)ATMEGA32UA

Notifications You must be signed in to change notification settings

MrAkaki/arduino_FFT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libreria FFT para arduino

Libreria FFT para placas basadas en (Arduino Uno)ATMEGA328 (Arduino Leonardo)ATMEGA32UA. Codigo basado en http://wiki.openmusiclabs.com/wiki/ArduinoFFT y https://github.com/adafruit/Adafruit_CircuitPlayground/

Codigo

Esta libreria define las siguientes funciones:

     /**
     * Computa las muestras a valores complejos.
     * @param const uint16_t * samples, entrada de 64 muestras.
     * @param complex_t* out, salida de 64 numeros complejos.
     **/
     void fft_input(const int16_t *samples, complex_t *out);

     /**
     * Procesa los valores complejos.
     * @param complex_t *input, entrada de la funcion, usualmente es la salida de la funcion fft_input.
     **/
     void fft_execute(complex_t *input);

     /**
     * Transforma los valores complejos a espectro.
     * @param complex_t *input, entrada de la funcion, usualmente es la salida de la funcion fft_execute.
     * @param uint16_t *spectrum, salida de la funcion.
     **/
     void fft_output(complex_t *intput, uint16_t *spectrum);

     /**
     * Captura n_samples del microfono y lo almacena en el parametro out.
     * @param int16_t *out, vector de tamanio n_samples donde se almacena la salida.
     * @param uint8_t n_samples, cantidad de muestras a tomar.
     **/
     void capture(int16_t *out, uint8_t n_samples);

     /**
     * Rutina que llama todas las funciones anteriores y retorna el spectro con 32 entradas
     * @param uint16_t *spectrum, salida del proceso de fft con muestras 32
     */
     void fft(uint16_t *spectrum);

Ademas define los siguientes tipos de datos:

  // Estructura de datos para representar numeros complejos
  typedef struct {
    int16_t r;
    int16_t i;
  } complex_t;



Creative Commons License
FFT_Arduino by Alex Vargas Benamburg
is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at http://wiki.openmusiclabs.com/wiki/ArduinoFFT.

About

Libreria FFT para arduinos basados en (Arduino Uno)ATMEGA328 (Arduino Leonardo)ATMEGA32UA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published