APP下载

数字星图生成算法的设计与仿真

2018-04-11郑宏亮何元驹

实验室研究与探索 2018年2期
关键词:星图模拟器星空

凌 翔, 郑宏亮, 何元驹

(电子科技大学 通信抗干扰技术国家级重点实验室,成都 611731)

0 引 言

随着航空航天技术的快速发展,如何获取精准的航天器姿态信息并进行精确的控制是一个重要的问题[1-3]。为了达到这一目的,研究者们采用星敏感器进行高精度的姿态测定和导航。星敏感器是一种在航空航天领域经常使用到的姿态测量装置[4-5],可以利用恒星图像对航天器的姿态进行测量和控制[6-8]。在星敏感器的研发和测试阶段,对星敏感器的测试和校准是一项非常重要的工作。

对星敏感器的测试主要两种方式,一种是直接进行外场测试,这种方式成本较高,实现难度较大,不易进行大规模测试。另外一种方法是使用星模拟器对星敏感器进行测试[9-10]。星模拟器负责将仿真图像按一定帧频和格式输出到光学器件当中,再由光学器件输出到星敏感器当中,实现星敏感器的实时校准和测量。该方法效率较高,方便快捷,易于实现。

星模拟器中的一个重要部分便是数字星图的生成[11-13],本文对数字星图生成算法进行了设计和仿真,给出了详细的算法实现步骤和仿真结果,该算法可以直接应用于星模拟器的设计与实现。本文以天空中目视最亮星天狼星所对应的赤经赤纬作为输入参数,其他参数采取星模拟器常用参数,仿真得到了天狼星所在星座大犬座的犬头部所对应的星图,并和商用软件结果进行了比较,验证了仿真的正确性。

1 数字星图生成算法

本节将详细介绍静态星图生成功能代码部分所使用到的算法,该算法分为以下8个步骤:仿真输入参数初始化,星空分区,选取星区,星区选取恒星,求取旋转矩阵,求取CCD靶面坐标,计算恒星的灰度,计算全图坐标和灰度并画图。仿真代码也是根据这8个步骤进行编写的,仿真结果可以根据这8个步骤的计算直接得到。

数字星图生成算法流程如图1所示。首先初始化仿真参数,对星空进行分区,根据星敏感器光轴的赤经和赤纬,给定星敏感器视场大小、方位角以及焦距等参数,从观测星库中进行观测星的提取,然后进行坐标和星等的变换,最后将这些星点以二维图像的形式显示,实现现实中星空图像的模拟。

图1数字星图生成算法流程图

1.1 仿真输入参数初始化

用户根据仿真需求设定输入参数,参数主要包括:星敏感器光轴中心赤经α,星敏感器光轴中心赤纬δ,星敏感器视场的对角度数R,星敏感器分辨率,星敏感器光斑弥撒半径大小σ,星敏感器中心点亮度系数k,星空分区间隔B,选取恒星的星等范围,选取恒星的光谱类型。本文中的算法将根据以上输入参数进行进一步运算。

1.2 星空分区

星空分区部分主要是将SAO星表里所有恒星和分区一一对应,该分区将在选取星区部分进一步使用,默认星空分区间隔B=12°。本仿真算法设计分区考虑赤经变化范围0°~360°,划分为30个区,编号为0~29;赤纬变化范围是-90°~+90°,划分为15个区,编号为0~14。一共有450个子区。赤经赤纬的单位使用“度”来表示。分区结果如图2所示,此处仅显示了赤经0°~180°所对应的部分,赤经180°~360°与此类似。

图2星空分区图

1.3 选取星区

选取星区部分是将星空分区中所分得的星区中能够用于星图生成的星区选择出来进行计算,其余星区不进行计算。根据星敏感器方向的赤经,赤纬和视场角求所需要提取的星区编号,设星敏感器光轴指向(α,δ)。

星区编号的左界计算方法:

星区编号的右界计算方法:

星区编号的下界计算方法:

星区编号的上界计算方法:

