NE10库中FFT函数的输入范围是多少

时间:2019-06-06 06:32:35

标签: c++ signal-processing fft neon

我正在使用NE10 library对项目的某些音频数据执行一维FFT。但是,我从音频输入中得到的结果非常奇怪。

我使用的是float32版本的FFT,我在sample code中注意到输入值乘以50。这对我来说很奇怪。根据我的经验,在处理浮动音频时,音频数据会绑定到(-1,1)。

深入研究文档,我注意到test code的输入数据被缩放以匹配16位整数,这使我更加困惑。

我的代码段,仅供参考:

mFftConfig = ne10_fft_alloc_r2c_float32(size);
mFftDestination = new ne10_fft_cpx_float32_t[mSize/2 + 1];
mWindow = MakeWindow();

...

for(int i = 0; i < mSize; i++)
{
  mInputBuffer[i] *= mWindow[i];
}
ne10_fft_r2c_1d_float32(mFftDestination, mInputBuffer, mFftConfig);

长话短说,我正在将FFT函数的float数据传递到(-1,1)之间,并且得到了怪异的结果,我找不到有关FFT输入范围的任何信息。

0 个答案:

没有答案