APP下载

一种基于FPGA实现实时提取恒星星像坐标的方法

2015-07-09李葆华曾庆双张同双

导航定位与授时 2015年1期
关键词:星图计数器恒星

李葆华,曾庆双,张同双

(1.哈尔滨工业大学航天学院,哈尔滨 150001;2.中国卫星海上测控部,江苏 江阴 214431)

0 引言

随着航空航天技术的发展,星敏感器作为一种高精度的姿态测量设备被越来越广泛地应用到卫星等航天器中[1-5]。星敏感器主要由光学系统、图像传感器电路以及数字图像处理系统构成。星敏感器的工作原理是:恒星所发出的星光通过光学系统成像在CCD光敏面上,由CCD信号检测线路将星光的光能转换成模拟电信号,模拟信号处理单元对其进行放大、滤波、整形等处理后,模数转换单元对其进行模数转换和数据采集。数据处理单元对数字化后的星图进行处理,星提取软件对星图进行大目标剔除、恒星星像提取、恒星星像坐标计算和星等计算。星识别过程对星图中的星像按匹配方法构造匹配模式,与导航星库中的已有模式进行匹配、处理,形成观测星与导航星的唯一匹配星对[6-8]。利用匹配星对,姿态计算软件通过姿态计算方法确定星敏感器光轴在惯性空间中的指向,最后由此指向及星敏感器与卫星本体的安装角就可以完成卫星三轴瞬时姿态的测量,通过姿态预测算法预测卫星的下一姿态并进行姿态控制[9](见图1)。

从图像传感器输出的原始星图图像中准确快速,实时提取恒星星像坐标,是当前高动态、高精度的要求。星敏感器的工况符合流水工作条件,模式是:将图像曝光部分、图像存储部分、星像提取时间与星图识别时间和姿态计算部分并行处理。

一种方法是,在星敏感器曝光本帧的图像同时,采用重心法提取上帧星图,整机的数据更新时间为结构中最慢的一级所占用的时间,这样就可以提高数据更新率。但由于星敏感器每次处理的都是上帧星图,所以难满足高精度、高动态的要求。

图1 CCD星敏感器工作流程图Fig.1 The star work flow chart of CCD star sensor

另一种是从SRAM中读取图像,提取恒星星像坐标的方法。星图模拟量数据从CCD出来以后,经过放大、A/D转换,在存入SRAM的同时,FPGA实时提取星像坐标,将坐标传给星图识别模块进行星图识别。星敏感器处理得星像数据是刚曝光完的数据,实时性较高,精度、动态性亦随之提高了。但在提取恒星星像坐标过程中,必须用到当前图像像元下一列坐标的灰度值和当前列的下一行坐标的灰度值。

以上基于软件时序分配的处理方法,距未来星敏感器更高动态、高精度的需求,还有一定距离。

本文介绍一种基于FPGA硬件实现实时提取恒星星像坐标方法。

1 恒星星像分布

图2 采用亚像素像平面内恒星星像Fig.2 The sub-pixel star locations in the star image

星敏感器光学部分的设计采用亚像素分辨技术,即散焦技术。对像平面上所成的恒星星像进行离焦处理,让来自恒星的星光,投射到几个紧挨着的像素上。根据在每个像元上的能量(如图2),用重心法计算出恒星星像坐标的质心。利用这种方法计算的星像位置的精度可以达到固有设备分辨率的几十分之一甚至百分之一[10-14]。

像平面星像坐标的提取一般都采用散焦技术[15-17],其思想是:对星像求面积的矩,再在区域内做面积的平均。重心的提取可以用如下的公式表示:

式中(X,Y)为星像重心的坐标,I(x,y)为点散布函数。在实际应用中,采用离散公式,其基本公式如下:

式中:I(x,y)为信号强度;T为信号强度门限;R0为像点离散半径;(xi,yi)为像素的位置;nx,ny为恒星星像弥散斑,尺寸为nx×ny;n=nx×ny为星像点所占的像元数。

从式(2)可以看出,为了计算恒星星像点的坐标,必须计算xI′(x,y),yI′(x,y)以及I′(x,y),因此在描述基于FPGA实现实时提取恒星星像坐标方法的过程之前,首先要开辟一定的存储器空间,用于保存xI′(x,y),yI′(x,y)以及I′(x,y)的中间量。假设保存xI′(x,y)的数组名为Sx(i),保存yI′(x,y)的数组名为Sy(i),保存I′(x,y)的数组名为Sg(i)。

另外,在取恒星星像坐标的过程中需要状态标志,假设状态标志为Fg(i),以上i∈[1,N],N表示图像的列数,Sx(i),Sy(i),Sg(i)和Fg(i)分别表示图像中第i列的信息。

2 基于FPGA实时提取恒星星像坐标方法

基于FPGA实现实时提取恒星星像坐标方法的具体过程步骤如下:

