APP下载

一种基于星载多核处理器的耀斑位置计算优化方法

2017-09-28陈家兴石志成王劲强

航天返回与遥感 2017年4期
关键词:迭代法耀斑矢量

陈家兴 石志成 王劲强



一种基于星载多核处理器的耀斑位置计算优化方法

陈家兴 石志成 王劲强

(北京空间机电研究所,北京100094)

空间相机的数据处理单元在轨求解太阳耀斑位置方程时,通常采用数值迭代法进行求解,相机扫描机构根据计算结果确定指向目标的位置。由于该数值迭代方程存在一定解算时间,会使扫描机构指向耀斑目标时滞后于卫星平台传递给空间相机的瞬时轨道参数,从而带来指向位置的误差。减小该误差的一种方法就是缩短耀斑位置方程的求解时间。文章从多CPU核并行计算目标方程的角度出发,构建一种可并行化求解的数值迭代算法对耀斑方程进行求解。相比于以往的单核CPU数据处理单元,采用多核CPU结构的并行数据处理单元可以在原有的主频和硬件条件下实现计算速度的提升,从而一定程度上减小扫描机构指向耀斑目标时的位置误差。文章对耀斑位置的迭代求解方程进行了分析,进行了并行化迭代方程的构建,并在某模拟硬件计算平台上对一组耀斑观测卫星的实时轨道参数进行了仿真计算。相比于常用的单核算法,并行化耀斑位置计算方法在原有主频条件下达到了更高的精度和计算速度。

并行处理 迭代法 太阳耀斑 多核星载处理器

0 引言

遥感技术的发展对星载光学有效载荷的指向精度提出了严格要求。空间相机对太阳耀斑点进行跟踪成像时,由于在轨计算耀斑点位置需要耗费一定时间[1-2],使得扫描镜指向耀斑点时存在一定角度误差,提高耀斑位置方程的计算速度及计算精度对于提高扫描镜的指向精度具有重大意义。

提升载荷在轨计算能力通常是通过提升处理器主频或者采用多CPU并行处理来实现,主频的提升可能带来电子学系统电磁兼容、处理器与存储器速度匹配等问题[3],因此文中讨论主频一定的情况下采用多核CPU并行处理方式来计算耀斑位置方程。

以往的单核处理器计算耀斑位置方程时通常采用对分迭代法,由于该算法可并行化程度不高,直接应用于多核处理器后其性能提升效果不明显[4]。针对多核处理器结构,本文提出一种计算效率更高的耀斑位置方程解法,经过在星载多核处理器平台进行仿真计算后,该方法相比于以往的算法达到了更高的处理速度和计算精度。

1 耀斑位置方程及对分迭代法

1.1 耀斑位置方程

卫星飞行到海洋区域上空,星上程序按照耀斑位置方程寻找耀斑点,载荷控制扫描镜的二维转动角度指向该点进行数据采集。耀斑位置方程的几何模型如图1所示[5],卫星星下点为,太阳直射点为,耀斑点为,地心为,平面为主平面,其法向量设为。太阳平行光束经过海平面镜面反射后进入遥感器入瞳,太阳矢量与耀斑矢量夹角等于卫星矢量与耀斑矢量夹角,且耀斑矢量位于主平面上,由此可以确定耀斑矢量[6]。根据卫星平台实时提供的轨道瞬时参数,太阳矢量、卫星矢量可作为已知量,耀斑位置方程如式(1)~(3)所示,未知量为耀斑矢量,以太阳矢量为起始边,耀斑矢量到的夹角记为自变量,由于每次迭代都需要计算在取值区间左侧、右侧、中间点的取值情况才可以达到对分迭代法的目的,所以定义下标为迭代区间左侧端点取值,为迭代区间右侧端点取值,为迭代区间中间点取值[7];dot为·(点乘)运算。

(2)

(3)

1.2 对分迭代法求解耀斑位置方程

