基于gpu和imu的衛(wèi)星導(dǎo)航軟件接收機及其導(dǎo)航方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及衛(wèi)星導(dǎo)航信號捕獲與衛(wèi)星導(dǎo)航軟件接收機技術(shù)領(lǐng)域,尤其涉及一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機及其導(dǎo)航方法。
【背景技術(shù)】
[0002]衛(wèi)星導(dǎo)航接收機是接收衛(wèi)星導(dǎo)航系統(tǒng)的衛(wèi)星導(dǎo)航信號并確定地面空間位置的儀器。導(dǎo)航衛(wèi)星發(fā)送的導(dǎo)航定位信號,是一種可供用戶共享的信息資源。對于陸地、海洋和空間的廣大用戶,只要擁有能夠接收、跟蹤、變換和測量衛(wèi)星導(dǎo)航信號的接收設(shè)備,即衛(wèi)星導(dǎo)航接收機,即可確定當前的位置。
[0003]衛(wèi)星導(dǎo)航軟件接收機利用通用處理器,對信號進行處理和計算。相比于傳統(tǒng)的硬件接收機,軟件接收機可采用可編程的、開放式平臺,使得程序的加載非常方便,同時還可以升級、研究新的算法,具有更高的靈活性,在基本硬件平臺不變的情況下方便實現(xiàn)復(fù)雜度更高的算法。
[0004]慣性導(dǎo)航單元(MJ)利用慣性元件(加速度計)來測量運載體本身的加速度,經(jīng)過積分和運算得到速度和位置。普通的商用慣性導(dǎo)航單元信號輸出頻率可達800?100Hz ο
[0005]與C/A碼(是GPS衛(wèi)星發(fā)出的一種偽隨機碼,用于粗測距和捕獲GPS衛(wèi)星)相同,P碼也是偽隨機碼,是和C/A碼對應(yīng)的精測碼,但是周期長達266天9小時,分配給全部衛(wèi)星,每顆衛(wèi)星的P碼周期為7天,一個周期的碼長度為6.187X 1012bit,相比C/A碼具有更高的擴頻增益、更強的抗干擾與防欺騙能力,可以有效提高衛(wèi)星導(dǎo)航接收機防欺騙和抗干擾能力,并獲得精度更高的導(dǎo)航定位信息。
[0006]圖形處理器(GPU),是一種專門在個人電腦、工作站和一些移動設(shè)備(如平板電腦、智能手機等)上進行2D/3D圖像運算工作的微處理器。由于GPU相比于通用的CPU處理器具有高吞吐量、擁有數(shù)百個硬件處理單元且每個處理單元深度多線程以及具有高memory帶寬,所以現(xiàn)在的GPU已經(jīng)不再局限于2D/3D圖形處理,在浮點運算、并行計算等部分計算方面,GPU可以提供數(shù)十倍乃至于上百倍于CPU的性能。
[0007]現(xiàn)在,衛(wèi)星導(dǎo)航軟件接收機已經(jīng)是一個比較熱門的導(dǎo)航接收機技術(shù)。雖然軟件接收機具有靈活方便,可編程化的特點,但是相比于硬件接收機,一直有著難以突破的定位精度問題。傳統(tǒng)軟件接收機導(dǎo)航信號捕獲方法是利用C/A碼捕獲后從星歷中獲取精確的時間計數(shù)信息,在縮短P碼相位的搜索空間的基礎(chǔ)上,實現(xiàn)P碼的捕獲,最終實現(xiàn)定位。但是,C/A碼抗干擾性差,受到干擾無法捕獲時,便無法實現(xiàn)P碼捕獲,因此,盡管P碼具有更好的抗干擾性,但在干擾環(huán)境下基于P碼進行定位導(dǎo)航的接收機依賴于C/A碼捕獲性能,為解決這個問題,必須采用P碼直接捕獲技術(shù)。然而,由于P碼周期長、碼速率高的特性,導(dǎo)致捕獲過程中碼相關(guān)計算量過大,難以實現(xiàn)衛(wèi)星導(dǎo)航擴頻信號的快速捕獲。對于高速移動的設(shè)備,軟件接收機的CPU計算處理速度也相對過慢,無法滿足導(dǎo)航定位所需的實時性要求,最終影響定位精度。現(xiàn)在較多的處理方式是通過GPU替代CPU計算,但仍存在GPU處理速度上限問題,若單純提高GPU速度,也會增加芯片成本代價。
[0008]本發(fā)明就是基于以上技術(shù)特點,對現(xiàn)有衛(wèi)星導(dǎo)航軟件接收機進行優(yōu)化,提高軟件接收機的定位精度。
【發(fā)明內(nèi)容】
[0009]本發(fā)明要解決的技術(shù)問題之一,在于提供一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機,加入了 GPU和頂U,通過頂U輔助、采用GPU進行大量數(shù)據(jù)的并行處理極大地提高了信號分析處理速度,減少了捕獲跟蹤P碼所需運算時間,提高衛(wèi)星導(dǎo)航信號P碼的捕獲速度,在保證滿足導(dǎo)航實時性要求的前提下強化接收機的防欺騙和抗干擾能力。
[0010]本發(fā)明的問題之一,是這樣實現(xiàn)的:一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機,包括天線模塊、射頻前端模塊、中頻數(shù)字信號采集模塊以及數(shù)據(jù)處理模塊,所述數(shù)據(jù)處理模塊包括圖形處理器、中央處理器以及慣性導(dǎo)航單元,通過所述天線模塊接收衛(wèi)星導(dǎo)航信號,再通過所述射頻前端模塊對接收到的衛(wèi)星導(dǎo)航信號進行低噪聲放大和濾波處理,然后再由所述中頻數(shù)字信號采集模塊對接收到的衛(wèi)星導(dǎo)航信號進行采樣,得到中頻采樣數(shù)據(jù),再將該中頻采樣數(shù)據(jù)傳輸給所述數(shù)據(jù)處理模塊,并由所述慣性導(dǎo)航單元提供輔助數(shù)據(jù)來縮小頻率捕獲范圍,由所述中央處理器和所述圖形處理器完成衛(wèi)星導(dǎo)航信號的捕獲、跟蹤和解算。
[0011]本發(fā)明要解決的技術(shù)問題之二,在于提供一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機的導(dǎo)航方法,加入了 GPU和頂U,通過頂U輔助、采用GPU進行大量數(shù)據(jù)的并行處理極大地提高了信號分析處理速度,減少了捕獲跟蹤P碼所需運算時間,提高衛(wèi)星導(dǎo)航信號P碼的捕獲速度,在保證滿足導(dǎo)航實時性要求的前提下強化接收機的防欺騙和抗干擾能力。
[0012]本發(fā)明的問題之二,是這樣實現(xiàn)的:一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機的導(dǎo)航方法,所述方法需提供上述的一種基于GPU和IMU輔助的衛(wèi)星導(dǎo)航軟件接收機,所述方法具體包括如下步驟:
[0013]步驟1、根據(jù)接收機當前的時鐘初步確定P碼相位搜索范圍,并由移位寄存器生成本地P碼;
[0014]步驟2、通過所述慣性導(dǎo)航單元輸出的速度信息估計多普勒頻移量的大小fv,同時,通過所述慣性導(dǎo)航單元輸出的加速度信息估計多普勒頻移量的漂移程度f" v;
[0015]步驟3、所述中央處理器讀入所述慣性導(dǎo)航單元輸出的速度信息和加速度信息,根據(jù)所述本地P碼、所述多普勒頻移量的大小fv及所述多普勒頻移量的漂移程度r v估計當前歷元衛(wèi)星導(dǎo)航信號的P碼頻率搜索范圍[fv-f' v,fv+f' v],進而調(diào)整粗捕獲過程中載波NCO和本地P碼發(fā)生器的P碼相位搜索范圍[Pl,P2];
[0016]步驟4、通過所述天線模塊接收衛(wèi)星導(dǎo)航信號,再通過所述射頻前端模塊對接收到的衛(wèi)星導(dǎo)航信號進行低噪聲放大和濾波處理,然后再由所述中頻數(shù)字信號采集模塊對接收到的衛(wèi)星導(dǎo)航信號進行采樣,得到中頻采樣數(shù)據(jù),根據(jù)P碼的特性將所述中頻采樣數(shù)據(jù)的長度進行放大后,計算所述中頻采樣數(shù)據(jù)的FFT結(jié)果,并取其共軛記為序列s ;
[0017]步驟5、將所述P碼相位搜索范圍[Pl,p2]分成N段,得到每段P碼相位數(shù)據(jù),根據(jù)P碼的特性將所述P碼相位數(shù)據(jù)的長度進行放大后,通過所述圖形處理器進行并行計算,得出每段所述P碼相位數(shù)據(jù)的FFT結(jié)果,依次記為序列ri?r N;
[0018]步驟6、通過所述圖形處理器進行并行計算,將所述序列Γι?r ,分別與所述序列s相乘,然后將每個結(jié)果分別做IFFT,求出全部結(jié)果序列的模值,找出所有模值中的最大值;
[0019]步驟7、根據(jù)所述最大值從衛(wèi)星導(dǎo)航信號中解讀出導(dǎo)航信息數(shù)據(jù),再根據(jù)該導(dǎo)航信息數(shù)據(jù)并通過所述中央處理器進行定位解算,得出接收機的當前位置。
[0020]進一步地,所述步驟4中將所述中頻采樣數(shù)據(jù)的長度進行放大,其放大的倍數(shù)為原來長度的2倍。
[0021]進一步地,所述步驟5中將所述P碼相位數(shù)據(jù)的長度進行放大,其放大的倍數(shù)為原來長度的2倍。
[0022]本發(fā)明具有如下優(yōu)點:
[0023]1、加入慣性導(dǎo)航單元(MU)獲取接收機對于地面的速度,與從星歷讀取的衛(wèi)星速度進行矢量相加,更準確地計算出接收機與衛(wèi)星的相對速度,從而輔助接收機鎖定和跟蹤衛(wèi)星導(dǎo)航信號;
[0024]2、采用P碼直接捕獲技術(shù)增強接收機防欺騙和抗干擾能力,并獲得精度更高的導(dǎo)航定位信息;
[0025]3、采用GPU代替CPU分析處理P碼數(shù)字中頻信號,利用GPU強大的并行處理能力,進行快速傅里葉變換(FFT)與快速傅里葉逆變換(IFFT),極大縮短了解析信號的時間,滿足導(dǎo)航定位實時性需求。
【附圖說明】
[0026]下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。
[0027]圖1為本發(fā)明一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機的結(jié)構(gòu)示意圖。
[0028]圖2為本發(fā)明一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機的導(dǎo)航方法執(zhí)行流程圖。
【具體實施方式】
[0029]請參閱圖1所示,本發(fā)明的一種基于GPU和IMU的衛(wèi)星導(dǎo)航軟件接收機,包括天線模塊、射頻前端模塊、中頻數(shù)字信號采集模塊以及數(shù)據(jù)處理模塊,所述數(shù)據(jù)處理模塊包括圖形處理器、中央處理器以及慣性導(dǎo)航單元,通過所述天線模塊接收衛(wèi)星導(dǎo)航信號,再通過所述射頻前端模塊對接收到的衛(wèi)星導(dǎo)航信號進行低噪聲放大和濾波處理,然后再由所述中頻數(shù)字信號采集模塊對接收到的衛(wèi)星導(dǎo)航信號進行采樣,得到中頻采樣數(shù)據(jù),再將該中頻采樣數(shù)據(jù)傳輸給所述數(shù)據(jù)處理模塊,并由所述慣性導(dǎo)航單元提供輔助數(shù)據(jù)來縮小頻率捕獲范圍,由所述中央處理器和所