linux的qt编程技术在卫星激光测距中的应用

上传人:小** 文档编号:47446762 上传时间:2018-07-02 格式:PDF 页数:7 大小:1.77MB
返回 下载 相关 举报
linux的qt编程技术在卫星激光测距中的应用_第1页
第1页 / 共7页
linux的qt编程技术在卫星激光测距中的应用_第2页
第2页 / 共7页
linux的qt编程技术在卫星激光测距中的应用_第3页
第3页 / 共7页
linux的qt编程技术在卫星激光测距中的应用_第4页
第4页 / 共7页
linux的qt编程技术在卫星激光测距中的应用_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《linux的qt编程技术在卫星激光测距中的应用》由会员分享,可在线阅读,更多相关《linux的qt编程技术在卫星激光测距中的应用(7页珍藏版)》请在金锄头文库上搜索。

1、书书书中国科学院上海天文台年刊 年总第 期 , 的 编程技术在卫星激光测距中的应用秦思 , 张忠萍张海峰吴志波( 中国科学院上海天文台,上海 ; 中国科学院研究生院,北京 )提要 操作系统具有良好的稳定性和安全性, 在系统控制中得到广泛应用。 是 操作系统下一种优秀的可视化编程工具, 具有良好的图形界面和可移植性。该文介绍了在 下利用 编程技术, 采用面向对象编程方法, 开发的基于 的卫星激光测距控制软件, 重点论述了用 编程对事件计时器、 距离门产生器、 系统实时时钟模块以及所涉及的计算机并口和串口等硬件设备的控制方法。目前该控制软件已在卫星激光测距工作中成功应用。主题词: 操作系统 编程工

2、具 卫星激光测距 控制软件分类号: , 引言 操作系统是基于 发展起来的, 由于其众多优秀的技术特点,受到广大用户的青睐, 在各行业中得到广泛的应用。 具有许多特点和优势, 尤其表现在它良好的安全性和稳定性上。 采取了许多安全技术措施, 包括读 写权限控制、 带保护的子系统、 审计跟踪、 核心授权等 。最重要的是 开放的源代码, 保证了任何系统漏洞都能被及时发现和改正, 大大降低了病毒入侵以及黑客攻击的概率, 提高了系统安全性。经相关实验验证, 操作系统同大型操作系统一样具有相同的可靠性。此外, 具有良好的图形用户界面, 能够为用户呈现一个直观、 易操作、 交互性强、 友好的图形化界面。卫星激

3、光测距( , ) 控制软件是激光测距系统的枢纽, 负责控制和连接外部设备, 使得各个设备按一定顺序进行工作, 其主要的控制和连接对象包括激光器、 事件计时器、 距离门控制电路以及系统时钟模块等。 操作系统能够有效地提高卫星激光测距控制软件系统的安全性、 稳定性, 还为用户提供友好的图形界面, 能满足激光测距对操作系统的要求。而且随着桌面应用的发展, 图形用户界面将更友好, 为激光测距控制软件的发展提供了广阔的空间。本文拟介绍 操作系统下的 编程语言以及在该平台下设计和开发的卫星激光测距控制软件, 其中对事件计时器、 距离门产生器、 系统实时时钟模块以及收稿日期: ;修回日期: 天文联合基金(

4、) 面上项目资助课题。精品1所涉及的计算机并口和串口等硬件设备的控制方法进行了重点介绍。 编程语言 公司开发的 库是一个跨平台的 类库, 具有丰富的控件资源和良好的可移植性。尤其是 图形界面设计工具为软件开发者提供了图形用户界面工具箱, 大大简化了图形用户界面的开发和维护任务。本文以 操作系统为开发环境,使用 开发库, 采用面向对象编程模式, 结合 特有的信号与槽机制进行相关功能模块开发。 的信号和槽是一种高级接口, 它应用于对象之间的通信。信号和槽能携带多种类型的参数, 当某个对象的状态改变时, 信号就由该对象发出并由相应的槽( 功能函数) 接收, 进行相应的操作处理。信号和槽可与多个对象连