主平面上各个矢量的几何关系如图1所示,由反射定律可知,耀斑点一定在卫星星下点与太阳直射点之间,,为卫星矢量与太阳矢量夹角,每一次迭代过程中都要计算、和的情况,并依据判断条件判定下一次取值区间是在中点值左侧还是右侧以及迭代是否终止。经过多次迭代后计算终止,此时的耀斑点角坐标就是耀斑点的解算位置[8]。

图1 工程中的对分迭代法耀斑计算模型

(5)

式中

(8)

(9)

图2 对分迭代法求解耀斑计算模型的实例

2 耀斑位置方程的优化解法

2.1 对分迭代法在多核处理器的应用情况及存在问题

对分迭代法在多核处理器未经过优化,直接在多核处理器应用时,其可并行化的能力取决于算法的结构,按照各个公式的优先级关系将算法分成串行部分和并行部分,串行部分交给一个CPU执行,并行部分分配给多核并行执行,公式(5)、(6)、(7)为三维向量运算,可以分配三个处理器并行执行,其余部分仍需按照原来顺序执行,算法分配框图如图3所示,由图中可以看出,由于算法本身的结构限制,当增加处理器核数量依然无法提高算法的计算效率[11]。

2.2 对分迭代法的并行优化及多核处理器的应用情况

对分迭代算法的并行优化理论根据为:1)耀斑形成过程中经过一次海平面的准镜面反射,所以入射角等于反射角的位置只会出现一次,方程只有唯一解;2)整个方程为连续函数,求解的判断过程可以利用方程的连续性;3)可以将通常使用的对分迭代法更改为“多分迭代法”,即每一次迭代区间划分为多个等长度区间[12]。

在多核处理器中,每次迭代时可以将迭代区间划分为多个等长区间,+1个子区间需要重新计算的节点数为个。为处理器核数量,取值范围2到任意大正整数,按照同构多核处理器加工条件,不会超过32。在每个节点处计算迭代的判断条件,具体算法后文有详述,其分配图如图4所示[13]。

图3 对分迭代法的并行分配框

图4 对分迭代法在多核处理器上的并行分配

该算法的耗时等于迭代计算耗时与并行程序调度耗时之和,增加处理器核数可以减少迭代次数,从而缩短迭代计算的耗时,但是会增加并行程序调度耗时。此外,过多的处理器核还会增加实现软件和硬件的复杂性,处理器核数从1核到8核的耗时仿真如图5所示,当处理器核数增加4核及以上时,其处理结果就没有显著提高,为降低实现难度,后续算法采用四核处理器平台[14]。

图5 对分迭代法并行程序耗时仿真结果

以四核处理器平台为基础对上述进行并行化时,将每一次的迭代区间划分为5个子区间,产生6个节点,通过这6个节点判断出下一次迭代时根的存在范围。由于6个节点中左右两个端点取值情况取上一次迭代区间左右端点取值情况相同,所以无需计算,需要重新计算的为中间4个节点的取值情况,这4个节点的计算量可以分配给四个处理器核并行计算,算法分配框图如图6所示,简称该算法为五分迭代法[15-17]。

图6 五分迭代法的并行分配

图7 第k次并行迭代法中6个节点的排列图

五分迭代法计算流程如下步骤[9-10]:

(11)

(13)

(14)

3)可根据前文中公式(5)~(9)公式计算上述6个节点处的函数值、、、、、。计算每个区间的左右端点函数值乘积的符号、、、、,上述乘积符号中为负值的区间端点记为,这个区间就是根存在的区间。

3 算法效率仿真试验

3.1 某轨道参数下耀斑位置方程的准确解

以一组耀斑观测卫星跟踪观测太阳耀斑的轨道参数作为输入量,、为J2000时间记数中的天记数和秒记数;为轨道倾角;为升交点赤经;为近地点幅角;为真近点角,根据理论公式推出耀斑位置的准确解值,结果如表1所示。

表1 耀斑观测卫星模拟轨道参数及耀斑位置准确解

3.2 该轨道参数下三种耀斑位置算法的对比

