我用STM32F407 ST 自带的FFT库做FFT运算, 我的采样频率为250K ,信号为14.038K , 当采样点数为1024 的时候 14.038 *1024/250 = 57.5 所以FF计算出来的结果最大值在 57 和 58之间,这个和我实际的运算结果相吻合,另外幅度计算也正确 我把采样点数改为256 14.038*256/250 = 14.3749 最大值应该在14 和 15之间 ,这个和我实际的运算结果也吻合,幅度计算也正确 但是当采样点数为128 的时候,14.038*128、250 = 7.187 最大值应该在7和 8之间,但是我实际运算值最大在4和 5之间,另外幅度计算和实际加的电压也对不上 下面依次是128,256,1024 FFT 计算后的结果, |
STM32F7中FMC接多个通信外设
关于在做项目时候选用芯片的问题。
STM32F401下载失败问题
STM32H743+USB3300传输采集的数据前几次会丢包问题
关于F407嵌入式SRAM映射为0x20020000的问题。
Boot0通过10k电阻接地,Boot1作为输入使用被配置成外部中断,现在存在的问题是可能会导致单片机加密无法运行,且无法解密,RDP显示为FF,这是怎么导致的?
STM32F407IGT6烧录异常
RM0090文档和KEIL上的ETH_MMCTIMR寄存器的TGFM位不一致
STM32使用STLINK烧录问题上电顺序问题
由stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直没有呢
第一、采样点数往往是有最小要求,并非随心所欲,一般根据采样频率和最小频率分辨率决定;
第二、我们选择样点数时,还得考虑所使用FFT运算函数类型,有的是基2的,有的是基4的。
假设你现在选用的FFT计算函数是基4类型的,128采样点就不太合适,若强行使用可能会导致较大误差。
你也可以到DSP库函数代码里阅读相关应用函数的说明。
据个人验证,即使我们针对某FFT函数给了不太合适的参数,比方样点数时,目前编译器似乎并不会报错提醒。
如果是128点的话,建议把每组计算后的时间拉大,否则中断过多导致主计算程序延迟混乱。
并且采样的块(128个)因该和运算的次数以及每秒计算的次数为整数倍最好。