The aim is to perform cross correlation in the time domain pt by pt. This entails 2 arrays of data which 'slide' across each other getting multiplied and added.
I can do this easy enough but my problem is that during the next time instance I want to add a pt to each of the arrays and delete the first point in the array then perform the cross correlation again. I have found that the majority of the multiplications in the first time instance are the same as in the second instance. I want to utilise this fact.
I have been told to try playing round with stacked shift registers but am stuck..... I hope this picture kind of explains what I want to do as I'm battling with words at the moment.
If anyone could help me I would be much appreciated!!!
If you are running out of FPGA space, be sure that you do not have any array indicators or controls on the front panel, this could use up a lot of space.
Have you seen our ipnet page? It is a collection of user and employee submitted FPGA calls, and a quick look at it shows there is a cross-correlation and an auto-correlation. Looking at these may help you architect your code better (www.ni.com/ipnet)