5、接, 且可封装成一个整体模块, 这种信息的封装, 能确保多个对象被当作一个真正的多功能组件来使用。信号与槽的关联可以通过调用 对象的 函数来实现 。其定义形式如下: : : ( : , , : , ) ;其中, 为信号; 为槽, 即定义的功能函数。当信号到来时, 就会调用 中的函数, 实现某种操作。 编程技术在卫星激光测距中的应用 编程语言高效、 灵活的执行代码适合于对速度和应用程序之间协同性要求较高的场合, 卫星激光测距控制软件需定时采集、 处理、 数据输出及图形实时显示, 测距实时性的要求相对较高。 开发工具提供了类库开发框架以及很多控件, 采用面向对象编程思想, 模块化操作, 既简化整个

6、开发过程又提高了软件的可读性、 可移植性, 适合于激光测距控制软件的开发。 卫星激光测距控制软件的整体功能描述控制软件作为测距系统枢纽, 负责控制激光器、 事件计时器、 系统实时时钟、 距离门产生器等设备, 使它们按照一定的顺序开展工作, 同时实时显示测距情况, 以判断是否测量到卫星。图 为上海天文台 控制模块图, 控制计算机是测距系统的核心; 时钟信号 和秒信号由 接收机提供; 系统实时时钟用于维持测距系统时间和激光点火信号的产生; 事件计时器将主波信号和回波信号看成事件, 将其发生时刻精确记录下来 ; 距离门发生器用于产生门控信号, 使探测器打开, 接收回波信号。 控制软件流程图 为 控制

7、软件工作流程。测距开始时, 控制软件首先获取当前时刻, 根据预报数据计算卫星的方位和高度, 并传递给伺服控制部分, 使望远镜指向所选择的卫星; 控制软件获取激光发射时刻( 由事件计时器记录) , 由预报数据获得卫星距离预报值, 计算距离门控值, 控制光子探测设备, 接收回波信号。待获取激光回波时刻后, 根据主回波匹配算法获得卫星距离的测量值, 然后计算出距离残差值 ( )。在滤除部分噪声后将测距结果保存, 同时实时显示残差值可让操作人员判断是否打中卫星以便对望远镜的指向进行微调。上述操作过程直到观测结束而终止。中 国 科 学 院 上 海 天 文 台 年 刊 年图 卫星激光测距控制模块 图 激光

8、测距控制软件工作流程图 系统实时时钟在卫星激光测距中, 时钟系统起着至关重要的作用, 它不仅维持整个测距系统的时间, 还要实现激光点火信号控制及控制软件的时序控制。本系统采用了 个 位的减法计数器, 利用外部提供的 时钟信号进行工作, 为系统提供精确的实时时钟, 个计数器级联方式如图 所示。计数器 的时钟信号为 , 计数器 , , 的时钟信号分别为上一级计数器输出的时钟信号, 其中计数器 的输出时钟信号还作为激光点火信号。以 激光测距为例, 控制软件对计数器 , , , 的初始值分别设置为 , , , , 计数器 , 负责记录 以内的时间, 计数器 , 负责记录整 的时间, 两者结合来实现系统

9、时间的维持。按照上述计数器初始值的设置, 其能够维持的最长时间约为 。控制软件通过读取各个计数器的值总第 期秦思等: 的 编程技术在卫星激光测距中的应用来获得当前时刻, 进而开展图 中所示的一系列工作。图 计数器连接示意图 事件计时器控制事件计时器作为激光测距系统中的一个重要设备, 负责记录主波与回波的时刻。控制软件根据卫星预报轨道所推算出的激光脉冲往返时间间隔, 可以识别出相关的主波和回波各自的时刻, 其时刻差即为激光往返时间, 进而获得卫星观测距离值 。事件计时器与主控计算机通过增强型并口( , ) 进行数据交互。操作之前首先进行计算机并口初始化, 再经过内部校准、 时间同步检测后方可开始

10、测量。在有主回波到达时, 就可精确记录主回波事件的发生时刻, 之后进行数据采集, 这一系列工作均由控制软件对并口进行读写来完成。 操作系统对底层端口操作采取了保护措施, 并设定了访问级别, 对于一般用户的 端口访问级别定义为 。为了实现计算机并口的操作, 需要提高控制软件的 访问权限级别。采用了如下功能函数实现控制软件对端口访问权限级别的修改: ( )其中参数 代表新的 访问权限, 范围是 。其中 代表最高访问权限。在本软件中, 取为 。控制软件中对事件计时器的所有操作封装成一个 类对象, 如下: : : ( , ) ; ( ) ; ( ) ; 时间同步 ( ) ; 读取 采集到的数 ( )

