[patch] 1D Correlation

Jules Bergmann jules at codesourcery.com
Thu Oct 6 20:55:40 UTC 2005


This patch implements and tests 1D correlation.  There are two 
implementations, a simple loop version based on the C-VSIPL equations 
for correlation, and an optimized version that uses FFT overlap-add. 
the overlap-add algorithm needs its parameters tuned (the block size it 
chooses for a given input-size and reference-size), as you can see from 
the red line on the chart, but overall it performs better than the 
straight forward equation.  The chart shows effective flops based on the 
simple version so that the two versions can be compared.  Also, the 
chart is for a relatively small reference vector size (16 elements), for 
larger sizes the big-O advantage of overlap-add gets better.

This patch also changes the view op= operators to take their argument by 
value.  This was necessary when the RHS of an expression is a temporary 
object, such as that returned by 'ramp', ie.:

	Vector<T> out(N);

	out /= ramp(1, 1, N);

				-- Jules

-------------- next part --------------
A non-text attachment was scrubbed...
Name: corr.png
Type: image/png
Size: 5379 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20051006/224220d8/attachment.png>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: corr.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20051006/224220d8/attachment.ksh>


More information about the vsipl++ mailing list