hgfight 发表于 2018-10-15 18:49:34

FFT如何确定选用哪个函数

汉哥,我现在有一个传感器,每秒发送512个数据包,然后对这些数据进行傅里叶变换,那这个采样频率是不是就是512HZ?
cr4_fft_256_stm32
cr4_fft_1024_stm32 应该选哪一个比较好


eric2013 发表于 2018-10-16 01:01:06

可以用1024点的,后512补0.

也可以用ARM的DSP库,可以直接做512点,此贴有教程:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=3886&extra=page%3D1

hgfight 发表于 2018-10-16 10:03:15

eric2013 发表于 2018-10-16 01:01
可以用1024点的,后512补0.

也可以用ARM的DSP库,可以直接做512点,此贴有教程:


好的,谢谢,汉哥,我看看。汉哥经常凌晨发帖吗,注意身体

eric2013 发表于 2018-10-16 11:20:06

hgfight 发表于 2018-10-16 10:03
好的,谢谢,汉哥,我看看。汉哥经常凌晨发帖吗,注意身体

有时候比较晚:handshake

hgfight 发表于 2018-10-16 14:57:45

本帖最后由 hgfight 于 2018-10-16 15:02 编辑

eric2013 发表于 2018-10-16 11:20
有时候比较晚
汉哥,我又来了,请问

raw_FFTTEST_data是我采集的512个数据是int6_t类型的,但是变换之后输出的幅值都是0,是咋回事啊

eric2013 发表于 2018-10-18 12:06:51

hgfight 发表于 2018-10-16 14:57
汉哥,我又来了,请问

raw_FFTTEST_data是我采集的512个数据是int6_t类型的,但是变换之后输出的幅值 ...

不好意思啊,忘了及时回复你了。

是不是数值太小了,使用定点的话,参与运行的数值比较小的话,运算过程中会由于输出结果的定标操作被处理掉。

换成xxxx_f32

hgfight 发表于 2018-10-18 16:10:26

eric2013 发表于 2018-10-18 12:06
不好意思啊,忘了及时回复你了。

是不是数值太小了,使用定点的话,参与运行的数值比较小的话,运算过 ...
感谢汉哥回复,汉哥真的好厉害,我的原始数据确实很小[-150,150],用浮点的可以出来数据。
STM32的结果和MATLAB的有点区别,请问汉哥是因为浮点数导致的吗
另外再请教一下汉哥,定标是啥

eric2013 发表于 2018-10-19 11:05:35

hgfight 发表于 2018-10-18 16:10
感谢汉哥回复,汉哥真的好厉害,我的原始数据确实很小[-150,150],用浮点的可以出来数据。
STM32的结果和 ...

定标就是Q15,Q14这些,在我们的DSP教程有写:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=3886&extra=page%3D1
页: [1]
查看完整版本: FFT如何确定选用哪个函数