本文选用一款我国自主研制的先进SoC星载四核处理器平台,该处理器是一款基于SPARCV8体系的32位RISC嵌入式处理器,能够满足航天器的应用功能以及性能指标要求。该处理器集成了四个CPU核,每个CPU核均具有浮点和整形运算单元,四个处理器核之间共享同一个操作系统、总线系统、I/O系统[19]。与该处理器平台配套使用的操作系统是一款国产化的航天嵌入式操作系统,它具有可靠性高、国产自主可控、占用空间小、可移植性强等优点。该操作系统包括了任务间通讯、内存管理、错误异常管理、任务管理、中断响应与处理、时钟与定时器管理等模块,该操作系统除了可以实现单核操作系统的全部功能,还可以满足四核系统的任务调度、任务分配、通信、互斥机制等功能[20]。处理器系统主频为20MHz,计算的精度要求为0.01°。

利用上述平台及迭代算法对表1中的轨道参数进行计算,主要计算的内容有:1)单核处理器上对分迭代法执行情况;2)四核处理器上未优化的对分迭代法执行情况;3)优化后的五分迭代法在四核处理器的执行情况。对于上述三项内容在四核处理器平台上进行计算,计算结果包括程序耗时及结果误差,两者的平均值如图8所示,图8显示了利用利用三种计算方法得出耀斑位置的平均耗时与平均误差,红色直方图表示对分迭代法直接在单核处理器运行的平均耗时和平均误差,绿色直方图表示对分迭代法在四核处理器运行的平均耗时和平均误差,蓝色直方图表示五分迭代法在四核处理器运行后的平均耗时和平均误差。

(a)平均耗时 (b)平均误差

4 结束语

在顺序执行耀斑位置方程算法基础上,本文提出了采用并行执行方式的耀斑位置方程算法。分析了一核到八核的并行算法,得出采用四核处理器效果较好的结论。在多核处理器平台上对单核处理器对分法、四核处理器对分法(未优化)、四核处理器五分法(优化后)等三种算法进行了仿真计算,结果显示:系统的主频为20MHz时,优化后的五分迭代法计算耗时为顺序执行的48%,计算误差为顺序执行的33%。该处理能力与单核处理器在主频提升至60MHz时大致相等。

并行处理方式可以使卫星电子学系统采用更低的主频工作完成以往的工作,这对于减小卫星载荷电子学系统设计难度、改善处理器与外部存储速度匹配等方面都会带来新的解决思路。未来多核并行处理技术无论在空间遥感相机的智能管理、海量数据在轨处理还是在提高遥感相机在轨任务的可靠性方面都将具有更为广阔的应用前景。

[1] 石玉广, 戴铁, 徐娜. 卫星遥感探测大气CO2浓度研究最新进展[J]. 地球科学进展, 2010, 25(1): 07-13. SHI Yuguang, DAI Tie, XU Na. Latest Progress of the Study of Atmospheric CO2Concentration Retrievals from Satellite[J]. Advances in Earth Science, 2010, 25(1): 07-13. (in Chinese)

[2] 刘毅, 吕达仁, 陈洪滨, 等. 卫星遥感大气CO2的技术与方法进展综述[J]. 遥感技术与应用, 2011, 26(2): 247-254. LIU Yi, LYU Daren, CHEN Hongbin, et al. Advances in Technologies and Methods for Satellite Remote Sensing of Atmospheric CO2[J]. Remote Sensing Technology and Application, 2011, 26(2): 247-254. (in Chinese)

[3] 李铜基, 陈清莲, 韩冰. 海面之上法中海面反射率和观测几何模拟研究[J]. 海洋技术学报, 2005, 24(4): 112-117. LI Tongji, CHEN Qinglian, HAN Bing. The Modeling Studies on Sea Surface Reflection and View Geometry of Above Water Method[J]. Journal of Ocean Technology, 2005, 24(4): 112-117. (in Chinese)

