盖师贝格-撒克斯通(GS)算法及其改进算法

本文摘自李景镇《光学手册》

盖师贝格(R.W.Gerchberg)和撒克斯通(W.O.Saxton)首先提出了一种振幅相位恢复算法,即GS算 法,利用输入输出间的正反傅里叶变换与输入输出面上的光场限制条件,反复迭代直至满足设计要求,如图 16-19所示,其中输入面的振幅分布为f(x,y),焦平面上的理想振幅分布为g(x′,y′),F、F-1分别为傅里叶 变换与傅里叶反变换。

对于GS算法,已证明|U2.k(x′,y′)|与g(x′,y′)间的误差不会随着迭代次数的增加而增加,因此GS算 法也被称为误差减少算法。GS算法在DOE的优化设计中得到了广泛的应用,但GS算法的收敛过程会出 现停滞现象,即只是初始的几次迭代过程会使误差值显著减小,而后续的迭代过程不能使误差值显著减小。 这意味着GS算法只能求得局部极小值。为了进一步提高收敛速度,并避免收敛停滞现象的发生,已有许多 改进算法。下面以一个设计实例来介绍GS算法及几种改进算法。

设计参数:λ=1.053μm,f=600mm,D=100mm,均匀焦斑大小d=100μm。以随机相位分布作为初 始迭代相位,GS算法优化得到的设计结果如图16-20所示,其光能利用率η与顶部不均匀性rms分别为 98.3%、14.5%。


图16-20 GS算法优化设计结果
从图16-20可知,GS算法优化得到的相位分布包含许多相位突变点,这些突变点的产生是由于在反复 迭代过程中,经过多次逆变换所致。而在某些应用场合,却需要优化得到尽可能连续的相位分布。GS算法 是一种局部优化算法,对初始值敏感,易陷入局部极值点,且优化得到的焦面光场分布易出现较大的Gibbs 振荡,顶部的均匀性不够好。

为了获得更佳的设计性能,对图16-19所示之GS算法中的焦面理想振幅分布进行如下调整:

U2.k+1(x′,y′)= | gk+1(x′,y′) | exp[ ia(x′,y′) ]

引入参数



式中,γ用来控制收敛速度和设计性能。
对GS算法进行如上改进,可提高收敛速度,并可基本克服GS算法易陷于局部极值点这一缺陷,获得更 理想的顶部不均匀性。设计参数同前,设计结果如图16-21所示,其光能利用率η与顶部不均匀性rms分别 为93.9%、1.1%。


(a)相位分布


(b)焦面光强分布
图16-21 GS算法的ST改进算法优化设计结果

为了减小相位突变点,相位混合算法(phase mixture algorithm,PMA)[34]利用每次迭代的相位与上一次 相位的加权和作为下次迭代的相位值,即

K=Αk-1+barg{F-1(g exp(iαk))}

式中,a、b为非负的常数因子,且a+b=1。
PMA能有效地抑制GS算法中出现的局部极值点和Gibbs振荡,设计的相位分布较之GS算法要平缓 光滑得多,但仍然存在多个相位突变点,并未从根本上解决相位设计中相位突变点的存在问题。

通过选取随机连续相位分布作为初始相位,并选取连续替代函数缓慢逼近理想的输出面分布或引入 局部替代函数,例如 r>gk+1(x′,y′)=(1-k)|U2,k(x′,y′)|+kg(x′,y′)

式中,k≤1,以保证迭代过程的绝热性,可大大减小相位突变点乃至获得连续相位分布,如图16-22所示,上 图为未进行相位展开时的相位灰阶图,下图为相相位展开后的相位三维分布;左图为GS算法设计结果,右图 为引入局部替代函数的设计结果。由于要保证过程的绝热性,采用局部替代函数的GS算法的计算效率要 远远低于GS算法。
GS算法的改进算法还有许多,例如输入-输出算法等,均是调整输入面的限制条件和(或)输出面的限制 条件来改善相位分布和(或)改善设计性能,在此不一一叙述。

图16-22 引入局部替代函数获得连续相位分布

