# Does the inverse-CTFT exist for a dirac delta?

Does the inverse continuous time Fourier transform exist for a Dirac delta (A single causal/non-causal spike)?

• See the answers to a related recent question on math.SE which will also tell you how to use tables of common Fourier transform pairs with respect to the radian frequency variable $\omega$ radians/second to obtain Fourier transform pairs with respect to frequency variable $f$ in Hertz. For the particular case of impulses in time or frequency, the key is the sifting property: $$\int_{-\infty}^{\infty} x(y) \delta(y-a)\mathrm dy = x(a) ~ \text{if}~x(y)~\text{is continuous at}~a.$$ – Dilip Sarwate Feb 22 '12 at 18:30

Yes, this is a complex exponential $e^{2 \pi i f_0 t}$, at a frequency determined by the delta's "position" $f_0$ (your input being $\delta(f - f_0)$). Write the integral for the inverse Fourier transform, use the definition of $\delta$ and you'll see it "selects" at this particular frequency the complex exponential being integrated.

• This is a very important transform that is often found in a table of common Fourier transforms like this one. – Jason R Feb 22 '12 at 14:26

As a side note: forward and inverse Fourier Transform are mostly the same thing. For example a rectangle in one domain corresponds to a sin(x)/x in the other domain (regardless whether it starts in time or frequency). The same goes for a delta: impulse in one domain corresponds to a complex exponential in the other.

You can implement an inverse FFT (based on a forward FFT) as follows:

1. take the conjugate
2. forward FFT
3. take the conjugate again
4. divide by length of the sequence

In Matlab that would look like this

n = 1024;
x0 = randn(n,1) + j*rand(n,1); % random sequence
fx = fft(x0);  % take the FFT
x1 = conj(fft(conj(fx)))/n; % inverse fft based on fw fft
% print an error metric how close we got to the orginal signal
fprintf('Error = %6.2f dB\n', 10*log10(sum( (x1-x0).* conj(x1-x0))./sum(x0.*conj(x0))));

• I wouldn't include step #4 in your list above, as it won't necessarily be the case. There is no single agreed-upon notion of how scaling is handled in the DFT/IDFT. What you indicated does work with MATLAB's implementation, but it's possible that another would not require the division by $N$. – Jason R Feb 23 '12 at 14:02
• That's true. Matlab's scaling is probably the most common (and seen in most textbooks). 1/sqrt(N) for both forward and inverse would be better is it ensure the cleanest version of Parseval's theorem, i.e energy in the time domain equals energy in the frequency domain. – Hilmar Feb 24 '12 at 0:03