rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
fft.h
Go to the documentation of this file.
1#pragma once
2
3#include "pch.h"
4#include <cstddef>
5#include <cmath>
6#include <vector>
7#include <complex>
8#include "biquad.h"
9
10#if EFI_UNIT_TEST
11typedef uint16_t adcsample_t;
12#endif
13
14namespace fft {
15
16typedef float real_type;
17typedef std::complex<real_type> complex_type;
18
19bool fft_adc_sample(float * w, float ratio, float sensitivity, const adcsample_t* data_in, complex_type* data_out, const size_t size);
20bool fft_adc_sample_filtered(Biquad& knockFilter, float * w, float ratio, float sensitivity, const adcsample_t* data_in, complex_type* data_out, const size_t size);
21bool fft(const real_type* data_in, complex_type* data_out, const size_t size);
22
23void rectwin(float * w, unsigned n);
24void hann(float * w, unsigned n, bool sflag);
25void hamming(float * w, unsigned n, bool sflag);
26void blackman(float * w, unsigned n, bool sflag);
27void blackmanharris(float * w, unsigned n, bool sflag);
28
29float fast_sqrt(float x);
30float amplitude(const complex_type& fft);
31
32}
33
uint16_t adcsample_t
Definition fft.h:11
uint16_t adcsample_t
ADC sample data type.
Definition fft.h:14
void rectwin(float *w, unsigned n)
Definition fft.hpp:161
void blackman(float *w, unsigned n, bool sflag)
Definition fft.hpp:182
std::complex< real_type > complex_type
Definition fft.h:17
void blackmanharris(float *w, unsigned n, bool sflag)
Definition fft.hpp:188
float amplitude(const complex_type &fft)
Definition fft.hpp:133
float fast_sqrt(float x)
Definition fft.hpp:119
void hamming(float *w, unsigned n, bool sflag)
Definition fft.hpp:176
void hann(float *w, unsigned n, bool sflag)
Definition fft.hpp:169
float real_type
Definition fft.h:16
bool fft_adc_sample_filtered(Biquad &knockFilter, float *w, float ratio, float sensitivity, const adcsample_t *data_in, complex_type *data_out, const size_t size)
Definition fft.hpp:98
bool fft_adc_sample(float *w, float ratio, float sensitivity, const adcsample_t *data_in, complex_type *data_out, const size_t size)
Definition fft.hpp:88
static Biquad knockFilter
composite packet size