1)从A/D中读取图像点的像素值。假设该图像点的坐标为(x,y),灰度值为gray,判断该像素值是否大于阈值(假设预先设置的阈值为T)。如果该像素值小于阈值,说明该点是图像背景,设置Fg(x)=0,等图像下一个像素值;如果该像素值大于阈值,说明该点是恒星星像点,立刻跳转到步骤2。

2)判断该恒星星像点是否是第一行。如果是,跳转到步骤3;如果不是,跳转到步骤4。

3)判断该恒星星像点是否是第一列。如果是,跳转到步骤5;如果不是,跳转到步骤6。

4)判断该恒星星像点是否是第一列。如果是,跳转到步骤7;如果不是,跳转到步骤8。

5)该点是图像中第一个恒星星像点,则:

6)判断该恒星像素点的前一个(即当前行的第x-1个像素)是不是恒星星像点(即判断Fg(x-1)是否为0),如果是,则计算:

如果不是恒星星像点,则计算:

7)判断与该恒星星像点同一列,并且与该恒星星像点的上一行(即图像中坐标为(x,y-1)的图像点)是不是恒星星像点(即判断Fg(x)是否为0),如果是恒星星像点,则计算:

如果不是恒星星像点,则计算:

8)判断该恒星像素点的前一个(即当前行的第x-1个像素)是不是恒星星像点(即判断Fg(x-1)是否为0),如果是,跳转到步骤9;如果不是,跳转到步骤10;

9)计算:

同时判断与该恒星星像点同一列,并且与该恒星星像点的上一行(即图像中坐标为(x,y-1)的图像点)是不是恒星星像点(即判断Fg(x)是否为0)。如果是,跳到步骤11;如果不是,跳到步骤12;

10)判断与该恒星星像点同一列,并且与该恒星星像点的上一行(即图像中坐标为(x,y-1)的图像点)是不是恒星星像点(即判断Fg(x)是否为0)。如果是,跳到步骤13;如果不是,跳到步骤14;

3 实验结果及分析

选用某型号卫星星敏感器进行试验,主要参数如下:

(4)疑似导管相关血流感染 采用美国CDC标准判断[10]:菌血症/真菌血症,从外周静脉取血培养至少有一项是阳性的,有感染的临床表现,且除了导管装置或导管尖端或入口处拭子血培养是阳性的,没有其他部位血流感染来源。

视场:14º×14º

星图面阵:1024×1024

探测星等:6等

星敏感器FPGA的型号:ALTERA CycloneII EP2C8Q208I8

EP2C8Q208I8的主要特征参数:

逻辑单元:8256个

RAM:165888bit

锁相环:2个

最大使用I/O数量:182个

星敏感器FPGA工作频率:输入FPGA的晶振频率20MHz,采用锁相环后的实现提取恒星星像坐标过程的工作频率为80MHz;

星敏感器处理器工作频率:20MHz。

以星像坐标提取精度、数据更新周期为指标,我们选用某型号卫星星敏感器,对采用软件提取恒星星像坐标方法和采用FPGA实时提取恒星星像坐标方法,进行了比较试验验证。

3.1 星像坐标提取精度

图3 星敏感器拍摄星图Fig.3 The star image sampled by star sensor

试验方法:利用星敏感器拍摄一幅星图,把星图传送到上位机。采用软件提取恒星星像坐标方法提取所有恒星星像坐标。同时把采用FPGA星像提取方法提取的星像坐标传也送到上位机,两种方法提取的星像坐标以及这些恒星的实际星像坐标如表1所示。

3.2 数据更新周期的测试

试验方法:在星敏感器FPGA程序CCD驱动里设计一个递增计数器,每1ms增加一个计数值,星敏感器输出姿态的同时,该幅星图曝光时刻的计数器也输出,上位机软件接收到当前的计数器后,与上帧姿态的计数器值做差,该差乘以0.001就是数据更新周期,见图4。图中帧间计数器差是当前帧姿态计数器与上帧姿态计数器间的差值,该差乘以0.001就是数据更新周期。

表1 不同方法提取恒星星像灰度值Tab.1 The star gray obtained from star image sampled by star sensor

表2 不同方法下数据更新周期的测试Tab.2 The update test of star sensor with different method2-1采用软件实现提取恒星星像坐标方法测试结果

由表2可知,由于都是采用质心算法,对于同一幅图像,两种方法提取的恒星星像数量一致,对于相同星像,提取的坐标也一致。从表1可以看出,都提取了10颗恒星星像,利用式(2)计算的每颗恒星的Sx(i),Sy(i),Sg(i)都相等,星像坐标是一致的。表明,采用FPGA实现实时提取恒星星像坐标的方法是可行的,也是可

2-2采用FPGA实现实时提取恒星星像坐标方法测试结果

