nufft

Transformada de Fourier de dados amostrados em pontos não uniformes.

Categoria: Mathematics > Fourier Analysis and Filtering

Sintaxe

Y = nufft(X)

Igual a fft(X), com pontos de amostragem espaçados de 1.

Y = nufft(X, t)

As amostras estão nos pontos t; as frequências são o padrão (0:n-1)/n.

Y = nufft(X, t, f)

Avalia a transformada nas frequências f.

Y = nufft(X, t, f, dim)

Opera ao longo da dimensão dim.

Descrição

O resultado na frequência f(k) é a soma em j de X(j)*exp(-2*pi*1i*t(j)*f(k)). Quando os pontos t são igualmente espaçados e f é a grade padrão, isso se reduz à DFT usual. A razão de ser de nufft é que t e f não precisam ser uniformes.

Para analisar medições com instantes irregulares, passe os instantes como t e as frequências de interesse como f.

Argumentos de entrada

X
Valores das amostras, vetor ou array.
t
Pontos de amostragem, um por elemento de X na dimensão de operação. Use [] para 0:n-1.
f
Frequências em que avaliar, em ciclos por unidade de t.
dim
Dimensão em que operar.

Argumentos de saída

Y
Valores da transformada, um por frequência em f.

Exemplos

Pontos uniformes reproduzem fft

v = [1 2 3 4];
t = [0 0.25 0.5 0.75];
Y = nufft(v, t, 0:3);
max(abs(Y - fft(v))) < 1e-12
Saída
ans = logical
   1

Instantes irregulares

x = [0.1 0.4 0.7];
nufft([1 1 1], x, [0 1 2 3])
Saída
ans = 1×4 complex

    3.0000 + 0.0000i   -0.3090 - 0.2245i   -0.1910 - 0.5878i    0.8090 - 2.4899i

Observações

O MatLivre calcula a soma diretamente, então o custo cresce com o produto entre o número de amostras e o de frequências, e o resultado é exato, não aproximado.

Veja também

fft nufftn ifft fftshift