DSPRelated.com
Forums

What is the right DSP?

Started by fasf September 23, 2010
Hi,
i should implement image processing on data taken from this sensor
camera
1. 1280x1024 monochrome @ 60fps
2. LVDS connection @ 620Mbit/s (10bpp) or @ 496Mbit/s (8bpp)
I have no idea about the right DSP....any suggestion?
On 09/23/2010 08:31 AM, fasf wrote:
> Hi, > i should implement image processing on data taken from this sensor > camera > 1. 1280x1024 monochrome @ 60fps > 2. LVDS connection @ 620Mbit/s (10bpp) or @ 496Mbit/s (8bpp) > I have no idea about the right DSP....any suggestion?
What DSP hardware you need depends very heavily on the processing you need to do, the amount of delay you can stand in the video, and whether it needs to be real time or not. So: anywhere between some heavy-duty DSP chips (or a PC) to an FPGA array the size of the room, with a team of 50 engineers working hard to keep it going. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 23 Set, 18:38, Tim Wescott <t...@seemywebsite.com> wrote:
> On 09/23/2010 08:31 AM, fasf wrote: > > > Hi, > > i should implement image processing on data taken from this sensor > > camera > > 1. 1280x1024 monochrome @ 60fps > > 2. LVDS connection @ 620Mbit/s (10bpp) or @ 496Mbit/s (8bpp) > > I have no idea about the right DSP....any suggestion? > > What DSP hardware you need depends very heavily on the processing you > need to do, the amount of delay you can stand in the video, and whether > it needs to be real time or not.
I'm interested in only 60 frames (that must be acquired in one second). Image processing is about edge detection and ray tracing; i'm not interested in real time, but in a very low computing time
> So: anywhere between some heavy-duty DSP chips (or a PC) to an FPGA > array the size of the room, with a team of 50 engineers working hard to > keep it going.
Ok, but i need some starting point...for example: is there any DSP able to support that LVDS connection?
On 09/23/2010 12:25 PM, fasf wrote:
> On 23 Set, 18:38, Tim Wescott<t...@seemywebsite.com> wrote: >> On 09/23/2010 08:31 AM, fasf wrote: >> >>> Hi, >>> i should implement image processing on data taken from this sensor >>> camera >>> 1. 1280x1024 monochrome @ 60fps >>> 2. LVDS connection @ 620Mbit/s (10bpp) or @ 496Mbit/s (8bpp) >>> I have no idea about the right DSP....any suggestion? >> >> What DSP hardware you need depends very heavily on the processing you >> need to do, the amount of delay you can stand in the video, and whether >> it needs to be real time or not. > > I'm interested in only 60 frames (that must be acquired in one > second). Image processing is about edge detection and ray tracing; i'm > not interested in real time, but in a very low computing time
Your "very low" might be my "really high", and you can't know how much processing power it'll take until you prototype the algorithm. Nothing you've said has ruled out using a PC as a practical platform for this -- if anything, your "not real time but low compute time" tends to point to a PC and either using the processor or the graphics processor to do the work.
>> So: anywhere between some heavy-duty DSP chips (or a PC) to an FPGA >> array the size of the room, with a team of 50 engineers working hard to >> keep it going. > > Ok, but i need some starting point...for example: is there any DSP > able to support that LVDS connection?
Off hand -- I don't know. I'd start by looking at the TI and Analog Devices web sites, keywords DSP and video. If TI still makes parts in their 6000 series they'd be the most likely to be able to do so. Chances are, though, you're going to have to do the frame capture with separate hardware -- either a frame capture board in a PC, a bit of custom hardware, or if you're really lucky an FPGA evaluation board configured with custom HDL to make it capture frames and spin them out to something that can store them. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 24 Set, 21:55, Tim Wescott <t...@seemywebsite.com> wrote:
> Nothing you've said has ruled out using a PC as a practical platform for > this -- if anything, your "not real time but low compute time" tends to > point to a PC and either using the processor or the graphics processor > to do the work.
My problem is PC's mechanical constraints.....i need something with very low dimension...FPGA could be a better solution?
On 09/24/2010 11:31 PM, fasf wrote:
> On 24 Set, 21:55, Tim Wescott<t...@seemywebsite.com> wrote: >> Nothing you've said has ruled out using a PC as a practical platform for >> this -- if anything, your "not real time but low compute time" tends to >> point to a PC and either using the processor or the graphics processor >> to do the work. > > My problem is PC's mechanical constraints.....i need something with > very low dimension...FPGA could be a better solution?
Specific engineering units, please? How small is "very low dimension"? Wristwatch? Paperback book? Dictionary? Small elephant? A FPGA may be an absolutely dynamite solution, it may be terrible. You need to state your constraints fully, in real terms. Any time you're tempted to say "very small", "very large", "very fast", or "very just about anything", stop, and replace it with a minimum or maximum number in units such as seconds, bytes, meters, etc. So, what volume, in cubic meters (or cc, or what ever engineering unit you're comfortable with) do you need to fit this thing in? How much of a delay between collecting your 60 frames and getting a decision is acceptable? Will you be powering this with the dedicated output of the nearest nuclear power station, or does power consumption matter? If so, how much power is acceptable? If you don't know, how much volume do you have for batteries -- in engineering units. While you're at it, how long & how much money do you want to spend on engineering this? A PC is going to be the cheapest to engineer by a long shot, and FPGA is going to trail only an ASIC or a full-custom chip for expense. _Anything_ you do that requires a custom board is going to cost you tons, compared to anything that can be done with off the shelf board-level hardware. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
Thanks for your answer...

