twiddle generation is defifintely wrong. Proved by flushing it to PC

This commit is contained in:
2025-10-09 19:21:40 +03:00
parent 2f6f7d9793
commit c12ae1f521
21 changed files with 6837 additions and 6726 deletions

View File

@ -30,12 +30,12 @@
/*
#define FFT_FP_EXTERNAL_TWIDDLES
#define DATA_L (1<<10)
#define TWIDDLE_L (DATA_L / 2)
//*/
#include "FFT_FP_realisation.h"
volatile int64_t twiddle_re[TWIDDLE_L] __attribute__((section(".sdram_noinit")));

View File

@ -89,6 +89,9 @@ extern volatile uint32_t AVG_buff[]; //size: AVG_BUFF_SIZE
//extern volatile uint32_t AVG_buff_B[]; //size: AVG_BUFF_SIZE
extern volatile uint64_t FFT_buff[]; //size: FFT_BUFF_SIZE
extern volatile int64_t twiddle_re[]; //size: TWIDDLE_L
extern volatile int64_t twiddle_im[]; //size: TWIDDLE_L
volatile uint32_t TX_marker[10] = {0xFE00000F,0xFE0000F0, 0xFE000F00, 0xFE00F000, 0xFE0F0000,0xFEF00000, 0xFE0F0000,0xFE00F000, 0xFE000F00, 0xFE0000F0};
@ -154,13 +157,14 @@ uint32_t dataprocessor(uint32_t* AVG_buff, uint32_t AVG_buff_I_max, uint64_t* FF
//void FFT_fp(int64_t* inp, uint32_t inp_L, int64_t* buf)
FFT_fp(AVG_buff, FFT_INP_DATA_L, FFT_buff);
/* }else if (mode == FLUSH_TWIDDLES){
}else if (mode == FLUSH_TWIDDLES){
uint32_t i = 0;
FFT_buff_I = 0;
while ((FFT_buff_I < FFT_BUFF_SIZE) && (i < TWIDDLE_L)){
FFT_buff[FFT_buff_I++] = twiddle_re[i++];
}
*/
}
return FFT_buff_I;
@ -276,7 +280,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
FFT_buff[i] = 0;
}
uint32_t FFT_res_size = dataprocessor(AVG_buff, Proc_state.AVG_buff_I_last, FFT_buff, FFT);
uint32_t FFT_res_size = dataprocessor(AVG_buff, Proc_state.AVG_buff_I_last, FFT_buff, FLUSH_TWIDDLES);
// uint32_t FFT_res_size = dataprocessor(AVG_buff, Proc_state.AVG_buff_I_last, FFT_buff, TRANSPARENT);

View File

@ -13,15 +13,15 @@
//#define FFT_FP_EXTERNAL_TWIDDLES
//#define DATA_L (1<<10)
//#define TWIDDLE_L (DATA_L / 2)
#define DATA_L (1<<10)
#define TWIDDLE_L (DATA_L / 2)
//#define TX_BUFF_SIZE 100000
#define RAW_DATA_BUFF_SIZE 1000
#define AVG_BUFF_SIZE FFT_INP_DATA_L
#define FFT_BUFF_SIZE (FFT_INP_DATA_L*2)
#define FFT_INP_DATA_L (1<<10)
//#define FFT_INP_DATA_L (1<<10)
//#define L502_SPORT_IN_BUF_SIZE (2048*1024)