I'm trying to perform a FFT of a 3D regular grid and then compute the bin average (in spherical shell bins) of the Fourier transformed grid.
The problem is that the resulted vector is very noisy as I'm averaging over just a few frequencies in each bin.
To correct this and get a smoother outcome, I tried zero-padding the initial grid before transforming since I've read that this equivalent to Sinc interpolation.
Now the problem is that I'm running out of memory.
Is there a way to perform the interpolation (Sinc or not) without zero padding? Let me also point out that this is a 3D FFT.
I'm doing the whole thing in Python.
Let me try to simplify the question a bit:
You can ignore the spherical shell bin-averaging part.
I know that using zero-padding can increase the number of frequencies that you can get. However, this comes at the cost of increased memory usage. Due to the fact that I'm using 3D FFT (not just 1D) memory is a real issue.
So my question is: Can I have the benefits of zero-padding (many frequencies) without its computational burden by using some other method? (e.g. interpolation) And if so, then how?