Optimize FFT test input generation

This commit is contained in:
2026-07-05 19:48:16 +08:00
parent 7e72bd455a
commit d13f7933d8
3 changed files with 89 additions and 16 deletions

View File

@@ -8,6 +8,7 @@
#include <confreg_time.h>
#include <dma.h>
#include <fft.h>
#include "../fft_test_data.h"
// BSP板级支持包所需全局变量
unsigned long UART_BASE = 0xbf000000;
@@ -93,18 +94,14 @@ int main(int argc, char** argv)
float sw_in_re[FFT_POINT_NUM];
float sw_in_im[FFT_POINT_NUM];
// 初始化测试波形
for (int i = 0; i < FFT_POINT_NUM; i++) {
float dc_part = 4000.0f;
float f10_part = 8000.0f * cos(2 * PI * 10.0 * i / FFT_POINT_NUM);
float f200_part = 6000.0f * sin(2 * PI * 200.0 * i / FFT_POINT_NUM);
float f400_part = 3000.0f * sin(2 * PI * 400.0 * i / FFT_POINT_NUM);
sw_in_re[i] = dc_part + f10_part + f200_part + f400_part;
int32_t sample = fft_test_sample((unsigned int)i);
sw_in_re[i] = (float)sample;
sw_in_im[i] = 0.0f;
// 硬件输入需要转为整数存入无缓存内存
uncached_in_re[i] = (int32_t)sw_in_re[i];
uncached_in_re[i] = sample;
uncached_in_im[i] = 0;
// 清理输出内存以防干扰
@@ -176,4 +173,4 @@ int main(int argc, char** argv)
}
return 0;
}
}