11、; 检查 的 是否为空 ( ) ; 初始化 ( ) ; 系统校准 ( ) ; 开始测量在对 端口进行读写时, 提供了 ( ) 、 ( ) 、 ( ) 、 ( ) 、 ( ) 、 ( ) 、 ( ) 、 ( ) 等功能函数, 根据所写入和读取的数据长度采用不同的函数, 这些函数的参数为物理端口或读写数据。例如在事件计时器类对象的 ( ) 函数中使用了以下代中 国 科 学 院 上 海 天 文 台 年 刊 年码进行并口初始化: ( ) ; 为计算机并口基地址, 通常为 ; ; ( , ) ; 向端口 写数据 ( ) ; 从端口 读取数据, 赋予 上述类对象实现了在 下对事件计时器的操作, 包括初始化

12、、 内部校正、 时间同步及数据采集, 且具有较好的移植性, 可在其他 应用软件中直接应用。 距离门控制在卫星激光测距中, 距离门控技术是一种常用且有效的抑制噪声的方法。测距时, 控制软件根据卫星预报距离, 推算出激光信号往返时间( 即距离门控长度) , 然后将此数据置入到距离门控电路中的计数器。待主波信号到达后计数器开始递减, 当递减到设定值后产生信号给探测器, 使探测器打开。本文所使用的距离门控制电路数据接口为计算机串口, 为此我们在 下开发了串口通讯程序。采用了 类封装机制将串口操作封装成独立的类对象, 包括对串口的打开、 波特率设置、 读写数据, 关闭等操作。串口操作类对象结构如下: :

13、 ( ) ; ( ) ; ( , , , , , , ) ; 设置串口参数 ( , ) ; 打开串口 ( , , ) ; 将数据写入串口 ( , ) ; 将数据写入串口 ( ) ; 关闭串口此串口类对象独立性较强, 其类成员函数中采用的是 操作系统内部函数, 可以应用在 系统下其他 或非 应用程序中, 使用灵活性较高。 控制软件及测量结果 年 月上海天文台完成了 操作系统下卫星激光测距控制软件的设计和开发,并成功开展了对卫星的实际测量。图 为控制软件界面及实时距离残差测量图, 图中弥散点为噪声, 比较密集的点为有效回波信号, 中间的一条虚长直线为距离残差零基准线。从图 可以看出, 本控制软件所

14、采用的 工具可设计出友好、 直观的操作界面,且易于操作。实验结果表明, 操作系统下基于 编程语言开发的控制软件可以实现卫星激光测距观测任务, 在随后的运行过程中也表现出了良好的稳定性, 证明了本文所采用的控制软件设计方法是可行的。总第 期秦思等: 的 编程技术在卫星激光测距中的应用图 下卫星激光测距控制软件界面 总结 作为 操作系统下可视化图像开发工具, 它为用户提供了优秀的图形化控件以及功能齐全的操作模块, 大大简化了开发过程, 提高了效率。本文设计和开发的控制软件采用了面向对象编程模式, 使得软件的优化和升级都较易实现, 且可以运行在通用的、 包含 软件开发库的 操作系统平台上。卫星测量实验结果表明, 该控制软件可以实现卫星激光测距的测量任务, 而且系统的稳定性、 安全性也有了一定的提高。 编程技术在激光测距中的成功应用, 为在 操作系统下开发其他图形化操作软件及底层端口操作提供了经验。参考文献 李永权 操作系统应用前景, , , : , 著齐亮译 编程,北京:北京航空航天大学出版社, 吴志波高重复率人卫激光测距的研究( 硕士论文) ,上海:中国科学院上海天文台, , 吴志波,张忠萍,孙宝山等中国科学院上海天文台年刊, , : 中 国 科 学 院 上 海 天 文 台 年 刊 年 , ( , , ; , ) , , , 总第 期秦思等: 的 编程技术在卫星激光测距中的应用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号