如何使用快速傅立叶变换计算频率

时间:2018-09-16 20:38:05

标签: c++ arduino fft

我正在研究脉冲传感器项目。我是这样从传感器获取数据的: voltage without artifacts

现在我想使用以下代码:

true/false

计算我的心跳频率。我现在遇到的问题是我得到的输出有意义: 英尺 (4,0) (1,-2.41421) (0,0) (1,-0.414214) (0,0) (1,0.414214) (0,0) (1,2.41421)

这是什么?我认为这是振幅和相位,但我不知道如何从该频率计算。

脉冲频率约为0.33 Hz至3 Hz。此代码的分辨率是否足够好?我从不需要进行傅立叶变换

感谢您的帮助。期待您的答复。

1 个答案:

答案 0 :(得分:1)

作为FFT输出的复数是与分量正弦波相乘的系数。从本质上讲,它们是直角坐标,而幅值和角度的等效极坐标将为您提供振幅和相位。

频率由阵列中的位置确定。索引 i 处的元素用于采样频率乘以 i / N ,其中 N 是FFT中的元素。