[maemo-developers] Signal processing on N800

From: David Huggins-Daines dhuggins at cs.cmu.edu
Date: Thu Apr 24 05:16:18 EEST 2008
On Wed, 2008-04-23 at 14:15 -0500, nisha jain wrote:

> to port it to N800 later on...Please let me know if some one has
> developed such 
> application and used fft calculation for discrete signals... 

If you are dealing with real-valued data (e.g. audio), you can use the
fixed-point FFT routine in CMU Sphinx if you like.  It's not
specifically optimized for the ARM but it's pretty fast.  Browse the
code at:

http://cmusphinx.svn.sourceforge.net/viewvc/cmusphinx/trunk/sphinxbase/src/libsphinxbase/fe/fe_sigproc.c?view=markup

The functions you need are fe_create_twiddle() and fe_fft_real().  They
come in 16 and 32-bit versions, based on the FIXED16 preprocessor
symbol.  The 32-bit version is a bit confusing since it uses 20.12
fixed-point format, so I'd recommend the 16-bit one (which is faster
anyway).

You'll have to do a bit of work to separate it from the rest of the
front end processing, but that shouldn't be hard.

Better would be to use TI's dsplib on the DSP core, but I still haven't
gotten around to figuring that out.


More information about the maemo-developers mailing list