DSPRelated.com
Forums

FFT on nintendo ds

Started by andreyvul January 10, 2008
Which integer FFT implementation would be best for the Nintendo DS?
I'm writing a tuner for the DS and I've decided to use FFT to analyze
the microphone data to find the input frequency.

DS Stats:
ARM946E-S @ 67 MHz primary CPU
ARM7TDMI @ 33 MHz secondary CPU
4 MB primary RAM
32 MB secondary RAM
No VFP only FPU + DSP extensions

Which integer FFT implementation would work best (must be small and
fast)? I can manually translate the C to ARM9 asm (or simply hope gcc -
O3 -march=armv5te -mtune=arm946e-s -mtune=-ffast-math works good
enough)
On Jan 10, 5:55 pm, andreyvul <andrey....@gmail.com> wrote:
> Which integer FFT implementation would be best for the Nintendo DS? > I'm writing a tuner for the DS and I've decided to use FFT to analyze > the microphone data to find the input frequency. > > DS Stats: > ARM946E-S @ 67 MHz primary CPU > ARM7TDMI @ 33 MHz secondary CPU > 4 MB primary RAM > 32 MB secondary RAM > No VFP only FPU + DSP extensions > > Which integer FFT implementation would work best (must be small and > fast)? I can manually translate the C to ARM9 asm (or simply hope gcc - > O3 -march=armv5te -mtune=arm946e-s -mtune=-ffast-math works good > enough)
There aren't many to choose from. One choice is the C project kissfft on sourceforge, you might start there and see how it goes. John
On Jan 10, 5:55 pm, andreyvul <andrey....@gmail.com> wrote:
> Which integer FFT implementation would be best for the Nintendo DS? > I'm writing a tuner for the DS and I've decided to use FFT to analyze > the microphone data to find the input frequency. > > DS Stats: > ARM946E-S @ 67 MHz primary CPU > ARM7TDMI @ 33 MHz secondary CPU > 4 MB primary RAM > 32 MB secondary RAM > No VFP only FPU + DSP extensions > > Which integer FFT implementation would work best (must be small and > fast)? I can manually translate the C to ARM9 asm (or simply hope gcc - > O3 -march=armv5te -mtune=arm946e-s -mtune=-ffast-math works good > enough)
What sizes of FFTs are you looking for? It's not very versatile, but you might try the fft-arm library: http://www.lartmaker.nl/projects/fft-arm/ It's always cool to see a new console homebrew project. Good luck. Jason
On Jan 10, 8:18 pm, cincy...@gmail.com wrote:
> On Jan 10, 5:55 pm, andreyvul <andrey....@gmail.com> wrote: > > > Which integer FFT implementation would be best for the Nintendo DS? > > I'm writing a tuner for the DS and I've decided to use FFT to analyze > > the microphone data to find the input frequency. > > > DS Stats: > > ARM946E-S @ 67 MHz primary CPU > > ARM7TDMI @ 33 MHz secondary CPU > > 4 MB primary RAM > > 32 MB secondary RAM > > No VFP only FPU + DSP extensions > > > Which integer FFT implementation would work best (must be small and > > fast)? I can manually translate the C to ARM9 asm (or simply hope gcc - > > O3 -march=armv5te -mtune=arm946e-s -mtune=-ffast-math works good > > enough) > > What sizes of FFTs are you looking for? It's not very versatile, but > you might try the fft-arm library: > > http://www.lartmaker.nl/projects/fft-arm/ > > It's always cool to see a new console homebrew project. Good luck. > > Jason
Anybody know any books on signal processing, specifically on Fourier transforms and pitch detection?
On Jan 10, 10:34 pm, andreyvul <andrey....@gmail.com> wrote:
> On Jan 10, 8:18 pm, cincy...@gmail.com wrote: > > > > > On Jan 10, 5:55 pm, andreyvul <andrey....@gmail.com> wrote: > > > > Which integer FFT implementation would be best for the Nintendo DS? > > > I'm writing a tuner for the DS and I've decided to use FFT to analyze > > > the microphone data to find the input frequency. > > > > DS Stats: > > > ARM946E-S @ 67 MHz primary CPU > > > ARM7TDMI @ 33 MHz secondary CPU > > > 4 MB primary RAM > > > 32 MB secondary RAM > > > No VFP only FPU + DSP extensions > > > > Which integer FFT implementation would work best (must be small and > > > fast)? I can manually translate the C to ARM9 asm (or simply hope gcc - > > > O3 -march=armv5te -mtune=arm946e-s -mtune=-ffast-math works good > > > enough) > > > What sizes of FFTs are you looking for? It's not very versatile, but > > you might try the fft-arm library: > > >http://www.lartmaker.nl/projects/fft-arm/ > > > It's always cool to see a new console homebrew project. Good luck. > > > Jason > > Anybody know any books on signal processing, specifically on Fourier > transforms and pitch detection?
Or show me how to do a Fourier transform on an signed 8-bit sample @ 16 kHz sampling rate. And then find the frequency with the highest amplitude (simpler than harmonic cancellation imo) and use that as the input frequency.