靠的。而从表2测试数据更新周期可以看出,采用FPGA实现实时提取恒星星像坐标的帧间计数器差都是153,说明数据更新周期是0.153ms(更新率大约6.5Hz),而且更新周期很稳定,而采用软件实现提取恒星星像坐标方法的帧间计数器差一般都超过了200,说明数据更新周期超过了0.2ms(更新率小于5Hz),而且更新周期很不稳定。表明,采用FPGA实现实时提取恒星星像坐标的方法能进一步降低数据更新周期,提高数据更新率。

4 结论

大面阵、高分辨率是星敏感器的发展趋势。随着图像面阵增加,存储图像和提取星像坐标的时间也增加,当前不管是采用软件来实现提取恒星星像坐标还是采用硬件描述来实现提取星像坐标,都较难提高星敏感器的数据更新率。由于星像提取算法中只有加、减运算,且算法控制结构比较简单,因此适合于用FPGA实现。基于FPGA实现恒星星像坐标提取时不必利用当前图像像元下一列坐标的灰度值和当前列下一行坐标的灰度值,而仅仅采用当前图像像元当前行的上一列坐标灰度值以及当前列上一行坐标的灰度值,可以实现与星图像保存并行的工作模式。

[1]Liebe C C,Dennison E W.Active Pixel Sensor(APS)Based Star Tracker.Proc[C]//.IEEE Aerospace Conference,Aspen,1998:119-127.

[2]Salomon P M.Charge Coupled Device(CCD)Trackers for High-accuracy Guidance Applications[J].Optical-Engi neering.1981,20(1):135-142.

[3]Gai E,Daly K,Harrison J.Star-Sensor-Based Satellite Attitude Rate Estimator[J].Journal of Guidance Control and Dynamic.1985,8(5):560-565.

[4]Li BH,Lai W J,Chen Y,Liu Z M.An Autonomous Navigation Algorithm for High Orbit Satellite Using Star Sensor and Ultraviolet Earth Sensor[J].The Scientific World Journal.2013,(2013),1-7.

[5]Ziegler F.A High-Precision Star Sensor For Attitude Measurement of Scientific Satellites[J].Zeitschrift For Flugwissenchafter and Weltraumforschung.1990,14(6):391-399.

[6]Dennison E W,Stanton R H.Ultra-Precise Star Tracking Using Charge Coupled Devices(CCDs)[C]//.Proc.SPIE Smart SensorsΙΙ.1980,252:54-64.

[7]YadidPecht O,Pain B,Staller C.CMOS Active Pixel Sensor Star Tracker with Regional Electronic Shutter[C]//.IEEE Journal of Solid-State Circuits.1997,32(2):285-288.

[8]Grammatin,A P,Lustberg E A,Mirzoeva LA.Objective for Star Sensors Operating in the UV[J].Journal of Optical Technology.1998,65(11):901-903.

[9]Mortari D,Angelucci M.Star Pattern Recognition and Mirror Assembly Misalignment for Digistar II and III Multiple FOVs Star Sensors[J].Spaceflight Mechanics.1999,102(1):1175-1184.

[10]Mortari D,Junkins J,Samaan M.Lost-in-space Pyra mid Algorithm for Robust Star Pattern Recognition[C]//.In Proceedings of 24th Annual AAS Guidance and Control Conference,Breckenridge,CO,USA,2001.

[11]Malak A S.Toward Faster and More Accurate Star Tracker Sensor Using Recursive Centroiding and Star Identification[D].Texas A&M University.A Dissertation Proposal.2002.

[12]Rousseau G L A,Bostel J,Mazari B.Star Recogni tion Algorithm for APS Star Tracker:Oriented Trian gles[C]//.IEEE Aero.Electron.Syst.Mag.2005,20,27-31.

[13]Cole C L,Crassidis J L.Fast Star-Pattern Recognition Using Planar Triangles.J.Guid.Control.Dynam.2006,29,64-71.

[14]Lee H,Bang H.Star Pattern Identification Technique by Modified Grid Algorithm[C]//.IEEE Trans.Aero.Elec tron.Syst.2007,43,202-213.

[15]Li B H,Chen X J,Zheng X J.Autonomous Star Tracking Algorithm with High Dynamic Spacecraft[J].Infrared and Laser Engineering.2012,41(1):190-195.

[16]Li B H,Li J,Chen X J.AnAutonomous Predictive Centroiding Algorithm for Star Sensor[J].Measuring Tech nology and Mechatronic Automation IV.2012,128-129,510-515.

猜你喜欢

星图计数器恒星
讲给孩子的航天发展故事(6) 被英国人骗走的敦煌星图
采用虚拟计数器的电子式膜式燃气表
(18)刺杀恒星
恒星
五十一进制计数器的设计与仿真实现
星图完成功能升级
诗意联结 水漾星图——上海龙湖·星图美学展示中心
恒星的演化
恒星不恒
数字天顶仪中恒星像点轨迹的快速定位方法