计算机光学元件的混合编程软件设计

来源 :科技风 | 被引量 : 0次 | 上传用户:wzh309420
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:设计计算机光学元件混合编程软件对光学领域发展具有十分重要的现实意义,本文首先对计算机光学和混合编程方法进行了简单介绍,然后对计算机光学元件混合编程设计进行了详细论述。
  关键词:计算机光学元件;混合编程;软件设计
  电磁波作為光学领域中最常应用的一种射线,在实际应用中,由于需要的不同往往需要对光场分布方式进行改变,以达到应用目的。这就需要有一种科学有效的方法来对电磁波光场进行改变。有关实践证明,利用计算机光学元件对电磁波场分布进行改变往往能够达到较高的效果。但由于传统计算机光学元件设计算法运算精度低,因而需要对现有计算机光学元件进行改进,以提高软件运行效率。
  1 计算机光学概述
  计算机诞生后,在计算机的长期应用过程中,技术研究人员与科学家们自然而然的将光学元件应用到计算机当中来制造光计算机。在此背景下,计算机光学理论形成。随着对光计算机研究的不断深入,目前已产生多种计算机光学分析方法。其中,较为有效的方法就是计算机光学元件。但计算机光学元件设计在光学领域属于一个逆向问题,设计难度极大[ 1 ]。所谓逆向问题,指的是对成像系统中已知的入射场和出射场分布形式,计算出相应元件平面上的相位浮雕高度,从而保证能够对其入射波场分布进行正确调制,并给出期望光场分布。在科技不断进步与相关理论不断成熟的推动作用下,计算机光学元件设计理论取得了实质性的进展,标量衍射理论、几何理论和矢量理论是目前较为成熟且使用较多的三种理论。在计算机光学元件混合编程软件设计过程中,依据这些理论对软件进行设计,可以为其提供相应的理论支持与依据。
  2 混合编程方法
  要想设计出计算机光学元件混合编程软件,就需要采用相应的方法来实现多种编程语言的混合编程。目前,混合编程的实现主要有两种方法,即利用动态连接库和目标文件。动态连接库方法,是指将FORTRAN程序构成动态连接库之后,通过VC++编程软件对其进行动态调用,从而实现两种语言的混合编程[ 2 ]。目标文件方法是指,首先在FORTRAN和VC++各自的编程环境下编写程序生成对应的目标文件,然后利用相关技术将两种语言程序的目标文件连接起来,生成在VC++环境下可执行程序,这种程序即为混合编程程序。根据计算机光学元件软件设计要求与应用场合,本文采用目标文件法来对计算机光学元件混合编程软件的混合编程部分进行设计。
  3 计算机光学元件混合编程软件设计
  3.1 软件开发环境与设计目标
  为实现计算机光学元件混合编程软件的可视化,本文采用FORTRAN90和VC++6.0两种编程软件来开发计算机光学元件混合编程软件。在FORTRAN编译环境中,源程序文件扩展名为.f90,在VC++编译环境中,源程序文件扩展名为.cpp。混合编程用VC++软件来调用VC目标文件和FORTRAN目标文件实现。需要注意的是,要想实现两种不同编程语言的混合调用,就需要保证两种语言拥有相同的调用约定[ 3 ]。STDCALL是VC++和FORTRAN软件拥有的相同程序调用约定,因而可以采用该约定。另外,用VC调用FOR程序时,必须用extern对FOR函数进行说明,强调该函数为一个外部函数,并且extern的位置必须放在所有被调用函数之前。
  为增强软件数据处理功能,采用MATLAB可视化软件为元件图样处理过程中的矩阵、数据分析以及其他数据处理提供强大的数据计算功能,以提高程序运行效率与数据计算精确性,保障软件运行具有良好的稳定性与可靠性。不仅如此,利用该可视化软件还能够促进VC与FOR软件各自优点充分发挥。
  根据计算机光学元件改变光波、微波、电磁波等各种光场分布这一作用,所设计的计算机光学元件混合编程软件需要实现以下几项功能:第一,应用程序能够提供计算所需初始相位分布图样,即对任意目标图样(图像数据)元件相位分布初始值的输入,软件都能够进行相应的计算,从而为程序运行后期通过GS算法来实现对计算机光学元件的模拟设计提供所需必要数据。第二,软件应具有验证功能,即能够对计算出的光学元件设计参数模拟出的实际光束经相位补偿后得到的图样与实际光束图样进行对比。第三,采用透射式计算机光学元件对混合编程软件设计过程进行模拟,以实现任意目标图样(数据)的模拟设计,进而得出光学元件相应的设计参数和相关图样数据文件,并能够绘制出元件的相位浮雕高度图样。设计出的计算机光学元件混合编程软件操作界面应友好大方,方便用户执行各种操作,且执行效率高。此外,软件还应具备数据浏览功能,使用户可以方便快捷的浏览各种所需数据。整体而言,计算机光学元件混合编程软件设计应能够较好的满足实际应用中用户所需各项基本功能。
  3.2 计算机光学软件混合编程设计流程
  首先,由用户选择预期的数据文件,即光学图样,并输入初始参数,然后对输入的初始参数进行判断。若正确显示出入射光斑和期望图形,然后进行迭代计算,并保存产生的中间数据,经一系列计算后显示出系统模拟的元件模拟图样、相位浮雕高度图样以及迭代的次数。最后进行验证,并将验证结果图形显示出来,供用户浏览,最终完成计算机光学元件混合编程的设计。
  4 总结
  总而言之,计算机光学是光学领域发展的一种重要新兴科目,也是计算机技术与光学技术有效融合的一个重要纽带。设计并实现高集成化、高衍射效率、高运算精度、自由灵活、轻巧小型的计算机光学元件混合编程软件,对推动光学技术与光计算机进一步发展具有重要的意义和影响。设计人员应对现有软件算法进行不断优化,不断提高软件整体工作性能,努力克服计算机光学元件设计中的各种难题。
  参考文献:
  [1] 方恒楚.遗传模拟退火算法在光学系统计算机辅助装调中的应用[D].北京交通大学,2009.
  [2] 姜瞳.基于飞秒激光直写微光学元件的制备及性能表征[D].吉林大学,2014.
  [3] 杜源.基于VB及MATLAB混合编程的数字实时全息再现系统[D].昆明理工大学,2011.
  作者简介:王雨农(1994-),男,内蒙古包头人,专业或研究方向:计算机。
