我使用Libgdx库中的FFT函数来处理Android中的项目,在那里我处理加速度计信号以创建信号频谱。
我需要对加速度计数据的输出进行标准化,我认为没有“正确”的方法来做到这一点,但这是传统的。有人在FFT中使用除以1 / N,其他除以1 / sqrt(N)。
我不明白这对于实施图书馆的人来说是否是传统的,这意味着每个图书馆都有他的规范化因素,或者对于用户来说是常规的,而不是我可以决定的美学表现。
如果它取决于库,这是LIBGDX库中FFT的归一化因子?
Edit1:我已在文档中搜索但我什么也没找到。这是:http://libgdx-android.com/docs/api/com/badlogic/gdx/audio/analysis/FFT.html
答案 0 :(得分:4)
我正要说“只是查看文档”,但事实证明这很糟糕,并没有说出这样或那样的方式!
不过,您可以凭经验确定比例因子。只需在all-one数据集上运行FFT。输出中将有一个非零bin。这个箱子有三个可能的值:
你可以为逆FFT做同样的技巧,尽管它是多余的。正向和反向比例因子必须乘以1 / N.
答案 1 :(得分:2)
根据您是否需要频谱或功率谱密度,有一个特定的归一化。 Oli提供了一个很好的测试,用于确定库执行的1 / N,1 / sqrt(N)或无缩放。
这是一份文档,详细解释了所有内容以及窗口函数的全面比较。