Abstract
An efficient algorithm for computing the one-dimensional partial fast Fourier transform \(f_j=\sum _{k=0}^{c(j)}e^{2\pi ijk/N} F_k\) is presented. Naive computation of the partial fast Fourier transform requires \({\mathcal O}(N^2)\) arithmetic operations for input data of length N. Unlike the standard fast Fourier transform, the partial fast Fourier transform imposes on the frequency variable k a cutoff function c(j) that depends on the space variable j; this prevents one from directly applying standard FFT algorithms. It is shown that the space–frequency domain can be partitioned into rectangular and trapezoidal subdomains over which efficient algorithms can be developed. As in the previous work of Ying and Fomel (Multiscale Model Simul 8(1):110–124, 2009), the contribution from rectangular regions can be reduced to a series of fractional-phase Fourier transforms over squares, each of which can be reduced to a convolution. In this work, we demonstrate that the partial Fourier transform over trapezoidal domains can also be reduced to a convolution. Since the computational complexity of a dealiased convolution of N inputs is \({\mathcal O}(N\log N)\), a fast algorithm for the partial Fourier transform is achieved, with a lower overall coefficient than obtained by Ying and Fomel.




Similar content being viewed by others
References
Amidror, I.: Mastering the Discrete Fourier Transform in One, Two or Several Dimensions: Pitfalls and Artifacts, vol. 43. Springer, Berlin (2013)
Bailey, D.H., Swarztrauber, P.N.: The fractional Fourier transform and applications. SIAM Rev. 33(3), 389–404 (1991)
Biondi, B.: 3D Seismic Imaging No. 14 in Investigations in Geophysics Series. Society of Exploration Geophysicists Tulsa (2006)
Bluestein, L.I.: A linear filtering approach to the computation of discrete Fourier transform. IEEE Trans. Audio Electroacoust. 18(4), 451–455 (1970)
Bowman, J.C., Roberts, M.: Efficient dealiased convolutions without padding. SIAM J. Sci. Comput. 33(1), 386–406 (2011)
Bowman, J.C., Roberts, M.: FFTW++: a fast Fourier transform \({{\rm C}}^{++}\) header class for the FFTW3 library. http://fftwpp.sourceforge.net (2010)
Buneman, O.: Stable on-line creation of sines or cosines of successive angles. Proc. IEEE 75(10), 1434–1435 (1987)
Cooley, J.W., Tukey, J.W.: An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19(90), 297–301 (1965)
Ferguson, R.J., Margrave, G.F.: Prestack depth migration by symmetric nonstationary phase shift. Geophysics 67(2), 594–603 (2002)
Frigo, M., Johnson, S.G.: FFTW. http://www.fftw.org
Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE 93(2), 216–231 (2005)
Gauss, C.F.: Nachlass: theoria interpolationis methodo nova tractata. In: Carl Friedrich Gauss Werke, vol. 3, pp. 265–327. Königliche Gesellschaft der Wissenschaften, Göttingen (1866)
Goldstine, H.H.: A History of Numerical Analysis from the 16th Through the 19th Century, vol. 2. Springer, Berlin (2012)
Hairer, E., Lubich, C., Schlichte, M.: Fast numerical solution of nonlinear volterra convolution equations. SIAM J. Sci. Stat. Comput. 6(3), 532–541 (1985)
Hassanieh, H., Indyk, P., Katabi, D., Price, E.: Simple and practical algorithm for sparse Fourier transform. In: Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 1183–1194. SIAM (2012)
Heideman, M.T., Johnson, D.H., Burrus, C.S.: Gauss and the history of the fast Fourier transform. IEEE ASSP Mag. 1(4), 14–21 (1984)
Heideman, M.T., Johnson, D.H., Burrus, C.S.: Gauss and the history of the fast Fourier transform. Arch. Hist. Exact Sci. 34(3), 265–277 (1985)
Lubich, C., Schädle, A.: Fast convolution for nonreflecting boundary conditions. SIAM J. Sci. Comput. 24(1), 161–182 (2002)
Markel, J.: FFT pruning. IEEE Trans. Audio Electroacoust. 19(4), 305–311 (1971)
Michielssen, E., Boag, A.: A multilevel matrix decomposition algorithm for analyzing scattering from large structures. IEEE Trans. Antennas Propag. 44(8), 1086–1093 (1996)
Nussbaumer, H.J.: Fast Fourier Transform and Convolution Algorithms, vol. 2. Springer, Berlin (2012)
O’Neil, M., Rokhlin, V.: A new class of analysis-based fast transforms. Technical report, DTIC Document (2007)
O’Neil, M., Woolfe, F., Rokhlin, V.: An algorithm for the rapid evaluation of special function transforms. Appl. Comput. Harmon. Anal. 28(2), 203–226 (2010)
Rabiner, L.R., Schafer, R.W., Rader, C.M.: The chirp z-transform algorithm. IEEE Trans. Audio Electroacoust. 17(2), 86–92 (1969)
Roberts, M., Bowman, J.C.: Multithreaded implicitly dealiased convolutions. J. Comput. Phys. (2017). https://doi.org/10.1016/j.jcp.2017.11.026
Schuster, G.T.: Seismic Interferometry, vol. 1. Cambridge University Press, Cambridge (2009)
Ying, L.: Sparse Fourier transform via butterfly algorithm. SIAM J. Sci. Comput. 31(3), 1678–1694 (2009)
Ying, L., Fomel, S.: Fast computation of partial Fourier transforms. Multiscale Model. Simul. 8(1), 110–124 (2009)
Acknowledgements
The authors would like to thank Professor Brendan Pass for his comments on an earlier version of this work.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported by the Natural Sciences and Engineering Research Council of Canada and is based on a report submitted to the University of Alberta in partial fulfillment of the requirements for the degree of Master of Science.
Rights and permissions
About this article
Cite this article
Bowman, J.C., Ghoggali, Z. The Partial Fast Fourier Transform. J Sci Comput 76, 1578–1593 (2018). https://doi.org/10.1007/s10915-018-0675-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-018-0675-0
Keywords
- Partial Fourier transform
- Fast Fourier transform
- FFT
- Discrete Fourier transform
- Fractional-phase Fourier transform
- Convolution
- Implicit dealiasing