Cliff Sobchuk wrote:
>
> I am looking at the outputs that you provided, and they all look
> incorrect to me. The convolution shouldn't be 0 for the first 5
> elements, then element 6 = 2, element 7 = 0, element 8 = -1, element
> 9..11 = 0.
>
> Comments? (btw, I am on vacation until Jan.4 so you might get an ooo
> alert, but every couple of days I check my email.)
Try help conv1d to see the computation being performed.
I just checked the calculation of the convolution again and
get the same result. This result agrees (now) with conv2d
and convolutionND.
What do you think the convolution of the $a and $b below
should be?
--Chris
> Cliff Sobchuk esn 361-8169, 403-262-4010 ext: 361-8169
> Fax: 403-262-4010 ext: 361-8170
> Core RF Support Engineer
>
> "The author works for Telefonaktiebolaget L M Ericsson
> ("Ericsson"), who is solely responsible for this email and its contents.
> All inquiries regarding this email should be addressed to Ericsson.
> Nortel has provided the use of the nortel.com domain to Ericsson in
> connection with this email solely for the purpose of connectivity and
> Nortel Networks has no liability for the email or its contents. The web
> site for Ericsson is www.ericsson.com."
>
>
> -----Original Message-----
> From: Chris Marshall [mailto:[email protected]]
> Sent: December 19, 2009 12:33 PM
> To: [email protected]
> Cc: perldl
> Subject: [Perldl] conv1d or corr1d
>
> I would like to fix the fftconvolve() bug for the PDL-2.4.6
> release:
>
> http://sourceforge.net/tracker/?func=detail&aid=2630369&group_id=612&ati
> d=100612
>
> but I'm having problems since it appears that our PDL conv1d() routine
> actually calculated the 1D correlation of the arguments.
>
> First set up simple arguments:
>
> perldl> $a = zeroes(11);
> perldl> $a(5) .= 1;
> perldl> p $a
> [0 0 0 0 0 1 0 0 0 0 0]
>
> perldl> $b = pdl(2,0,-1);
> perldl> p $b
> [2 0 -1]
>
> The analytic convolution is calculated to be:
>
> perldl> $ctrue = $a->zeroes;
> perldl> $ctrue(4) .= 2;
> perldl> $ctrue(6) .= -1;
> perldl> p $ctrue
> [0 0 0 0 2 0 -1 0 0 0 0]
>
> Here are the various PDL convolution outputs:
>
> perldl> p $c1d = conv1d $a, $b; # wrong!
> [0 0 0 0 -1 0 2 0 0 0 0]
>
> perldl> use PDL::Image2D
> perldl> p $c2d = conv2d $a, $b; # right!
> [
> [ 0 0 0 0 2 0 -1 0 0 0 0]
> ]
>
> perldl> use PDL::ImageND
> perldl> p $cNd = convolveND $a, $b; # right!
> [0 0 0 0 2 0 -1 0 0 0 0]
>
> The good news is that the conv2d() and convolveND() routines appear to
> be calculating a convolution so the only "broken"
> routine appears to be the conv1d(). My plan is to add a test for the
> bug, fix the code/docs, and update the Release_Notes
>
> --Chris
>
> _______________________________________________
> Perldl mailing list
> [email protected]
> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>
>
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.431 / Virus Database: 270.14.123/2593 - Release Date: 12/29/09
> 19:14:00
>
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl