A Tutorial on Fast Fourier Sampling [How to apply it to problems]
This article describes a computational method, called the Fourier sampling algorithm, that exploits this insight . The algorithm takes a small number of (correlated) random samples from a signal and processes them efficiently to produce an approximation of the DFT of the signal. The algorithm offers provable guarantees on the number of samples, the running time, and the amount of storage. As we will see, these requirements are exponentially better than the FFT for some cases of interest. This article describes in detail how to implement a version of Fourier sampling, it presents some evidence of its empirical performance, and it explains the theoretical ideas that underlie the analysis. Our hope is that this tutorial will allow engineers to apply Fourier sampling to their own problems. We also hope that it will stimulate further research on practical implementations and extensions of the algorithm.
© Copyright 2008 IEEE. Reprinted with permission. Posted online: 2008-03-21. The authors would like to thank Mark Iwen for his implementation and empirical analysis of AAFFT. AAFFT is publicly available and can be downloaded from http://www-personal.umich.edu/~markiwen/WebPage/AAFFT.tgz. We would also like to thank Sudipto Guha, Piotr Indyk, and Muthu Muthukrishnan for their collaboration on early versions of the Fourier sampling algorithm and its analysis . We especially thank the editors of this special issue and the anonymous referees for helping us improve the exposition of this article.