I found the FFT function spent most of CPU time calling window function than calculating the FFT. This was fixed by calculating the window only once when csdr starts.
Additionally, I implemented logaveragepower_cf which works like logpower_cf but averages power from multiple successive FFTs before taking the logarithm. This is useful for making better looking waterfall displays in openwebrx.
I found the FFT function spent most of CPU time calling window function than calculating the FFT. This was fixed by calculating the window only once when csdr starts.
Additionally, I implemented logaveragepower_cf which works like logpower_cf but averages power from multiple successive FFTs before taking the logarithm. This is useful for making better looking waterfall displays in openwebrx.