0
$\begingroup$

I have the following function in 2D Fourier space spanned by wavevectors $\boldsymbol{k}=(k_1,k_2)$:

$$F(\boldsymbol{k})=\frac{ik_2}{|\boldsymbol{k}|} {\cal F}\{\delta(\boldsymbol{x}-\boldsymbol{x}_0)\}$$

where ${\cal F}\{\delta(\boldsymbol{x}-\boldsymbol{x}_0)\} = e^{-2\pi i\boldsymbol{k}\cdot\boldsymbol{x}_0}$. I do this multiplication in a discretized form on a grid of $N\times N$ points, where I sample the k-space with step $\Delta k = 1/(Na)$ (the step on the real-space grid is taken as $a=1$). Doing this multiplication on a grid with $N=64$ and Fourier inverting $F(\boldsymbol{k})$ gives the following function $f(\boldsymbol{x})$:

http://groger.ipm.cz/fig/ifft2Fdelta.png

I would like to remove the vertical streak of red-blue pixels, which shows up due to a finite cut-off of $e^{-2\pi i\boldsymbol{k}\cdot\boldsymbol{x}_0}$; the largest wavevector is $1/(2a)$. It is clear that the streak will stay even for finer and finer meshes, and would disappear at once in the continuum limit $a\rightarrow 0$ when we properly sample the delta function. Obviously, the streak goes away if the delta function is spread out (i.e. expressed as a Gaussian of sufficient width). I would like to know whether the effect of this finite cut-off can be quantified and removed from the spectrum.

  • 0
    I don't follow "I do this multiplication". What are you starting from, what did you compute on your image, and what do you want to get ?2017-02-02
  • 0
    I mean the evaluation of $F(\boldsymbol{k})=ik_2/|\boldsymbol{k}|\exp(-2\pi i \boldsymbol{k}\cdot\boldsymbol{x}_0)$ for each wavevector $\boldsymbol{k}$. I have the k-space grid and know the position of the delta function.2017-02-02
  • 0
    It is clear to me that what I actually compute is the convolution of ${\cal F}\{\delta(\boldsymbol{x}-\boldsymbol{x}_0)\}$ with the sinc function that is a Fourier transform of the square $N\times N$.2017-02-02
  • 0
    ... actually a product of two sinc functions: $N^2{\rm sinc}(k_1N){\rm sinc}( k_2N)$, each with the width equal to $N$2017-02-02
  • 0
    I still don't get it. Of course you can't sample the Dirac delta, but you can convoluate it with a window $w(x)$, which is the same as multiplying (in the Fourier domain) ${\cal F}\{\delta(\boldsymbol{x}-\boldsymbol{x}_0)\}$ with $\hat{w}(\xi)$. When $w(x)$ is a rectangle then $\hat{w}(\xi)$ is a $sinc$. Can you say clearly : *I start from $f(x) = \ldots$, I compute its Fourier transform $\hat{f}(\xi)$, I sample it to get $g(n) = \ldots$, then I do [...] and I apply inverse (discrete) Fourier transform* ?2017-02-02
  • 0
    The starting point is the real-space function $$f(\boldsymbol{x})=\frac{\partial}{\partial x_2}\int_{-\infty}^\infty\int_{-\infty}^\infty\frac{\delta(\boldsymbol{x}'-\boldsymbol{x}_0)}{|\boldsymbol{x}-\boldsymbol{x}'|}d\boldsymbol{x}'=\frac{\partial}{\partial x_2}\left(\delta(\boldsymbol{x}-\boldsymbol{x}_0)*\frac{1}{|\boldsymbol{x}|}\right)$$ The Fourier representation of this is $$F(\boldsymbol{k}) = \frac{ik_2}{|\boldsymbol{k}|}e^{-2\pi i \boldsymbol{k}\cdot\boldsymbol{x}_0}$$2017-02-02
  • 0
    I sample $F(\boldsymbol{k})$ on a regular grid, where $k_i=(1/N)[-N/2,...,0,...,N/2-1]$ with $i=1,2$. Then, I do an inverse discrete Fourier transform of this sampled function in hope to get the discrete representation of $f(\boldsymbol{x})$.2017-02-02
  • 0
    And why don't you apply a low-pass filter prior to sampling, as tell you the [Shannon sampling theorem](https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem) ? So look at $g(x) = f(x) h(x)$ with FT $G(k) = F \ast H(k)$, where $h$ is an approximation of $1_{|x_1| < k_s/2, |x_2| < k_s/2}$ (and $H$ is an approximation of $sinc(k_s k_1)sinc(k_s k_2)$) allowing to sample $\tilde{G}(n) = G(k/k_s)$ and obtain $\tilde{g}(n) = DFT^{-1}(\tilde{G})$2017-02-02
  • 0
    Thank you. I didn't know about this. Will give it a try and post the result.2017-02-02

0 Answers 0