"¿Hay alguna aplicación práctica?" Definitivamente sí, al menos para verificar el código y los errores vinculados.
"En teoría, la teoría y la práctica coinciden. En la práctica, no lo hacen". Entonces, matemáticamente, no, como respondió Matt. Porque (como ya se respondió), (hasta un factor de escala potencial). Sin embargo, puede ser útil computacionalmente, porque la ecuación anterior generalmente se implementa a través de la transformada discreta de Fourier y su avatar rápido, la FFT.F(F(x(t)))=x(−t)
Una primera razón surge de la voluntad de verificar que la implementación de Fourier, ya sea codificada por usted, otra persona o desde una biblioteca, haga lo que debería hacer en sus datos. El orden de las muestras, los factores de escala, los límites del tipo de entrada (realidad, profundidad de bits) o la longitud son fuentes de posibles errores posteriores para implementaciones de Fourier como la FFT. Por lo tanto, como un control de cordura, siempre es bueno verificar que las versiones implementadas hereden, al menos aproximadamente, las propiedades teóricas. Como verá, como lo muestra Machupicchu, no recupera exactamente una entrada real invertida: a menudo, la parte imaginaria no es exactamente cero, y la parte real es lo que se esperaba, pero dentro de un pequeño error relativo, debido a cálculos de computadora imperfectos (coma flotante) dentro de una tolerancia dependiente de la máquina. Esto se hace visible en la siguiente imagen. La FFT se aplica dos veces en una señal aleatoria de 32 muestras y se voltea. Como puede ver, el error es pequeño, utilizando flotadores de doble precisión.
Si el error no es relativamente pequeño, puede haber errores en el código que usa.
Un segundo se relaciona con grandes volúmenes de datos o grandes cantidades de cálculos iterativos de FFT, como con la tomografía. Allí, los pequeños errores relativos anteriores pueden acumularse y propagarse, e incluso inducir divergencia computacional o errores algunos detalles aquí . Esto se hace visible en la siguiente imagen. Para una señal no tan larga ( muestras), realizamos las siguientes iteraciones:
donde denota la FFT. La figura mostrada está submuestreada. Y calculamos el error máximoen cada iteraciónx01e6xk+1=Re(f(f(f(f(xk)))))
fmax|xk−x0|
Como puede ver, el orden de magnitud del error ha cambiado debido al tamaño de la señal. Además, el error máximo aumenta constantemente. Después de iteraciones, sigue siendo lo suficientemente pequeño. Pero puede adivinar que, con un cubo -voxel, y millones de iteraciones, este error puede volverse insignificante.10001000×1000×1000
Limitar el error y evaluar su comportamiento a través de iteraciones puede ayudar a detectar dichos comportamientos y reducirlos mediante un umbral o redondeo apropiado.
Información Adicional: