凌 翔, 鄭宏亮, 何元駒
(電子科技大學(xué) 通信抗干擾技術(shù)國家級重點實驗室,成都 611731)
隨著航空航天技術(shù)的快速發(fā)展,如何獲取精準(zhǔn)的航天器姿態(tài)信息并進(jìn)行精確的控制是一個重要的問題[1-3]。為了達(dá)到這一目的,研究者們采用星敏感器進(jìn)行高精度的姿態(tài)測定和導(dǎo)航。星敏感器是一種在航空航天領(lǐng)域經(jīng)常使用到的姿態(tài)測量裝置[4-5],可以利用恒星圖像對航天器的姿態(tài)進(jìn)行測量和控制[6-8]。在星敏感器的研發(fā)和測試階段,對星敏感器的測試和校準(zhǔn)是一項非常重要的工作。
對星敏感器的測試主要兩種方式,一種是直接進(jìn)行外場測試,這種方式成本較高,實現(xiàn)難度較大,不易進(jìn)行大規(guī)模測試。另外一種方法是使用星模擬器對星敏感器進(jìn)行測試[9-10]。星模擬器負(fù)責(zé)將仿真圖像按一定幀頻和格式輸出到光學(xué)器件當(dāng)中,再由光學(xué)器件輸出到星敏感器當(dāng)中,實現(xiàn)星敏感器的實時校準(zhǔn)和測量。該方法效率較高,方便快捷,易于實現(xiàn)。
星模擬器中的一個重要部分便是數(shù)字星圖的生成[11-13],本文對數(shù)字星圖生成算法進(jìn)行了設(shè)計和仿真,給出了詳細(xì)的算法實現(xiàn)步驟和仿真結(jié)果,該算法可以直接應(yīng)用于星模擬器的設(shè)計與實現(xiàn)。本文以天空中目視最亮星天狼星所對應(yīng)的赤經(jīng)赤緯作為輸入?yún)?shù),其他參數(shù)采取星模擬器常用參數(shù),仿真得到了天狼星所在星座大犬座的犬頭部所對應(yīng)的星圖,并和商用軟件結(jié)果進(jìn)行了比較,驗證了仿真的正確性。
本節(jié)將詳細(xì)介紹靜態(tài)星圖生成功能代碼部分所使用到的算法,該算法分為以下8個步驟:仿真輸入?yún)?shù)初始化,星空分區(qū),選取星區(qū),星區(qū)選取恒星,求取旋轉(zhuǎn)矩陣,求取CCD靶面坐標(biāo),計算恒星的灰度,計算全圖坐標(biāo)和灰度并畫圖。仿真代碼也是根據(jù)這8個步驟進(jìn)行編寫的,仿真結(jié)果可以根據(jù)這8個步驟的計算直接得到。
數(shù)字星圖生成算法流程如圖1所示。首先初始化仿真參數(shù),對星空進(jìn)行分區(qū),根據(jù)星敏感器光軸的赤經(jīng)和赤緯,給定星敏感器視場大小、方位角以及焦距等參數(shù),從觀測星庫中進(jìn)行觀測星的提取,然后進(jìn)行坐標(biāo)和星等的變換,最后將這些星點以二維圖像的形式顯示,實現(xiàn)現(xiàn)實中星空圖像的模擬。
圖1數(shù)字星圖生成算法流程圖
用戶根據(jù)仿真需求設(shè)定輸入?yún)?shù),參數(shù)主要包括:星敏感器光軸中心赤經(jīng)α,星敏感器光軸中心赤緯δ,星敏感器視場的對角度數(shù)R,星敏感器分辨率,星敏感器光斑彌撒半徑大小σ,星敏感器中心點亮度系數(shù)k,星空分區(qū)間隔B,選取恒星的星等范圍,選取恒星的光譜類型。本文中的算法將根據(jù)以上輸入?yún)?shù)進(jìn)行進(jìn)一步運算。
星空分區(qū)部分主要是將SAO星表里所有恒星和分區(qū)一一對應(yīng),該分區(qū)將在選取星區(qū)部分進(jìn)一步使用,默認(rèn)星空分區(qū)間隔B=12°。本仿真算法設(shè)計分區(qū)考慮赤經(jīng)變化范圍0°~360°,劃分為30個區(qū),編號為0~29;赤緯變化范圍是-90°~+90°,劃分為15個區(qū),編號為0~14。一共有450個子區(qū)。赤經(jīng)赤緯的單位使用“度”來表示。分區(qū)結(jié)果如圖2所示,此處僅顯示了赤經(jīng)0°~180°所對應(yīng)的部分,赤經(jīng)180°~360°與此類似。
圖2星空分區(qū)圖
選取星區(qū)部分是將星空分區(qū)中所分得的星區(qū)中能夠用于星圖生成的星區(qū)選擇出來進(jìn)行計算,其余星區(qū)不進(jìn)行計算。根據(jù)星敏感器方向的赤經(jīng),赤緯和視場角求所需要提取的星區(qū)編號,設(shè)星敏感器光軸指向(α,δ)。
星區(qū)編號的左界計算方法:
星區(qū)編號的右界計算方法:
星區(qū)編號的下界計算方法:
星區(qū)編號的上界計算方法:
式中:α為星敏感器光軸中心赤經(jīng);δ為星敏感器光軸中心赤緯;R為視場角大小;B為赤緯的分區(qū)間隔;N為赤緯的分區(qū)編號最大值;M為赤經(jīng)的分區(qū)編號最大值。此處的int取最近的整數(shù)(相當(dāng)于四舍五入)。如果J<0則取J不斷加30直至落在0~29區(qū)間內(nèi)為止,如果J>29則取J不斷減30直至落在0~29區(qū)間內(nèi)為止,如果D小于0則取D為0,如果D大于14則取D為14。選取的星區(qū)編號,即為以上求得的左界,右界,上界,下界范圍內(nèi)的星區(qū)。
依據(jù)1.3節(jié)中所求得分區(qū),1.1節(jié)中星星與星區(qū)對應(yīng)關(guān)系,觀測星等范圍,恒星的光譜類型等選取參數(shù),查找SAO星表,選取恒星。選取出來的恒星會進(jìn)一步進(jìn)行后續(xù)計算。
(1) 根據(jù)天球坐標(biāo)系旋轉(zhuǎn)到星敏感器坐標(biāo)系的旋轉(zhuǎn)角和方法求3×3的旋轉(zhuǎn)矩陣。該旋轉(zhuǎn)矩陣的求取方法為,先繞z軸逆時針旋轉(zhuǎn)φ,再繞Y軸逆時針旋轉(zhuǎn)θ,再繞X軸逆時針旋轉(zhuǎn)λ,計算公式:
(2) 將SAO星表中的天球坐標(biāo)系的球面坐標(biāo)轉(zhuǎn)化成直角坐標(biāo)系矢量。設(shè)觀測星的赤經(jīng)、赤緯為(α0,δ0),觀測星在天球坐標(biāo)系下的方向矢量為:
x=f×X1/Y1,y=f×Z1/Y1
其中:n為每行和每列的像素點個數(shù),與分辨率相對應(yīng);R為視場角大小;f為焦距。
星等即對應(yīng)光度,光度在感光元件上可以理解為亮度,亮度在圖片上可以表示為灰度。灰度量化有線性量化[14]和指數(shù)量化[15]兩種方法,分別用于不同的場合。為了獲得更好的顯示效果,后續(xù)仿真采用線性量化。
若采用線性量化、16 bit量化灰度時,當(dāng)星等取最小值時,灰度為65 535,星等Mj到灰度Hj的表達(dá)式為:Hj=65 535-2 560×(Mj-Mmin)。此處Mmin為能夠顯示的星等最小值即-1.6,2 560這個值為需要根據(jù)實際拍攝情況進(jìn)行調(diào)整。
若采用指數(shù)量化,在量化灰度時,使用公式Mj=-2.512×lg(Hj)+Q0進(jìn)行星等和灰度和之間的轉(zhuǎn)換,式中:Hj是灰度和;Mj是星等;Q0為輸入的參數(shù),默認(rèn)為10.1,此參數(shù)根據(jù)實際星敏感器相關(guān)參數(shù)來進(jìn)行設(shè)定,可以進(jìn)行調(diào)整。
根據(jù)灰度分布模型計算每個星的灰度,結(jié)合1.7節(jié)中求得的平面坐標(biāo),畫圖。每顆星的灰度分布符合二維高斯分布模型。每個點的灰度采用如下公式進(jìn)行計算:
P(x,y)=I(x,y)+N(x,y)+B
式中:P(x,y)為圖片上坐標(biāo)為(x,y)點的灰度值;I(x,y)的計算公式將在后面進(jìn)行詳細(xì)說明;N(x,y)為背景噪聲;B為背景灰度值(定義為0)。
I的計算公式為:
式中:kHj/(2πσ2)為中心位置的能量灰度值;σ為像點光斑彌散半徑大小,需要提前確定。對于常見情況所對應(yīng)的參數(shù),取k=0.992 3,σ=0.562 0,這樣中心點的灰度為灰度總和的50%,且所有點的灰度和為Hj。
為了便于算法驗證以及圖像顯示,我們選取大犬座星圖為例進(jìn)行仿真。星敏感器光軸中心赤經(jīng)α為101.287°星敏感器光軸中心赤緯δ為-16.716°,星敏感器視場的對角度數(shù)R為14°,星敏感器分辨率512×512,星敏感器光斑彌撒半徑大小σ為0.562 0,星敏感器中心點亮度系數(shù)k為0.992 3,灰度量化比特為16 bit,天區(qū)赤緯的分區(qū)間隔B為12°,選取星等為-1.6~5等的恒星,星敏感器初始位置在天球坐標(biāo)系y軸上。選擇此赤經(jīng)赤緯為星敏感器光軸方向有如下原因,天狼星的赤經(jīng)為101.287°。赤緯為-16.716°,天狼星是是大犬座α星,位于犬頸部的位置,如此選擇能夠看到天狼星所在大犬座的頭部的圖像,易于驗證正確性。
經(jīng)第1節(jié)中相關(guān)運算后,得到的大犬座頭部星圖如圖3所示。將圖中對應(yīng)點按照大犬座進(jìn)行連線,得到圖4。需要注意的是,原星圖生成算法不自帶連線功能,連線是后來添加的。
圖3 大犬座頭部星圖
圖4 大犬座頭部連線圖
將圖4和和商用手機軟件“Google 星空地圖”中的大犬座圖片進(jìn)行比較,可以看出上圖顯示的是犬頭位置,圖像仿真是正確的。圖5即為“Google 星空地圖”中的大犬座圖片。商用軟件雖然可以進(jìn)行星圖觀測,但是該軟件不是使用二維高斯分布進(jìn)行的星圖模擬,與現(xiàn)實不符。并且很多相關(guān)參數(shù)不可調(diào),無法用于星圖模擬器的設(shè)計與仿真。
圖5 “Google星空地圖”中的大犬座圖片
本文介紹了星圖生成算法的過程,并給出了多個參數(shù)的常用取值和取值原因。我們對此算法進(jìn)行了編程,對天狼星所對應(yīng)星座大犬座的犬頭部所對應(yīng)的星圖進(jìn)行了仿真,得到了星圖仿真結(jié)果。將數(shù)字星圖和商用軟件結(jié)果進(jìn)行比較,驗證了仿真的正確性。該數(shù)字星圖生成算法可以直接應(yīng)用于星模擬器的制造和星敏感器算法驗證過程,對星模擬器和星敏感器研究和實現(xiàn)有著重要意義。星敏感器在運行過程中所采集到的圖像可能會受到各類噪聲干擾和晃動影響[14-16],在本文中未進(jìn)行敘述,這也是星圖生成算法需要進(jìn)行研究的方向,我們也將對此進(jìn)行研究。
參考文獻(xiàn)(References):
[1]郭敬明, 魏仲慧, 何昕,等. CCD星圖模擬器的設(shè)計及驗證[J]. 中國光學(xué), 2010, 3(5):486-493.
[2]趙小方, 劉光斌, 劉朝山. 基于數(shù)字圖像注入式星圖識別跟蹤閉環(huán)仿真系統(tǒng)[J]. 數(shù)字技術(shù)與應(yīng)用, 2012(9):67-68.
[3]盧佳. 基于虛擬儀器的動態(tài)星圖顯示技術(shù)研究[D]. 長春:長春理工大學(xué), 2012.
[4]饒才杰, 房建成. 一種星圖模擬中觀測星提取的方法[J]. 光學(xué)精密工程, 2004, 12(2):129-135.
[5]周興. 天文定位系統(tǒng)中恒星定位與識別算法的研究[D]. 西安:西安電子科技大學(xué), 2012.
[6]魏新國, 張廣軍, 樊巧云,等. 利用仿真星圖的星敏感器地面功能測試方法[J]. 紅外與激光工程, 2008, 37(6):1087-1091.
[7]吳峰, 朱錫芳, 許清泉. 星圖模擬方法在星敏感器技術(shù)研究中的應(yīng)用[J]. 常州工學(xué)院學(xué)報, 2013(2):1-5.
[8]李欣璐, 楊進(jìn)華, 張劉,等. 一種快速全天自主星圖識別算法[J]. 長春理工大學(xué)學(xué)報(自然科學(xué)版), 2014(3):43-47.
[9]孫高飛, 張國玉, 王凌云,等. 甚高精度星模擬器星圖顯示與控制系統(tǒng)研究[J]. 空間科學(xué)學(xué)報, 2013, 33(3):308-312.
[10]李輝, 王安國, 張磊,等. 船用星敏感器星圖模擬方法[J]. 光電工程, 2013, 40(4):72-79.
[11]張偉, 潘海斌, 鮑文卓,等. 星空背景數(shù)字圖像的生成[J]. 光學(xué)精密工程, 2009, 17(3):676-682.
[12]史英海, 王志峰, 黃欣. 數(shù)字星模系統(tǒng)設(shè)計[C]. 全國空間及運動體控制技術(shù)學(xué)術(shù)會議, 2008.
[13]全偉, 房建成. 高精度星圖模擬及有效性驗證新方法[J]. 光電工程, 2005, 32(7):22-26.
[14]支帥, 張劉, 李欣璐. 帶噪聲模擬仿真星圖的實現(xiàn)[J]. 中國光學(xué), 2014, 7(4):581-587.
[15]汪英嬌,張國玉,孫高飛,等.動態(tài)星模擬器星圖模擬軟件設(shè)計[J]. 長春理工大學(xué)學(xué)報, 2011(1):5-8.
[16]胡宜寧, 鞏巖. 動態(tài)星圖顯示算法的設(shè)計與實現(xiàn)[J]. 宇航學(xué)報, 2008, 29(3):849-853.