專利名稱:陣列小孔式太陽敏感器信號處理方法和裝置的制作方法
技術領域:
本發明涉及太陽敏感器的信號處理方法和裝置,特別是一種陣列小孔式太陽敏感器信號處理方法和裝置。
背景技術:
太陽敏感器是以太陽為基準方位,測量衛星等航天器某一體軸或坐標平面與太陽視線之間夾角的一種姿態敏感器,在衛星等航天器姿態測量和控制中具有廣泛的應用前景。新型的互補金屬氧化物半導體存儲器(CMOS,Complementary Metal Oxide Semiconductor)太陽敏感器主要包括以單孔或陣列小孔透光的光學系統、基于現場可編程門陣列(FPGA,Field ProgrammableGate Array)或高級精簡指令系統處理器(ARM,Advanced RISC Machines)的電子系統和處理計算機。其工作原理為太陽光線經光學系統的小孔,透射到CMOS圖像傳感器上形成光斑。太陽光線的入射角度不同,光斑位置就不同。電子系統和處理計算機通過對這種光斑圖像的處理和姿態測算,得到衛星相應的姿態角。
目前國內外所研制的CMOS太陽敏感器,其工作方式為由電子系統完成圖像采集、簡單的圖像處理和與處理計算機的通信,由處理計算機完成圖像的進一步處理(如光斑質心計算、光斑識別和姿態計算等)。一種太陽敏感器電子系統所實現的功能是圖像的采集和閾值分割,并將大于閾值的光斑信息傳給處理計算機;另一種太陽敏感器電子系統所實現的功能只有圖像采集,圖像處理和姿態計算由處理計算機機完成。這兩種工作方式都勢必增加處理計算機的負擔,而且需要將整個圖像的相關數據傳給處理計算機,導致傳輸的數據量大,其傳輸速度限制了太陽敏感器姿態更新率的提高。
另外,太陽敏感器光學系統可能被污染而導致個別小孔不能透光,所以要保證在這種情況下仍能進行姿態計算,才能提高太陽敏感器工作的可靠性。
發明內容
有鑒于此,本發明的主要目的在于提供一種陣列小孔式太陽敏感器信號處理方法,其可靠性高。
本發明的另一目的在于提供一種陣列小孔式太陽敏感器信號處理裝置,其直接輸出姿態角,實現了太陽敏感器的集成化設計。
為達到上述目的,本發明的技術方案是這樣實現的一種陣列小孔式太陽敏感器信號處理方法,該方法包含以下步驟A、從質心坐標存儲器讀取一行光斑,并累計該行光斑個數;B、對該行光斑進行缺失判斷,即比較步驟A所述累計的光斑個數與每行應有的光斑個數;如果二者相等,表明當前行光斑無缺失,執行步驟C,如果所累計的光斑個數小于應有光斑個數,則表明當前行光斑有缺失,執行步驟F;C、對當前行光斑的列坐標值逐一比較,找到列坐標值最大的光斑,記錄該光斑列序號及其存放地址;根據該光斑行列序號選取其對應的標定參數,同時將該光斑質心坐標和標定參數輸出給姿態計算模塊;D、計算當前所識別光斑對應的姿態角,并將計算結果累加到姿態角累加和;E、判斷當前行光斑是否識別完畢,如果未完成,將當前所識別光斑列坐標值置0,列序號加1,返回步驟C,開始當前行下一列光斑的識別,如果完成,進入步驟F;F、判斷所有行光斑是否識別完畢,如果未完成,行序號加1,返回步驟A,如果完成,將步驟D得到的各個光斑姿態角的累加和取平均值,得到最終的姿態角。
所述步驟A具體為A1、從質心行坐標存儲器讀取相鄰存放的兩個光斑質心的行坐標,并累計已讀取的光斑個數;A2、對所讀取兩個光斑質心行坐標取差值,并與設定的相同行行坐標間距常數比較,如果所述差值小于該常數,返回步驟A1,當所述差值大于該常數時,表明當前行光斑結束,記錄當前行序號,累計停止。
所述標定參數包括,該光斑對應的透光小孔的原點坐標和所述透光小孔與圖像傳感器的焦距。
所述步驟D中根據光斑的質心坐標和標定參數計算其姿態角,采用CORDIC算法實現其中的反正切運算及平方和開根號運算。
一種陣列小孔式太陽敏感器信號處理裝置,該裝置包括光斑缺失判斷與識別模塊、姿態計算模塊,其中,所述光斑缺失判斷與識別模塊,對一行光斑是否缺失進行判斷,并對無缺失行光斑進行識別,將所識別光斑質心坐標及其對應的標定參數輸出給姿態計算模塊;所述姿態計算模塊,根據光斑質心坐標及其對應的標定參數計算最終的姿態角。
所述光斑缺失判斷與光斑識別模塊由減法器、行坐標比較器、列坐標比較器、讀地址發生器、清零控制器、多路選擇器、標定參數存儲器、光斑缺失判斷狀態機和光斑識別狀態機組成,其中,所述減法器用來計算相鄰存放的兩個光斑的質心行坐標差值,差值輸出給行坐標比較器;所述行坐標比較器用來比較上述差值與設定的相同行行坐標間距常數的大小,結果輸出給光斑缺失判斷狀態機;所述光斑缺失判斷狀態機能夠向讀地址發生器發出相應的控制信號,根據行坐標比較器輸出結果及該行光斑個數,判斷當前行光斑是否缺失,并向多路選擇器輸出當前無缺失行光斑的行序號,向光斑識別狀態機輸出當前無缺失行光斑存放的首地址和光斑識別使能信號;所述讀地址發生器根據光斑缺失判斷狀態機和光斑識別狀態機給出的控制信號,產生讀取質心行坐標和列坐標的地址信號;所述列坐標比較器用于比較當前無缺失行光斑列坐標值的大小,比較結果輸出給光斑識別狀態機;所述光斑識別狀態機能夠向讀地址發生器發出相應的控制信號,根據當前無缺失行光斑的列坐標值大小識別光斑列序號,向多路選擇器發出當前所識別光斑的列序號,并向清零控制器發出控制信號;所述清零控制器根據光斑識別狀態機輸出的控制信號,將當前所識別光斑的列坐標值置0;所述多路選擇器用于根據光斑缺失判斷狀態機給出的光斑行序號,以及光斑識別狀態機給出的列序號,選取當前所識別光斑對應的標定參數,并將所述標定參數輸出給姿態計算模塊;所述標定參數存儲器用于存儲各光斑對應的標定參數。
所述姿態計算模塊包括X減法器、Y減法器、第一反正切運算器、第二反正切運算器、求模運算器和姿態計算狀態機;所述X減法器用于計算光斑質心列坐標與其對應小孔坐標原點的差值;所述Y減法器用于計算光斑質心行坐標與其對應小孔坐標原點的差值;所述第一反正切運算器采用CORDIC算法,根據X減法器和Y減法器的結果計算光斑的姿態偏航角,結果輸出到姿態計算狀態機;所述求模運算器采用CORDIC算法,根據X減法器和Y減法器的結果計算其對應復數的模;所述第二反正切運算器根據求模運算器求出的模和當前光斑對應的透光小孔與圖像傳感器的焦距計算光斑的俯仰角,結果輸出到姿態計算狀態機;所述姿態計算狀態機用于控制姿態計算模塊實現上述各部分運算,并計算最終的姿態角。
本發明具有如下優點1)本發明采用單芯片FPGA實現了陣列小孔式太陽敏感器信號處理功能,使太陽敏感器直接輸出姿態角,而不需要傳遞大量圖像數據,同時,在太陽敏感器之外,不再需要單獨的圖像處理單元和姿態計算單元,實現高度集成化。
2)本發明利用光斑圖像特征,實現了光斑的缺失判斷,使光學掩模被污染而導致個別小孔不能透光時,信號處理器仍然能夠計算姿態角,太陽敏感器仍能正常工作,提高了太陽敏感器的可靠性。
3)本發明采用CORDIC算法實現姿態角測算中的反正切、平方和開根號運算,其只需要加減法單元,而不需要復雜的乘法單元,大大節省了FPGA的資源。
圖1為本發明所實現的太陽敏感器工作原理圖;圖2為本發明所實現的太陽敏感器的功能框圖;圖3為太陽敏感器圖像光斑示意圖;圖4為本發明方法的流程圖;圖5為本發明光斑缺失判斷與識別模塊的結構圖;圖6為本發明姿態計算模塊的結構圖。
具體實施例方式
太陽敏感器工作原理如圖1所示太陽光線經光學掩模的陣列小孔,透射到圖像傳感器上形成光斑。太陽光線的入射角度不同,光斑位置就不同。信號處理裝置根據光斑位置測算出太陽的入射角度,從而確定衛星的姿態。
太陽敏感器的功能框圖如圖2所示,圖中虛線框是本發明的信號處理裝置,太陽敏感器的工作過程為圖像采集模塊輸出光斑陣列圖像各象素坐標和灰度值;光斑質心計算模塊根據這些值,區分各個像光斑,并計算各個光斑的質心坐標并分別存儲在質心行/列坐標存儲器中;信號處理器讀取光斑的質心坐標,識別出光斑所在的行序號和列序號,根據行列序號選取其對應的標定參數后,對該光斑對應的姿態角進行計算,對各光斑對應的姿態角取平均值得到最終的姿態角;最后,接口協議模塊將最終姿態角傳給衛星主控設備。其中質心計算模塊計算各光斑質心坐標,并將他們保存在質心行/列坐標存儲器的具體過程可參見專利申請號200610161802.6文件中公布的技術方案。
圖3為太陽敏感器圖像光斑示意圖。由質心計算模塊的具體實現過程知,質心坐標在存儲器的存放順序是按行依次存放的,但是同一行光斑質心坐標的存放順序則是隨機的,所以對同一行光斑進行列序號識別后,才能選取各自對應的標定參數,從而進行后續的姿態計算。另外,實際使用中可能會因為光學掩模被污染,使個別小孔不能透光而導致某些光斑缺失的情況。為了降低運算復雜度,如果某一行光斑有缺失,則該行光斑不參與后續姿態計算,所以對一行光斑還要進行缺失判斷。
本發明的太陽敏感器信號處理器,基于高速集成電路硬體描述語言(VHDL,Very-High-Speed Integrated Circuit Hardware Description Language),采用單芯片FPGA實現了太陽敏感器光斑缺失判斷、光斑識別和姿態計算的信號處理功能。
具體來說,以本發明應用的3×3陣列小孔為例,本實施例所述方法如圖4所示包含以下步驟步驟1從質心坐標存儲器讀取一行光斑,并累計該行光斑個數。
設定相同行行坐標間距常數Ycspace為同一行光斑質心行坐標Yc相差的最大值,根據光學掩模所蝕刻的陣列小孔的間距,Ycspace取為10個象素,對不同行光斑其質心行坐標Yc相差超過Ycspace。基于這一特征,逐一從質心行坐標存儲器中讀取相鄰存放的光斑質心行坐標值,并累計已讀取的光斑個數L;對所讀取兩個相鄰光斑質心行坐標取差值,并與Ycspace比較,如果所述差值小于Ycspace,繼續讀取當前行下一個光斑,計算兩個相鄰光斑的行坐標差值,當兩個相鄰光斑的行坐標差值大于Ycspace時,表明當前行光斑結束,累計停止,記錄行序號n。
步驟2對該行光斑進行缺失判斷,即比較步驟1所述累計的光斑個數(L)與每行應有的光斑個數(3);如果所累計的光斑個數小于應有光斑個數,即L小于3,則表明當前一行光斑有缺失,執行步驟6。如果二者相等,表明當前一行光斑無缺失,則將該行序號n輸出給多路選擇器,將該行光斑存放的首地址輸出給光斑識別狀態機,然后執行步驟3。
步驟3從當前行光斑存放首地址開始,對當前行光斑的列坐標值逐一比較,找到列坐標值最大的光斑,記錄其列序號m和存放地址。將該光斑列序號m發送到多路選擇器,選取其對應的標定參數,同時將該光斑質心坐標和上述標定參數發送給姿態計算模塊。
所述標定參數是每個光斑對應的預先設定的參數,其與光學掩模的物理結構有關,根據其物理結構的差異,每個光斑的參數略有不同。(Xc_nm,Yc_nm)是第nm個光斑的質心坐標,X0_nm、Y0_nm和Fnm是其對應的標定參數,其中X0_nm、Y0_nm是第nm個光斑對應的原點坐標,Fnm是第nm個光斑對應的小孔與圖像傳感器之間的焦距。
步驟4計算當前所識別光斑對應的姿態偏航角αnm和姿態俯仰角βnm,并將計算結果分別累加到姿態角累加和Sumαnm,Sumβnm。
第nm個小孔對應的姿態偏航角αnm和俯仰角βnm可表示為下式Xc_nm-X0_nmYc_nm-Y0_nmFnm=e1e2e3---(1)]]>αnm=arctan(e2/e1)βnm=arctan(e3/e12+e22)---(2)]]>利用坐標旋轉數字化計算(CORDIC,COordinate Rotation DIgital Computer)算法實現其中的反正切運算。對其中的平方和開根號運算,把它看成復數e1+e2i的模,也利用CORDIC算法來實現。在本發明應用中,姿態角的計算精度取為0.007°,所以選擇反正切運算和求模運算的輸入輸出字長為16位,迭代次數為13次。根據不同的精度需求,可以設定不同的字長和迭代次數。
步驟5判斷當前行光斑是否識別完畢,如果未完成,將當前所識別光斑列坐標值置0,列序號m加1后,返回步驟3,開始識別當前行第m+1列光斑;如果完成,進入步驟6。
步驟6判斷所有行光斑是否識別完畢,如果未完成,行序號n加1后,返回步驟1,如果完成,進入步驟7。
步驟7對無缺失行所有光斑姿態角的累加和Sumαnm和Sumβnm分別取平均值,得到太陽敏感器最終輸出的姿態角α,β。
為了實現上述方法,本發明提供一種相應的陣列小孔式太陽敏感器信號處理裝置。該裝置包括光斑缺失判斷與識別模塊、姿態計算模塊。其中,光斑缺失判斷與識別模塊對一行光斑是否缺失進行判斷,并對無缺失行光斑進行識別,將所識別光斑質心坐標及其對應的標定參數輸出給姿態計算模塊;姿態計算模塊接收光斑缺失判斷與識別模塊傳遞的光斑質心坐標和其對應的標定參數,計算該光斑對應的姿態角。下面描述各模塊的功能。
光斑缺失判斷與光斑識別模塊的結構如圖5所示。其由減法器、行坐標比較器、列坐標比較器、讀地址發生器、清零控制器、多路選擇器、標定參數存儲器、光斑缺失判斷狀態機和光斑識別狀態機組成。
光斑缺失判斷狀態機對每一行光斑是否缺失進行判斷,并將無缺失行光斑的行序號輸出到多路選擇器,將該行光斑存放的首地址輸出到光斑識別狀態機。光斑缺失判斷狀態機有空閑狀態、讀質心行坐標狀態、行坐標比較狀態、光斑缺失判斷狀態和幀結束判斷狀態五種狀態,其工作過程為太陽敏感器上電復位信號使光斑缺失判斷狀態機進入空閑狀態,在空閑狀態將各變量賦初始值,并不斷查訊缺失判斷使能信號是否為1,質心計算電路完成所有光斑的質心坐標計算和存儲后會將缺失判斷使能信號置1,光斑缺失判斷狀態機發現缺失判斷使能信號為1后,進入讀質心行坐標狀態;在讀質心行坐標狀態,從質心行坐標存儲器讀取相鄰存放的兩光斑行坐標值Yc[i]和Yc[i+1],輸出到減法器做減法運算(i為設定變量,初始值為0,以遍歷各個光斑),同時用變量L累計該行所讀取的光斑個數,減法運算結果Sub輸入到行坐標比較器,然后光斑缺失判斷狀態機進入行坐標比較狀態;在行坐標比較狀態,行坐標比較器將減法器的輸出Sub與Ycspace做比較,如果Sub小于Ycspace,說明當前行光斑沒有結束,變量i加1后,光斑缺失判斷狀態機返回到讀質心行坐標狀態,讀取下一個光斑質心行坐標值。如果Sub大于Ycspace,說明當前存放的一行光斑結束,光斑缺失判斷狀態機進入到光斑缺失判斷狀態;在光斑缺失判斷狀態,光斑缺失判斷狀態機判斷當前所讀取光斑個數L的值,如果小于3表示當前行光斑有缺失,缺失標記置1,光斑缺失判斷狀態機進入幀結束判斷狀態;如果L等于3,表示當前行光斑無缺失,缺失標記置0,同時將識別使能信號置1,將當前行光斑存放的首地址輸出給光斑識別狀態機,將當前行光斑的行序號n輸出到多路選擇器,然后等待光斑識別狀態機將當前行光斑識別結束標記置1后,進入幀結束判斷狀態;在幀結束判斷狀態,將識別使能信號置0,L清0,并判斷當前行是否是一幀圖像所有光斑的最后一行,光斑質心坐標存儲時,每一幀圖像最后一個光斑質心坐標后面再存儲一個0結束,所以判斷是否是一幀圖像最后一行,就是判斷當前行最后一個地址存儲內容是否為0,如果不是,則行序號n加1后返回到讀質心行坐標狀態,開始下一行光斑的缺失判斷;如果是最后一行光斑,則將幀結束標記置1,等待圖像采集模塊將下一幀圖像使能信號置1后,光斑缺失判斷狀態機重新回到空閑狀態。
光斑識別狀態機根據光斑缺失判斷狀態機輸出的識別使能信號,對無缺失行光斑的列序號進行識別,將識別的光斑列序號輸出到多路選擇器,光斑識別狀態機有空閑狀態、讀質心列坐標狀態、列坐標比較狀態、標定參數選擇狀態、下一列識別狀態和當前行識別結束狀態六種狀態,其工作過程為太陽敏感器上電復位信號使光斑識別狀態機進入空閑狀態,在空閑狀態將各變量賦初始值,然后光斑識別狀態機不斷查訊識別使能信號是否為1,當光斑缺失判斷狀態機將該識別使能信號置1后,光斑識別狀態機進入讀質心列坐標狀態;在讀質心列坐標狀態,從當前行光斑存放的首地址開始,依次讀取相鄰存放光斑的列坐標,輸出到列坐標比較器,然后光斑識別狀態機進入列坐標比較狀態;在列坐標比較狀態,比較上述兩光斑列坐標值的大小,根據比較結果,保存列坐標值大的光斑的存放地址。然后判斷最后讀取的光斑是否是該行最后一個光斑,如果不是,則返回到讀質心列坐標狀態,讀取下一個光斑列坐標值做比較,如果是,則記錄上述列坐標值最大光斑的列序號m及其存放地址,然后將列序號m輸出到多路選擇器。讀地址發生器根據光斑識別狀態機輸出的列坐標值最大光斑的存放地址,將相應光斑的質心行/列坐標Xc_nm和Yc_nm輸出到姿態計算模塊,然后光斑識別狀態機進入標定參數選擇狀態;在標定參數選擇狀態,多路選擇器根據光斑缺失判斷狀態機輸出的行序號n,光斑識別狀態機輸出列序號m,選擇第n行m列光斑對應的標定參數x0_nm、y0_nm、F_nm傳遞給姿態計算模塊,并將姿態計算信號使能置1,等待姿態計算狀態機將光斑姿態計算結束標記置1后,光斑識別狀態機進入下一列識別狀態;在下一列識別狀態,光斑識別狀態機控制清零控制器將當前所識別光斑的列坐標值置0,以便尋找當前行第二個最大值,同時將姿態計算使能信號置0。然后,判斷列序號m是否等于3,如果不等于3,則列序號m加1后,返回到讀質心列坐標狀態,開始識別當前行的下一列光斑。如果等于3,表明當前一行光斑識別完畢,光斑識別狀態機進入行識別結束狀態;在行識別結束狀態,將一行光斑識別結束標記置1后,光斑識別狀態機重新回到空閑狀態,等待識別使能信號置1后進入到下一無缺失行光斑的識別。
姿態計算模塊的結構如圖6所示。其由X減法器、Y減法器、反正切運算器1、2、求模運算器和姿態計算狀態機組成。其中,反正切運算器1、2和求模運算器是基于CORDIC算法實現的,CORDIC算法是一種迭代算法,可以計算三角函數、復數模等復雜函數,由于不需要乘法器,從而大大節省硬件資源。
所述姿態計算狀態機有空閑狀態、減法計算狀態、αnm計算狀態、求模計算狀態、βnm計算狀態、下一個光斑姿態計算狀態和平均值計算狀態七個狀態,姿態計算狀態機工作過程太陽敏感器上電復位信號使姿態計算狀態機進入空閑狀態,在空閑狀態將各變量賦初始值,然后不斷查訊姿態計算使能信號是否為1,當光斑識別狀態機將姿態計算使能信號置1后,姿態計算狀態機進入減法計算狀態;在減法計算狀態,質心列坐標存儲器輸出的Xc_nm、多路選擇器輸出的對應的標定參數x0_nm、在X減法器中做減法,根據式(1)減法器輸出值即為e1,將e1輸出到反正切運算器1和求模運算器。質心行坐標存儲器輸出的Yc_nm、多路選擇器輸出的對應的標定參數y0_nm、在Y減法器中做減法,根據式(1)減法器輸出值即為e2,將e2輸出到反正切運算器1和求模運算器,并將減法結束標記置1后,姿態計算狀態機進入αnm計算狀態;在αnm計算狀態,反正切運算器1計算e2/e1的反正切值αnm,結果累加到姿態角累加和Sumα,然后將αnm計算結束標記置1后,姿態計算狀態機進入求模計算狀態;在求模計算狀態,求模運算器計算復數e1+e2i的模magnitude,同時將多路選擇器輸出的F_nm賦值給e3,求模計算結束后,姿態計算狀態機將求模計算結束標記置1后,進入βnm計算狀態;在βnm計算狀態,反正切運算器2計算magnitude/e3的反正切值βnm,結果累加到姿態角累加和Sumβ,同時累加參與計算的所有光斑個數變量K,將βnm計算結束標記置1后,姿態計算狀態機進入下一個光斑姿態計算狀態;在下一個光斑姿態計算狀態,姿態計算狀態機將光斑姿態計算結束標記置1,然后判斷幀結束標記是否為1,如果不為1,姿態計算狀態機回到空閑狀態,等待下一個光斑的姿態計算,如果幀結束標記為1,則姿態計算狀態機進入平均值計算狀態;在平均值計算狀態,姿態計算狀態機對參與運算的K個光斑對應的姿態角分別取平均,即α=Sumα/K,β=Sumβ/K,得到最終姿態角α和β,并將α和β值輸出到接口協議模塊,之后姿態計算狀態機重新回到空閑狀態。
采用本發明方法及裝置實現的處理器,占用的FPGA資源為1200個SliceFlip,1502個LUT,2個BRAMs,最大延時為22.36ns。姿態角計算精度為0.007度。現有的太陽敏感器,考慮安裝誤差和標定誤差后達到的最高精度僅為0.02度,所以該姿態角計算精度足以滿足要求。同時,姿態計算模塊所占用的硬件資源比采用傳統的方法至少節省10%。
以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。
權利要求
1.一種陣列小孔式太陽敏感器信號處理方法,其特征在于,該方法包含以下步驟A、從質心坐標存儲器讀取一行光斑,并累計該行光斑個數;B、對該行光斑進行缺失判斷,即比較步驟A所述累計的光斑個數與每行應有的光斑個數;如果二者相等,表明當前行光斑無缺失,執行步驟C,如果所累計的光斑個數小于應有光斑個數,則表明當前行光斑有缺失,執行步驟F;C、對當前行光斑的列坐標值逐一比較,找到列坐標值最大的光斑,記錄該光斑列序號及其存放地址;根據該光斑行列序號選取其對應的標定參數,同時將該光斑質心坐標和標定參數輸出給姿態計算模塊;D、計算當前所識別光斑對應的姿態角,并將計算結果累加到姿態角累加和;E、判斷當前行光斑是否識別完畢,如果未完成,將當前所識別光斑列坐標值置0,列序號加1,返回步驟C,開始當前行下一列光斑的識別,如果完成,進入步驟F;F、判斷所有行光斑是否識別完畢,如果未完成,行序號加1,返回步驟A,如果完成,將步驟D得到的各個光斑姿態角的累加和取平均值,得到最終的姿態角。
2.根據權利要求1所述的陣列小孔式太陽敏感器信號處理方法,其特征在于,所述步驟A具體為A1、從質心行坐標存儲器讀取相鄰存放的兩個光斑質心的行坐標,并累計已讀取的光斑個數;A2、對所讀取兩個光斑質心行坐標取差值,并與設定的相同行行坐標間距常數比較,如果所述差值小于該常數,返回步驟A1,當所述差值大于該常數時,表明當前行光斑結束,記錄當前行序號,累計停止。
3.根據權利要求1所述的陣列小孔式太陽敏感器信號處理方法,其特征在于,所述標定參數包括,該光斑對應的透光小孔的原點坐標和所述透光小孔與圖像傳感器的焦距。
4.根據權利要求1至3任一所述的陣列小孔式太陽敏感器信號處理方法,其特征在于,所述步驟D中根據光斑的質心坐標和標定參數計算其姿態角,采用CORDIC算法實現其中的反正切運算及平方和開根號運算。
5.一種陣列小孔式太陽敏感器信號處理裝置,其特征在于,該裝置包括光斑缺失判斷與識別模塊、姿態計算模塊,其中,所述光斑缺失判斷與識別模塊,對一行光斑是否缺失進行判斷,并對無缺失行光斑進行識別,將所識別光斑質心坐標及其對應的標定參數輸出給姿態計算模塊;所述姿態計算模塊,根據光斑質心坐標及其對應的標定參數計算最終的姿態角。
6.根據權利要求5所述的陣列小孔式太陽敏感器信號處理裝置,其特征在于,所述光斑缺失判斷與光斑識別模塊由減法器、行坐標比較器、列坐標比較器、讀地址發生器、清零控制器、多路選擇器、標定參數存儲器、光斑缺失判斷狀態機和光斑識別狀態機組成,其中,所述減法器用來計算相鄰存放的兩個光斑的質心行坐標差值,差值輸出給行坐標比較器;所述行坐標比較器用來比較上述差值與設定的相同行行坐標間距常數的大小,結果輸出給光斑缺失判斷狀態機;所述光斑缺失判斷狀態機能夠向讀地址發生器發出相應的控制信號,根據行坐標比較器輸出結果及該行光斑個數,判斷當前行光斑是否缺失,并向多路選擇器輸出當前無缺失行光斑的行序號,向光斑識別狀態機輸出當前無缺失行光斑存放的首地址和光斑識別使能信號;所述讀地址發生器根據光斑缺失判斷狀態機和光斑識別狀態機給出的控制信號,產生讀取質心行坐標和列坐標的地址信號;所述列坐標比較器用于比較當前無缺失行光斑列坐標值的大小,比較結果輸出給光斑識別狀態機;所述光斑識別狀態機能夠向讀地址發生器發出相應的控制信號,根據當前無缺失行光斑的列坐標值大小識別光斑列序號,向多路選擇器發出當前所識別光斑的列序號,并向清零控制器發出控制信號;所述清零控制器根據光斑識別狀態機輸出的控制信號,將當前所識別光斑的列坐標值置0;所述多路選擇器用于根據光斑缺失判斷狀態機給出的光斑行序號,以及光斑識別狀態機給出的列序號,選取當前所識別光斑對應的標定參數,并將所述標定參數輸出給姿態計算模塊;所述標定參數存儲器用于存儲各光斑對應的標定參數。
7.根據權利要求5或6所述的陣列小孔式太陽敏感器信號處理裝置,其特征在于,所述姿態計算模塊包括X減法器、Y減法器、第一反正切運算器、第二反正切運算器、求模運算器和姿態計算狀態機;所述X減法器用于計算光斑質心列坐標與其對應小孔坐標原點的差值;所述Y減法器用于計算光斑質心行坐標與其對應小孔坐標原點的差值;所述第一反正切運算器采用CORDIC算法,根據X減法器和Y減法器的結果計算光斑的姿態偏航角,結果輸出到姿態計算狀態機;所述求模運算器采用CORDIC算法,根據X減法器和Y減法器的結果計算其對應復數的模;所述第二反正切運算器根據求模運算器求出的模和當前光斑對應的透光小孔與圖像傳感器的焦距計算光斑的俯仰角,結果輸出到姿態計算狀態機;所述姿態計算狀態機用于控制姿態計算模塊實現上述各部分運算,并計算最終的姿態角。
全文摘要
本發明公開了一種陣列小孔式太陽敏感器信號處理方法,該方法通過從質心坐標存儲器讀取一行光斑,并對該行光斑進行缺失判斷,對無缺失行光斑進行列序號識別,根據光斑行列序號選取其對應的標定參數,由姿態計算模塊計算出所識別光斑對應的姿態角,對各個光斑姿態角的累加和取平均值,得到最終的姿態角。本發明還公開了該方法的應用裝置,其包括光斑缺失判斷與識別模塊、姿態計算模塊。本發明不再需要單獨的圖像處理單元和姿態計算單元,實現了太陽敏感器的集成化設計,大大節省了FPGA的資源,同時提高了太陽敏感器的可靠性。
文檔編號G01C21/02GK101074882SQ20071011776
公開日2007年11月21日 申請日期2007年6月22日 優先權日2007年6月22日
發明者張廣軍, 江潔, 樊巧云 申請人:北京航空航天大學