Я використовую версію "KISS FFT" від Марка Боргердінга. Він приймає масив 16-бітових вхідних значень з фіксованою точкою і виробляє 32-бітний матричний результат з плаваючою точкою.
Я виявив, що якщо амплітуди введення низькі, багато значень результатів поплавця виходять нульовими, але якщо я просто масштабувати входи (скажімо, коефіцієнт 16), то менше вихідних значень дорівнюватиме нулю, і тому, здається, вихід містить більш детально. (Мало того, що це важливо для моїх цілей, але для послідовності я потім ділю отримані значення поплавця на той же коефіцієнт масштабування.)
У будь-якому випадку це, здається, спрацьовує, з точки зору отримання результату, коли раніше я тільки що отримав буфер практично всіх нулів, але мені цікаво, чи є якась причина, що це не може бути правильним підходом.
(Зауважте, що цей підхід означає, що є набагато більше "грубості" / деталізації даних, і, зокрема, низького рівня шуму, який зазвичай присутній, немає. Мені майже цікаво, чи було б розумно вводити деякий низький рівень шуму для заміни нульових значень на вході.)