一种电子星图模拟器、电子模拟星图生成方法和电子设备与流程

文档序号:28633396发布日期:2022-01-26 15:52阅读:450来源:国知局
一种电子星图模拟器、电子模拟星图生成方法和电子设备与流程

1.本技术涉及航天技术领域,具体而言,涉及一种电子星图模拟器、电子模拟星图生成方法和电子设备。


背景技术:

2.星图模拟器是天文导航算法的地面试验的必要设备。星图模拟器是在地面上模拟出星图的设备,利用地面模拟的星光图像,可以实现在地面环境下对星敏感器的算法的测试和验证。由于空间中的实际拍摄星图难以快速获取,所以对于天文导航算法的研制和测试,星图模拟器是不可或缺的。
3.传统的电子星图模拟器多是采用计算机程序设计的手段对模拟星图进行计算和保存,使用cpu进行计算。cpu的并行运算是采用多核心的模式,但是单一核心依然是串行指令执行过程,因此对于电子模拟星图的大规模并行化的数据计算速率较慢。并且计算机的cpu并不是实时处理器,且具有系统任务调度,某一功能计算过程中可能会被其他任务打断。且原有采用通用计算机星图仿真的电子星图模拟器,在航天器进行真空环境等特殊环境仿真测试时,是无法与航天器一同放入仿真环境中的,不利于仿真环境的设计和操作,一些在高低温、真空实验环境下的仿真实验,传统的电子星图模拟器是无法在实验中进行配置的。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种电子星图模拟器、电子模拟星图生成方法和电子设备,解决了现有技术中生成电子模拟星图速度较慢,且无法实现嵌入式设备的问题。
5.第一方面,本技术实施例提供了一种电子星图模拟器,所述电子星图模拟器包括核心控制器、数据接收接口和数据发送接口,其中所述核心控制器中包括核心处理器,x个单星坐标映射模块、x个单星灰度弥散模块和星图生成模块;x为大于等于2的正整数;
6.所述数据接收接口,用于接收仿真系统发送的星敏感器的光轴参数;所述光轴参数包括所述星敏感器的光轴的赤经参数、赤纬参数和旋角参数;
7.所述核心处理器,用于获取所述星敏感器的预设参数,并基于所述光轴参数以及所述预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标,并将不同的待映射星在天球坐标系下的天体坐标发送给不同的单星坐标映射模块;所述预设参数包括星敏感器的视场角参数;
8.所述单星坐标映射模块,用于基于所述待映射星在天球坐标系下的天体坐标确定所述待映射星在星敏感器坐标系下的星光矢量,并将所述待映射星在星敏感器坐标系下的星光矢量发送给所述核心处理器;
9.所述核心处理器,还用于基于所述n个待映射星在星敏感器坐标系下的星光矢量确定所述n个待映射星在成像平面中的星像点二维坐标,并将不同的待映射星在成像平面
中的星像点二维坐标发送给不同的单星灰度弥散模块;
10.所述单星灰度弥散模块,用于基于所述待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度,并将所述星像点灰度发送给所述星图生成模块;
11.所述星图生成模块,用于基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成电子模拟星图;所述电子模拟星图中至少包括一个星像点。
12.进一步的,所述核心处理器在基于所述光轴参数以及所述预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标时,还用于:
13.基于所述星敏感器的光轴参数以及预设参数确定出待映射星的赤经范围与赤纬范围;
14.针对于星库中的所有恒星,当该恒星的赤经参数位于所述赤经范围内且赤纬参数位于所述赤纬范围内时,则将该恒星确定为所述待映射星,并确定该待映射星在天球坐标系下的天体坐标。
15.进一步的,所述单星坐标映射模块在基于所述待映射星在天球坐标系下的天体坐标确定所述待映射星在星敏感器坐标系下的星光矢量时,还用于:
16.通过以下公式,将该待映射星在天球坐标系下的天体坐标转换为该待映射星在星敏感器坐标系下的星光矢量:
17.[x,y,z]
t
=m[u,v,w]
t
[0018]
其中,m为坐标系间转移矩阵,(u,v,w)为该待映射星在天球坐标系下的天体坐标,(x,y,z)为该待映射星在星敏感器坐标系下的坐标,[u,v,w]
t
为该待映射星在天球坐标系下的方向矢量,[x,y,z]
t
为该待映射星在星敏感器坐标系下的星光矢量。
[0019]
进一步的,所述核心处理器在基于所述n个待映射星在星敏感器坐标系下的星光矢量确定所述n个待映射星在成像平面中的星像点二维坐标时,还用于:
[0020]
通过以下公式计算,基于光学系统聚焦长度和该待映射星在星敏感器坐标系下的星光矢量,确定所述星光矢量在成像平面上进行光积分的质心位置坐标:
[0021][0022]
其中,f为光学系统聚焦长度,(x,y)为星光矢量[x,y,z]
t
在成像平面上进行光积分的质心位置坐标;
[0023]
将在预设成像范围内的质心位置坐标,作为该待映射星在成像平面中的星像点二维坐标。
[0024]
进一步的,所述单星灰度弥散模块在基于所述待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度时,还用于:
[0025]
通过以下公式计算在成像平面中该星像点二维坐标处的像素的星像点灰度:
[0026][0027]
其中,(x,y)为该待映射星的星像点二维坐标,gray(x0,y0)为(x,y)坐标处的像素
的灰度值,a为能量灰度系数,σ为灰度拟合高斯半径。
[0028]
进一步的,所述星图生成模块在基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成所述电子模拟星图时,还用于;
[0029]
创建初始星图背景图像;
[0030]
在所述初始星图背景图像中增加高斯白噪声,得到目标星图背景图像;
[0031]
基于n个待映射星中每个待映射星在成像平面中对应的星像点灰度,确定用于生成电子模拟星图所需的图像数据;所述图像数据用来表征所述目标星图背景图像中所有像素点的像素值;
[0032]
将所述图像数据映射到所述目标星图背景图像中,生成所述电子模拟星图。
[0033]
第二方面,本技术实施例还提供了一种电子模拟星图生成方法,所述电子模拟星图生成方法包括:
[0034]
接收仿真系统发送的星敏感器的光轴参数;所述光轴参数包括所述星敏感器的光轴的赤经参数、赤纬参数和旋角参数;
[0035]
获取所述星敏感器的预设参数,并基于所述光轴参数以及所述预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标;所述预设参数包括星敏感器的视场角参数;
[0036]
针对n个待映射星中任意一个待映射星,基于该待映射星在天球坐标系下的天体坐标确定该待映射星在星敏感器坐标系下的星光矢量;
[0037]
基于该待映射星在星敏感器坐标系下的星光矢量确定该待映射星在成像平面中的星像点二维坐标;
[0038]
基于该待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度;
[0039]
基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成电子模拟星图;所述电子模拟星图中至少包括一个星像点。
[0040]
进一步的,所述基于所述星敏感器的光轴参数以及预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标,包括:
[0041]
基于所述星敏感器的光轴参数以及预设参数确定出待映射星的赤经范围与赤纬范围;
[0042]
针对于星库中的所有恒星,当该恒星的赤经参数位于所述赤经范围内且赤纬参数位于所述赤纬范围内时,则将该恒星确定为所述待映射星,并确定该待映射星在天球坐标系下的天体坐标。
[0043]
第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的电子模拟星图生成方法的步骤。
[0044]
第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的电子模拟星图生成方法的步骤。
[0045]
本技术实施例提供的电子星图模拟器,与现有技术中传统的计算机中的电子星图
模拟器相比,例化了多个单星坐标映射模块和单星坐标映射模块,在计算模拟星图时可以根据确定出的待映射星的数量去调用对应数量的单星坐标映射模块和单星坐标映射模块,做到合理的任务分配。并且在计算时,多个单星坐标映射模块或多个单星坐标映射模块可以同时计算,实现真正的并行运算,提高了电子模拟星图的生成速率。本技术实施例提供的电子星图模拟器,采用单板式的核心控制器,将很多简单但大量重复性的计算工作移植到并行运算平台上,这样得以使得控制器的主频可以降低,做到嵌入式设备中。嵌入式设备在航天器仿真实验中的配置比传统的计算机灵活很多,可以一起进行高低温、真空实验,对于仿真环境可以有更多的选择。
[0046]
为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0047]
为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0048]
图1为本技术实施例提供的一种电子星图模拟器的结构示意图;
[0049]
图2为本技术实施例提供的待映射星赤经赤纬范围求取过程示意图;
[0050]
图3为本技术实施例提供的天球坐标系o-uvw与星敏感器坐标系o-xyz的关系的示例图;
[0051]
图4为本技术实施例提供的一种电子模拟星图生成方法的流程图;
[0052]
图5为本技术实施例提供的一种电子设备的结构示意图。
[0053]
结合附图,本发明实施例中附图标记如下:
[0054]
100-电子星图模拟器;110-核心控制器;120-数据接收接口;130-数据发送接口;a-核心处理器;b1、b2
……
bx-单星坐标映射模块;c1、c2
……
cx-单星灰度弥散模块;d-星图生成模块;500-电子设备;510-处理器;520-存储器;530-总线。
具体实施方式
[0055]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本技术保护的范围。
[0056]
星图模拟器是天文导航算法的地面试验的必要设备。天文导航算法的实现途径是星敏感器的光学元件敏感天球中的恒星星光,利用获得的星光图像进行姿态解算,获取航天器的姿态状态。这种星光图像即为星图。星图模拟器即是在地面上模拟出星图的设备,利用地面模拟的星光图像,可以实现在地面环境下对星敏感器的算法的测试和验证。由于空
间中的实际拍摄星图难以快速获取,所以对于天文导航算法的研制和测试,星图模拟器是不可或缺的。
[0057]
电子星图模拟器是利用天球恒星星库、航天器姿态真值、星敏感器相关的光学参数等信息,依靠模拟计算算法生成类似于星敏感器实际拍摄星图的设备。且获得的星图文件可以以图像文件的形式保存在存储设备中,便于分析与再利用。目前在星敏感器与相关航天器的设计过程中被广泛使用。
[0058]
经研究发现,传统的电子星图模拟器多是采用计算机程序设计的手段对模拟星图进行计算和保存,使用cpu进行计算。cpu的并行运算是采用多核心的模式,但是单一核心依然是串行指令执行过程,因此对于电子模拟星图的计算速率较慢。并且计算机的cpu并不是实时处理器,且具有系统任务调度,某一功能计算过程中可能会被其他任务打断。且原有采用通用计算机星图仿真的电子星图模拟器,在航天器进行真空环境等特殊环境仿真测试时,是无法与航天器一同放入仿真环境中的,不利于仿真环境的设计和操作,一些在高低温、真空实验环境下的仿真实验,传统的电子星图模拟器是无法在实验中进行配置的。
[0059]
基于此,本技术实施例提供了一种电子星图模拟器,解决了现有技术中生成电子模拟星图速度较慢,且无法实现嵌入式设备的问题。
[0060]
请参阅图1,图1为本技术实施例提供的一种电子星图模拟器的结构示意图。如图1中所示,本技术实施例提供的电子星图模拟器100,包括:核心控制器110、数据接收接口120和数据发送接口130,其中所述核心控制器110中包括核心处理器a,x个单星坐标映射模块b1、b2
……
bx、x个单星灰度弥散模块c1、c2
……
cx,星图生成模块d。
[0061]
作为一种可选的实施方式,核心控制器110选用核心器件fpga(field programmable gate array,现场可编程逻辑门阵列)。与传统模式的芯片设计进行对比,fpga本身构成了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元,实现了芯片整体构造的简化与性能提升。具体的,可选用xilinx zynq系列的fpga soc(fpga system on chip,fpga系统级芯片)。内嵌核心处理器a可选用arm cortex-a9硬核,其具有较强的控制和运算能力,能够很好延用包括操作系统、中间件及应用在内的丰富生态系统,从而减少采用全新处理器所需的成本,提供了具有高扩展性和高功耗效率的解决方案。选用如fpga soc这样的核心控制器,可将很多简单但大量重复性的计算工作移植到fpga这种并行运算平台上,这样得以使得控制器的主频可以降低,做到嵌入式设备中。嵌入式设备在航天器仿真实验中的配置比传统的计算机灵活很多,可以一起进行高低温、真空实验,对于仿真环境可以有更多的选择。
[0062]
这里,应注意,上述对核心控制器110和核心处理器a类型的选择仅为示例,实际中,核心控制器110和核心处理器a的类型不限于上述例子。
[0063]
所述数据接收接口120,用于接收仿真系统发送的星敏感器的光轴参数。
[0064]
其中,所述光轴参数包括所述星敏感器的光轴的赤经参数、赤纬参数和旋角参数。
[0065]
需要说明的是,仿真系统指的是在对星敏感器进行地面测试时需要用到的系统。星敏感器是航天器中依靠敏感的恒星星图,通过天文导航算法确定航天器姿态的设备。天文导航算法的实现途径是星敏感器的光学元件敏感天球中的恒星星光,利用电子星图模拟器生成的星光图像进行姿态解算,获取航天器的姿态状态。星敏感器的光轴参数指的是外部输入的光轴指向真值,用于电子星图模拟器仿真计算。具体的,星敏感器的光轴参数可以
包括星敏感器光轴的赤经参数、赤纬参数和旋角参数。这里,光轴指的是通过星敏感器的摄像机镜头中心点的光束的中心线。赤经是天文学使用在天球赤道坐标系统内的坐标值之一,通过天球两极并与天赤道垂直,另一个坐标值是则赤纬。赤经类似于地球经度的角距,赤经是天球赤道坐标系的一个坐标;赤纬与地球上的纬度相似,是纬度在天球上的投影。赤经和赤纬一起用来确定天体在天球中的位置。旋角指的是像片外方位元素之一,为摄影测量处理中,描述成像光束在给定物方空间坐标系内姿态的一个角度。
[0066]
具体的,数据接收接口120接收到仿真系统发送的星敏感器的光轴参数后,将光轴参数发送给核心处理器a,以使核心处理器a可以基于光轴参数确定出待映射星。
[0067]
作为一种可选的实施方式,数据接收接口120选用rs422接口,用于接收外部输入的光轴指向真值用于电子星图模拟器仿真计算。由于光轴指向仅是三个浮点数据,对于10hz的仿真需求,115200bps可以充分满足传输需求。在航天器测试系统与实际应用场景中,rs422是较为常见且可靠的数据通信接口,所以对于低速数据传输选用rs422通信接口。rs422接口的电平匹配芯片可选用max3488芯片,用于将单端信号转换为rs422传输的差分信号。
[0068]
这里,应注意,上述对数据接收接口120类型的选择仅为示例,实际中,数据接收接口120的类型不限于上述例子。
[0069]
所述核心处理器a,用于获取所述星敏感器的预设参数,并基于所述光轴参数以及所述预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标,并将不同的待映射星在天球坐标系下的天体坐标发送给不同的单星坐标映射模块b1、b2
……
bn。
[0070]
需要说明的是,星敏感器的预设参数可以包括星敏感器的视场角参数,是星敏感器自身的参数,视场是指星敏感器所能观测到的天空范围,视场的大小决定了星敏感器的观测范围,通常以角度来表示,视场越大,观测范围越大。待映射星指的是需计算的,会出现在电子模拟星图中的恒星,天球坐标系是一种以天极和春分点作为天球定向基准的坐标系,天体坐标则是在天球坐标系中的坐标。
[0071]
作为一种可选的实施方式,所述核心处理器a在基于所述光轴参数以及所述预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标时,还用于:
[0072]
步骤(1),基于所述星敏感器的光轴参数以及预设参数确定出待映射星的赤经范围与赤纬范围。
[0073]
请参阅图2,图2为本技术实施例提供的待映射星赤经赤纬范围求取过程示意图。具体的,确定出星敏感器的各项参数,包括赤经α、赤纬δ以及视场角fov大小。依据这些参数,在天球上以星敏感器光轴延长线与天球的交点q为圆心,q点在天球的赤经赤纬表示为(α,δ)。以视场角fov为直径做圆,求出待映射星的赤经范围和赤纬范围,如图2所示,得到待映射星的赤经范围是,[α-fov/2,α+fov/2],赤纬范围是[δ-fov/2,δ+fov/2]。
[0074]
步骤(2),针对于星库中的所有恒星,当该恒星的赤经参数位于所述赤经范围内且赤纬参数位于所述赤纬范围内时,则将该恒星确定为所述待映射星,并确定该待映射星在天球坐标系下的天体坐标。
[0075]
需要说明的是,星库指的是提前构建好的映射星数据库,星库中包括全天球中所有恒星在天球坐标系中的赤经参数和赤纬参数。
[0076]
这里,查阅星库中的所有恒星导航星数据库,当星库中的某个恒星的赤经参数位
于赤经范围内且赤纬参数位于赤纬范围内时,则将该恒星确定为待映射星,并基于星图去确定该待映射星在天球坐标系下的天体坐标。由于星库已经预先加载到了本地内存中,因此,再根据确定的搜索范围在本地内存的星库中提取待映射星对应的相关数据,会大大缩短提取时间。不需要再预先划分天区分区根据分区检索导航星,生成星图时,也不需要跨越分区检索导航星,大大降低了算法复杂度。避免了星敏感器视场范围跨越多个分区,检索时降低了算法复杂度,可以将单次待映射星检索时间缩短到毫秒级,大大提高了提取效率,从而提高了电子模拟星图生成速度。
[0077]
具体的,在上述表述中,已经将rs422接口的数据接收过程设计成地址数据总线的形式接入到核心处理器a中。所以,在图像模拟开始时,对rs422数据接收地址进行读取即可获得该电子模拟星图对应的光轴指向信息。按照前述待映射星求取的过程,该算法主要涉及到条件判断,这一部分是将天球中的星按照阈值条件进行筛选。由于算法较为简单,故在arm硬核中实现。核心处理器a在计算出n个待映射星在天球坐标系下分别对应的天体坐标后,将不同的待映射星的天体坐标发送给不同的单星坐标映射模块b1、b2
……
bn。根据本技术提供的实施例,在核心控制器110中会例化多个单星坐标映射模块b1、b2
……
bx,例如,可以例化100个单星坐标映射模块b1、b2
……
b100,因为实际运行情况下待映射星数量通常维持在60-80,对此本技术不做具体限定。当核心处理器a筛选出n个待映射星,这时只需n个单星坐标映射模块b1、b2
……
bn既可以完成对于待映射星坐标的计算,可以做到合理的任务分配。这时核心处理器a将n个不同的待映射星在天球坐标系中的天体坐标发送给不同的单星坐标映射模块b1、b2
……
bn,换句话说就是向一个单星坐标映射模块bi发送一个待映射星的天体坐标,这样在下一步的计算中,便可同时并行计算n个待映射星的星光矢量,实现真正的并行计算。
[0078]
所述单星坐标映射模块b1、b2
……
bn,用于基于所述待映射星在天球坐标系下的天体坐标确定所述待映射星在星敏感器坐标系下的星光矢量,并将所述待映射星在星敏感器坐标系下的星光矢量发送给所述核心处理器a。
[0079]
需要说明的是,星敏感器坐标系指的是星敏感器的测量坐标系,星光矢量指的是待映射星面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。
[0080]
具体的,当单星坐标映射模块bi接收到核心处理器a发送的所述待映射星在天球坐标系下的天体坐标后,基于天梯坐标确定待映射星在星敏感器坐标系下的星光矢量。作为一种可选的实施方式,所述单星坐标映射模块bi在基于所述待映射星在天球坐标系下的天体坐标确定所述待映射星在星敏感器坐标系下的星光矢量时,还用于:
[0081]
通过以下公式(1.1),将该待映射星在天球坐标系下的天体坐标转换为该待映射星在星敏感器坐标系下的星光矢量:
[0082]
[x,y,z]
t
=m[u,v,w]
t
ꢀꢀꢀ
(1.1)
[0083]
其中,m为坐标系间转移矩阵,(u,v,w)为该待映射星在天球坐标系下的天体坐标,(x,y,z)为该待映射星在星敏感器坐标系下的坐标,[u,v,w]
t
为该待映射星在天球坐标系下的方向矢量,[x,y,z]
t
为该待映射星在星敏感器坐标系下的星光矢量。具体的,需要将待映射星映射到成像平面中去。天球坐标系uvw与星敏感器坐标系xyz的变换关系如上述公式(1.1)所示。
[0084]
请参阅图3,图3为本技术实施例提供的天球坐标系o-uvw与星敏感器坐标系o-xyz
的关系的示例图。由于相对于天球半径而言,任何有限距离都可看作同一点,所以星敏感器坐标系原点与天球坐标系原点重合。设星敏感器坐标系视轴z在天球坐标系中的指向坐标为(α0,δ0),图中ozˊ是作为oz在uov平面的投影,则ozˊ与ou夹角为α0,oz与ozˊ夹角为δ0。图中woz平面与xoy平面垂直相交与直线l,将ox与直线l的夹角记作ψ。将uvw系按照坐标轴的旋转方式旋转三次与星敏感器坐标系xyz重合,按照欧拉定理可以得出转移矩阵m,如下述公式(1.2)所示:
[0085][0086]
设恒星在天球坐标系中的指向坐标为(α,δ),则该恒星的[u,v,w]
t
如下述公式(1.3)所示:
[0087][0088]
由上述公式(1.1)、(1.2)、(1.3)可以得出,恒星在星敏感器坐标系中的方向矢量[x,y,z]
t
如下述公式(1.4)所示。
[0089][0090]
在上述公式(1.4)中,α、δ是任一恒星的赤经赤纬,是模拟星图运算中间量;α0、δ0是模拟星图光轴指向的赤经赤纬,是模拟星图运算的输入量;ψ是由星敏感器任务过程中的安装方向等决定的,是模拟开始前设置的映射关系固定值。
[0091]
根据本技术提供的实施例,所有的单星坐标映射模块b1、b2
……
bn都可以基于上述步骤对待映射星在星敏感器坐标系下的星光矢量进行计算。在具体实施时,调用与待映射星数量相同的单星坐标映射模块来进行计算,也就是,当确定出n个待映射星,则需调用n个单星坐标映射模块b1、b2
……
bn来进行并行计算。每一个单星坐标映射模块bi负责计算一个待映射星,无需像传统的计算机中的星图模拟器一样进行繁琐的串行计算,这样可以提高星光矢量计算效率,也可以提高电子模拟星图的生成效率。在单星坐标映射模块b1、b2
……
bn计算完成后,同时将不同的待映射星在星敏感器坐标系下的星光矢量发送给核心处理器a。
[0092]
所述核心处理器a,还用于基于所述n个待映射星在星敏感器坐标系下的星光矢量确定所述n个待映射星在成像平面中的星像点二维坐标,并将不同的待映射星在成像平面中的星像点二维坐标发送给不同的单星灰度弥散模块。
[0093]
需要说明的是,成像平面指的是将待映射星映射到二维图像中时所需的平面图像。星像点指的是将天球坐标系中的待映射星转换为二维成像平面上时所生成的各个点,二维坐标既是星像点在成像平面中的坐标点。
[0094]
作为一种可选的实施方式,所述核心处理器a在基于所述n个待映射星在星敏感器
坐标系下的星光矢量确定所述n个待映射星在成像平面中的星像点二维坐标时,还用于:
[0095]
通过以下公式计算,基于光学系统聚焦长度和该待映射星在星敏感器坐标系下的星光矢量,确定所述星光矢量在成像平面上进行光积分的质心位置坐标:
[0096][0097]
其中,f为光学系统聚焦长度,(x,y)为星光矢量[x,y,z]
t
在成像平面上进行光积分的质心位置坐标。
[0098]
获取星敏感器坐标系下的星光矢量[x,y,z]
t
后,将其通过投影变换映射到成像平面上。投影变换关系如上述公式(1.5),利用已知的光学系统焦距长度f与待映射星的星光矢量方向,既可获得在成像平面上该星光矢量的成像位置。在上述公式(1.5)中,f为光学系统焦距,作为映射关系固定值,在星图模拟开始前设置;(x,y)即为星光矢量[x,y,z]
t
在成像平面上进行光积分的质心位置坐标。
[0099]
将在预设成像范围内的质心位置坐标,作为该待映射星在成像平面中的星像点二维坐标。
[0100]
根据本技术提供的实施例,在具体实施时,待映射天区中的待映射星并不能完全映射到有效成像范围中,对于星敏感器有效像素数为1024*1024时,按照上述映射关系获取到待映射星的质心在成像平面的质心坐标,选择在预设成像范围内的质心位置坐标,例如选取x,y∈[-512,512)的部分,此时获得所有在有效成像平面上的星像点二维坐标。
[0101]
这里,应注意,上述对于星敏感器有效像素数和预设成像范围的举例仅为实例,实际中,星敏感器有效像素数和预设成像范围不限于上述例子。
[0102]
具体的,核心处理器a在基于星光矢量去确定n个待映射星在成像平面中的星像点二维坐标后,并将不同的待映射星在成像平面中的星像点二维坐标发送给不同的单星灰度弥散模块c1、c2
……
cn。根据本技术提供的实施例,如同上述单星坐标映射模块b1、b2
……
bn同样的道理,在核心控制器110中会例化多个单星灰度弥散模块c1、c2
……
cx,例如,可以例化100个单星坐标映射模块单星灰度弥散模块c1、c2
……
c100,对此本技术不做具体限定。当核心处理器a筛选出n个待映射星,这时只需n个单星灰度弥散模块c1、c2
……
cn既可以完成对于星像点灰度的计算,可以做到合理的任务分配。这时核心处理器a将n个不同的待映射星的星像点二维坐标发送给不同的单星灰度弥散模块c1、c2
……
cn,换句话说就是向一个单星灰度弥散模块ci发送一个待映射星的星像点二维坐标,这样在下一步的计算中,便可同时并行计算n个待映射星的星像点灰度,实现真正的并行计算。
[0103]
所述单星灰度弥散模块c1、c2
……
cn,用于基于所述待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度,并将所述星像点灰度发送给所述星图生成模块d。
[0104]
需要说明的是,星像点灰度指的是在黑白图像中星像点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图像也称灰度图像。
[0105]
作为一种可选的实施方式,所述单星灰度弥散模块ci在基于所述待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度时,
还用于:
[0106]
通过以下公式(1.6)计算在成像平面中该星像点二维坐标处的像素的星像点灰度:
[0107][0108]
其中,(x,y)为该待映射星的星像点二维坐标,gray(x0,y0)为(x,y)坐标处的像素的灰度值,a为能量灰度系数,σ为灰度拟合高斯半径。
[0109]
经过上述过程可以获得待映射星的星像点质心坐标位置,此外还需要灰度信息用于生成模拟星图的图像数据。真实星像点通过光积分在图像传感器像平面上呈现为光斑的形式,并且符合正态分布。设计算法模拟真实光积分效果,进行星像点质心的灰度弥散。该过程以星像点质心位置为中心,向周边像素进行灰度的积分运算,使得模拟星图像素的效果接近真实光积分效果。针对一个星像点,周边像素的灰度扩散模式采用指数方式,公式如下。式中,(x,y)为该待映射星的星像点二维坐标,gray(x0,y0)为(x,y)坐标处的像素的灰度值,a为能量灰度系数,σ为灰度拟合高斯半径。能量灰度系数与高斯半径这两个参数,对于确定型号的星敏感器是已知且确定的,星图模拟器仿真时会提前预设这些值。
[0110]
根据本技术提供的实施例,所有的单星灰度弥散模块c1、c2
……
cn都可以基于上述步骤对待映射星在成像平面中的星像点二维坐标进行计算。在具体实施时,调用与待映射星数量相同的单星灰度弥散模块来进行计算,也就是,当确定出n个待映射星,则需调用n个单星灰度弥散模块c1、c2
……
cn来进行并行计算。每一个单星灰度弥散模块ci负责计算一个待映射星,无需像传统的计算机星图模拟器一样串行计算,这样可以提高星像点灰度的计算效率,也可以提高电子模拟星图的生成效率。在单星灰度弥散模块c1、c2
……
cn计算完成后,同时将在成像平面中各个星像点二维坐标处的像素的星像点灰度发送给核心处理器a。
[0111]
所述星图生成模块d,用于基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成电子模拟星图;所述电子模拟星图中至少包括一个星像点。
[0112]
需要说明的是,星图指的是恒星观测的一种形象记录,它是天文学上用来认星和指示位置的一种重要工具。电子模拟星图是不同于传统地理图集或者天体照片,也就是说,电子模拟星图是把夜空中持久的特征精确描述或绘制,例如恒星、恒星组成的星座、银河系、星云、星团和其它河外星系的绘图集。
[0113]
作为一种可选的实施方式,所述星图生成模块d在基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成所述电子模拟星图时,还用于:
[0114]
步骤a,创建初始星图背景图像。
[0115]
需要说明的是,初始星图背景图像指的是预先创建的,用于生成电子模拟星图的原始背景图像。具体的,将待映射星从天球坐标系下的数据转换成星敏感器焦平面上的数据后,创建灰度为0的原始背景图像。
[0116]
步骤b,在所述初始星图背景图像中增加高斯白噪声,得到目标星图背景图像。
[0117]
需要说明的是,高斯白噪声是分析信道加性噪声的理想模型,具体的,热噪声和散粒噪声都是高斯白噪声。作为一种可选的实施方式,高斯白噪声为预先计算产生的。
[0118]
为了为星敏感器应用软件提供更加真实的测试环境,本技术实施例还在初始星图
背景图像中增加了高斯白噪声。由于实际拍摄的星图中,除星像点外,还包括各种噪声情况,所以电子模拟星图中还应考虑真实环境中存在的各种噪声,在初始星图背景图像中添加一定幅度的噪声,使得暗环境区域是具有符合高斯白噪声形式的灰度赋值。如何在初始星图背景图像中增加高斯白噪声在现有技术中有详细说明,对此本技术不再赘述。
[0119]
步骤c,基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度,确定用于生成电子模拟星图所需的图像数据;所述图像数据用来表征所述目标星图背景图像中所有像素点的像素值。
[0120]
这里,具体的,由于在单星灰度弥散模块c1、c2
……
cn中已经计算出n个待映射星中每个待映射星在成像平面中对应的星像点灰度,这时就可以根据星像点灰度确定图像中哪些坐标处用来表征星像点,哪些坐标处用来表征背景。因此利用各个待映射星的星像点灰度即可确定出整个图像的图像数据,包含星像点的位置的像素值与不包含星像点的位置的像素值不同。该图像数据用来表征目标星图背景图像中的所有像素点的像素值。也就是,在目标星图背景图像中,包含星像点的位置会呈现白色的点,不包含星像点的位置会呈现灰色。
[0121]
步骤d,将所述图像数据映射到所述目标星图背景图像中,生成所述电子模拟星图。
[0122]
这里,具体的,在目标星图背景图像中所有像素点的像素值被确定出后,可以将图像数据映射到目标星图背景图像中,即可得到电子模拟星图。
[0123]
在上述三个过程完成后,电子模拟星图的图像数据已经计算完成,进一步需要将图像发送或存储,这部分完全由核心处理器a控制,在图像发送过程中,对数据发送地址写入图像数据即可发起数据发送接口130的传输过程;在图像存储过程中,对数据存储地址写入图像数据即可发起sd卡的写入过程。
[0124]
电子模拟星图的辅助存储功能采用sd(secure digital memory card,安全数码卡)卡实现,主要是考虑到sd卡的存储易于扩展和更换、fpga中接口容易实现。fpga soc芯片可以利用逻辑设计与arm硬核中的嵌入式程序设计直接实现sd卡的各项驱动操作。对于sd卡的实现,按照sdio协议标准要求,可以直接采用fpga的驱动逻辑实现,直接由fpga的io端口控制sd卡的读写操作。sd卡有sd卡槽或mini sd卡槽等多种类型可选,具体按照设计使用场景选用,对此本技术不做具体限定。
[0125]
电子模拟星图的发送功能采用数据发送接口130实现,数据发送接口130将所生成的电子模拟星图发送给接收星图的设备。作为一种可选的实施方式,数据发送接口130可以选用usb 2.0接口用于发送模拟星图到星敏感器地面检测接口等接收星图的设备。usb 2.0接口的选择与通信过程的数据波特率与实现复杂度有关。电子星图模拟器生成的模拟星图的参数指标,由实际使用的星敏感器决定。当前常见的星敏感器可接收的图像参数为1024*1024像素数,单像素位宽为10位~12位,数据传输时单像素按照16位位宽的模式传输,所以单张星图大小为16mbit。目前,星敏感器的有效帧率基本维持在10hz以内。所以满负载仿真时,模拟星图的输入波特率要求在160mbps以上。对于160mbps以上的波特率要求,常见接口有usb 2.0、千兆以太网、usb 3.0等。不考虑电源线的情况下,usb2.0通信建立需要3根独立线,千兆以太网需要8根双绞线,usb 3.0需要8根线(4根独立线与4根双绞线)。考虑到硬件接口设计与通信过程设计的复杂度,认为usb 2.0接口是综合表现最好的。
[0126]
usb 2.0通信协议最高可达480mbps,充分满足星敏感器满负荷仿真的波特率需求,也为后续电子星图模拟器的升级留有余量。此外,usb 2.0数据通信仅需要2根独立线缆即可实现,对走线要求较低,对接收端进行适配性设计有较大优势。所以,本技术所述电子星图模拟器数据输出接口设计为usb 2.0接口。
[0127]
usb 2.0驱动采用fpga控制usb 2.0的驱动芯片实现,主要原因在于usb 2.0是一种双线制高速串行通信协议,采用逻辑设计实现有一定难度,且usb 2.0的5v电平标准与fpga的电平标准(通常3.3v及以下)不兼容,一定要使用某种电平转换芯片实现接口。为降低开发难度同时保证接口通信稳定,选择成熟的usb 2.0驱动芯片是较优的选择。usb 2.0电平标准经由驱动芯片驱动后已经符合标准要求,sd-card直接兼容fpga的io端口电平标准。对于物理接口匹配,rs422接口采用差分线路接口即可,并无特定物理接口;usb 2.0采用专用接插件,有usb type-a、mini-usb、micro-usb等多种接口可选,对此本技术不做具体限定。usb 2.0采用专用驱动芯片ft232h实现。ft232h在fpga中的驱动开发,按照ft232h芯片通信的时序逻辑实现,通信过程按照并行8位宽数据的同步传输过程,将ahb总线中接收到的星图发送的数据按照接口驱动要求逐一转发到ft232h的数据通信接口中,并经由ft232h转换成usb 2.0的标准通信协议发送到外部设备中去。
[0128]
本技术实施例提供的电子星图模拟器,与现有技术中传统的计算机中的电子星图模拟器相比,例化了多个单星坐标映射模块和单星坐标映射模块,在计算模拟星图时可以根据确定出的待映射星的数量去调用对应数量的单星坐标映射模块和单星坐标映射模块,做到合理的任务分配。并且在计算时,多个单星坐标映射模块或多个单星坐标映射模块可以同时计算,实现真正的并行运算,提高了电子模拟星图的生成速率。本技术实施例提供的电子星图模拟器,采用单板式的核心控制器,将很多简单但大量重复性的计算工作移植到并行运算平台上,这样得以使得控制器的主频可以降低,做到嵌入式设备中。嵌入式设备在航天器仿真实验中的配置比传统的计算机灵活很多,可以一起进行高低温、真空实验,对于仿真环境可以有更多的选择。
[0129]
请参阅图4,图4为本技术另一实施例提供的一种电子模拟星图生成方法的流程图。如图4中所示,本技术实施例提供的电子模拟星图生成方法,包括:
[0130]
步骤s401,接收仿真系统发送的星敏感器的光轴参数。
[0131]
其中,所述光轴参数包括所述星敏感器的光轴的赤经参数、赤纬参数和旋角参数。
[0132]
步骤s402,获取所述星敏感器的预设参数,并基于所述光轴参数以及所述预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标。
[0133]
所述预设参数包括星敏感器的视场角参数。
[0134]
步骤s403,针对n个待映射星中任意一个待映射星,基于该待映射星在天球坐标系下的天体坐标确定该待映射星在星敏感器坐标系下的星光矢量。
[0135]
步骤s404,基于该待映射星在星敏感器坐标系下的星光矢量确定该待映射星在成像平面中的星像点二维坐标。
[0136]
步骤s405,基于该待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度。
[0137]
步骤s406,基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成电子模拟星图。
[0138]
其中,所述电子模拟星图中至少包括一个星像点。
[0139]
进一步的,所述基于所述星敏感器的光轴参数以及预设参数确定出n个待映射星在天球坐标系下分别对应的天体坐标,包括:
[0140]
基于所述星敏感器的光轴参数以及预设参数确定出待映射星的赤经范围与赤纬范围;
[0141]
针对于星库中的所有恒星,当该恒星的赤经参数位于所述赤经范围内且赤纬参数位于所述赤纬范围内时,则将该恒星确定为所述待映射星,并确定该待映射星在天球坐标系下的天体坐标。
[0142]
进一步的,所述基于所述待映射星在天球坐标系下的天体坐标确定所述待映射星在星敏感器坐标系下的星光矢量,包括:
[0143]
通过以下公式,将该待映射星在天球坐标系下的天体坐标转换为该待映射星在星敏感器坐标系下的星光矢量:
[0144]
[x,y,z]
t
=m[u,v,w]
t
[0145]
其中,m为坐标系间转移矩阵,(u,v,w)为该待映射星在天球坐标系下的天体坐标,(x,y,z)为该待映射星在星敏感器坐标系下的坐标,[u,v,w]
t
为该待映射星在天球坐标系下的方向矢量,[x,y,z]
t
为该待映射星在星敏感器坐标系下的星光矢量。
[0146]
进一步的,所述基于所述n个待映射星在星敏感器坐标系下的星光矢量确定所述n个待映射星在成像平面中的星像点二维坐标,包括:
[0147]
通过以下公式计算,基于光学系统聚焦长度和该待映射星在星敏感器坐标系下的星光矢量,确定所述星光矢量在成像平面上进行光积分的质心位置坐标:
[0148][0149]
其中,f为光学系统聚焦长度,(x,y)为星光矢量[x,y,z]
t
在成像平面上进行光积分的质心位置坐标;
[0150]
将在预设成像范围内的质心位置坐标,作为该待映射星在成像平面中的星像点二维坐标。
[0151]
进一步的,所述基于所述待映射星在成像平面中的星像点二维坐标确定在成像平面中该星像点二维坐标处的像素的星像点灰度,包括:
[0152]
通过以下公式计算在成像平面中该星像点二维坐标处的像素的星像点灰度:
[0153][0154]
其中,(x,y)为该待映射星的星像点二维坐标,gray(x0,y0)为(x,y)坐标处的像素的灰度值,a为能量灰度系数,σ为灰度拟合高斯半径。
[0155]
进一步的,所述基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度生成所述电子模拟星图,包括;
[0156]
创建初始星图背景图像;
[0157]
在所述初始星图背景图像中增加高斯白噪声,得到目标星图背景图像;
[0158]
基于所述n个待映射星中每个待映射星在成像平面中对应的星像点灰度,确定用于生成电子模拟星图所需的图像数据;所述图像数据用来表征所述目标星图背景图像中所有像素点的像素值;
[0159]
将所述图像数据映射到所述目标星图背景图像中,生成所述电子模拟星图。
[0160]
请参阅图5,图5为本技术实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
[0161]
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图4所示方法实施例中的电子模拟星图生成方法的步骤,解决了现有技术中生成电子模拟星图速度较慢,且无法实现嵌入式设备的问题,具体实现方式可参见方法实施例,在此不再赘述。
[0162]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图4所示方法实施例中的电子模拟星图生成方法的步骤,解决了现有技术中生成电子模拟星图速度较慢,且无法实现嵌入式设备的问题,具体实现方式可参见方法实施例,在此不再赘述。
[0163]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0164]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0165]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0166]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0167]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第
一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0169]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1