¿Por qué el resultado FFT muestra 2 amplitudes distintas de cero para una muestra de frecuencia única?
Haciendo una simple ejecución FFT para aprender la operación, creo una matriz NumPy con 100 elementos que tienen una onda sinusoidal con un solo período en la matriz. Este código se utiliza:
...
n = 100
x = np.fromfunction(lambda a: np.sin(2 * np.pi * a / n), (n,), dtype=float)
res = np.fft.fft(x)
...
El resultado enres
muestra una amplitud distinta de cero en 2 valores de índice diferentes:
idx real imag abs
--- ---------- ---------- ----------
...
1: 0 -50.000 50.000
...
99: 0 50.000 50.000
Solo esperaba ver una única amplitud distinta de cero en el índice 1.
¿Por qué la amplitud no es cero para los índices 1 y 99, y cómo puedo entender esto matemáticamente?
ADDITION: Tal vez la alta frecuencia en realidad represente una alias frecuencia, donde la frecuencia de muestreo es demasiado baja de acuerdo conNyquist rate.