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)
FFT on nintendo ds
Started by ●January 10, 2008
Reply by ●January 10, 20082008-01-10
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
Reply by ●January 10, 20082008-01-10
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
Reply by ●January 10, 20082008-01-10
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. > > JasonAnybody know any books on signal processing, specifically on Fourier transforms and pitch detection?
Reply by ●January 11, 20082008-01-11
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.
Reply by ●January 11, 20082008-01-11
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
Reply by ●January 11, 20082008-01-11
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.
Reply by ●January 11, 20082008-01-11
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. �����������������������������������������������������������������������
Reply by ●January 11, 20082008-01-11
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" ;)
Reply by ●January 11, 20082008-01-11
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)?