Numerical analysis Fourier and transform methods Theorem
Bluestein's FFT algorithm
Builds on Discrete Fourier transformConvolutionCooley–Tukey FFT algorithmBig O notation
Statement
Let , let and let be its discrete Fourier transform, . For integers let , and for let . Then for , Let , let be followed by zeros, and let have for , for , and zeros elsewhere. Then for , where is the cyclic convolution of length . Take a power of and compute the cyclic convolution with three radix-2 FFTs of length . Then the DFT of any length costs operations.
Remarks
The key identity is , which gives . So the DFT is a pointwise product with a chirp, a convolution with the conjugate chirp, and another pointwise product. The index runs from to , and the zero padding to makes the cyclic convolution agree with this linear convolution on . The cyclic convolution of length equals the inverse DFT of the product of the DFTs of and . Since one can choose , the constant in does not depend on the arithmetic of ; in particular prime is allowed. The same identity with replaced by any complex evaluates the chirp z-transform , which is the subject of the source article.
Going deeper
For a student
The algorithm is the standard fallback in FFT libraries for lengths with large prime factors. Compared with Rader's algorithm, it does not need a primitive root and works for every , not only primes. It needs about three FFTs of length to , so it is slower than a direct Cooley–Tukey FFT of a highly composite length. The chirp is the same object as in the fractional Fourier transform and in radar signal processing.
Reading path
To understand this page from the ground up, read these 6 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Big O notation concept
- Convolution concept
- Discrete Fourier transform concept
- Primitive root of unity concept
- Cooley–Tukey FFT algorithm statement
- Bluestein's FFT algorithm statement
Where this leads
2 pages build on this one.
Further reading
- Web https://en.wikipedia.org/wiki/Chirp_Z-transform, Bluestein's algorithm
About this page
| Tag | RY3QGW87HX |
|---|---|
| URI | m2://RY3QGW87HX |
| Kind | statement, theorem |
| Writing | W0 stub |
| MSC | 65T50, 65Y20 |
| Status | This copy of the site has no build data. Run m2 status RY3QGW87HX. |
| About | Discrete Fourier transform |
| Uses | Discrete Fourier transform, Convolution, Cooley–Tukey FFT algorithm, Big O notation |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- an inventory row: the row of the inventory that the node accounts for (0 of 1)
The writing levels say how complete the text of a page is. They do not measure its truth.