如何从 FFT 确定频率值
How to determine frequencies values from an FFT
我正在使用 Surge 库中的 FFT 函数。 return 数组中的每个元素与什么相关?我如何知道哪些频率对应于哪些值?
例如,我试图在某个频率范围内找到峰值。
一般FFT结果,数组索引对应离散化的频率"block",数值就是幅度。由于您可能想知道峰值频率而不是幅度,因此后者的确切值并不那么重要。
一般步骤是:
- 获取数组
- 获取数组的大小[1]
- 求数组[1]中的最大值
- 获取最大值的索引[3]
- 计算频率间隔 = sampleRate / size [2] / 2
- 计算最大频率=索引[4]*频率间隔
- return频率[6]
我正在使用 Surge 库中的 FFT 函数。 return 数组中的每个元素与什么相关?我如何知道哪些频率对应于哪些值?
例如,我试图在某个频率范围内找到峰值。
一般FFT结果,数组索引对应离散化的频率"block",数值就是幅度。由于您可能想知道峰值频率而不是幅度,因此后者的确切值并不那么重要。
一般步骤是:
- 获取数组
- 获取数组的大小[1]
- 求数组[1]中的最大值
- 获取最大值的索引[3]
- 计算频率间隔 = sampleRate / size [2] / 2
- 计算最大频率=索引[4]*频率间隔
- return频率[6]