
El algoritmo de Gerchberg-Saxton (GS) es un algoritmo iterativo de recuperación de fase para recuperar la fase de un frente de onda de valor complejo a partir de dos mediciones de intensidad adquiridas en dos planos diferentes. [ 1 ] Típicamente, los dos planos son el plano de imagen y el plano de campo lejano (difracción), y la propagación del frente de onda entre estos dos planos viene dada por la transformada de Fourier . El artículo original de Gerchberg y Saxton consideró la imagen y el patrón de difracción de una muestra adquiridos en un microscopio electrónico.
A menudo basta con conocer la distribución de fase de uno de los planos, ya que la distribución de fase del otro plano se puede obtener aplicando una transformada de Fourier al plano cuya fase se conoce. Si bien el algoritmo GS se utiliza frecuentemente para señales bidimensionales, también es válido para señales unidimensionales.
El pseudocódigo que se muestra a continuación realiza el algoritmo GS para obtener una distribución de fase para el plano "Fuente", de manera que su transformada de Fourier tenga la distribución de amplitud del plano "Objetivo".
El algoritmo de Gerchberg-Saxton es uno de los métodos más utilizados para crear hologramas generados por computadora . [ 2 ]
Algoritmo de pseudocódigo
Dejar: FT – transformada de Fourier directa IFT – transformada inversa de Fourier i – la unidad imaginaria, √ − 1 (raíz cuadrada de − 1) exp – función exponencial (exp(x) = e x ) Sea el objetivo y la fuente los planos de amplitud del objetivo y de la fuente, respectivamente. A, B, C y D son planos complejos con la misma dimensión que el Objetivo y la Fuente. Amplitud – Función de extracción de amplitud: Por ejemplo, para un número complejo z = x + iy , amplitud( z ) = sqrt( x · x + y · y )para x real , amplitud( x ) = | x | Fase – Función de extracción de fase: Por ejemplo, Fase(z) = arctan(y / x) fin DejeEl algoritmo Gerchberg–Saxton(Origen, Destino, Fase_Recuperada) es A := IFT(Objetivo) mientras no se cumple el criterio de error B := Amplitud(Fuente) × exp(i × Fase(A)) C := FT(B) D := Amplitud(Objetivo) × exp(i × Fase(C)) A := IFT(D) fin mientras Fase_Recuperada = Fase(A)
Esta es solo una de las muchas maneras de implementar el algoritmo GS. Además de las optimizaciones, otros pueden comenzar realizando una transformada de Fourier directa a la distribución de la fuente.
Véase también
Referencias
- ↑ Gerchberg, RW; Saxton, WO (1972). "Un algoritmo práctico para la determinación de la fase a partir de imágenes del plano de imagen y de difracción" (PDF) . Optik . 35 : 237–246 . Archivado del original (PDF) el 28 de marzo de 2016.
- ↑ Memmolo, Pasquale; Miccio, Lisa; Merola, Francesco; Paciello, Antonio; Embrione, Valerio; Fusco, Sábato; Ferraro, Pietro; Antonio Netti, Paolo (1 de enero de 2014). "Investigación sobre soluciones específicas del algoritmo de Gerchberg-Saxton" . Óptica y Láseres en Ingeniería . 52 : 206– 211. doi : 10.1016/j.optlaseng.2013.06.008 . ISSN 0143-8166 .
Enlaces externos
- Páginas del Dr. W. Owen SaxtonArchivado el 13 de junio de 2008 en Wayback Machine .Archivado el 16 de marzo de 2018 en Wayback Machine.
- Aplicaciones y publicaciones sobre recuperación de fase de la Universidad de Rochester, Instituto de Óptica. Archivado el 9 de mayo de 2006 en Wayback Machine.
- Un script de Python del GS por Dominik Doellerer
- Algoritmos GS de MATLAB,
- Procesamiento digital de señales
- Óptica física