Python(编程语言)
计算
加速度
计算科学
插值(计算机图形学)
数学
快速傅里叶变换
傅里叶级数
计算机科学
计算机图形学(图像)
系列(地层学)
并行计算
算法
应用数学
数学分析
程序设计语言
物理
动画
古生物学
生物
经典力学
作者
Eric Bezzam,Sepand Kashani,Paul Hurley,Martin Vetterli,Matthieu Simeoni
摘要
Fourier transforms are an often necessary component in many computational tasks and can be computed efficiently through the fast Fourier transform (FFT) algorithm. However, many applications involve an underlying continuous signal, and a more natural choice would be to work with, e.g., the Fourier series (FS) coefficients in order to avoid the additional overhead of translating between the analog and discrete domains. Unfortunately, there exists very little literature and tools for the manipulation of FS coefficients from discrete samples. This paper introduces a Python library called pyFFS for efficient FS coefficient computation, convolution, and interpolation. While the libraries SciPy and NumPy provide efficient routines for discrete Fourier transform coefficients via the FFT algorithm, pyFFS addresses the computation of FS coefficients through what we call the fast Fourier series (FFS). Moreover, pyFFS includes an FS interpolation method based on the chirp Z-transform that can make it more than an order of magnitude faster than the SciPy equivalent when one wishes to perform distortionless bandlimited interpolation. Graphics processing unit (GPU) support through CuPy is readily available and allows for further acceleration: an order of magnitude faster for computing the 2-D FS coefficients of 1000 $\times$ 1000 samples and nearly two orders of magnitude faster for 2-D interpolation. As an application, we discuss the use of pyFFS in Fourier optics. pyFFS is available as an open source package at https://github.com/imagingofthings/pyFFS, with documentation at https://pyffs.readthedocs.io.
科研通智能强力驱动
Strongly Powered by AbleSci AI