專利名稱:一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法
技術(shù)領(lǐng)域:
本發(fā)明屬于衛(wèi)星導(dǎo)航領(lǐng)域,具體涉及一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法。
背景技術(shù):
近年來,衛(wèi)星導(dǎo)航系統(tǒng)在導(dǎo)航測量中的作用日益增強,在科學(xué)研究、國民經(jīng)濟與國 防建設(shè)等方面產(chǎn)生了極大的經(jīng)濟效益和社會效益,對人們生活的各個方面起到了越來越重 要的作用。目前,美國的全球定位系統(tǒng)(Global Positioning System,簡稱為GPS)和俄羅 斯的全球?qū)Ш叫l(wèi)星系統(tǒng)(GLObal NAvigation Satellite System,簡稱為GL0NASS)已發(fā)展 成為第二代衛(wèi)星導(dǎo)航定位系統(tǒng),歐盟的伽利略(GALILEO)系統(tǒng)和中國的北斗衛(wèi)星導(dǎo)航系統(tǒng) (BeiDou/COMPASS Navigation Satellite System,簡稱為 COMPASS)等正在積極籌建。不久 的將來,這些系統(tǒng)將共同組成全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation SatelliteSystem, 簡稱為GNSS)。到那時,全球?qū)Ш叫l(wèi)星將有一百多顆,多衛(wèi)星導(dǎo)航系統(tǒng)的組合導(dǎo)航勢成必然。 對任意一種衛(wèi)星導(dǎo)航系統(tǒng),簡稱為單系統(tǒng);對任意兩種衛(wèi)星導(dǎo)航系統(tǒng)的組合系統(tǒng),簡稱為雙 系統(tǒng);對任意三種衛(wèi)星導(dǎo)航系統(tǒng)的組合系統(tǒng),簡稱為三系統(tǒng);對任意四種衛(wèi)星導(dǎo)航系統(tǒng)的 組合系統(tǒng),簡稱為四系統(tǒng);對雙系統(tǒng)及其以上系統(tǒng)統(tǒng)稱為多星座衛(wèi)星導(dǎo)航系統(tǒng)或組合星座 衛(wèi)星導(dǎo)航系統(tǒng),簡稱為多系統(tǒng)。采用多星座衛(wèi)星導(dǎo)航系統(tǒng)時,可見星數(shù)將大幅增加,定位精 度和系統(tǒng)可用性及可靠性均將大大提高,但同時,導(dǎo)航定位的運算量也隨之成倍增長,加之 工程上對用戶接收機的處理器速度要求提高,特別是對高動態(tài)用戶而言,為了保證實時處 理的要求,對接收機處理器速度的要求就更是大大提高,因而大大加重了用戶接收機的負 擔(dān),使其成本上升。而實際上,不可能也不需要采用所有可見星來進行導(dǎo)航定位,只需要選 出滿足定位精度要求的少數(shù)衛(wèi)星進行導(dǎo)航定位。因此,在多星座衛(wèi)星導(dǎo)航定位系統(tǒng)中,選星 便顯得迫切而重要。遺傳算法(Genetic Algorithm,簡稱GA)是一種基于生物自然選擇與遺傳機理的 隨機優(yōu)化搜索算法。它以適應(yīng)度函數(shù)為依據(jù),通過對種群中個體的操作來實現(xiàn)種群內(nèi)個體 結(jié)構(gòu)的重組,按優(yōu)勝劣汰的原則來獲得優(yōu)化結(jié)果。在遺傳算法中,要對解的形式進行編碼, 編碼后的解也稱為個體或染色體,多個個體就成為一個種群。遺傳算法是通過對解集的編 碼的運算來獲得最終結(jié)果的。通常,遺傳算法從一組隨機產(chǎn)生的初始種群開始,然后通過繁 殖、交叉、變異等遺傳操作產(chǎn)生新一代更加優(yōu)良的種群,最后從最終種群中選取最優(yōu)個體就 能獲得最終的解。在衛(wèi)星導(dǎo)航系統(tǒng)中,影響定位精度的關(guān)鍵因素之一是幾何精度因子 (GeometricDilution of Precision,簡稱為 GD0P)。一般而言,GD0P 越小,定位精度越高。 傳統(tǒng)選星方法主要針對GD0P,有GD0P或加權(quán)GD0P選星,雖然它能找出在規(guī)定選星數(shù)目下具 有最小GD0P值的衛(wèi)星組合,但計算量大,實時性差,特別是對于多星座衛(wèi)星導(dǎo)航系統(tǒng)而言, 它幾乎不可能做到實時選星。目前,針對組合星座衛(wèi)星導(dǎo)航系統(tǒng)選星問題,出現(xiàn)了一系列為減少計算量而設(shè)計 的方法。雖然相對傳統(tǒng)的常規(guī)選星方法而言其計算量有較大改善,但大部分方法其計算量仍然很大,有的方法則要求定位接收機有較大的內(nèi)存容量,對實時用戶而言,這也難以實 現(xiàn)。有的雖然計算量不太大,但最終選取的衛(wèi)星數(shù)過多,如占所有可見星數(shù)的60%以上。因 為定位求解的計算量直接和采用的定位衛(wèi)星數(shù)成倍數(shù)關(guān)系,所以這就增大了后續(xù)的定位解 算的計算量,特別是對高動態(tài)用戶而言,這也是不現(xiàn)實的。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種適用于多星座衛(wèi)星導(dǎo)航系統(tǒng)的簡單易行的快速選星方 法,它是從所有可見星中選出規(guī)定數(shù)目的可見星并使所選衛(wèi)星星座的GD0P值滿足限制要 求。本發(fā)明提出的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其技術(shù)方案在于從目標優(yōu)化的角度對 選星問題進行描述,然后以優(yōu)化搜索方式完成對問題的處理。這里,將選星問題描述為從 所有可見星中選出規(guī)定數(shù)目的衛(wèi)星使其GD0P值最小。這就將其轉(zhuǎn)化成了目標優(yōu)化問題,從 而,在衛(wèi)星導(dǎo)航系統(tǒng)中,可以采用遺傳算法中的一些基本概念和做法來實現(xiàn)選星功能。將選星問題以目標優(yōu)化方式描述后,再根據(jù)該描述的特征采用遺傳算法中的一些 概念和做法來獲得GD0P值滿足限制要求的的星座,達到選星的目的。具體是通過以下步驟 實現(xiàn)的步驟一參數(shù)配置。根據(jù)定位需要和接收機性能以及組合星座個數(shù),配置所需選取的衛(wèi)星數(shù)ns和星座 的幾何精度因子GD0P值的限制要求,配置所需種群大小posjize和最大進化代數(shù)G_,確 定交叉操作中所采用的交叉概率P。的大小以及變異操作中的變異概率Pm的大小。步驟二 獲取可見星位置。通過衛(wèi)星星歷或歷書得到所有當(dāng)前可見星的位置,同時,要將屬于不同衛(wèi)星系統(tǒng) 的各衛(wèi)星位置轉(zhuǎn)換至某種選定的坐標系。這里,如果存在接收機自主完整性分析,則根據(jù)該 分析結(jié)果來剔除故障衛(wèi)星,保證參與選星的衛(wèi)星均處于健康狀態(tài)。步驟三編碼。采用二進制串編碼方案來表示選星中的衛(wèi)星組合方案。該方案中將每顆衛(wèi)星設(shè)為 一個基因,這里,基因就是衛(wèi)星選入與否的標識,它是一個二進制變量。1基因,采用數(shù)字1 表示,它表明在最終結(jié)果中該衛(wèi)星被選入;0基因,采用數(shù)字0表示,它表明在最終結(jié)果中該 衛(wèi)星未被選入。所有觀測衛(wèi)星按順序進行編排,最低位表示第1號衛(wèi)星,第n位表示第n號 衛(wèi)星。從而,對于由n個可見星組成的選星問題中的衛(wèi)星組合方案,其二進制串編碼長度為 n,這里,選星問題中的一種衛(wèi)星組合方案的二進制編碼串簡稱為一個解,也稱為一個個體。步驟四種群初始化。初始化就是根據(jù)編碼方案對個體進行初始賦值,對于總可見衛(wèi)星數(shù)為n的衛(wèi)星導(dǎo) 航系統(tǒng),種群初始化就是采用隨機的方式產(chǎn)生pop_siZe個長為n的二進制串。需要注意的 是,為了滿足選星要求,每個二進制串中1基因的個數(shù)等于ns。步驟五獲取適值。根據(jù)適應(yīng)度函數(shù)獲取各個體的適值,其中,適值就是適應(yīng)度函數(shù)之值,適應(yīng)度函數(shù) 用來評價個體的優(yōu)劣。步驟六終止條件判斷,獲取最終的選星結(jié)果。
根據(jù)各個體的適值,選出適值最大的個體作為初步選星結(jié)果。然后,統(tǒng)計進化迭代 次數(shù)gen。如果該個體對應(yīng)的星座⑶0P值滿足限制要求,或者如果gen = Gfflax,則終止整個 選星過程,將該個體作為最終的結(jié)果;否則,繼續(xù)下面的過程,直至滿足終止條件。滿足終止 條件后,將最終選取的個體進行譯碼形成選星結(jié)果,這樣,完成整個選星過程。這里,譯碼就 是編碼的逆過程,它是將所有1基因?qū)?yīng)的衛(wèi)星作為選用衛(wèi)星組合來使用,而0基因?qū)?yīng)的 衛(wèi)星排除不用。步驟七選擇。在本發(fā)明的選星方法中,采用正比選擇方式從種群中獲得進行交叉的種群。在該 方式中,每個個體的選擇概率正比于其適值。經(jīng)p0p_siZe次選擇獲得用于交叉的種群。步驟八交叉。根據(jù)交叉概率p。從交叉種群中選擇用于交叉的個體,其中,稱用于交叉的兩個個 體為雙親或父代。再然后以一定的交叉方式完成交叉操作以形成新的個體,這里,稱所產(chǎn)生 的新個體為后代。在本發(fā)明中,采用稱之為?!?”映射交叉(“OnVMatched Crossover, 簡稱0MX)或變異交叉(Mutative Crossover,簡稱為MX)的方式來進行交叉操作,0MX和MX 中的任一種交叉方式都能達到本發(fā)明的目的。0MX的操作過程如下a.先根據(jù)交叉概率p。選擇雙親,然后,隨機產(chǎn)生1個1 (ns_l)間的整數(shù)n。,由 整數(shù)n。定義要進行交叉的所選衛(wèi)星,雙親中序號較小的n。顆已選衛(wèi)星進行交叉,其中,已選 衛(wèi)星標識就是1基因;b.交換雙親中序號較小的n。顆已選衛(wèi)星標識,產(chǎn)生原始后代;c.根據(jù)所交換的衛(wèi)星間編號對應(yīng)關(guān)系來確定所交換的衛(wèi)星間的映射關(guān)系。如果雙 親1中衛(wèi)星pl、p2分別與雙親2中衛(wèi)星p2、ql進行交換,則它們之間的對應(yīng)關(guān)系為內(nèi)ep2、
因為衛(wèi)星p2兩次進行了交換,從而實際上衛(wèi)星p2沒有進行交換,這樣,它們的映射 關(guān)系就確定為內(nèi),其它情形可按類似方法得到所交換的衛(wèi)星間的映射關(guān)系;d.根據(jù)映射關(guān)系形成交叉操作的最終后代。如果在雙親1或雙親2中沒有參與交 換的衛(wèi)星出現(xiàn)在映射關(guān)系中,就按映射關(guān)系在原始后代中將之替換;如在雙親1中衛(wèi)星ql 沒有參與交換,但存在映射關(guān)系,那么,就應(yīng)當(dāng)將雙親1中的衛(wèi)星ql在原始后代1中 用衛(wèi)星pl替換,而參與交換的衛(wèi)星保持不變。MX的操作過程如下a.先根據(jù)交叉概率p。選擇雙親,然后,隨機產(chǎn)生1個1 (ns_l)間的整數(shù)n。,由 整數(shù)n。定義要進行交叉的所選衛(wèi)星,雙親中序號較小的n。顆已選衛(wèi)星進行交叉,其中,已選 衛(wèi)星標識就是1基因;b.交換雙親中序號較小的n。顆已選衛(wèi)星標識,產(chǎn)生原始后代;c.根據(jù)原始后代中1基因的個數(shù)判斷通過交叉所獲得的后代是否滿足選星中對 衛(wèi)星數(shù)的限制要求;只有當(dāng)原始后代中1基因的個數(shù)等于^時,通過交叉所獲得的后代才 滿足選星對衛(wèi)星數(shù)的限制要求;如果原始后代均滿足限制要求,則不進行進一步操作,所形 成的原始后代是交叉操作所獲得的最終后代。否則,根據(jù)相差的個數(shù),隨機選取相應(yīng)原始后 代中為“0”的基因,將之變?yōu)椤?1”,直至后代個體中“ 1”的個數(shù)等于ns為止,就獲得了交叉 操作所形成的最終后代。
8
步驟九變異。與交叉操作一樣,在選星問題中,變異操作也要保證變異前后個體中的已選衛(wèi)星 數(shù)相同。根據(jù)這一要求,在本發(fā)明的選星方法中,采用雙基因“01”相對變異方式,經(jīng)變異操 作所形成的個體也稱為后代。設(shè)總可見星數(shù)為n,則雙基因“01”相對變異方式的操作過程如下a.根據(jù)變異概率pm從交叉操作所形成的種群中隨機選取一個欲進行變異的個體 P ;b.隨機產(chǎn)生一個1 n間的整數(shù)gl ;c.判定個體P中g(shù)l位所對應(yīng)的基因類別,如果該基因為“0”,則隨機產(chǎn)生一個1 n間的整數(shù)g2,并使gl興g2,且應(yīng)保證個體P中與g2對應(yīng)的基因為“1”,反之,如果gl對 應(yīng)的基因為“1”,則產(chǎn)生的隨機數(shù)g2對應(yīng)的基因應(yīng)為“0” ;d.將個體P中與gl和g2相對應(yīng)的基因進行變異,變異就是將“ 1,,和“0”互換。步驟十形成新種群。根據(jù)⑶0P值的大小,從所有后代和父代中選?、?P最小的p0p_siZe個個體形成 新種群。然后返回步驟五。本發(fā)明的優(yōu)點在于(1)本方法采用目標優(yōu)化方式來描述衛(wèi)星導(dǎo)航系統(tǒng)中的選星問題,以優(yōu)化搜索方 式實現(xiàn)選星,有效解決了傳統(tǒng)選星方法操作量大的問題,與傳統(tǒng)GD0P最優(yōu)選星法相比,計 算量改善值在99%以上,同時也克服了現(xiàn)有一些改進方法選星數(shù)目過多的缺陷,可以實現(xiàn) 簡單、快速選星;(2)本方法以GD0P限制要求為前提按規(guī)定衛(wèi)星數(shù)來進行選星,可以根據(jù)接收機的 通道跟蹤能力來確定選星數(shù),使用靈活,操作簡單,并能保證導(dǎo)航精度;(3)本方法適合靜態(tài)、動態(tài)用戶進行實時選星。
圖1是本發(fā)明所述衛(wèi)星導(dǎo)航系統(tǒng)選星方法的流程圖;圖2是本發(fā)明所述北京十三陵UTC時刻0時選星前后的可見星星空視圖;圖3是本發(fā)明所述北京十三陵一天不同時刻選星后的⑶0P值;圖4是本發(fā)明所述北京十三陵一天不同時刻選星過程中的進化代數(shù);圖5是本發(fā)明所述北京十三陵一天不同時刻選星過程中以⑶0P為參考的運算量。
具體實施例方式下面將結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。本發(fā)明是一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,所述方法流程圖如圖1所示。在某一觀測歷元,接收機可同時觀測到多個組合星座中的多顆衛(wèi)星,現(xiàn)要從中選 出滿足定位要求的規(guī)定數(shù)目的衛(wèi)星。步驟一參數(shù)配置。根據(jù)定位需要和接收機性能以及組合星座個數(shù),配置所需選取的衛(wèi)星數(shù)ns和星座 的幾何精度因子GD0P值的限制要求,配置所需種群大小p0p_siZe和最大進化代數(shù)G_,確定交叉操作中所采用的交叉概率P。的大小以及變異操作中的變異概率Pm的大小。對于所需選取的衛(wèi)星數(shù)~,根據(jù)定位需要以及組合星座系統(tǒng)個數(shù)及接收機性能來 確定,在沒有特別的規(guī)定或要求且衛(wèi)星數(shù)足夠多的情形下,對于單系統(tǒng),取為7 8 ;對于雙 系統(tǒng),取為7 9 ;對于三系統(tǒng),取為8 10 ;對于四系統(tǒng),取為9 12。對星座的幾何精度 因子GD0P值的限制要求,在沒有特別要求的情形下,取為不大于6的正數(shù)。對于種群大小p0p_siZe,對單系統(tǒng)或雙系統(tǒng),取為8 12 ;對三系統(tǒng),取為10 16 ;對四系統(tǒng),取為10 20,實際應(yīng)用過程中的具體值,采用仿真方式進行調(diào)試得到。對于 最大進化代數(shù)G_,取為20 100。在本發(fā)明所述選星方法中,交叉概率p。的取值范圍為0. 3 0. 9,變異概率pm的 取值范圍為0. 1 0. 7,實際使用時的具體取值通過仿真調(diào)試來確定。步驟二 獲取可見星位置。通過衛(wèi)星星歷或歷書得到所有當(dāng)前可見星的位置,同時,要將屬于不同衛(wèi)星系統(tǒng) 的各衛(wèi)星位置轉(zhuǎn)換至某種選定的坐標系。這里,如果存在接收機自主完整性分析,則根據(jù)該 分析結(jié)果來剔除故障衛(wèi)星,保證參與選星的衛(wèi)星均處于健康狀態(tài)。步驟三編碼。采用二進制串編碼方案來表示選星中的衛(wèi)星組合方案。該方案中將每顆衛(wèi)星設(shè)為 一個基因,這里,基因就是衛(wèi)星選入與否的標識,它是一個二進制變量。1基因,采用數(shù)字1 表示,它表明在最終結(jié)果中該衛(wèi)星被選入;0基因,采用數(shù)字0表示,它表明在最終結(jié)果中該 衛(wèi)星未被選入。所有觀測衛(wèi)星按順序進行編排,最低位表示第1號衛(wèi)星,第n位表示第n號 衛(wèi)星。從而,對于由n個可見星組成的選星問題中的衛(wèi)星組合方案,其二進制串編碼長度為 n,這里,選星問題中的一種衛(wèi)星組合方案的二進制編碼串簡稱為一個解,也稱為一個個體。 例如,一個有15顆可見星的選星結(jié)果的一種衛(wèi)星組合方案X,表示為如下形式的二進制字 串X = [101110010110010]這表示由方案X所表征的衛(wèi)星組合結(jié)果中,所選用的衛(wèi)星其編號分別為15、13、 12、11、8、6、5、2。這里,X表示選星問題的一種衛(wèi)星組合方案的二進制編碼串,也簡稱為一 個解或一個個體。步驟四種群初始化。初始化就是根據(jù)編碼方案對個體進行初始賦值,對于總可見衛(wèi)星數(shù)為n的衛(wèi)星導(dǎo) 航系統(tǒng),種群初始化就是采用隨機的方式產(chǎn)生pop_siZe個長為n的二進制串。需要注意的 是,為了滿足選星要求,每個二進制串中1基因的個數(shù)等于ns。步驟五獲取適值。根據(jù)適應(yīng)度函數(shù)獲取各個體的適值,其中,適值就是適應(yīng)度函數(shù)之值,適應(yīng)度函數(shù) 用來評價個體的優(yōu)劣。在本發(fā)明中,采用如下形式的適應(yīng)度函數(shù)
u GDOP^ - GDOP(X) + seval(X) =-—-—~~(1
GDOP^ -GDOPmm +s其中,eval(X)是適應(yīng)度函數(shù),其值就是適值;X是步驟三中所述選星問題的解, 也就是星座組合方案的二進制編碼,是種群中的個體;GD0P_表示當(dāng)前種群中最大的GD0P
10值,⑶0Pmin表示當(dāng)前種群中最小的⑶0P值;⑶0P⑴表示個體X的⑶0P值;£是一個(0, 1)區(qū)間上小的正實數(shù),它僅是為了避免分母為0而設(shè)置的,隨機選取。由X的取值根據(jù)適應(yīng) 度函數(shù)eval⑴得到適值。步驟六終止條件判斷,獲取最終的選星結(jié)果。根據(jù)各個體的適值,選出適值最大的個體作為初步選星結(jié)果。然后,統(tǒng)計進化迭代 次數(shù)gen。如果該個體對應(yīng)的星座⑶0P值滿足限制要求,或者如果gen = Gfflax,則終止整個 選星過程,將該個體作為最終的結(jié)果;否則,繼續(xù)下面的過程,直至滿足終止條件。滿足終止 條件后,將最終選取的個體進行譯碼形成選星結(jié)果,這樣,完成整個選星過程。這里,譯碼就 是編碼的逆過程,它是將所有1基因?qū)?yīng)的衛(wèi)星作為選用衛(wèi)星組合來使用,而0基因?qū)?yīng)的 衛(wèi)星排除不用。步驟七選擇。在本發(fā)明的選星方法中,采用正比選擇方式從種群中獲得進行交叉的種群。在該 方式中,每個個體的選擇概率正比于其適值。經(jīng)p0p_siZe次選擇獲得用于交叉的種群。設(shè)種群中第k個個體的適值為eValk,這里k = 1,2,…,pop_siZe,按正比選擇方 式,其選擇概率Pk通過下式獲得
/pop ‘ size
^evalj(2)
M其中eval」表示第j個個體的適值,這里j = 1,2.…,pop_size。在獲得各個體的選擇概率后,再根據(jù)選擇概率得到各個體的累積概率
kqk = YjPj ,k = \,2,---,pop_size(3)
M其中,qk表示第k個個體的累積概率,Pj表示第j個個體的選擇概率。再按如下方法獲取交叉種群a.在W,l]區(qū)間內(nèi)隨機產(chǎn)生一個均勻分布的實數(shù)r。b.如果r彡qi,則選第1個個體;否貝丨」,選擇第k個個體,其中,2彡k彡p0p_siZe, 使得 qk-i < r < qk。c.重復(fù)上述過程p0p_siZe次,獲得用于交叉的種群。步驟八交叉。根據(jù)交叉概率p。從交叉種群中選擇用于交叉的個體,其中,稱用于交叉的兩個個 體為雙親或父代。具體說來,選擇雙親的方法為首先,在W,l]區(qū)間內(nèi)隨機產(chǎn)生一個實數(shù)rk,其中k= 1,2,…,p0p_siZe。若rk <P。,則選取第k個個體作為交叉的雙親之一。每選出兩個個體就形成一對雙親,對其進行 交叉操作;如果最終選取的個體數(shù)為單數(shù),則將最后一個個體剔除不用。選出雙親后,就按一定的交叉方式完成交叉操作以形成新的個體,這里,稱所產(chǎn)生 的新個體為后代。在本發(fā)明中,采用稱之為?!?”映射交叉(“OnVMatched Crossover, 簡稱0MX)或變異交叉(Mutative Crossover,簡稱為MX)的方式來進行交叉操作,0MX和MX 中的任一種交叉方式都能達到本發(fā)明的目的。0MX的操作過程如下a.先根據(jù)交叉概率p。選擇雙親,然后,隨機產(chǎn)生1個1 (ns_l)間的整數(shù)n。,由整數(shù)n。定義要進行交叉的所選衛(wèi)星,雙親中序號較小的n。顆已選衛(wèi)星進行交叉,其中,已選 衛(wèi)星標識就是1基因;b.交換雙親中序號較小的n。顆已選衛(wèi)星標識,產(chǎn)生原始后代;c.根據(jù)所交換的衛(wèi)星間編號對應(yīng)關(guān)系來確定所交換的衛(wèi)星間的映射關(guān)系。如果雙 親1中衛(wèi)星pl、p2分別與雙親2中衛(wèi)星p2、ql進行交換,則它們之間的對應(yīng)關(guān)系為樹^/^、
因為衛(wèi)星p2兩次進行了交換,從而實際上衛(wèi)星p2沒有進行交換,這樣,它們的映射 關(guān)系就確定為,其它情形可按類似方法得到所交換的衛(wèi)星間的映射關(guān)系;d.根據(jù)映射關(guān)系形成交叉操作的最終后代。如果在雙親1或雙親2中沒有參與交 換的衛(wèi)星出現(xiàn)在映射關(guān)系中,就按映射關(guān)系在原始后代中將之替換;如在雙親1中衛(wèi)星ql 沒有參與交換,但存在映射關(guān)系樹O㈣,那么,就應(yīng)當(dāng)將雙親1中的衛(wèi)星ql在原始后代1中 用衛(wèi)星pl替換,而參與交換的衛(wèi)星保持不變。0MX的操作過程可用如下示例來說明,該示例中,共有16顆可衛(wèi)星,要求選取8顆衛(wèi)星。①設(shè)隨機選擇的雙親如下雙親1 :0111100101110000,對應(yīng)已選星號為15,14,13,12,9,7,6,5 ;雙親2 :0001100101011110,對應(yīng)已選星號為13,12,9,7,5,4,3,2 ;隨機產(chǎn)生的整數(shù)為6。②交換雙親中所選衛(wèi)星中的后6個,產(chǎn)生原始后代原始后代1 :0110000101011110,對應(yīng)已選星號為:15,14,9,7,5,4,3,2 ;原始后代2 :0001100101110000,對應(yīng)已選星號為13,12,9,7,6,5 ;③確定映射關(guān)系,根據(jù)所交換的衛(wèi)星間編號對應(yīng)關(guān)系可確定如下衛(wèi)星間的映射關(guān) 系 ④由映射關(guān)系形成交叉操作的最終后代。由步驟③可知,應(yīng)將雙親2中不參與交換的衛(wèi)星13、12在后代2中分別以衛(wèi)星2、 4替換,而參與交換的衛(wèi)星不變,得到最終的兩個后代如下后代1 :0110000101011110,對應(yīng)的已選星號為:15,14,9,7,5,4,3,2 ;后代2 :0001100101111010,對應(yīng)的已選星號為13,12,9,7,6,5,4,2。MX的操作過程如下a.先根據(jù)交叉概率p。選擇雙親,然后,隨機產(chǎn)生1個1 (ns_l)間的整數(shù)n。,由 整數(shù)n。定義要進行交叉的所選衛(wèi)星,雙親中序號較小的n。顆已選衛(wèi)星進行交叉,其中,已選 衛(wèi)星標識就是1基因;b.交換雙親中序號較小的n。顆已選衛(wèi)星標識,產(chǎn)生原始后代;c.根據(jù)原始后代中1基因的個數(shù)判斷通過交叉所獲得的后代是否滿足選星中對 衛(wèi)星數(shù)的限制要求;只有當(dāng)原始后代中1基因的個數(shù)等于^時,通過交叉所獲得的后代才 滿足選星對衛(wèi)星數(shù)的限制要求;如果原始后代均滿足限制要求,則不進行進一步操作,所形
12成的原始后代是交叉操作所獲得的最終后代。否則,根據(jù)相差的個數(shù),隨機選取相應(yīng)原始后 代中為“0”的基因,將之變?yōu)椤?”,直至后代個體中“1”的個數(shù)等于ns為止,就獲得了交叉 操作所形成的最終后代。 MX的操作過程可用如下示例來說明,該示例中,共有16顆可衛(wèi)星,要求選取8顆衛(wèi)①設(shè)隨機選擇的雙親如下雙親1 :0111100101110000,對應(yīng)已選星號為15,14,13,12,9,7,6,5 ;雙親2 :0001100101011110,對應(yīng)已選星號為13,12,9,7,5,4,3,2 ;隨機產(chǎn)生的整數(shù)為6。②交換雙親中所選衛(wèi)星中的后6個,產(chǎn)生原始后代原始后代1 :0110000101011110,對應(yīng)已選星號為:15,14,9,7,5,4,3,2 ;原始后代2 :0001100101110000,對應(yīng)已選星號為13,12,9,7,6,5 ;③根據(jù)原始后代中1基因的個數(shù)判斷通過交叉所獲得的后代是否滿足故障檢測 對衛(wèi)星數(shù)的限制要求。由上一步驟可知,原始后代1中1基因的個數(shù)為8,是滿足條件的解;而原始后代 2中1基因的個數(shù)為6,不滿足要求,與要求的8個還差2個,故應(yīng)隨機選取2個未選衛(wèi)星位 置,也就是0基因,使之產(chǎn)生變異。設(shè)隨機選擇的位置為1和16,則形成的最終后代為后代1 :0110000101011110,對應(yīng)已選星號為:15,14,9,7,5,4,3,2 ;后代2 :1001100101110001,對應(yīng)已選星號為16,13,12,9,7,6,5,1。步驟九變異。與交叉操作一樣,在選星問題中,變異操作也要保證變異前后個體中的已選衛(wèi)星 數(shù)相同。根據(jù)這一要求,在本發(fā)明的選星方法中,采用雙基因“01”相對變異方式,經(jīng)變異操 作所形成的個體也稱為后代。設(shè)總可見星數(shù)為n,則雙基因“01”相對變異方式的操作過程如下a.根據(jù)變異概率pm從交叉操作所形成的種群中隨機選取一個欲進行變異的個體 P ;b.隨機產(chǎn)生一個1 n間的整數(shù)gl ;c.判定個體P中g(shù)l位所對應(yīng)的基因類別,如果該基因為“0”,則隨機產(chǎn)生一個1 n間的整數(shù)g2,并使gl興g2,且保證個體P中與g2對應(yīng)的基因為“1”,反之,如果gl對應(yīng) 的基因為“1”,則產(chǎn)生的隨機數(shù)g2對應(yīng)的基因為“0” ;d.將個體P中與gl和g2相對應(yīng)的基因進行變異,變異就是將“1”和“0”互換。這里,根據(jù)變異概率pm選取進行變異的個體的方法為在W,l]區(qū)間內(nèi)隨機產(chǎn)生 一個實數(shù)rk,這里k = l,2,-,pop_size ;若rk < pm,則交叉操作所形成的種群中的第k個 個體就是欲進行變異的個體。步驟十形成新種群。根據(jù)⑶0P值的大小,從所有后代和父代中選?、?P最小的p0p_siZe個個體形成 新種群。然后返回步驟五。本發(fā)明的選星方法,最終選取的衛(wèi)星數(shù)能根據(jù)組合星座個數(shù)和接收機性能進行靈 活配置,使用簡便,操作量小,且選出的星座GD0P值滿足定位需要。為了驗證本發(fā)明的選星效果和性能,本發(fā)明以GPS和COMPASS組成的雙系統(tǒng)為例,在全中國范圍內(nèi),以中國地殼運 動觀測網(wǎng)絡(luò)數(shù)據(jù)中心的27個GPS基準站為站點進行了仿真分析,圖2 圖5為部分仿真結(jié)^ o圖2為北京十三陵地區(qū)(BJSH站)協(xié)調(diào)世界時(Coordinated Universal Time,簡 稱為UTC)0時選星前后星空視圖對比圖,其中,左圖為選星前星空視圖,右圖為選星后星空 視圖。圖中,“G”、“B”分別表示GPS衛(wèi)星和COMPASS衛(wèi)星,其后數(shù)字表示衛(wèi)星號,N表示北, E表示東,從里到外的圓分別表示仰角為75°、40°、5°位置,圓心為90°仰角位置,它對 應(yīng)用戶所在位置。由圖2可見,選星前,可見衛(wèi)星數(shù)較多,共有17顆,且分布上存在“扎堆” 現(xiàn)象;選星后,可見星散布較好,衛(wèi)星數(shù)較少,這將大大降低接收機的導(dǎo)航處理負擔(dān),有利于 接收機的實時快速定位。圖3為BJSH站選星后的GD0P曲線。圖中橫坐標為時間,單位為 小時,縱坐標表示GD0P值。由圖3可見,選星后,各時刻GD0P值較小,且變化范圍不大,約 在1. 5 3之間。一般,衛(wèi)星系統(tǒng)可用性的選擇規(guī)定為位置精度因子PD0P彡6。因為選星 后,有⑶OP ^ 3,而PD0P <⑶0P,這就表明采用本發(fā)明的選星方法所獲得的結(jié)果是能滿足 導(dǎo)航定位要求的。圖4為BJSH站各選星時刻采用本發(fā)明的選星方法選星過程中的進化代數(shù),其中, 縱坐標表示選星過程中的進化代數(shù),橫坐標表示時間t,單位為小時h。由圖4可見,在絕大 部分情形下,進化代數(shù)不會超過2代。經(jīng)對全部27個基準站的選星結(jié)果進行統(tǒng)計,結(jié)果表 明,在⑶0P限制為3、種群數(shù)為10的情形下,有98. 637%的選星時刻其進化代數(shù)不超過2 ; 更進一步的,約有95. 925%的選星時刻在初始化完成后就能獲得滿足要求的選星結(jié)果。因 為在整個選星求解過程中,交叉、變異過程是位操作,主要的操作量體現(xiàn)為獲取GD0P值,因 此,選星操作量的大小可以粗略的以獲取GD0P值的次數(shù)來衡量,圖5為BJSH站各選星時刻 以GD0P求解次數(shù)為參考的運算量曲線,其中,縱坐標表示以GD0P求解次數(shù)為參考的運算 量,橫坐標表示時間t,單位為小時h。由圖5可知,整體而言,本發(fā)明的選星方法操作運算 量不大,對所選參考站,其最大運算量不超過70次GD0P求解的運算量。經(jīng)對全部27個基 準站的選星結(jié)果進行統(tǒng)計,結(jié)果表明,平均每個選星時刻不到13次GD0P的求解運算量。而 如果采用傳統(tǒng)的最優(yōu)GD0P方法進行選星,在圖2所示的17顆可見星星座狀態(tài)下,要選取8 顆星座結(jié)構(gòu)最優(yōu)的衛(wèi)星,則需進行24310次⑶0P求解,而隨著衛(wèi)星數(shù)目的增多,其運算量將 急劇增加,例如,當(dāng)可見衛(wèi)星數(shù)為18時,⑶0P求解次數(shù)將增大至43758,顯然,這對于實時選 星是不現(xiàn)實的,而本發(fā)明的方法其選星操作的最大運算量不超過70次GD0P求解次數(shù),還不 到傳統(tǒng)最優(yōu)GD0P選星方法的0. 5%,其運算量的改善值超過99%,這就為本發(fā)明的選星方 法不管是在靜態(tài)還是動態(tài)條件下的實時、快速選星提供了保證,且選星結(jié)果滿足導(dǎo)航定位 要求。本發(fā)明的衛(wèi)星導(dǎo)航系統(tǒng)選星方法,以GD0P限制要求為前提,按設(shè)定的衛(wèi)星數(shù)進行 選星,有效克服了傳統(tǒng)選星方法操作運算量大的缺點,同時,選擇的衛(wèi)星數(shù)設(shè)置靈活,并能 保證所選星座滿足導(dǎo)航定位要求,實現(xiàn)了簡單、快速選星。
1權(quán)利要求
一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,該方法包括以下步驟步驟一參數(shù)配置;根據(jù)定位需要和接收機性能以及組合星座個數(shù),配置所需選取的衛(wèi)星數(shù)ns和星座的幾何精度因子GDOP值的限制要求,配置所需種群大小pop_size和最大進化代數(shù)Gmax,確定交叉操作中所采用的交叉概率pc的大小以及變異操作中的變異概率pm的大小;步驟二獲取可見星位置;通過衛(wèi)星星歷或歷書得到所有當(dāng)前可見星的位置,同時,要將屬于不同衛(wèi)星系統(tǒng)的各衛(wèi)星位置轉(zhuǎn)換至某種選定的坐標系;如果存在接收機自主完整性分析,則根據(jù)該分析結(jié)果來剔除故障衛(wèi)星,保證參與選星的衛(wèi)星均處于健康狀態(tài);步驟三編碼;采用二進制串編碼方案來表示選星中的衛(wèi)星組合方案;將每顆衛(wèi)星設(shè)為一個基因,所有觀測衛(wèi)星按順序進行編排,最低位表示第1號衛(wèi)星,第n位表示第n號衛(wèi)星;對于由n個可見星組成的選星問題中的衛(wèi)星組合方案,其二進制串編碼長度為n;選星問題中的一種衛(wèi)星組合方案的二進制編碼串簡稱為一個解或一個個體;其中,上述的基因是衛(wèi)星選入與否的標識,是一個二進制變量;1基因,采用數(shù)字1表示,表明在最終結(jié)果中該衛(wèi)星被選入;0基因,采用數(shù)字0表示,表明在最終結(jié)果中該衛(wèi)星未被選入;步驟四種群初始化;初始化就是根據(jù)編碼方案對個體進行初始賦值,對于總可見衛(wèi)星數(shù)為n的衛(wèi)星導(dǎo)航系統(tǒng),種群初始化就是采用隨機的方式產(chǎn)生pop_size個長為n的二進制串,且二進制串中1基因的個數(shù)等于ns;步驟五獲取適值;根據(jù)適應(yīng)度函數(shù)獲取各個體的適值;其中,適值是適應(yīng)度函數(shù)之值;步驟六終止條件判斷,獲取最終的選星結(jié)果;根據(jù)各個體的適值,選出適值最大的個體作為初步選星結(jié)果;然后,統(tǒng)計進化迭代次數(shù)gen;如果該個體對應(yīng)的星座GDOP值滿足限制要求,或者如果gen=Gmax,則終止整個選星過程,將該個體作為最終的結(jié)果;否則,繼續(xù)下面步驟七至步驟十的過程,直至滿足終止條件;滿足終止條件后,將最終選取的個體進行譯碼形成選星結(jié)果;這里,譯碼就是編碼的逆過程,它是將所有1基因?qū)?yīng)的衛(wèi)星作為選用衛(wèi)星組合來使用,而0基因?qū)?yīng)的衛(wèi)星排除不用;當(dāng)滿足終止條件后,完成整個選星過程;步驟七選擇;采用正比選擇方式從種群中獲得進行交叉的種群,每個個體的選擇概率正比于其適值;經(jīng)pop_size次選擇獲得用于交叉的種群;設(shè)種群中第k個個體的適值為evalk,其中k=1,2,…,pop_size,則按正比選擇方式,其選擇概率pk為 <mrow><msub> <mi>p</mi> <mi>k</mi></msub><mo>=</mo><msub> <mi>eval</mi> <mi>k</mi></msub><mo>/</mo><munderover> <mi>Σ</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mi>pop</mi><mo>_</mo><mi>size</mi> </mrow></munderover><msub> <mi>eval</mi> <mi>j</mi></msub> </mrow>其中evalj表示第j個個體的適值,這里j=1,2.…,pop_size;在獲得各個體的選擇概率后,再根據(jù)選擇概率得到各個體的累積概率qk <mrow><msub> <mi>q</mi> <mi>k</mi></msub><mo>=</mo><munderover> <mi>Σ</mi> <mrow><mi>jj</mi><mo>=</mo><mn>1</mn> </mrow> <mi>k</mi></munderover><msub> <mi>p</mi> <mi>j</mi></msub><mo>,</mo><mi>k</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>pop</mi><mo>_</mo><mi>size</mi> </mrow>其中,qk表示第k個個體的累積概率,pj表示第j個個體的選擇概率;根據(jù)累計概率qk獲得交叉種群;步驟八交叉;根據(jù)交叉概率pc從交叉種群中選擇出用于交叉的個體,其中,用于交叉的兩個個體為雙親或父代;接著,采用?!?”映射交叉OMX或變異交叉MX的方式來進行交叉操作形成新的個體,稱交叉操作所形成的新個體為后代;步驟九變異;采用雙基因“01”相對變異方式執(zhí)行變異操作,變異操作所形成的個體也稱為后代;步驟十形成新種群;根據(jù)GDOP值的大小,從所有后代和父代中選取GDOP最小的pop_size個個體形成新種群;然后返回步驟五。
2.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于步驟一所述的參 數(shù)配置,其中所需選取的衛(wèi)星數(shù)ns,根據(jù)定位需要以及組合星座系統(tǒng)個數(shù)及接收機性能來確定,在 沒有特別的規(guī)定或要求及衛(wèi)星數(shù)足夠多的情形下,對于單系統(tǒng),所需選取的衛(wèi)星數(shù)ns取為 7 8 ;對于雙系統(tǒng),所需選取的衛(wèi)星數(shù)ns取為7 9 ;對于三系統(tǒng),所需選取的衛(wèi)星數(shù)ns取 為8 10 ;對于四系統(tǒng),所需選取的衛(wèi)星數(shù)ns取為9 12 ;對星座的幾何精度因子GD0P值的限制要求,在沒有特別要求的情形下,取為不大于6 的正數(shù);種群大小pop_siZe,對單系統(tǒng)或雙系統(tǒng),取為8 12 ;對三系統(tǒng),取為10 16 ;對四系 統(tǒng),取為10 20 ;對于實際應(yīng)用過程中的具體值,采用仿真方式進行調(diào)試得到; 最大進化代數(shù)G_,取為20 100 ;交叉概率P。的取值范圍為0. 3 0. 9,變異概率pm的取值范圍為0. 1 0. 7,實際使用 時的具體取值通過仿真調(diào)試來確定。
3.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,步驟五中所述的 適應(yīng)度函數(shù)為evaKX) = GDOP^-GDOP^ GDOPmax -GDOP^ +e 其中,eval(X)是適應(yīng)度函數(shù),其值就是適值;X是步驟三中所述選星問題的解,也就 是星座組合方案的二進制編碼,是種群中的個體;GD0P_表示當(dāng)前種群中最大的GD0P值, ⑶0Pmin表示當(dāng)前種群中最小的⑶0P值;⑶0P(X)表示個體X的⑶OP值;£是一個(0,1)區(qū) 間上小的正實數(shù),它僅是為了避免分母為0而設(shè)置的,隨機選取。
4.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,步驟七中所述的 根據(jù)累計概率qk獲取交叉種群的方式如下,這里k= 1,2,-,pop_sizea)在W,l]區(qū)間內(nèi)隨機產(chǎn)生一個均勻分布的實數(shù)r;b)如果r( qi,則選第1個個體;否則,選擇第k個個體,其中,2彡k ( pop.size^^ < r s^ qk ;c)重復(fù)上述過程p0p_siZe次,獲得用于交叉的種群。
5.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,步驟八中所述的 根據(jù)交叉概率P。從交叉種群中選擇用于交叉的個體的方法為在W,l]區(qū)間內(nèi)隨機產(chǎn)生一 個實數(shù)rk,其中k= 1,2,…,p0p_siZe ;若rk<p。,則選取第k個個體作為交叉的雙親之 一;每選出兩個個體形成一對雙親,對其進行交叉操作;如果最終選取的個體數(shù)為單數(shù),則 將最后一個個體剔除不用。
6.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,步驟八中所述的 ?!?1 ”映射交叉0MX的操作過程如下a.先根據(jù)交叉概率p。選擇雙親,然后,隨機產(chǎn)生1個1 (ns_l)間的整數(shù)n。,由整數(shù) n。定義要進行交叉的所選衛(wèi)星,雙親中序號較小的n。顆已選衛(wèi)星進行交叉;其中,已選衛(wèi)星 標識就是1基因;b.交換雙親中序號較小的n。顆已選衛(wèi)星標識,產(chǎn)生原始后代;c.根據(jù)所交換的衛(wèi)星間編號對應(yīng)關(guān)系來確定所交換的衛(wèi)星間的映射關(guān)系;如果雙親1 中衛(wèi)星pi、衛(wèi)星P2分別與雙親2中衛(wèi)星p2、衛(wèi)星ql進行交換,則它們之間的對應(yīng)關(guān)系為 pi e 、P2 ^ ,因為衛(wèi)星p2兩次進行了交換,從而實際上衛(wèi)星p2沒有進行交換,這樣,它 們的映射關(guān)系就確定為樹㈠射,其它情形按類似方法得到所交換的衛(wèi)星間的映射關(guān)系;d.根據(jù)映射關(guān)系形成交叉操作的最終后代;如果在雙親1或雙親2中沒有參與交換的 衛(wèi)星出現(xiàn)在映射關(guān)系中,就按映射關(guān)系在原始后代中將之替換;如在雙親1中衛(wèi)星ql沒有 參與交換,但存在映射關(guān)系樹,那么,就將雙親1中的衛(wèi)星ql在原始后代1中用衛(wèi)星pl 替換,而參與交換的衛(wèi)星保持不變。
7.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,步驟八中所述的 變異交叉MX的操作過程如下a.先根據(jù)交叉概率p。選擇雙親,然后,隨機產(chǎn)生1個1 (ns_l)間的整數(shù)n。,由整數(shù) nc定義要進行交叉的所選衛(wèi)星,雙親中序號較小的n。顆已選衛(wèi)星進行交叉,其中,已選衛(wèi)星 標識就是1基因;b.交換雙親中序號較小的n。顆已選衛(wèi)星標識,產(chǎn)生原始后代;c.根據(jù)原始后代中1基因的個數(shù)判斷通過交叉所獲得的后代是否滿足選星中對衛(wèi)星 數(shù)的限制要求;只有當(dāng)原始后代中1基因的個數(shù)等于n。時,通過交叉所獲得的后代才滿足 選星對衛(wèi)星數(shù)的限制要求;如果原始后代均滿足限制要求,則不進行進一步操作,所形成的 原始后代是交叉操作所獲得的最終后代;否則,根據(jù)相差的個數(shù),隨機選取相應(yīng)原始后代中 為“0”的基因?qū)⒅優(yōu)椤?”,直至后代個體中“1”的個數(shù)等于n。為止,就獲得了交叉操作所 形成的最終后代。
8.根據(jù)權(quán)利要求1所述的一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法,其特征在于,步驟九中所述的 雙基因“01”相對變異方式的操作過程如下a.根據(jù)變異概率pm從交叉操作所形成的種群中隨機選取一個欲進行變異的個體P;b.隨機產(chǎn)生一個1 n間的整數(shù)gl,這里n為總可見衛(wèi)星數(shù);c.判定個體P中g(shù)l位所對應(yīng)的基因類別,如果該基因為“0”,則隨機產(chǎn)生一個1 n 間的整數(shù)g2,并使gl興g2,且保證個體P中與g2對應(yīng)的基因為“ 1 ”,反之,如果gl對應(yīng)的 基因為“1”,則產(chǎn)生的隨機數(shù)g2對應(yīng)的基因為“0” ;d.將個體P中與gl和g2相對應(yīng)的基因進行變異,變異就是將“ 1 ”和“0”互換。
全文摘要
本發(fā)明公開了一種衛(wèi)星導(dǎo)航系統(tǒng)選星方法。它以滿足導(dǎo)航定位要求為前提按設(shè)定的衛(wèi)星數(shù)來進行選星,以達到減少選星操作量和降低導(dǎo)航定位計算量的目的。該方法首先進行參數(shù)配置,獲取可見星位置,然后采用編碼、種群初始化、適值獲取、選擇、交叉和變異方式來執(zhí)行選星操作,形成新種群,以選取適值最大的個體作為初始選星結(jié)果;當(dāng)滿足終止條件時,根據(jù)該個體獲得最終的選星結(jié)果。本方法有效克服了傳統(tǒng)選星方法計算量大的問題,操作靈活,可實現(xiàn)簡單、快速選星,適合靜態(tài)和動態(tài)條件下的實時選星需求。
文檔編號G01S19/28GK101866010SQ201010194279
公開日2010年10月20日 申請日期2010年5月28日 優(yōu)先權(quán)日2010年5月28日
發(fā)明者張曉林, 陳燦輝, 霍航宇 申請人:北京航空航天大學(xué)