# Fourier transform in cylindrical coordinates

I must implement Fourier transform in cylindrical co-ordinates. Matlab offer fft function. How can I use this function ?

-
Are you working with a 3D transform, or are you dealing with a FT in planes that are symmetric about an axis (as in an optical system with rotational symmetry about an axis)? – Ron Gordon Jan 11 '13 at 10:41
Thanks for the response. I'm working with 3D transform. – Ion Caciula Jan 11 '13 at 11:05
Isn't this just a Hankel transform? If so, there are fast Hankel transform functions available for Matlab. – AnonSubmitter85 Aug 3 '13 at 0:34

$$\hat{f}(v_{\rho},v_{\phi},v_z) = \int_0^{\infty} d \rho \rho \int_0^{2 \pi} d \phi \int_{-\infty}^{\infty} dz \: f(\rho, \phi,z) \exp[-i 2 \pi v_{\rho} \rho \cos{(v_{\phi} - \phi)}] \exp{(-i 2 \pi v_z z)}$$
First, perform a F.T. (i.e., matlab fft) in the $z$ variable. Now you can express the result in a Fourier series in $v_{\phi}$ and use a Bessel transform over $v_{\rho}$.
You might write $\bar{f}(\rho, \phi,v_z) = \int_{-\infty}^{\infty} dz \: f(\rho, \phi,z) \exp{(-i 2 \pi v_z z)}$. You can do this using the Matlab fft function. Now you are left, for each $v_z$, to do a polar FFT over $(\rho, \phi)$. Scroll to the bottom of this page: cs.technion.ac.il/~elad/software and you will get Matlab code for a polar FFT, and a paper that describes how it is done. – Ron Gordon Jan 11 '13 at 19:17
What is connection between $\widehat{f}(vρ,vϕ,vz)$ and $\overline{f}(ρ,ϕ,vz)$? – Ion Caciula Jan 12 '13 at 4:10
They are Fourier transforms over the $z$ coordinate. – Ron Gordon Jan 12 '13 at 4:12
Thanks for information. I read again and I understood your response. The basic algorithm is: -transform Cartesian coordinates in cylindrical coordinates. In Matlab exist the function car2pol.For X,Y, Z vectors which represent Cartesian coordinates,it's necessary to obtain the cylindrical coordinates (ρ,ϕ,$v_z$). So we write:[ρ,ϕ,$v_z$]=car2pol(X,Y,Z).F is the vector with all values of f(ρ,ϕ,$v_z$). I apply fft to F: G=fft(f); Let be Polar_FFT polar fft function, where we suppose that is implemented. For having the final result I must write: $H=\text{Polar_FFT}(G*exp[−i2πv_ρρcos(v_ϕ−ϕ)])$? – Ion Caciula Jan 12 '13 at 9:55