The FFT Algorithm

Fourier Transform(DFT)

There is an entire theory of expanding functions in terms of sin(kwx) called Fourier Analysis. We are interested in extracting frequencies from DATA.

x_{0}, x_{1}, x_{2}, x_{3}, x_{4} ... f_{0}, f_{1}, f_{2}, f_{3}, f_{4} ...

\left \{ f_{0}, f_{1}, ..., f_{N-1} \right \}\overset{DFT}{\rightarrow} \left \{ \hat{f_{0}}, \hat{f_{1}}, ..., \hat{f_{N-1}}\right \}

\hat{f_{k}} = \sum_{n=0}^{N-1} f_{n}\cdot e^{-2\pi ikn/N}

\omega = 2\pi kn/N

\left \{ \hat{f_{0}}, \hat{f_{1}}, ..., \hat{f_{N-1}}\right \}\overset{IDFT}{\rightarrow} \left \{ f_{0}, f_{1}, ..., f_{N-1} \right \}

f_{n} =\frac{1}{N} \sum_{k=0}^{N-1}\hat{f_{k}}\cdot e^{2\pi ikn/N}

Fast Fourier Transform

fast Fourier transform (FFT) is an algorithm that samples a signal over a period of time (or space) and divides it into its frequency components.

DFT may be implemented much more efficiently if N the # of samples is the power of 2:

猜你喜欢

转载自blog.csdn.net/Da_tianye/article/details/82793447
FFT