23 bool begin(
int len)
override {
25 if (p_fft_object==
nullptr) p_fft_object = fft_init(len, FFT_REAL, FFT_FORWARD, NULL, NULL);
26 assert(p_fft_object!=
nullptr);
27 return p_fft_object!=
nullptr;
30 if (p_fft_object!=
nullptr) fft_destroy(p_fft_object);
32 void setValue(
int idx,
int value)
override{
33 p_fft_object->input[idx] = value;
37 fft_execute(p_fft_object);
40 float magnitude(
int idx)
override {
41 return sqrt(pow(p_fft_object->output[2*idx],2) + pow(p_fft_object->output[2*idx+1],2));
46 return (pow(p_fft_object->output[2*idx],2) + pow(p_fft_object->output[2*idx+1],2));
49 virtual bool isValid()
override{
return p_fft_object!=
nullptr; }
51 fft_config_t *p_fft_object=
nullptr;
69 return driverEx()->p_fft_object->output;