> > My problem is PC's mechanical constraints.....i need something with > > very low dimension...FPGA could be a better solution? > > Specific engineering units, please? &#4294967295;How small is "very low dimension"? > &#4294967295; Wristwatch? &#4294967295;Paperback book? &#4294967295;Dictionary? &#4294967295;Small elephant?
Small elephant :-) mini-ITX (17cmx17cm)
> A FPGA may be an absolutely dynamite solution, it may be terrible. &#4294967295;You > need to state your constraints fully, in real terms. &#4294967295;Any time you're > tempted to say "very small", "very large", "very fast", or "very just > about anything", stop, and replace it with a minimum or maximum number > in units such as seconds, bytes, meters, etc.
you are right...
> &#4294967295;How much of > a delay between collecting your 60 frames and getting a decision is > acceptable? &#4294967295;
5sec circa
>Will you be powering this with the dedicated output of the > nearest nuclear power station, or does power consumption matter? &#4294967295;If so, > how much power is acceptable? &#4294967295;If you don't know, how much volume do you > have for batteries -- in engineering units.
mains power
On 09/27/2010 06:41 AM, fasf wrote:
> Thanks for your answer... > >>> My problem is PC's mechanical constraints.....i need something with >>> very low dimension...FPGA could be a better solution? >> >> Specific engineering units, please? How small is "very low dimension"? >> Wristwatch? Paperback book? Dictionary? Small elephant? > > Small elephant :-) > mini-ITX (17cmx17cm) > >> A FPGA may be an absolutely dynamite solution, it may be terrible. You >> need to state your constraints fully, in real terms. Any time you're >> tempted to say "very small", "very large", "very fast", or "very just >> about anything", stop, and replace it with a minimum or maximum number >> in units such as seconds, bytes, meters, etc. > > you are right... > >> How much of >> a delay between collecting your 60 frames and getting a decision is >> acceptable? > > 5sec circa > >> Will you be powering this with the dedicated output of the >> nearest nuclear power station, or does power consumption matter? If so, >> how much power is acceptable? If you don't know, how much volume do you >> have for batteries -- in engineering units. > > mains power
If a mini-ITX is small enough, then you should be able to build or buy a PC in that form factor (unless the thickness is too great) and make it work there. I'd prototype this thing on a PC, using Scilab or Matlab, and see if I could meet the 5 second criterion. If I could, and not on a super-duper maximally fast machine, then I'd look to see if I could get equivalent performance from an ITX-sized machine. Since you mention mini-ITX, if it is _almost_ small enough you should look at the PC-104 form factor. You're not going to get a super fast processor in that form factor, but you'll certainly get smaller than mini-ITX. Going from there, you'd want to start looking for DSP boards that'd work for you, like the ones from these guys: http://www.danvillesignal.com/products. If I did it in Scilab* and I missed the 5 second criterion by up to a factor of 10, but I was doing a lot of computation that Scilab is slow at, then I'd feel pretty confident in coding it up in C or C++ and having it work. If it took that long and it _was_ doing stuff that's efficient in Scilab then I'd look to tricks like doing the computation on the GPU or an FPGA helper board. First I'd get my algorithm to work, though, then I'd start estimating times to determine what I needed to run it on. * Scilab and Matlab are remarkably similar in mission and capabilities, except that Scilab is free and Matlab has lots and lots of bells and whistles to distract you from the price. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html