Benutzer:KinimodRere/Gerchberg–Saxton Algorithmus

Dieser Artikel (Gerchberg–Saxton Algorithmus) ist im Entstehen begriffen und noch nicht Bestandteil der freien Enzyklopädie Wikipedia.
Wenn du dies liest:
  • Der Text kann teilweise in einer Fremdsprache verfasst, unvollständig sein oder noch ungeprüfte Aussagen enthalten.
  • Wenn du Fragen zum Thema hast, nimm am besten Kontakt mit dem Autor KinimodRere auf.
Wenn du diesen Artikel überarbeitest:
  • Bitte denke daran, die Angaben im Artikel durch geeignete Quellen zu belegen und zu prüfen, ob er auch anderweitig den Richtlinien der Wikipedia entspricht (siehe Wikipedia:Artikel).
  • Nach erfolgter Übersetzung kannst du diese Vorlage entfernen und den Artikel in den Artikelnamensraum verschieben. Die entstehende Weiterleitung kannst du schnelllöschen lassen.
  • Importe inaktiver Accounts, die länger als drei Monate völlig unbearbeitet sind, werden gelöscht.
The replay field of a computer generated hologram generated by the Gerchberg–Saxton algorithm. The 'star' is the zero-order diffraction peak.

Der Gerchberg-Saxton Algorithmus (GSA) ist ein iterativer Phasensuchalgorithmus und wird zu den interaktiven Fourier-Transformations-Algorithmen (IFTA) gezählt. Der Algorithmus wurde in "A Practical Algorithm for the Determination of Phase from Image and Diffraction Plane Pictures“ von R. W. Gerchberg und W. O. Saxton in Optik (35, 237–246 1972) veröffentlicht und ist wegen seiner Einfachheit heute oft Ausgangspunkt für effizientere Algorithmen.[1]

Datei:GS-diagram.png
Schematic view of the error reduction algorithm for phase retrieval - a generalization of the Gerchberg-Saxton algorithm.

Algorithmus Bearbeiten

Der Algorithmus besteht aus einer Schleife, welche eine Fourier-Transformation ( ) und Fourier-Rück-Transformation ( ) durchführt. Die Schleife wird so lange durchgeführt, bis ein Abbruchkriterium erfüllt wird (z.B. quadratischer Fehler der Pixel). Der Algorithmus wird hier für diskrete Pixel berechnet, dafür verwenden wir die diskrete Fourier-Transformation (auch kontinuierliche Transformation ist möglich).

  Eingangsamplitudenverteilung aus  

Konvergenz Bearbeiten

Es ist zu zeigen, dass der quadratische Fehler   konstant bleibt oder abnimmt. Dazu schauen wir uns einen repräsentativen Punkt in Bildebene ( ) und Beugungsebene ( ) an. Wir definieren den quadratischen Fehler   mit   der gewollten Amplitude und   der erreichten Amplitude. Mit Beginn des Algorithmus wird aus einer Ausgangsintensität mit FFT der komplexe Vektor   erzeugt. Die Amplitude dieses Vektors ist später die Intensität des Holograms. Die Amplitude   stimmt nicht, sie sollte die Amplitude der Bildebene   haben (Schritt X). Die Amplitude wird mit dem Korrekturvektor   mit   korrigiert.

  wird in die Beugungsebene zurücktransformiert (IFFT)  . Da die Fouriertransformation additiv ist, kann   auch aus den Transformierten   erzeugt werden.

Wir stellen fest, dass   ein Summand unseres Fehlers ist. Das bedeutend, dass mit fallenden   der Fehler der Amplitudenquadrate kleiner wird und dadurch der Algorithmus konvergiert. Mit der Parsevalidentität (für diskrete und für kontinuierliche Fouriertransformationen):

 

sinkt damit auch der Fehler der Ausgangsintensität. Aus der Abbildung wird klar, dass   wobei   die Amplitudendifferenz zur Zielintensitätsverteilung ist.

  1. Fall: Ist also   parallel zu   bewirkt eine erneute Iteration keine Änderung der Phase und damit keine Änderung von der Fouriertransformierten  

  der Fehler   bleibt für diesen Punkt konstant.

  1. Fall: Ist   nicht parallel zu   bewirkt die veränderte Phase in der Beugungsebene erneute Iteration eine Änderung in der Bildebene

  der Fehler   wird geringer.

Anwendung in der Optik Bearbeiten

Der Algorithmus nähert iterativ eine Phasenverteilung an, welche durch die Eingabe einer Zieldistribution festgelegt wird.

Mit dieser Eigenschaft ist der Algorithmus für die Berechnung von Brechungsmustern der Fernfeld-Beugung (Fraunhofer Beugung) geeignet: Hierzu wird mit dem Algorithmus aus dem Brechungsmuster als 2-dimensionale Intensitätsmatrix der Phasenverschub für den Laserstrahl berechnet. Der Phasenverschub kann beispielsweise durch Diffraktive Optische Elemente (DOE) erzeugt werden.

Auch wenn meist Zwei-dimensionale diskrete Signale verwendet werden, ist der Gerchberg-Saxton Algorithmus nicht an Dimension oder Kontinuität gebunden. Im Paper wird der Algorithmus in der kontinuierlichen Variante vorgestellt.

Pseudocode Bearbeiten

Sei:
 FT – Fourier-Transformation
 IFT – inverse Fourier-Transformation
 i – imaginäre Einheit
 exp – Exponentialfunktion

 Ziel und Eingang sind Ziel- und Eingangs-Amplitudenmatrizen
 A, B, C & D sind die komplexen Matrizen der selben Größe, wie Ziel- und Eingangs-Amplitudenmatrizen
 Amplitude() bestimmt die Amplitude der einzelnen Einträge der Matrix
   z.B. für einen komplexen Eintrag z = x + iy, Amplitude(z) = sqrt(x·x + y·y)
 Phase() bestimmt die Phase der einzelnen Einträge einer komplexen Matrix
   z.B. Phase(z) = arctan(y / x)
Ende Sei

Algorithmus Gerchberg–Saxton(Eingang, Ziel, Erneuerte_Phase) ist
    AA:= IFT(Ziel)
    Wiederhole solange das Determinierungsargument nicht erfüllt ist
        BB:= Amplitude(Eingang) × exp(i × Phase(A))
        C := FT(B)
        D := Amplitude(Ziel) × exp(i × Phase(C))
        A := IFT(D)
    Ende Wiederhole
    Erneuerte_Phase = Phase(A)

Hier wird der grundlegende Algorithmus als Pseudo-Code beschrieben. Heute gibt es eine Vielzahl an Verbesserungen, die den Algorithmus effizienter machen.

See also Bearbeiten

References Bearbeiten

External links Bearbeiten



[[Category:Digital signal processing]] [[Category:Physical optics]] [[Category:Articles with example pseudocode]]

  1. Tom D. Milster: Chapter 3 - The Gerchberg-Saxton Phase Retrieval Algorithm and Related Variations. In: Optical Holography. Elsevier, 2020, ISBN 978-0-12-815467-0, S. 61–72 (sciencedirect.com [abgerufen am 19. Oktober 2020]).