Libreria FFT para arduinos basados en (Arduino Uno)ATMEGA328 (Arduino Leonardo)ATMEGA32UA
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples/fft_neopixels
.DS_Store
FFT.h
README.md
ffft.S
keywords.txt
library.properties

README.md

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.