Recentemente, percebi que os FFT não são perfeitos. Ou seja, se eu pegar um sinal e depois pegar FFT, e depois fazer uma FFT inversa, a saída resultante não será exatamente a mesma da entrada. Aqui está uma imagem para mostrar o que eu quero dizer:
Eu acho que a imagem é bastante auto-explicativa. O sinal IFFT é apenas uma transformação inversa do "espectro FFT" e o gráfico "Diferença" é a diferença entre o sinal IFFT e o sinal original ( ).
Claramente, existem alguns artefatos, embora sejam realmente pequenos. Eu gostaria de saber por que eles ocorrem em primeiro lugar. Isso é devido à janela finita da transformação de Fourier? Ou por causa de algo no algoritmo FFT?
Nota: Este gráfico tem 32 pontos, mas verifiquei com 100, 1000, 1024, 256 e 64 pontos, e sempre há esse resíduo na diferença de magnitude semelhante ( ou ).