Hi,
I am trying to develop a standalone application. I may need to store as many as 1000 samples in 1s for 60s. Also, I may need to process this set of data by doing a FFT before displaying on a LCD.
Could anyone share with me if the C8051F206 is sufficient or I need to evaluate DSP or other processors? Any low power MCU to recommend as the device is to be portable ?
Thank you for your inputs.
SiLabs has a nice app note on FFTs.
www.silabs.com/.../an142.pdf
When comparing speeds between variants, pay careful attention to the number of clock cycles per instruction cycle. Silicon Labs builds a lot of high-performance 8051s. The product brief for the C8051F12x mentioned in the app note says it executes "70% of instructions in 1 or 2 clock cycles". The C8051F206 you mention has the same statement, so the cores probably have the same performance. But the F206 brief only mentioned clock rates up to 25 MHz, while the benchmarks in the app note are based on a 50 MHz clock.
Memory size should be straightforward. 1 kHz * 60 s * sample size (I'll assume 16 bits) = 120,000 bytes. If you're going to run an FFT over that entire window, you're going to need real and imaginary components, which will double the memory. Doable with far memory on an 8051, but you'll probably need an external memory and far access will be a bit slower.
The time to run a 60,000-point FFT will probably be prohibitive if you're looking for a real-time display. The app note gives the time for a 1024-point FFT as 170 ms. A 64K-point FFT should take a bit over 100 times as long (N / 2 * log N).
Here's some code that Google told me about: www.8051projects.net/downloads37.html www.ai.uga.edu/.../
Thanks to your inputs. Will digest the info first before posting again.