其他文献
对发展中国家来说,外债管理是十分必要的.为了做好外债管理工作,发展中国家政府需要控制外债规模、建立和完善信息系统、加强债务国之间的交流、防范汇率风险以及控制短期资
阐述了高等教育质量的概念,提出了高等教育全面质量管理应坚持以学生为中心的原则,领导作用原则,全员参与原则,过程管理等若干原则.
文章针对甘肃省东部地区百万亩土地整治项目无人机航测作业,首先简单介绍了无人机航测系统的构成要素,然后重点分析了无人机航测数据质量检查,在航测数据质量评价中,从影像重
为适应素质教育和创新教育的要求,必须改革传统的教学模式.本文提出了在高校实施理论教学、实践教学和科学研究"三元并重结构"教学模式的思路,论述了实施"三元并重结构"教学
摘要:随着科技发展我国农业机械水平得到良好推广,进入到了一个新的阶段,在农业机械应用范围上不断制定健全安全管理政策,实现现代化农村机械高效性,推进现代化经济建设工作。切实解决我国农业机械设备存在各种问题,加强农业机械设备广泛应用管理和专业技术人才培训,提高农业机械人员综合素质,保障农业机械设备综合水平提高。  关键词:农业机械;安全;管理;对策  一、加强我国农业基层机械推广的技术体系建设研究  
政府在准公益性水利工程的建设与管理中具有非常关键的作用,政府介入准公益性水利工程建设与管理是水利事业发展的必然.政府对准公益性水利工程的管理可采取多种手段,即政府
高等学校具有特殊的组织结构特性.在高校内部的组织创新中,要特别注意建立自由民主的学术组织和严谨有序的行政组织,并使二者运行不悖.深化以学院制管理的改革,实现学术组织
比较法学在法学研究中占有重要的地位,通过不同文化的法律比较研究有助于寻找法律制度创新的切入点.对法学教育来说同样如此,比较法学也可以为法学教材的创新提供有益的参照
摘 要:本文首先分析了工程造价结算審核工作中的常见问题,包括结算审核方法选择问题、高套定额问题、工程项目数量与资料核实问题等,针对问题提出了相应的对策。  关键词:工程造价;结算审核;问题  1 工程造价结算审核工作中的常见问题  1.1 结算审核方法选择问题  我国在进行工程造价的时候,主要是根据具体的图纸要求,结合工程规模、大小以及人员消耗等确定造价方式,之后定额套入。在此来源根基上,根据费用