| Author |
Message |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
20 Jan 2004 12:42 realtime fft c++ |
|
|
|
|
Hi,
I would like to build a realtime FFT spectrum analyser display,
what processor do you suggest?
Do i need faster than 100ns/cycle? I mean is it possible to do it with
a PIC?
I want to do at least 30 fps.
thanks,
Zed
|
|
| Back to top |
|
 |
PaulHolland
Joined: 15 Jan 2003 Posts: 636 Helped: 59 Location: Holland
|
20 Jan 2004 13:21 avr realtime fft |
|
|
|
|
Hi,
First. The cpu power you need depends not only on the fps ratio but also the resolution bandwidth. if you do a 1024 FFT you need more cpu power compared with 128 FFT. But using a PIC for FFT with 30 fps you can forget. unless you use a FPGA to do the FFT...
regards,
Paul.
|
|
| Back to top |
|
 |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
20 Jan 2004 14:41 profil bga adsp-bf531 |
|
|
|
|
PIC can't do it even if it's only a 16 or 32 channel FFT?
Actually I would like to build a spectrum analyser display to show
spectrums of any sound connected to my amplifier.
I really like the one within WinAmp, but not necessairly do it with FFT,
i know it's slow, but i'm not very familiar with FIR or other filters.
any suggestions?
thanks,
Zed
|
|
| Back to top |
|
 |
artem
Joined: 22 May 2003 Posts: 1652 Helped: 91 Location: Turan
|
20 Jan 2004 15:16 pic fft |
|
|
|
|
There is AN about how to implement fixed poınt DSP on AVR family mcu . Most of the 8 bits mcu will not offer more (note that AVR faster than PIC )
File name "AVR223: Digital Filters with AVR"
http://www.atmel.com/dyn/resources/prod_documents/doc2527.pdf
|
|
| Back to top |
|
 |
PaulHolland
Joined: 15 Jan 2003 Posts: 636 Helped: 59 Location: Holland
|
20 Jan 2004 16:01 bga handsolder |
|
|
|
|
Hi,
16 or 32 FFT is still possible on a PIC but not 30fps, you need only 16 fps is you want to make an audio display...
Don't use FIR flters since that will be slower than 16 FFT... also use only fized point 8 bit FFT and you will be able to get this into a PIC18F type of mcu... make sure you select a type with fast multiply instructions since you will need a lot of them....
regards,
Paul.
|
|
| Back to top |
|
 |
hugo_nz
Joined: 20 Jul 2003 Posts: 52
|
21 Jan 2004 9:09 atmega44 |
|
|
|
|
what are you using as an output?
if you are using a video/TV signal generated in software, then that will use up a lot of your cpu power as well, so i reckon a much more powerful processor would be much easier to work with, cos then you don't need to spend ages optimzing... just drop in any old fft code you find from somewhere
maybe philips LPC2106 (based on 32-bit ARM core at 60MHZ). On chip ram and flash, 48 pins. You can program it via open source GCC compiler.
If you want to use an 8-bit cpu, then definately the AVR it is tones faster than any of the pics. note the new atmega44, 88 etc run at 24MHz, so they are even faster still.
hugo
|
|
| Back to top |
|
 |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
21 Jan 2004 14:38 as3 fft spectrum cosine |
|
|
|
|
thanks for the infos,
I found out that TI provides samples from their TMS320Cxxx DSPs
some of them even can do 200MHz, i ordered one to test.
But neither I found free C dev. environment nor simple build programmer for it.
I know it needs a JTAG style programmer, but I have not much info on it.
I saw Texas has a powerful C compiler for these chips, but as they send
samples they don't provide even an evaluation of Code Composer Studio
on the web...
Anybody can suggest a large speed processor that can be ordered as sample, and has build environment?
I know I want too much
thanks
Zed
|
|
| Back to top |
|
 |
ramesh
Joined: 19 Jan 2003 Posts: 1260 Helped: 5
|
21 Jan 2004 14:47 Re: Processor for a realtime FFT display? |
|
|
|
|
| If one needs evaluation compiler on web and wants use DSP (relatively low cost), Analog Device's Blackfin DSP [one among ADSP-BF531, ADSP-BF532 or ADSP-BF533] may be the best choice for FFT. Speed grades available from 300MHz to 600MHz with dual CPU core. Further ADSP-BF535 is the high end DSP processor in this 16-bit fixed point family but the cost is bit high.
|
|
| Back to top |
|
 |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
21 Jan 2004 16:41 Re: Processor for a realtime FFT display? |
|
|
|
|
Woww,
I checked AD's Blackfin series, cool!
(actually ordered 6 pieces and downloaded the C++ and the IDE for sure )
I just have two questions:
- is there any simple programmer for these chips?
- is it possible to prototype with BGA package?
Anyone ever handsoldered this kinda package?
thanks
Zed
|
|
| Back to top |
|
 |
