
我用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 计算后的结果, |
关于AN2867文档的疑问
tougfx 显示问题
F429同时使用SDRAM和SRAM
CAN数据重发
littlefs系统能读写SD卡吗?
STM32F405的ADC功耗参数不理解
STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机(取消中断后完全正常)
CUBEIDE1.19.0
stm32支持canfd和dma结合使用吗
NUCLEO-F401RE板卡,连接USB,在KEIL下可以找到ST-LINK仿真器,也可以下载代码。在电脑上看不到NODE_F401RE的磁盘,有知道是什么原因?
第一、采样点数往往是有最小要求,并非随心所欲,一般根据采样频率和最小频率分辨率决定;
第二、我们选择样点数时,还得考虑所使用FFT运算函数类型,有的是基2的,有的是基4的。
假设你现在选用的FFT计算函数是基4类型的,128采样点就不太合适,若强行使用可能会导致较大误差。
你也可以到DSP库函数代码里阅读相关应用函数的说明。
据个人验证,即使我们针对某FFT函数给了不太合适的参数,比方样点数时,目前编译器似乎并不会报错提醒。
如果是128点的话,建议把每组计算后的时间拉大,否则中断过多导致主计算程序延迟混乱。
并且采样的块(128个)因该和运算的次数以及每秒计算的次数为整数倍最好。