[4] 藏佳. 基于MPSoC的空间光学CCD遥感相机控制系统研究[D]. 长春: 中国科学院长春光学精密机械与物理研究所, 2012. ZANG Jia. Research on the Control System of Space Optical CCD Remote Sensing Camera Based on MPSoC[D]. Changchun: Changchun Institute of optics, Fine Mechanics and Physics, Chinese Academy of Sciences, 2012. (in Chinese)

[5] 姜通, 曹琼, 温渊. 海洋区域大气CO2卫星遥感观测模型及仿真研究[J]. 上海航天, 2015, 32(3): 47-50. JIANG Tong, CAO Qiong, WEN Yuan. Study on Satellite Observation Mode and Simulation for Atmospheric CO2Remote Sensing Over Ocean[J]. Aerospace Shanghai, 2015, 32(3): 47-50. (in Chinese)

[6] 李恺, 张晗, 康晓军. 关于太阳耀斑观测的区域判定算法实现[J]. 航天返回与遥感, 2014, 35(6): 58-65.LI Kai, ZHANG Han, KANG Xiaojun. The Realization of Area Matching Method about the Observation to the Sun Glint[J]. Spacecraft Recovery & Remote Sensing, 2014, 35(6): 58-65. (in Chinese)

[7] 颜庆津. 数值分析[M]. 第4版. 北京: 北京航空航天大学出版社, 2012: 67-94. YAN Qingjin. Numerical Analysis[M]. 4th ed. Beijing: Beihang University press, 2012: 67-94. (in Chinese)

[8] 颜军. SPARC嵌入式系统设计与开发[M]. 北京: 中国标准出版社, 2013. YAN Jun. Design and Development of Embedded System Based on SPARC[M]. Beijing:China Standard Press, 2013. (in Chinese)

[9] 周伟明. 多核计算与程序设计[M]. 武汉: 华中科技大学出版社, 2009. ZHOU Weiming. Multi Core Computing and Programming[M]. Wuhan: Huazhong University of Science and Technology Press, 2009. (in Chinese)

[10] 陈国良. 并行计算–结构算法编程[M]. 北京: 高等教育出版社, 2011. CHEN Guoliang. Parallel Computing-Structure Programming[M]. Beijing: Higher Education Press, 2011. (in Chinese)

[11] 刘旭峰, 郭俊旺. 操作型换热器设计计算中的迭代法讨论[J]. 化学工程师, 2007, 21(6): 37-39.LIU Xufeng, GUO Junwang. Discussion of Literation in Heat Exchanger Designing Calculation[J]. Chemical Engineer, 2007, 21(6): 37-39. (in Chinese)

[12] 朱亚杰. 空间相机管控单元的AT697F处理器平台的设计及应用[D]. 北京: 中国空间技术研究院北京空间机电研究所, 2013. ZHU Yajie. Design and Application of AT697F Processor Platform for Space Camera Control Unit[D]. Beijing: China Academy of Space Technology Beijing Institue of Space Mechanicse Electricity, 2013. (in Chinese)

[13] 程锦松. 迭代法的并行化[J]. 安徽大学学报, 1997(3): 66-70. CHENG Jinsong. Parallelization of Iterative Method[J]. Journal of Anhui University, 1997(3): 66-70. (in Chinese)

[14] 于梦玲, 郑晓薇, 张建强. 多核并行技术在Image Quilting纹理合成算法中的应用[J]. 微电子学与计算机, 2012, 29(7): 146-149. YU Mengling, ZHENG Xiaowei, ZHANG Jianqiang. Application of Multi-core Parallel Technology in Image Quilting Texture Synthesis Algorithm[J]. Microellectronics & Computer, 2012, 29(7): 146-149. (in Chinese)

[15] 蔡明, 田昌会, 杨百愚. 探测天顶角与太阳天顶角对卫星红外探测的影响[J]. 红外技术, 2014(3): 221-224. CAI Ming, TIAN Changhui, YANG Baiyu. Effect of Detecting Zenith Angle and Solar Zenith Angle of Satellite Infrared Detector[J]. Infrared Technology, 2014(3): 221-224. (in Chinese)