hugo_nz
Joined: 20 Jul 2003 Posts: 52
|
21 Jan 2004 22:00 Re: Processor for a realtime FFT display? |
|
|
|
|
It is basically not possible to hand prototype a BGA. You could try the toastie oven method and solder paste (search on www.seattlerobotics.org).
you shouldn't abuse the free sample system like that. why do you need 6 samples? why not 2? if you abuse it, they won't send you any next time. the ti dsp's and the blackfin need a multilayer pcb, are in basically non-prototype-able packages, and need tonnes of support circuitry.
you need lots of special skills to design a pcb that will run ok at 500MHz. probably 4-6 layers minimum. separate sdram, flash etc.
high speed scope and logic analyser would be needed to get it going.
i reccommend the arm chips. plenty fast enough... after all you were going to try and do it with a pic...
also free compiler, debuggers, ICE (wiggler), and build environment.
lots of good free RTOS too, like eCOS or uClinux.
if you don't like philips LPC2106 (cheap dev board here: arm.web7days.com, US$45) then try the atmel parts (AT91 series).
they go up to 180Mhz, are 32-bit, and some of them have lots of on chip ram and flash. you can buy then for reasonable price from digikey etc, or if you ask nicely, they may send you free samples.
i am pretty sure you could do the FFT in the LPC2106 which is 60MHZ, has 128kB of flash, and has 64kB of ram.
you could then hook that up to an lcd or some leds to suit your requirements.
sorry for the lecture but it pisses me off when people order samples for things they will NEVER EVER be able to use (i.e. BGA packages). especially also for expensive parts like these. 6 blackfins is worth about $50 to $100 US! (depending on which model it is)
hugo.
|
|
| Back to top |
|
 |
ramesh
Joined: 19 Jan 2003 Posts: 1260 Helped: 5
|
22 Jan 2004 4:51 Re: Processor for a realtime FFT display? |
|
|
|
|
| ADSP-BF531 and ADSP-BF532 are available in 176-pin LQFP packages and no need to go for BGA packages. This may solve the BGA soldering problem.
|
|
| Back to top |
|
 |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
22 Jan 2004 10:23 Re: Processor for a realtime FFT display? |
|
|
|
|
I'm sorry if I was megaloman with my order, but here
where I live not allways possible to order samples, because some
companies (like MChip) banned my country becauseof large amount
of VAT etc. In progress of my project with a PIC chip.
The samples are enoungh to me to get a thing work, I know myself i'll burn out some chips during development, and I'll need extra ones to replace them, but they are still in the boundary of maximum 4-5 pieces.
So that's why I used up all the sample order possibilities.
I won't place a sample order on every week...
Anyway I wrote a letter among my sample order to AD, and asked
them to send the samples in LQFP package. I hope they will.
The other question is still here: is there a free programmer I can use for Blackfin chips?
sorry and thanks,
Zed
|
|
| Back to top |
|
 |
ramesh
Joined: 19 Jan 2003 Posts: 1260 Helped: 5
|
22 Jan 2004 13:30 Re: Processor for a realtime FFT display? |
|
|
|
|
| Zedman wrote: |
.......
The other question is still here: is there a free programmer I can use for Blackfin chips? |
Dear Zedman
You don't need any programmer. All the code has to be programmed in external one byte-wide slow speed EPROM or FLASH PROM. After power on the processor will copy this code into the on chip high speed program RAM and then it will be executed.
|
|
| Back to top |
|
 |
Google AdSense

|
22 Jan 2004 13:30 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
22 Jan 2004 13:37 Re: Processor for a realtime FFT display? |
|
|
|
|
Sorry ramesh,
I came from PIC land and didn't think that this is a higher
category processor...
Maybe I should check the datasheet before I ask something...
again thank you all!
Zed
|
|
| Back to top |
|
 |
hugo_nz
Joined: 20 Jul 2003 Posts: 52
|
22 Jan 2004 21:28 Re: Processor for a realtime FFT display? |
|
|
|
|
ok zedman,
fair enough.
what about the pcb issue? do you have a way of getting a 4 or 6 layer prototype? even if you can route all the signals in two or three, you still need dedicated ground and power layers at those sorts of speeds. you will also definately need soldermask too. maybe you should just buy the evaluation board
you can also use cheap 8-pin SPI or I2C eeproms for program memory. or probably atmel dataflash's. this may be easier from the point of view of programming the things, then you can just use ponyprog or something.
i recommend a large-ish say 256Kbyte eeprom or a larger dataflash, and no paralllel flash. you could write a small boot loader that would unzip a compressed program into ram and run it.
you will need some external SDRAM. this can be quite hard to find in a non-BGA package in small quantities. Best hope probably with Micron or ISSI. Depends where you are geographically though. try and get 32-bit wide stuff. twice as fast as 16-bit...
If you find a good source for it or even free samples, please pass it on, cos i need some for a project i am working on.
for an operating system, you could try uClinux (www.uclinux.org, www.ucdot.org) because there is a port to blackfin. then you could write your code at a very high level, almost just like desktop linux
this would require at least 4Meg of ram and 1Meg of flash though. probably more like 8meg/2meg.
good luck
|
|
| Back to top |
|
 |
Zedman
Joined: 13 Oct 2003 Posts: 312 Helped: 2 Location: Hungary
|
23 Jan 2004 13:09 Re: Processor for a realtime FFT display? |
|
|
|
|
Thanks Hugo,
currently I thinking about using it on lower speeds (50-100MHz),
to get just as much speed as i need to run a FFT code.
And i'll TRY to handsolder it to a 2 sided PCB (don't laugh please )
I think it would boot up from an EEPROM.
And i'll check out ucLinux.
thanks again
Zed
|
|
| Back to top |
|
 |