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