式中:α为星敏感器光轴中心赤经;δ为星敏感器光轴中心赤纬;R为视场角大小;B为赤纬的分区间隔;N为赤纬的分区编号最大值;M为赤经的分区编号最大值。此处的int取最近的整数(相当于四舍五入)。如果J<0则取J不断加30直至落在0~29区间内为止,如果J>29则取J不断减30直至落在0~29区间内为止,如果D小于0则取D为0,如果D大于14则取D为14。选取的星区编号,即为以上求得的左界,右界,上界,下界范围内的星区。

1.4 星区选取恒星

依据1.3节中所求得分区,1.1节中星星与星区对应关系,观测星等范围,恒星的光谱类型等选取参数,查找SAO星表,选取恒星。选取出来的恒星会进一步进行后续计算。

1.5 求取旋转矩阵

(1) 根据天球坐标系旋转到星敏感器坐标系的旋转角和方法求3×3的旋转矩阵。该旋转矩阵的求取方法为,先绕z轴逆时针旋转φ,再绕Y轴逆时针旋转θ,再绕X轴逆时针旋转λ,计算公式:

(2) 将SAO星表中的天球坐标系的球面坐标转化成直角坐标系矢量。设观测星的赤经、赤纬为(α0,δ0),观测星在天球坐标系下的方向矢量为:

1.6 求取CCD靶面坐标

x=f×X1/Y1,y=f×Z1/Y1

其中:n为每行和每列的像素点个数,与分辨率相对应;R为视场角大小;f为焦距。

1.7 计算恒星的灰度

星等即对应光度,光度在感光元件上可以理解为亮度,亮度在图片上可以表示为灰度。灰度量化有线性量化[14]和指数量化[15]两种方法,分别用于不同的场合。为了获得更好的显示效果,后续仿真采用线性量化。

若采用线性量化、16 bit量化灰度时,当星等取最小值时,灰度为65 535,星等Mj到灰度Hj的表达式为:Hj=65 535-2 560×(Mj-Mmin)。此处Mmin为能够显示的星等最小值即-1.6,2 560这个值为需要根据实际拍摄情况进行调整。

若采用指数量化,在量化灰度时,使用公式Mj=-2.512×lg(Hj)+Q0进行星等和灰度和之间的转换,式中:Hj是灰度和;Mj是星等;Q0为输入的参数,默认为10.1,此参数根据实际星敏感器相关参数来进行设定,可以进行调整。

1.8 计算全图坐标和灰度并画图

根据灰度分布模型计算每个星的灰度,结合1.7节中求得的平面坐标,画图。每颗星的灰度分布符合二维高斯分布模型。每个点的灰度采用如下公式进行计算:

P(x,y)=I(x,y)+N(x,y)+B

式中:P(x,y)为图片上坐标为(x,y)点的灰度值;I(x,y)的计算公式将在后面进行详细说明;N(x,y)为背景噪声;B为背景灰度值(定义为0)。

I的计算公式为:

式中:kHj/(2πσ2)为中心位置的能量灰度值;σ为像点光斑弥散半径大小,需要提前确定。对于常见情况所对应的参数,取k=0.992 3,σ=0.562 0,这样中心点的灰度为灰度总和的50%,且所有点的灰度和为Hj。

2 仿真结果

为了便于算法验证以及图像显示,我们选取大犬座星图为例进行仿真。星敏感器光轴中心赤经α为101.287°星敏感器光轴中心赤纬δ为-16.716°,星敏感器视场的对角度数R为14°,星敏感器分辨率512×512,星敏感器光斑弥撒半径大小σ为0.562 0,星敏感器中心点亮度系数k为0.992 3,灰度量化比特为16 bit,天区赤纬的分区间隔B为12°,选取星等为-1.6~5等的恒星,星敏感器初始位置在天球坐标系y轴上。选择此赤经赤纬为星敏感器光轴方向有如下原因,天狼星的赤经为101.287°。赤纬为-16.716°,天狼星是是大犬座α星,位于犬颈部的位置,如此选择能够看到天狼星所在大犬座的头部的图像,易于验证正确性。

经第1节中相关运算后,得到的大犬座头部星图如图3所示。将图中对应点按照大犬座进行连线,得到图4。需要注意的是,原星图生成算法不自带连线功能,连线是后来添加的。

