我一直在研究苹果的示例代码aurioTouch 2。最终我想要自己分析频率。现在我正在尝试理解一些内容,如果这很琐碎,请谅解,我只是想理解源码中出现的一些未注释的魔法数值。我目前主要困惑的几点是:
- 为什么它们在FFTBufferManager::ComputeFFT中将奈奎斯特(Nyquist)值清零?这个值真的可以被丢掉吗?(~ FFTBufferManager.cpp的第112行左右)。
- 他们将所有东西都按-128db缩小,因此我假设结果在(-128,0)的范围内。但是,在aurioTouchAppDelegate.mm的稍后位置(~第807行),他们通过添加80并除以64,然后限制在0到1之间将其转换为0到1之间的值。这其中的含义是什么?也就是说,我的假设值(-128,0)是否正确?