一种基于GPU的快速星表检索方法技术

技术编号:6607099 阅读:214 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于GPU的星表检索方法,其步骤包括:1)采用经纬度划分法将星表划分为星区存储;2)计算星敏感器圆形视场区域所覆盖的星区,该过程先计算视轴的球面坐标;然后计算圆形视场的经纬度边界,在分区星表中查找圆形视场所覆盖的星区;3)将星区内恒星传入GPU全局内存以恒星集方式存储,GPU恒星计算线程网格划分为若干个线程块,每个线程块负责处理一个恒星集合,每一个线程负责对一个恒星进行检索;4)各线程检索出落入圆形视场内的恒星,在圆形视场内检索出落入CCD成像面的恒星。本发明专利技术方法将各类视场下的检索时间控制在毫秒级别,使得在大视场、宽星等域下满足星图生成等各类仿真应用对恒星检索的实时要求。

【技术实现步骤摘要】

本专利技术属于计算机仿真领域,具体涉及一种具有快速实时特点的星表检索方法, 该检索方法能够在给定大小的视场下,快速检索出星表中落入视场内的恒星。
技术介绍
星敏感器是卫星姿态确定与控制系统中重要的星上设备,主要采用快速的星图识别算法以确定卫星的姿态。为了测试星敏感器的识别算法性能,需要使用星模拟器,模拟任意时刻,任意飞行器姿态下的星敏感器视场内的星图。计算机模拟星敏感器等航天设备拍摄到的背景星图,首先根据探测视场光轴的赤经、赤纬,以给定的星敏感视场大小以及视场绕光轴的旋转角度确定视场范围,从星表提取落入视场内的恒星,最后将这些星点以二维图像形式显示出来。落人星敏感器视场内的观测星与模拟天球分布的所有观测星相比只占极少数,这就存在一个在星表快速检索落入星敏感器视场的观测星的问题。设计高效率的星表检索算法是提高星图模拟速度,实现星空环境实时仿真的关键因素。星表包含了一定数量恒星的星编号、星等、对应某一历元时刻的星位置(天赤经、 天赤纬)等数据,构成了对空间天球坐标系下恒星的描述。星表检索以恒星星表为基础, 通过给定视场大小和视轴指向确定搜索范围,从星表中检索出落入视场内的恒星。为了力口快星表检索速度,文献(参考 Bone Jeffery W. on—orbit star processing using multi-startrackers . Proc. SPIE, 1994,22 (21) 6-8)提出一种球矩阵结构来存储星表,通过优化星表结构以提高恒星存取效率,但该方法在矩阵维数较大时,存取时间并不能显著减少。文献(参考饶才杰,房建成.一种星图模拟中观测星提取的方法.光学精密工程,2004,12 (2) 129-134.)提出了经纬度圈法划分星表,用赤经圈和赤纬圈将天球分成不重叠的区域,每个区域独立存储,该方法边界清晰,计算简单,然而在处理大规模星表时容易产生过多的分区,影响恒星查询效率;文献(参考张广军,魏新国,江洁.一种改进的三角形星图识别方法.航空学报,2006,27 (6) :1150-1154.)通过构造天球的“内接正方体”将天球球面均勻分成6块,再细分块为更多子块,通过子块索引号读取恒星,这种方法查询方便,但对恒星的块边界判断较复杂,当恒星数量较大时,边界计算耗时较高。为了缩小搜索范围,文献W](参考胡宜宁,巩岩.动态星图显示算法的设计与实现.宇航学报,2008,四(3) =849-853.)针对某一指向的视场,取视场光轴所在分区临近的八个子区作为搜索区,检索落入视场内的恒星,该方法有效缩小检索空间,然而只能针对特定大小的视场,这是因为天球上赤经弧长随纬度增加而逐渐缩短,当视轴指向不同天区,不同大小的视场覆盖的子区数目并不相同。文献(参考蔡志武,韩春好,陈金平.一种高精度星载导航星库的构建方法.测绘科学技术学报,2006,23(1) :29-32.)通过计算球表面上视场的经纬度边界范围,进而查找该视场所关联的子区,但该方法采用膨胀因子计算经纬度边界范围,计算精度不高。此外,已有的视场内恒星检索过程均在CPU上的串行实现,在恒星数量巨大时,检索效率并不高。随着星敏感器等航天设备观测能力的提升,可观测星等域越来越大。目前在大视场、宽探测星等域条件下,如何提高星表检索速度已经成为航天仿真在星空领域的亟需解决的问题。
技术实现思路
针对现有方法的缺点,本专利技术提出一种基于GPU的星表检索方法。该方法采用经纬度划分法对星表进行星区划分;提出了一种视场所覆盖的星区计算方法,解决视场边界范围计算不准问题;然后采用NIVIDIA提出的CUDA并行架构,设计基于GPU平台的视场恒星查找并行算法;具有快速检索出星表的效果。为了实现本专利技术的目的,采用的技术方案概述如下一种基于GPU的星表检索方法,其步骤包括1)采用经纬度划分法将星表划分为星区存储;2)计算星敏感器圆形视场区域所覆盖的星区,该过程先计算视轴的球面坐标 ’然后计算圆形视场的经纬度边界,在分区星表中查找圆形视场所覆盖的星区;3)将星区内恒星传入GPU全局内存以恒星集方式存储,GPU恒星计算线程网格划分为若干个线程块,每个线程块负责处理一个恒星集合,每一个线程负责对一个恒星进行检索;4)各线程检索出落入圆形视场内的恒星,在圆形视场内检索出落入CCD成像面的恒星。所述步骤1)经纬度划分法是按照一定的经纬度间隔,用赤经圈和赤纬圈将天球分成不重叠的区域,每个区域内的恒星独立存储,并按照各个区域所在经度和纬度范围进行编号。进一步,对同一纬度区间内的星区按照经度递增的顺序合并存储到一个星表文件,并且建立索引。进一步,所述索引记录了各星区所在经度范围以及星区在星表文件中的恒星首地址、偏移长度。所述步骤2~)通过视场在天球的圆形投影面与赤经线构造球面三角形,通过球面几何关系计算出经纬度边界。进一步,所述构造球面三角形方法为以0为视轴与天球面的交点,过0点的经线与视场区域交与P” P2两点,视场区域与天球两条相切经线切于Q” Q2两点;所述球面几何关系为θ为视场半张角,α ρ α 2分别为0和%的纬度,Δ δ为%和0的经度差。所述步骤4)判断恒星落入圆形视场所在区域的方法是计算出该恒星到观测点的连线与视轴的夹角,比较该夹角与视场张角的大小关系,如果该夹角大于视场张角,该恒星位于视场外,否则,恒星落入圆形视场所在区域。所述步骤4)判断恒星坐标落入C⑶像平面上的方法是该恒星坐标在像平面的坐标范围内。(1)本专利技术的积极效果与过去的星表检索方法相比,本专利技术有如下优点1)采用经纬度划分法对星表进cos(90 - Or1) = cos 汐 cos(90-a2) sin θ = sin(90-O1) sinAiJ行分割,并引入合并存储方式存储各星表分区,使得星表存储管理方便,且提高了查询效率;2)通过引入球面三角形法求出视场在星表天球所覆盖的精确经纬度边界,并以此为基础,得出视场所覆盖的星区,以这些星区作为检索区域而不是整个星表,缩小了搜索范围; 3)设计了基于GPU平台的星表检索并行检索算法。利用当前GPU强大的数值计算能力和并行处理能力,将对海量恒星的查找过程进行多线程并行加速,获得了数十倍的加速比;4) 将各类视场下的检索时间控制在毫秒级别,使得在大视场、宽星等域下满足星图生成等各类仿真应用对恒星检索的实时要求。附图说明图1为天球中视场边界表示图;图2为视场与CCD成像面位置关系图;图3为恒星检索并行模式示意图;图4为GPU星表检索算法示意图;图5为不同GPU平台星表检索的加速效果比较示意图。具体实施例方式下面结合附图和具体实施例对本专利技术作详细的说明。由于近年来GPU数值计算能力快速提升,可进行数值计算的并行处理核心已可达 300个。设计基于GPU上的并行计算对数据规模大且可并行化的处理显示出强大优势,已经在几何造型、分子模拟、图像处理等领域取得了很好的加速效果。对星表检索的分析显示, 视场内恒星的检索过程具有较高的并行度,非常适合使用GPU进行加速。这是因为,首先在大视场,宽探测星等域下,视场内恒星查找是一个计算密集、数据量大的处理过程,其计算量占整个星表检索计算量的85 % 90 %,高效且快速地实现该查找过程是提高整体检索速度的关键;其次,查找视场恒星的每一本文档来自技高网
...

【技术保护点】
1.一种基于GPU的星表检索方法,其步骤包括:1)采用经纬度划分法将星表划分为星区存储;2)计算星敏感器圆形视场区域所覆盖的星区,该过程先计算视轴的球面坐标;然后计算圆形视场的经纬度边界,在分区星表中查找圆形视场所覆盖的星区;3)将星区内恒星传入GPU全局内存以恒星集方式存储,GPU恒星计算线程网格划分为若干个线程块,每个线程块负责处理一个恒星集合,每一个线程负责对一个恒星进行检索;4)各线程检索出落入圆形视场内的恒星,在圆形视场内检索出落入CCD成像面的恒星。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑昌文李超吴佳泽程小华
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1