衍射計算(3):Gerchberg-Saxton演算法
啊咧咧 發表于 娛樂2021-04-22
相位恢復(phase retrieval)是光學中一個經典的逆問題,具體而言即已知Imaging面的光強分佈,求Phase mask面的相位分佈。
phase retrieval逆源問題
如上圖,已知Imaging面的振幅
,求出Phase Mask面的相位
。
GS演算法是求解phase retrieval問題最簡單的有效演算法代表。其圖解如下:
GS演算法基本流程
隨機選取初始相位
,並將初始振幅設為1。
根據初始資料,基於衍射公式,得到Imaging面的相位和振幅分佈
因為我們已知的資料只有target的振幅,且只關心能否重建出target的振幅,因此只保留Imaging面的相位資訊,並
將振幅設為target的振幅
。
依據逆衍射公式,得到傳回Phase Mask面的振幅和相位。
將Phase Mask面的振幅設為1,保留相位資訊。
重複2-5,直到滿足誤差限或達到最大迭代次數。
根據Imaging面和phase mask面之間的距離
,依據fresnel number
,選取合適的衍射公式即可(如夫琅禾費、菲涅爾、角譜等)。
下圖是帶重建圖案,用基於菲涅爾衍射的GS演算法對圖案進行重建(未padding):
迭代10次,每次迭代後重建的圖案如下:
phase mask面上相位分佈為: