22 bool begin(
int len)
override {
27 assert(table_buffer.data() !=
nullptr);
28 assert(fft_data.data() !=
nullptr);
31 LOGE(
"dsps_fft2r_init_fc32 %d", ret);
33 return fft_data.data()!=
nullptr && ret ==
ESP_OK;
39 table_buffer.resize(0);
44 fft_data[idx*2] = value;
45 fft_data[idx*2 + 1] = 0.0f;
49 float getValue(
int idx)
override {
return fft_data[idx * 2]; }
54 LOGE(
"dsps_fft2r_fc32 %d", ret);
59 LOGE(
"dsps_bit_rev_fc32 %d", ret);
64 LOGE(
"dsps_cplx2reC_fc32 %d", ret);
72 LOGE(
"dsps_fft2r_fc32 %d", ret);
78 LOGE(
"dsps_bit_rev_fc32 %d", ret);
83 LOGE(
"dsps_cplx2reC_fc32 %d", ret);
89 for (
int j=0;
j<len;
j++){
102 return (fft_data[idx*2] * fft_data[idx*2] + fft_data[idx*2+1] * fft_data[idx*2+1]);
104 bool setBin(
int pos,
float real,
float img)
override {
105 if (pos>=len)
return false;
106 fft_data[pos*2] = real;
107 fft_data[pos*2+1] = img;
104 bool setBin(
int pos,
float real,
float img)
override {
…}
114 if (pos>=len)
return false;
115 bin.real = fft_data[pos*2];
116 bin.img = fft_data[pos*2+1];
122 bool isValid()
override{
return fft_data.data()!=
nullptr && ret==
ESP_OK; }
125 Vector<float> fft_data{0};
126 Vector<float> table_buffer{0};
142 return driverEx()->fft_data.data();