[发明专利]一种用于自适应光学操控系统的QT和Matlab多线程混合编程软件架构有效
申请号: | 201911262930.3 | 申请日: | 2019-12-11 |
公开(公告)号: | CN111078210B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 鲍华;饶长辉;高国庆;周璐春;李文茹;孔林;郑文佳;郭友明;李梅 | 申请(专利权)人: | 中国科学院光电技术研究所 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F8/30;G06F8/76 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610209 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 自适应 光学 操控 系统 qt matlab 多线程 混合 编程 软件 架构 | ||
本发明公开了一种用于自适应光学操控系统的QT和Matlab多线程混合编程软件架构,使用跨平台可视化图形开发工具QT搭建多线程应用程序框架,并采用C/C++语言和Matlab高级科学计算语言进行混合编程。软件架构:首先将自适应光学操控系统按功能需求划分为人机交互、数据通讯和数值计算三个功能正交化的任务模块,然后利用可视化图形开发工具QT创建相互独立的工作线程,采用并行处理的工作方式同时执行三个模块的相应功能;同时在数值计算模块中创建Matlab工作引擎,通过引擎提供的通用函数接口直接调用由Matlab高级科学计算语言实现的算法程序,充分利用Matlab商业数学软件提供的丰富函数进行快速计算,有效降低操控系统复杂算法的开发难度,大大缩短操控系统软件的研制周期。
技术领域
本发明属于自适应光学和计算机软件工程领域,具体涉及一种用于自适应光学操控系统的QT和Matlab多线程混合编程软件架构。
背景技术
自上世纪50年代,人们提出自适应光学技术(Adaptive Optics,AO),有效改善了光学系统的成像质量,已成为天文地基望远镜克服大气湍流影响、获取高分辨力成像结果的必备技术(HW Babcock,The possibility of compensating astronomical seeing[J],Publ.Astron Soc.Pac.,1953,65:229~236;姜文汉,自适应光学技术[J],自然杂志,2006:28(1):7-13)。自适应光学系统主要由光机系统和电控系统两个部分组成,其中光机系统主要包括低阶倾斜校正镜、高阶波前变形镜、哈特曼波前传感器以及其它辅助光学元器件,电控系统主要包括高速信号实时处理机以及用于调试和管理自适应光学系统的操控系统软件。
自适应光学操控系统软件的主要功能包括:通过图形化人机交互界面获取用户操控指令,采集高速信号实时处理机以及其它外部设备的各种状态参数,并通过数据可视化技术将状态参数快速绘制为用户可直接察看的图形图像数据,实现对自适应光学系统工作状态的准实时监控;同时操控系统软件还需执行各种操控算法完成对自适应光学系统的参数标定和性能调试,包括哈特曼质心标定、变形镜传函测试、波前斜率计算和波面像差重构等核心计算功能,在此基础上将标定参数和配置文件加载给高速信号实时处理机完成自适应光学系统对大气湍流的闭环校正。
目前,自适应光学操控系统软件的设计通常采用单线程工作模式,即软件的运行从采集高速信号实时处理机以及其它外部设备的状态参数开始,然后经各种操控算法对状态参数进行处理运算,最后将计算结果进行可视化绘制并显示在人机交互界面上。然而随着自适应光学系统的升级和自适应光学技术的发展,采用上述串行工作模式研制的操控系统软件已无法满足工程实际的需求,例如传统自适应光学系统控制的高阶波前变形镜单元数由最初的几十单元升级为几百、数千单元,相应波面像差重构的阶次也由原来几十项提升为数百项,导致算法运算量急剧增加,而哈特曼波前传感器也由点目标的质心提取算法发展为用于扩展目标的绝对差分和相关算法(饶长辉等,太阳自适应光学技术进展[J],光电工程,2018,45(3):170733),并且自适应光学技术也由传统AO发展为GLAO(Ground LayerAO)以及MCAO(Multi-Conjugate AO)(Esposito S.Introduction to multi-conjugateadaptive optics systems[J],Comptes Rendus Physique,2005,6(10):1039-1048),导致算法复杂度越来越高,从而迫切要求操控系统软件采用多线程应用程序框架,具备更高的运行效率和处理能力,以及扩展复杂算法的灵活性。
基于C/C++语言的跨平台可视化图形开发工具QT适合人机交互界面以及底层数据通讯的程序功能实现,而商业数学软件Matlab提供的高级科学计算语言以及丰富的数值计算函数,更适合复杂算法的程序编写和代码调试,因此搭建QT和Matlab混合编程的软件开发环境可以充分发挥两种编程语言和平台的优势,将有效降低操控系统复杂算法的研制难度,缩短操控系统软件的开发周期。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院光电技术研究所,未经中国科学院光电技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911262930.3/2.html,转载请声明来源钻瓜专利网。