MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Hankel transformation // Fourier transformation for a circular function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg77156] Re: Hankel transformation // Fourier transformation for a circular function
  • From: CKWong <CKWong.P at gmail.com>
  • Date: Tue, 5 Jun 2007 06:32:44 -0400 (EDT)
  • References: <f2meht$m36$1@smc.vnet.net>

Since I read your postings in the reverse chronological order, I did
not notice the big mistake you made & hence gave you some advices that
are not pertinent to your original problem.  The following is
therefore also a response to your " Fourier-Bessel transform / FT in
polar coordinates" posting.

The first order of business is to write the 2-D convolution with a
Gaussian kernel in polar coordinates.  Let the polar coordinates of
(x,y) and (xp,yp) be (r,Q) and (rp,Qp), respectively.  We have
	dxp dyp = rp drp dQp
	(x-xp)^2 + (y-yp)^2 = r^2 + rp^2 - 2r rp Cos[Q-Qp]
The angular part can be integrated by Mathematica :
 	Integrate[ Exp[ a Cos[Qp] ] , { Qp, 0, 2Pi } ]   where  a = r rp/
(Radius^2).
This gives 2 Pi BesselI[ 0,  a] .
There are 2 things to be noted here, first it is BesselI, not BesselJ
that we get.
Secondly, I have set Q to 0 by invoking the symmetry argument that Q
does not affect the value of the integral.

The convolution of a round hole is simply
  C*  Gaussian2D[r] * Integrate[ rp*BesselI[ 0,  c rp] *
Gaussian2D[rp] , { rp, 0, HoleSize } ]
where C, c are constants that I'm sure you can work out.

Thus, aside from using the wrong Bessel function, you were
transforming too many times in your Convolution function.

Once again, the integral cannot be evaluated analytically.  But it's a
piece of cake numerically.



  • Prev by Date: Segregating the elements of a list based on given lower and upper bounds
  • Next by Date: v6: weird cursor behaviour
  • Previous by thread: Re: Re: Segregating the elements of a list based on given lower and upper bounds
  • Next by thread: v6: weird cursor behaviour