I have the requirement of performing continuous cross correlation on an incoming signal with a reference signal that is 6000 coefficients large using an Intel FPGA at a data rate of 66 MSPS. One approach to implement the cross correlation is using Intel FIR filter IP. However, the resources utilization using the FIR filter IP is too high (more than 500 DSP blocks) due to the reference signal large number of coefficients (6000). Do you happen to know a better and more efficient (in terms resources utilization) approach for implementing cross correlation using FPGAs?
\$\begingroup\$
\$\endgroup\$
7
-
\$\begingroup\$ If there is a chance to implement 6000 x 66M = 396 billion mult-add operations per second mainly depends on the size of your value - how many bits do your values and coefficients have? \$\endgroup\$– asdfexCommented Dec 13, 2023 at 19:20
-
2\$\begingroup\$ Any chance of using an FFT? \$\endgroup\$– Dave TweedCommented Dec 13, 2023 at 19:43
-
\$\begingroup\$ Do you need the whole correlation? If you can make do with not calculating every tau you may consider a multi-tau correlation which can save a significant amount of resources. \$\endgroup\$– Christopher MooreCommented Dec 13, 2023 at 20:52
-
\$\begingroup\$ Thanks for all the comments . The answers to the comments are as follows: 1) The width of the incoming data and the coefficients are 12 bits. 2) FFT is considered as an option. 3) My signal processing team prefers that I perform the entire correlation. \$\endgroup\$– user345919Commented Dec 14, 2023 at 8:19
-
\$\begingroup\$ Please provide me with references for multi-tau correlation. \$\endgroup\$– user345919Commented Dec 14, 2023 at 8:29
|
Show 2 more comments