李葆華,曾慶雙,張同雙
(1.哈爾濱工業大學航天學院,哈爾濱 150001;2.中國衛星海上測控部,江蘇 江陰 214431)
隨著航空航天技術的發展,星敏感器作為一種高精度的姿態測量設備被越來越廣泛地應用到衛星等航天器中[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硬件實現實時提取恒星星像坐標方法。

圖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列的信息。
基于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;

選用某型號衛星星敏感器進行試驗,主要參數如下:
(4)疑似導管相關血流感染 采用美國CDC標準判斷[10]:菌血癥/真菌血癥,從外周靜脈取血培養至少有一項是陽性的,有感染的臨床表現,且除了導管裝置或導管尖端或入口處拭子血培養是陽性的,沒有其他部位血流感染來源。
視場:14o×14o
星圖面陣:1024×1024
探測星等:6等
星敏感器FPGA的型號:ALTERA CycloneII EP2C8Q208I8
EP2C8Q208I8的主要特征參數:
邏輯單元:8256個
RAM:165888bit
鎖相環:2個
最大使用I/O數量:182個
星敏感器FPGA工作頻率:輸入FPGA的晶振頻率20MHz,采用鎖相環后的實現提取恒星星像坐標過程的工作頻率為80MHz;
星敏感器處理器工作頻率:20MHz。
以星像坐標提取精度、數據更新周期為指標,我們選用某型號衛星星敏感器,對采用軟件提取恒星星像坐標方法和采用FPGA實時提取恒星星像坐標方法,進行了比較試驗驗證。

圖3 星敏感器拍攝星圖Fig.3 The star image sampled by star sensor
試驗方法:利用星敏感器拍攝一幅星圖,把星圖傳送到上位機。采用軟件提取恒星星像坐標方法提取所有恒星星像坐標。同時把采用FPGA星像提取方法提取的星像坐標傳也送到上位機,兩種方法提取的星像坐標以及這些恒星的實際星像坐標如表1所示。
試驗方法:在星敏感器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實現實時提取恒星星像坐標的方法能進一步降低數據更新周期,提高數據更新率。
大面陣、高分辨率是星敏感器的發展趨勢。隨著圖像面陣增加,存儲圖像和提取星像坐標的時間也增加,當前不管是采用軟件來實現提取恒星星像坐標還是采用硬件描述來實現提取星像坐標,都較難提高星敏感器的數據更新率。由于星像提取算法中只有加、減運算,且算法控制結構比較簡單,因此適合于用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.