esp32loudness/src/fft.h

19 lines
598 B
C

#ifndef FFT_H
#define FFT_H
#include <stdint.h>
#include "fft_config.h"
void init_fft(void);
void complex_to_absolute(value_type *re, value_type *im, value_type *result);
void apply_hanning(value_type *dftinput);
void fft_transform(value_type *samples, value_type *resultRe, value_type *resultIm);
uint32_t find_loudest_frequency(value_type *absFFT);
value_type get_energy_in_band(value_type *fft, uint32_t minFreq, uint32_t maxFreq);
// calculate the spectral density in V/sqrt(Hz)
value_type get_spectral_density_in_band(value_type *fft, uint32_t minFreq, uint32_t maxFreq);
#endif // FFT_H