From: ok1iak on 1 Oct 2009 20:37 > > You cannot use FFTW, smartphones do not run on processors with > > floating point unit. Emulation is just too slow to be usable on slower > > devices. > > This is not true on many current smartphones. I've benchmarked > a short float FFT on an iPhone as faster than a scaled integer FFT > (actual milage will depend on how much you optimize each). > The newer Android smartphones use similar ARM CPUs which > includes a VFP pipelined or NEON vector floating point unit. How many of current smartphones implement FPU? Would you please provide more information on the CPU you are referencing? It is certainly new to me. Real valued fixed point FPU displays 4kHz spectrogram with 4Hz resolution on 206MHz StrongARM using about 1/4 of available clock cycles. The same device would most probably not be able to run floating point FFT with emulated FPU. 400MHz ARM is able to do it, but it will certainly not be battery friendly. Vojtech
From: R.Nicholson on 1 Oct 2009 23:39
On Oct 1, 5:37 pm, ok1iak <bubn...(a)seznam.cz> wrote: > > > You cannot use FFTW, smartphones do not run on processors with > > > floating point unit. Emulation is just too slow to be usable on slower > > > devices. > > > This is not true on many current smartphones. I've benchmarked > > a short float FFT on an iPhone as faster than a scaled integer FFT > > (actual milage will depend on how much you optimize each). > > The newer Android smartphones use similar ARM CPUs which > > includes a VFP pipelined or NEON vector floating point unit. > > How many of current smartphones implement FPU? Would you please > provide more information on the CPU you are referencing? It is > certainly new to me. Correction: the current generation of Android phones don't seem to have VFP enabled. But the Palm Pre does have an FPU, as do over 20 million iPhones (2G, 3G, 3Gs). There's a bunch of frequency/pitch estimation ideas on my web page below. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M http://www.nicholson.com/rhn/dsp.html |