ndft_1d: 1-D NFFT

Description Usage Arguments Details Value Functions Author(s) References Examples

View source: R/rNFFT.R

Description

1-D Non-Uniform Direct Fourier Tranform

Usage

1
2
3
4
5
6
7
ndft_1d(x, f_hat)

nfft_1d(x, f_hat)

nfft_adjoint_1d(x, f, n)

ndft_adjoint_1d(x, f, n)

Arguments

x

(real) vector of nodes of length m, must be in [-0.5,0.5).

f_hat

(complex) vector of f_hat entries - (of length n) and length must be even.

f

frequencies for adjoint, same length as x

n

number of frequencies for transform, specified for adjoint.

Details

The non-uniform Fourier transform takes non-uniform samples x from the $d$-dimensional torus [0.5,0.5)^d.

The NDFT functions compute the Fourier transform directly. This is slow. The NFFT functions use the FFT to compute this, which should be faster. The adjoint, in this case, is not the same as the inverse. Solving the inverse problem requires approximations. Here we present the 1D NDFT, NFFT, and their adjoints. You most likely want to use the nfft_1d and nfft_adjoint_1d functions rather than the dft functions.

Value

vector of f, the results of the transform (of length m).

Functions

Author(s)

Geoffrey Z. Thompson

References

Keiner, J., Kunis, S., and Potts, D. ”Using NFFT 3 - a software library for various nonequispaced fast Fourier transforms” ACM Trans. Math. Software,36, Article 19, 1-30, 2009.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
set.seed(20190722)
x <- runif(19) - 0.5
#f_hat <- runif(14) + 1i*runif(14)
f_hat = 1:14
for(i in 1:14) f_hat[i] = runif(1)*1i + runif(1)

ndft_1d(x, f_hat)
nfft_1d(x, f_hat)
f <- nfft_1d(x, f_hat)
nfft_adjoint_1d(x,f,14)
ndft_adjoint_1d(x,f,14)

gzt/rNFFT documentation built on April 15, 2020, 6:07 p.m.