From 81879be4bc90940a9fcb6d846655e1138e5fbfd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=98=8C?= <392871505@qq.com> Date: Sun, 17 May 2026 22:24:54 +0800 Subject: [PATCH] perf(fft): Replace DFT with Cooley-Tukey FFT (33x speedup) - Implement iterative complex FFT in fft_utils.cpp (power-of-2 only) - Replace O(n^2) DFT with O(n log n) FFT in compute_power_spectrum - Validation time drops from ~3200ms to ~97ms total (~160ms -> ~5ms per file) - All tests pass (test_core_lib 6/6, demo_offline 20/20) --- .../src/acoustic/build/demo_offline.exe | Bin 214524 -> 210373 bytes .../src/acoustic/build/test_core_lib.exe | Bin 312715 -> 308080 bytes .../src/acoustic/src/core/fft_utils.cpp | 78 ++++++++++++------ 3 files changed, 52 insertions(+), 26 deletions(-) diff --git a/src/drone-software/src/acoustic/build/demo_offline.exe b/src/drone-software/src/acoustic/build/demo_offline.exe index 085c1e9374f69517d1a0d2350e8c6ee01cc7acde..312871cbd2cbaf05ebb59475a200f8794e1adbf4 100644 GIT binary patch delta 50193 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 F`hO(!;D!JI delta 53714 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 E2TU7o4*&oF delta 59763 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 diff --git a/src/drone-software/src/acoustic/src/core/fft_utils.cpp b/src/drone-software/src/acoustic/src/core/fft_utils.cpp index 347df83..6f790ed 100644 --- a/src/drone-software/src/acoustic/src/core/fft_utils.cpp +++ b/src/drone-software/src/acoustic/src/core/fft_utils.cpp @@ -19,37 +19,63 @@ void apply_hann_window(float* data, size_t n) { } } -// Compute power spectrum via DFT. -// For n_fft = 2048 this is fast enough for offline/demo use. -// Twiddle factors are cached in a static lookup table per n_fft size. -void compute_power_spectrum(const float* frame, int n_fft, float* power_out) { - int bins = n_fft / 2 + 1; +namespace { - // Build or reuse cached twiddle table for this n_fft - static thread_local std::vector cos_table; - static thread_local std::vector sin_table; - static thread_local int cached_nfft = 0; +// Iterative Cooley-Tukey complex FFT (power-of-2 sizes only). +struct Cpx { float r = 0.0f, i = 0.0f; }; - if (cached_nfft != n_fft) { - cached_nfft = n_fft; - cos_table.resize(static_cast(n_fft)); - sin_table.resize(static_cast(n_fft)); - for (int k = 0; k < n_fft; ++k) { - float angle = -2.0f * static_cast(M_PI) * k / n_fft; - cos_table[k] = std::cos(angle); - sin_table[k] = std::sin(angle); +void fft_inplace(Cpx* data, int n, bool inverse) { + int j = 0; + for (int i = 1; i < n; ++i) { + int bit = n >> 1; + for (; j & bit; bit >>= 1) j ^= bit; + j ^= bit; + if (i < j) std::swap(data[i], data[j]); + } + for (int len = 2; len <= n; len <<= 1) { + float ang = 2.0f * static_cast(M_PI) / len * (inverse ? 1.0f : -1.0f); + float wlen_r = std::cos(ang); + float wlen_i = std::sin(ang); + for (int i = 0; i < n; i += len) { + float wr = 1.0f, wi = 0.0f; + for (int k = 0; k < len / 2; ++k) { + int u = i + k; + int v = i + k + len / 2; + float ur = data[u].r, ui = data[u].i; + float vr = data[v].r * wr - data[v].i * wi; + float vi = data[v].r * wi + data[v].i * wr; + data[u].r = ur + vr; + data[u].i = ui + vi; + data[v].r = ur - vr; + data[v].i = ui - vi; + float wnr = wr * wlen_r - wi * wlen_i; + float wni = wr * wlen_i + wi * wlen_r; + wr = wnr; + wi = wni; + } } } - - for (int b = 0; b < bins; ++b) { - float real = 0.0f; - float imag = 0.0f; - for (int n = 0; n < n_fft; ++n) { - int idx = (b * n) % n_fft; - real += frame[n] * cos_table[idx]; - imag += frame[n] * sin_table[idx]; + if (inverse) { + float inv_n = 1.0f / n; + for (int i = 0; i < n; ++i) { + data[i].r *= inv_n; + data[i].i *= inv_n; } - power_out[b] = real * real + imag * imag; + } +} + +} // anonymous namespace + +void compute_power_spectrum(const float* frame, int n_fft, float* power_out) { + int bins = n_fft / 2 + 1; + std::vector data(n_fft); + for (int i = 0; i < n_fft; ++i) { + data[i].r = frame[i]; + data[i].i = 0.0f; + } + fft_inplace(data.data(), n_fft, false); + for (int i = 0; i < bins; ++i) { + power_out[i] = data[i].r * data[i].r + data[i].i * data[i].i; } }