andreyvul wrote:


>>>>Which integer FFT implementation would be best for the Nintendo DS? >>Anybody know any books on signal processing, specifically on Fourier >>transforms and pitch detection? > > > Or show me how to do a Fourier transform on an signed 8-bit sample @ > 16 kHz sampling rate. And then find the frequency with the highest > amplitude (simpler than harmonic cancellation imo) and use that as the > input frequency.
Another going to nowhere project. Forget about it. Judging on your extremely naive questions, you have years and years to learn before you will be able to work out anything. VLV
On Jan 11, 10:37 am, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> andreyvul wrote:
> Another going to nowhere project. Forget about it. > Judging on your extremely naive questions, you have years and years to > learn before you will be able to work out anything. >
I admit it is far beyond my abilities, but I think coding a simple tuner is a relatively easy introduction to signal processing. Which is why I was asking for books on FFT.
andreyvul wrote:
> On Jan 11, 10:37 am, Vladimir Vassilevsky <antispam_bo...@hotmail.com> > wrote: >> andreyvul wrote: > >> Another going to nowhere project. Forget about it. >> Judging on your extremely naive questions, you have years and years to >> learn before you will be able to work out anything. >> > > I admit it is far beyond my abilities, but I think coding a simple > tuner is a relatively easy introduction to signal processing. > Which is why I was asking for books on FFT.
A tuner isn't easy. An FFT isn't likely to be of much use in one. 8-bit samples aren't likely to be useful either. Not enough resolution to support all the roundoff errors. Unless your general knowledge of electronics is pretty extensive, using a game console as your platform puts you at a great disadvantage. You cannot compute the radio content; you have to get it off the air. You will need to build the circuits to do that and interface to them. for a list of books, see http://www.dspguru.com./info/books/index.htm Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Caveat lector to OP

Just realize that V.V. *NEVER* made a naive error.
( guess that implies errors were ????? errors ,0>

That's not to say that others of group (including your's truly) will not 
on occasion offer to assist one in passing metatarsal through mandibles 
past clavicle. I'd say "ROFL" except my PT objects to "on floor" ;)

On Jan 11, 3:34 pm, Jerry Avins <j...@ieee.org> wrote:
> andreyvul wrote: > > On Jan 11, 10:37 am, Vladimir Vassilevsky <antispam_bo...@hotmail.com> > > wrote: > >> andreyvul wrote: > > >> Another going to nowhere project. Forget about it. > >> Judging on your extremely naive questions, you have years and years to > >> learn before you will be able to work out anything. > > > I admit it is far beyond my abilities, but I think coding a simple > > tuner is a relatively easy introduction to signal processing. > > Which is why I was asking for books on FFT. > > A tuner isn't easy. An FFT isn't likely to be of much use in one. 8-bit > samples aren't likely to be useful either. Not enough resolution to > support all the roundoff errors. Unless your general knowledge of > electronics is pretty extensive, using a game console as your platform > puts you at a great disadvantage. You cannot compute the radio content; > you have to get it off the air. You will need to build the circuits to > do that and interface to them.
My EE experience is limited to high school computer/electrical engineering + some googling. Since FFT will be of limited use on the DS, do you suggest a DCT instead to find the frequency of the microphone input? Also, +- how many hertz will rounding errors be on 8-bit@16kHz (and on my main computer which I will use to prototype the algorithm, 24- bit@96kHz)?