Using the FFT to mimic the Fourier Transform I have this question.

The definition that I use for the PSD $S(f)$ is:

$$S(f)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\exp\left(-i\tau2\pi f\right)r(\tau)d\tau$$

where $r(t)$ is the correlation function.

The FFT in MATLAB use this formula

$$X(k) = \sum_{n=1}^N x(n)\exp\left(-j2\pi\frac{(k-1)(n-1)}{N}\right), \qquad 1 \leq k \leq N.$$

So in order to replace the PSD I did:


where delta_t is the time step. In other words, translating the code in formula I did:

$$S(k)=\sum_{n=1}^{N}\exp\left(-i2\pi \frac{(k-1)(n-1)}{N}\right)r(n)\Delta T$$

After using this formula I applied this, checking the result $$\int_{-\infty}^{\infty}S(f)df=r.m.s. \big\{x(t)\big\}$$

where $x(t)$ is the original signal. This formula is perfectly verified.

Now the problem is that I noticed that in the MATLAB's fft there is no coefficient $\frac{1}{2\pi}$.

Can you give me an explanation of why this happens? I know that there are a lot of different coefficient that I can use for the Fourier transform pair, but I don't know if this is related to my problem.



I would simply say that it doesn't matter so much. The Fourier Transformation and its inverse are a pair and the two formulas are entangled and require a normalization factor, which is up to conventions. See eg enter link description here

If your theory/model does not require a special convention, it is basically a degree of freedom that you can choose to fit your needs.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.