我正在编写一个音频分析程序,需要对数据帧进行一些 FFT。我有一些代码(相当冗长,所以我将省略细节),通过索引的位反转,根据Danielson-Lanczos 引理成功地执行数据的洗牌。例如,数据序列0,1,2,3,4,5,6,7变为0,2,4,6,1,3,5,7(尽管我使用的窗口大于 8 个样本!)
问题是我对如何处理结果向量有点困惑。我完全迷路了。我读过一些关于对数据点对进行转换然后将它们组合起来的内容。那么我会将 DFT 应用于0and 2,然后将结果向量与4and的 DFT 的向量相加6(使用上面的示例数据点)并将其添加到(DFT(1,3) + DFT(5,7))?
如果重要的话,我正在处理 wav 文件的正确通道,因此信号没有虚部。
(我正在使用 C# 在 Unity 中进行开发,j 可以找到的唯一库是 .Net 4.0,而 Unity 目前仅支持 3.5。另外,我认为这很有趣,如果不是令人困惑的话!)