[16] 贺晓雷, 于贺军, 李建英. 太阳方位角的公式求解及其应用[J]. 太阳能学报, 2008, 29(1): 69-73. HE Xiaolei, YU Hejun, LI Jianying. Formula Solution of Solar Azimuth and Its Application[J]. Journal of Solar Energy, 2008, 29(1): 69-73. (in Chinese)

[17] 贾永君, 林明森, 张有广. 自主海洋卫星遥感技术进展与发展方向[J]. 海洋技术学报, 2015, 34(3). JIA Yongjun, LIN Mingsen, ZHANG Youguang.Development and Development of Remote Sensing Technology for Autonomous Ocean Satellite[J]. Journal of Dcean Technology, 2015, 34(3). (in Chinese)

[18] 刘承坤. 基于FPGA在轨数据处理技术研究[D]. 北京: 北京邮电大学, 2015. LIU Chengkun.Research on Orbit Data Processing Technology Based on FPGA[D]. Beijing: Beijing University of Posts and Telecommunications, 2015. (in Chinese)

[19] 薛东川, 朱振宇, 杨俊. 用MATLAB实现波动方程多核并行计算[J]. 地球物理学进展, 2015, 30(6): 2841-2845. XUE Dongchuan, ZHU Zhenyu, YANG Jun. Using MATLAB to Realize Multi Core Parallel Computation of Wave Equation[J]. Progress in Geophysics, 2015, 30(6): 2841-2845. (in Chinese)

[20] 刘洪波, 张宏伟, 田林. 人工神经网络法预测时用水量[J]. 中国给水排水, 2002, 18(12): 39-41. LIU Hongbo, ZHANG Hongwei, TIAN Lin. Artificial Neural Network Method for Prediction of Water Consumption[J]. China Water & Wastewater, 2002, 18(12): 39-41. (in Chinese)

(编辑:刘颖)

Optimization Method of Flare Position Calculation Based on Space-borne Multi-core Processor

CHEN Jiaxing SHI Zhicheng WANG Jinqiang

(Beijing Institute of Space Mechanics & Electricity, Beijing 100094, China)

When the flare position equation is solved by space-borne processor on orbit, the usual method is numerical iterative method, due to the existence of a certain solution time, the scanning mechanism will be lag of the instantaneous orbit parameters of the flare target which was transmitted by the satellite platform, so as to bring the error of point position. One way to reduce the error is to shorten the solution time of the flare position equation. In this paper, from the point of view of the multi CPU core parallel computing objective equation, a numerical iterative algorithm for solving the flare equation is constructed. Compared to the previous single core CPU data processing unit, the multi-core CPU structure of parallel data processing unit can improve computing speed in the original frequency and hardware conditions, within a certain extent scanning mechanism can decrease the position error of flare. This paper analyzed the structure of the flare iterative solution of the equation, constructed parallel iterative equation, and calculated flare observation satellite’s real-time orbit parameters in a simulated hardware computing platform. Compared with the commonly used single kernel algorithm, the parallel calculation method of the flare equation is more accurate and the calculation speed is higher than former under original dominant frequency.

parallel calculation; the iterative method; solar flare; space-borne multi core processor

V443+.5

A

1009-8518(2017)04-0074-08

10.3969/j.issn.1009-8518.2017.04.009

陈家兴,男,1988年生,2013年获哈尔滨工业大学测控技术与仪器专业学士学位,现在于中国空间技术研究院光学工程专业攻读硕士学位。研究方向为空间遥感器精密控制技术。E-mail: jxlovered@126.com。

2016-12-03

猜你喜欢

迭代法耀斑矢量
迭代法求解一类函数方程的再研究
求解线性互补问题的一类矩阵分裂迭代算法
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
新方法可提前24小时预测太阳耀斑
太阳表面的微型耀斑
遥感卫星载荷海洋耀斑观测几何模型研究
推力矢量对舰载机安全起降的意义
改进的布洛依登算法
多种迭代法适用范围的思考与新型迭代法