OK, thanks for checking!
BTW, I don’t know, how the DSO nano is programmed (I assume using C and not directly machine code?) and if it has a powerful enough CPU - but I did some FFT work in the original iPhone (the iPhone uses a 700 DMIPS cpu but the iPhone is under-clocked so it might not reach this performance, compared to the one in the DSO Nano Cortex M3, which is specd at 125 DMIPS @ 100MHz) - but I guess doing some offline FFT could still be possible.
I was using a very simple FFT package (sourceforge.net/projects/kissfft/ - BSD license) which is not even tuned for speed but could get very good performance out if it - of course here the FFT-windows are longer (at 1MHz sample rate compared to the 44.1kHz on the iPhone).
Doing a small comparison:
iPhone: Doing an FFT of a window of 4096 samples takes: 3ms
DSO nano: Samplerate is approx 20 times larger, and assuming the CPU is 5 times slower -> it takes approx. 100 times longer -> 300ms
This would still be very acceptable performance, as it means the FFT display would update 3 times a sec. And because the screen-size is small anyway, you probably don’t need that large FFT-windows and could reduce it (the calculations above are for an approx. 5Hz frequency resolution).
- DMIPS source: en.wikipedia.org/wiki/ARM_architecture