盖师贝格-撒克斯通(GS)算法及其改进算法相关推荐

  1. 法国总统马克龙、挪威首相索尔贝格将参加目标守卫者大会

    -其他参会嘉宾包括阿米娜·穆罕默德.格拉萨·马谢尔.戴维·米利班德.罗伊索·马丁加和凯拉西·萨塔亚提 -第二届目标守卫者大会关注发挥年轻一代力量,驱动全球进步 西雅图2018年9月22日电 /美通社/ ...

  2. 报告发布|“双轮驱动”重磅升级,天猫联合瓴羊、罗兰贝格发布《天猫DTC企业经营指南 :以人为本,品牌致胜》

    去年双11前夕,天猫发布DTC新战略以及<天猫企业经营方法论>,引入货品驱动增长视角,助力企业"双轮驱动".转眼又到双11.在过去的一年,越来越多的企业由"粗 ...

  3. 罗兰贝格84页白皮书:一文看懂中国ICT产业新黄金十年

    来源:智东西 中国信息和通信技术产业(下称"ICT产业")蓬勃发展的黄金三十年,展现出了强大的市场吸引力与发展潜能.从上个世纪九十年代至今,ICT产业收入规模增长了340倍,保持双 ...

  4. 数值分析龙贝格matlab,龙贝格matlab程序

    k>=15 [龙贝格求积算法 Matlab 主程序] function[t]=rbg(f,a,b,c) t=zeros(15,4); %定义龙贝格积分函数,f 为待积函数,a 与 b 为积 分上 ...

  5. 脑电波之父:汉斯·贝格尔_深度学习,认识聪明的汉斯

    脑电波之父:汉斯·贝格尔 Around 1900, a German farmer made an extraordinary claim: he had taught a horse basic a ...

  6. 龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc

    数值分析龙贝格实验报告 实验三 龙贝格方法 [实验类型] 验证性 [实验学时] 2学时 [实验内容] 1.理解龙贝格方法的基本思路 2.用龙贝格方法设计算法,编程求解一个数值积分的问题. [实验前的预 ...

  7. c语言龙贝格积分法实验报告,数值作业:龙贝格算法计算积分C语言实现

    数值作业:龙贝格算法计算积分C语言实现 数值作业:龙贝格算法计算积分C语言实现 根据Romberg算法计算定积分,和变步长的Simpson算法的输入都一样.算法基本分析:输入a,b(积分上下限),n为 ...

  8. python乘积函数_龙贝格求积公式(Python实现)

    #Author:glm233 #这个程序就是一个黑箱接口,把要进行龙贝格求积的函数放在func函数里,可以自行修改,然后范围就是在Romberg里改 import math '''给定一个函数,如:f ...

  9. 数值计算方法(三)——变步长梯形法与龙贝格算法

    变步长梯形算法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低,步长太小则计算量大,难以找到一个合适的步长(划分成的小区间的个数) 算法描述: 1.对所有已存在的子区间进 ...

最新文章

  1. a*算法的时间复杂度_从经典算法题看时间复杂度
  2. 作为程序员我给csdn博客添加打赏功能
  3. mysql group by using filesort优化
  4. 2013_nanjing_onsite
  5. biztalk在用户代码中构造多部分消息
  6. 虚拟同步发电机_一种光储型虚拟同步机介绍
  7. 【牛客 - 331D】炫酷路途(二进制枚举 或 建图方式+最短路 或 dfs)
  8. 总结深度学习各种网络结构【更新中...】
  9. 2018年第31周-hive支持的Delete和Update的配置
  10. Javascript 刷新框架及页面的方法汇总(转)
  11. 通过pgpool-II实现PostgreSQL数据库服务高可用
  12. synchronized工作原理剖析(二)
  13. 小波变换原理及傅里叶变换(极好的文章)
  14. 计算机网络中的NET与应用中的.NET
  15. Hbuilder开发APP(一)——底部导航条简单实现
  16. coldfusion_Coldfusion数据结构简介第IV部分–查询
  17. 笔记本外接显示屏,FPS下降严重的解决办法
  18. Angular 4 Router
  19. 感时花溅泪,恨别鸟惊心
  20. 「自控元件及线路」6 无刷直流电动机

热门文章

  1. word html签名,如何在Word中加入手写签名签名?
  2. 能耗监测系统建设-化工行业如何做到节能降耗?
  3. 云化安全服务边缘应用实践入选“2021年度SASE优秀案例”
  4. java微博自动转发_怎样做到让微博用户自动转发你推广的内容?
  5. 在Ubuntu Server 22.04 LTS 上部署BT面板和Seatable
  6. thhinkphp5前后端分离微信公众号支付
  7. Redhawk APL - DI Flow
  8. 移动端App测试实用指南(下)
  9. 证件照如何换底色,分享三种证件照换底色的方法!
  10. Windows10专业版安全中心页面提示不可用 Windows defender 页面不可用 完美解决办法 在这里