The nonuniform discrete Fourier transform transforms a sequence of complex numbers into another sequence of complex numbers defined by where are sample points and are frequencies. Note that if and, then equation reduces to the discrete Fourier transform. There are three types of NUDFTs.
The nonuniform discrete Fourier transform of type I uses uniform sample points but nonuniform frequencies. This corresponds to evaluating a generalized Fourier series at equispaced points.
The nonuniform discrete Fourier transform of type II uses uniform frequencies but nonuniform sample points. This corresponds to evaluating a Fourier series at nonequispaced points.
The nonuniform discrete Fourier transform of type III uses both nonuniform sample points and nonuniform frequencies. This corresponds to evaluating a generalized Fourier series at nonequispaced points.
A similar set of NUDFTs can be defined by substituting for in equation. Unlike in the uniform case, however, this substitution is unrelated to the inverse Fourier transform. The inversion of the NUDFT is a separate problem, discussed below.
Multidimensional NUDFT
The multidimensional NUDFT converts a -dimensional array of complex numbers into another -dimensional array of complex numbers defined by where are sample points, are frequencies, and and are -dimensional vectors of indices from 0 to. The multidimensional NUDFTs of types I, II, and III are defined analogously to the 1D case.
The NUDFT can be expressed as a Z-transform. The NUDFT of a sequence of length is where is the Z-transform of, and are arbitrarily distinct points in the z-plane. Note that the NUDFT reduces to the DFT when the sampling points are located on the unit circle at equally spaced angles. Expressing the above as a matrix, we get where
Direct inversion of the NUDFT
As we can see, the NUDFT is characterized by and hence the points. If we further factorize, we can see that is nonsingular provided the points are distinct. If is nonsingular, we can get a unique inverse NUDFT as follows: Given, we can use Gaussian elimination to solve for. However, the complexity of this method is. To solve this problem more efficiently, we first determine directly by polynomial interpolation: Then are the coefficients of the above interpolating polynomial. Expressing as the Lagrange polynomial of order, we get where are the fundamental polynomials: Expressing by the Newton interpolation method, we get where is the divided difference of the th order of with respect to : The disadvantage of the Lagrange representation is that any additional point included will increase the order of the interpolating polynomial, leading to the need to recompute all the fundamental polynomials. However, any additional point included in the Newton representation only requires the addition of one more term. We can use a lower triangular system to solve : where By the above equation, can be computed within operations. In this way Newton interpolation is more efficient than Lagrange Interpolation unless the latter is modified by
While a naive application of equation results in an algorithm for computing the NUDFT, algorithms based on the fast Fourier transform do exist. Such algorithms are referred to as NUFFTs or NFFTs and have been developed based on oversampling and interpolation, min-max interpolation, and low-rank approximation. In general, NUFFTs leverage the FFT by converting the nonuniform problem into a uniform problem to which the FFT can be applied. Software libraries for performing NUFFTs are available in 1D, 2D, and 3D.