Inverse discrete Fourier transform starting from function in Fourier space

139 Views Asked by At

My question is about using the discrete Fourier transform method (with FFT) to get the real-space values when starting from a function which is defined only in Fourier space (see the question here).

I am new to the DFT field and I have found myself trying to wrap my head around the theory combined with starting not in real space but in Fourier space.

The expression for the function in Fourier space was derived using the FT formula

$$\tilde{f}(q,\omega)=\int_\infty ^\infty f(r,t)e^{iqr}e^{iwt}\,dt\,dr$$

so it should be clear that I am dealing with angular frequency $\omega$. The inverse FT will then have a $1/2\pi$ factor.

From what I understand from the DFT theory, one needs to supply a conjugate symmetric range of frequencies, so when I do my FFT for $\omega \rightarrow t$, I sample for, say, $-200 \leq \omega \leq 200$ with a sampling rate of $\Delta = 0.1$, such that I have a total number of sampling points $N = 2\cdot200/\Delta = 4000$.

When I compare a dummy function, for which I know the real, analytical form, I see that I need to scale the FFT output by $\frac{\Delta}{2\pi}$ and that the index $n$ from the output vector corresponds to real time $t$ by $t = n \frac{2 \pi}{\Delta N}$, where $\Delta$ is my sampling rate in the frequency space and $N$ is the total number of sample values.

Question. Understanding the scaling factors

I can sort of understand the $\frac{\Delta}{2\pi}$ as the $1/2\pi$ coming from the inverse FT and the $\Delta$ coming from the numeric integration, but I have only seen this $\Delta$ in front of the summation in one reference - most of them have a $1/N$ factor instead. Is this because normally one is going from function -> DFT -> IDFT, whereas I am going function --> IDFT, such that I would only need the $1/N$ if I went back again to Fourier space? (Meaning that the $1/N$ comes on the second conversion, no matter the initial direction.)

And for the index to time conversion, I can also sort of understand that $\frac{2 \pi}{\Delta N}$ is the range in frequencies, so that $0\cdot \frac{2 \pi}{\Delta N}$ and $(N-1)\cdot \frac{2 \pi}{\Delta N}$ would be the first and last value on the interval.

I guess I am saying that I can sort of grasp all of this, but I find it hard to square the available literature with my situation, and would just like someone to verify my understanding of all of this.

Next question. Range in $t$

I can see from my comparison with the known solution, that my range in $t$ coming out of the FFT is given by $2\pi/\Delta$, so if I want to sample up to $t=100$, then I need a $\Delta$ such that $2\pi/\Delta > 100$. Can someone explain this to me?

Last question. Going from $q$ to $r$

In addition to all, I then need to do the $q \rightarrow r$ conversion. On the $t$-axis, only positive values are defined, but on the $r$-axis, both positive and negative values are defined (the shape is essentially a Gaussian centered on $r=0$). Instead I get something which looks cyclically shifted (initially decaying and then rising at the end of the indices). I guess I need to shift the function so that values from $0$ to $N/2$ stay where they are, but values from $N/2+1$ to $N-1$ are shifted to $-N/2$ to $-1$, but is there a formal reason why this is the case and thus different from the $t$ case?

In this picture, I have done the shift as described. Is the dip in the middle a result of the DFT algorithm?

Also, will the scaling factor for the $r$-axis be the same? I.e., $r = n \frac{2 \pi}{\Delta N}$, where here $\Delta$ is the sampling rate on the $q$ values? And is there still something like the max range in $r$ similar to $t_\mathrm{max} = 2\pi/\Delta$?