- #1
birdhen
- 35
- 0
Hi there,
I am having trouble with some Fast Fourier Transforms.
I have been using both MATLAB and FFTW in c.
The problem is that I want to calculate the potential of a system from the overdensity. The equation in Fourier space is simple
phi(k)= -del(k)/(k^2) ,
where del is the overdensity, phi is the potential and k is the wavenumber.
To test this I use a simple del(x) = x, and feed this into the fft. I then run through the k values and divide through by k squared. When k =0, I am not sure what to do as obviously you can't divide by zero.
I have tried a variety of things such as setting phi(k) = 0 when k=0, or just leaving phi(k) = del(k)..both of which I am sure are wrong.
When I reverse FFT this phi(k), my result is always a sine wave with a wavelength the size of the x range, where as I am expecting (1/6)*x^3.
I am having trouble finding the answer online. Maybe I am searching for the wrong thing. Can anyone help?
Best wishes,
I am having trouble with some Fast Fourier Transforms.
I have been using both MATLAB and FFTW in c.
The problem is that I want to calculate the potential of a system from the overdensity. The equation in Fourier space is simple
phi(k)= -del(k)/(k^2) ,
where del is the overdensity, phi is the potential and k is the wavenumber.
To test this I use a simple del(x) = x, and feed this into the fft. I then run through the k values and divide through by k squared. When k =0, I am not sure what to do as obviously you can't divide by zero.
I have tried a variety of things such as setting phi(k) = 0 when k=0, or just leaving phi(k) = del(k)..both of which I am sure are wrong.
When I reverse FFT this phi(k), my result is always a sine wave with a wavelength the size of the x range, where as I am expecting (1/6)*x^3.
I am having trouble finding the answer online. Maybe I am searching for the wrong thing. Can anyone help?
Best wishes,