[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