Is a FPGA the solution ?

I would like to know if a FPGA is suited for this application: sound sources localization and separation. The algorithm comes in 3 steps: sources detection using a steered beamformer (in frequency-domain), a particle filter to track the sources and a combination of a geometric source separation algorithm and a non-linear post-filter for source separation.

Also, the audio stream comes from an array of 8 microphones, and all possible microphone pairs must be considered during the detection phase.

This algorithm is already implemented of a floating point DSP and I would like to know if a FPGA could be a good choice to improve performance.

I heard that a FPGA wouldn't beat a DSP in floating point calculation, what do you think about that? Still, I know that an implementation on a FPGA will require a lot of work to translate the code anyway, so I suppose it wouldn't be harder to rethink it directly in fixed point.

The FPGA could be used to improve only a fraction of the algorithm too. Thanks for your comments.

L-C

Reply to
L-C
Loading thread data ...

What aspect(s) of "performance" are you trying to improve?

Mostly true. FPGAs with hardware multipliers are essentially fixed-point but can be extended to floating-point with sufficient "skill in the art" But if the algorithm will run fine on a fixed-point DSP, that migh improve "performance" enough, anyway.

Reply to
RCIngham

In that case, profile your current implementatio. Find out which piece of code is the causing you most problems. Focus on that, you might find it amenable to FPGA implementation (but don't discount the overhead of moving data from your DSP to the FPGA). I wouldn't attempt to move the whole thing into hardware, although you could put the bits that remain software into an FPGA processor, in which case the "acceleration " hardware can be much more closely coupled with the SW.

Depends - a big FPGA can do a *lot* of FP in parallel, if your algorithms are amenable.

HTH,

Cheers, Martin

--
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html
Reply to
Martin Thompson

One advantage of FPGAs is you can tailor data paths to be exactly the right width for your application - this may reduce the need for FP. Wider fixed-point woudl also have the advantage of better accuracy than FP of the same size.

Reply to
Mike Harrison

An FPGA solution can beat a DSP micro in floating point as well, but it depends on your implementation. The issue with floating point is that it requires a considerable amount of hardware to do the normalize and denormalize operations. Clever implementation can reduce that overhead. See my paper "Hybrid Floating Point Technique Yields 1.2 Gigasample Per Second 32 to 2048 point Floating Point FFT in a single FPGA" at

formatting link
for some discussion of reducing that overhead.

Reply to
Ray Andraka

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.