Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
702 Views

How to implement correlation

Hi, 

 

I want to perform a crosscorrelation of 2 datavectors within a FPGA. I am working with the dsp developmentboard from altera, with an EP2C70 on it. With the onboard adc I acquire data with 12bit/120MSPS. The incoming data should be correlated with a dynamic data set of about 2400 values with a precision of 12bit (length can change from measurement to measurement). 

Does anybody know if there is an ip-core for convolution available, or has anybody a suggestion for me, how to program it myself with VHDL? Or is it perhaps better to do this operation as an multiplication in the frequency domain instead of the convolution in the time domain? What has the better performance? 

 

Thanks in advance 

Klausf
0 Kudos
1 Reply
Altera_Forum
Honored Contributor I
34 Views

Provided you have it all in hardware, the time approach will be faster. it is a rather trivial operation, have linear storage with the 2400 values and a shift register with the 2400 last samples. Then multiply the values with the same index and integrate. New sample - shift and repeat. Basically a multiply and accumulate (MAC) over 2400 samples.  

 

Rene
Reply