Каков диапазон ввода для функции FFT в библиотеке NE10 - PullRequest
0 голосов
/ 06 июня 2019

Я использую библиотеку NE10 для выполнения одномерного БПФ для некоторых аудиоданных для проекта. Тем не менее, результаты, которые я получаю от моего аудиовхода, довольно странные.

Я использую FFT-версию float32, и в примере кода я заметил, что входные значения умножены на 50. Это довольно странно для меня. По моему опыту, при работе в float аудио данные ограничены (-1, 1).

Углубившись дальше в документацию, я заметил, что входные данные для тестового кода масштабируются в соответствии с 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 между (-1, 1) и получаю странные результаты, и я не могу найти никакой информации о входном диапазоне FFT.

...