图3 大犬座头部星图

图4 大犬座头部连线图

将图4和和商用手机软件“Google 星空地图”中的大犬座图片进行比较,可以看出上图显示的是犬头位置,图像仿真是正确的。图5即为“Google 星空地图”中的大犬座图片。商用软件虽然可以进行星图观测,但是该软件不是使用二维高斯分布进行的星图模拟,与现实不符。并且很多相关参数不可调,无法用于星图模拟器的设计与仿真。

图5 “Google星空地图”中的大犬座图片

3 结 语

本文介绍了星图生成算法的过程,并给出了多个参数的常用取值和取值原因。我们对此算法进行了编程,对天狼星所对应星座大犬座的犬头部所对应的星图进行了仿真,得到了星图仿真结果。将数字星图和商用软件结果进行比较,验证了仿真的正确性。该数字星图生成算法可以直接应用于星模拟器的制造和星敏感器算法验证过程,对星模拟器和星敏感器研究和实现有着重要意义。星敏感器在运行过程中所采集到的图像可能会受到各类噪声干扰和晃动影响[14-16],在本文中未进行叙述,这也是星图生成算法需要进行研究的方向,我们也将对此进行研究。

参考文献(References):

[1]郭敬明, 魏仲慧, 何昕,等. CCD星图模拟器的设计及验证[J]. 中国光学, 2010, 3(5):486-493.

[2]赵小方, 刘光斌, 刘朝山. 基于数字图像注入式星图识别跟踪闭环仿真系统[J]. 数字技术与应用, 2012(9):67-68.

[3]卢佳. 基于虚拟仪器的动态星图显示技术研究[D]. 长春:长春理工大学, 2012.

[4]饶才杰, 房建成. 一种星图模拟中观测星提取的方法[J]. 光学精密工程, 2004, 12(2):129-135.

[5]周兴. 天文定位系统中恒星定位与识别算法的研究[D]. 西安:西安电子科技大学, 2012.

[6]魏新国, 张广军, 樊巧云,等. 利用仿真星图的星敏感器地面功能测试方法[J]. 红外与激光工程, 2008, 37(6):1087-1091.

[7]吴峰, 朱锡芳, 许清泉. 星图模拟方法在星敏感器技术研究中的应用[J]. 常州工学院学报, 2013(2):1-5.

[8]李欣璐, 杨进华, 张刘,等. 一种快速全天自主星图识别算法[J]. 长春理工大学学报(自然科学版), 2014(3):43-47.

[9]孙高飞, 张国玉, 王凌云,等. 甚高精度星模拟器星图显示与控制系统研究[J]. 空间科学学报, 2013, 33(3):308-312.

[10]李辉, 王安国, 张磊,等. 船用星敏感器星图模拟方法[J]. 光电工程, 2013, 40(4):72-79.

[11]张伟, 潘海斌, 鲍文卓,等. 星空背景数字图像的生成[J]. 光学精密工程, 2009, 17(3):676-682.

[12]史英海, 王志峰, 黄欣. 数字星模系统设计[C]. 全国空间及运动体控制技术学术会议, 2008.

[13]全伟, 房建成. 高精度星图模拟及有效性验证新方法[J]. 光电工程, 2005, 32(7):22-26.

[14]支帅, 张刘, 李欣璐. 带噪声模拟仿真星图的实现[J]. 中国光学, 2014, 7(4):581-587.

[15]汪英娇,张国玉,孙高飞,等.动态星模拟器星图模拟软件设计[J]. 长春理工大学学报, 2011(1):5-8.

[16]胡宜宁, 巩岩. 动态星图显示算法的设计与实现[J]. 宇航学报, 2008, 29(3):849-853.

猜你喜欢

星图模拟器星空
星图上非线性分数阶微分方程边值问题解的存在唯一性
了不起的安检模拟器
盲盒模拟器
划船模拟器
诗意联结 水漾星图——上海龙湖·星图美学展示中心
星空
星空
你也爱吃仰望星空派吗?
星空
动态飞行模拟器及其发展概述