我使用Apple的Accelerate Framework(在iOS设备上执行)成功实现了采用数组数据并对其运行快速傅里叶变换的代码。
我现在的问题是频率轴的比例是多少?结果在某些频率范围内具有预期的峰值,但我不确定频率应该是多少。 Accelerate Framework的FFT函数接收一个数组并吐出一个具有相同(或更多)数据点的数组。它是否假设所有这些点在时间上是等间隔的?它不采用采样频率或时间变量作为输入。频率轴的比例(即每个点上的频率增量)只是采样周期除以2 * Pi(或类似的东西?)我在文档中找不到很多信息。我一直在网上寻找类似的问题,但没有找到任何东西。
这在某种程度上是一个数学问题,尽管它在很大程度上取决于Accelerate Framework的实现。
由于
EDIT 我问了一个后续问题here,但还没有人回答。请看看!
答案 0 :(得分:6)
FFT为您提供线性间隔的频率区间,直至采样频率。这意味着箱之间的间距是(采样频率)/(箱数)。
答案 1 :(得分:5)
频率轴标度不依赖于加速框架实现,仅取决于时域数据的采样率(FS)和FFT的长度(N)。任何FFT。
对于严格的实际数据输入,FFT结果的后半部分只是前半部分的复共轭。通常只为FS / 2的前半部分绘制真实数据。