Note: Please see pdf for full abstract with equations.
We present an adaptive method of computing finite Fourier integrals (eq) for smooth f and smooth nonzero g, intended for the case where g is highly and irregularly oscillatory, but f, |g|, and (arg(g))' are not highly oscillatory. Our method easily extends to real-valued integrals (eq) where h is smooth, with the intention that h is not highly oscillatory but cos h is. We do not require any special information about f or g, just the ability to evaluate f, g, and g' at arbitrary points. Our basic step per subinterval is to integrate (eq) where m is the slope of arg(g) at the subinterval center and h(x) is a Chebyshev polynomial interpolation of f(x)g(x)e-imx. Thus, a tone is factored out to improve Chebyshev interpolation accuracy. We also investigate a second-order extension in which a chirp is factored out. An implementation of this paper's algorithms in the Julia programming language is publicly available.