Używam wersji „KISS FFT” Marka Borgerdinga. Akceptuje tablicę 16-bitowych wartości wejściowych o stałym punkcie i tworzy 32-bitową tablicę wyników liczb zmiennoprzecinkowych.
Odkryłem, że jeśli amplitudy wejściowe są niskie, wiele wartości liczb zmiennoprzecinkowych wychodzi na zero, ale jeśli po prostu skaluję dane wejściowe (powiedzmy, współczynnik 16), wówczas mniej wartości wyjściowych wynosi zero, a zatem wydaje się, że dane wyjściowe zawierają więcej szczegółów. (Nie dlatego, że ma to duże znaczenie dla moich celów, ale dla spójności dzielę następnie uzyskane wartości zmiennoprzecinkowe przez ten sam współczynnik skalowania.)
W każdym razie wydaje się, że to działa, jeśli chodzi o uzyskanie wyniku, gdy wcześniej otrzymywałem bufor praktycznie wszystkich zer, ale zastanawiam się, czy istnieje jakiś powód, dla którego może to nie być prawidłowe podejście.
(Należy zauważyć, że takie podejście oznacza, że w danych jest znacznie więcej „zgrubności” / ziarnistości, a w szczególności nie występuje szum niskiego poziomu, który normalnie występowałby. Prawie zastanawiam się, czy rozsądnie byłoby wstrzyknąć trochę hałasu niskiego poziomu, aby zastąpić zerowe wartości na wejściu.)