Hey mathson,
OK, thanks for the extra information - so these arrays are currently stored on a PC, therefore if you have an external piece of hardware doing the computation you also need to consider the time taken to transfer the data to/fro the processor (be it FPGA or DSP). Your arrays are comparatively small, so any modern transport layer (e.g. USB, ethernet etc) will handle this with ease.
I'm not sure I quite understand what you mean when you say "Because the sampling interval from measurement is 0.002 nm. And I would love to apply interpolation to get accuracy smaller than it, say, to get 0.0002nm" in response to my question about data types. It doesn't really matter though, since you mentioned a calculation rate of 10ms which is enough time to compute a 50,000 point cross correlation in any practical precision on either of the platforms we are considering.
Given your unfamiliarity with coding on either platform though, I would now STRONGLY recommend the DSP as opposed to the FPGA approach.
The reason is that all DSPs can be programmed in C, using a suitable compiler. The Unix gcc compiler has been ported to a few popular platforms (they'll turn up in Google) and a simple seach for "cross correlation c code" will turn up snippets that might get you 90% of the way there [
Cross Correlation for example]. Before the FPGA afficionados assassinate me - yes you CAN program these devices in C also, but only in code running on a processor instantiated on the array. FPGA's bring with them the (powerful, but unneccesary here) added complexity of explicit data precision, timing and memory management. Sure, essential if you only had 10 us to do your task, but you've got the luxury of 10 ms to allow you a higher level (read: easier to debug) programming environment.
Some DSP manufacturers also provide the compilers for a reasonable (or free?) cost...
Have a peek at the (excellent, and free) text
The Scientist and Engineer's Guide to Digital Signal Processing too. This might help with some background/techniques.
A nagging thought to run past you first - I'd actually suspect the PC you're running all of this on would have sufficient grunt to do your calculation without the requirement of additional hardware in the first place. Using MATLAB's compiler to mex-ify a dedicated correlation routine might surprise you. If that isn't quick enough then you might be able to use DSP tricks like correlation with the FFT (e.g.
**broken link removed**) to allow you to use precompiled (blindingly fast) routines like
FFTW Home Page and do it all in real time with the PC's CPU.
If you decide an external DSP is still the way to go, something like TI's
TMS320C6713 DSP Starter Kit (DSK) - TMDSDSK6713 - TI Tool Folder DSP starter kit would make light work of your calculation. (I'm not as familiar with the Analog Devices lineup, but this looks tasty:
ADSP-21375 SHARC EZ-KIT Lite Evaluation Kit | Analog Devices - no doubt there's other manufacturers out there which would work for you too).
Good luck!