文獻標(biāo)志碼:A
DOI: 10.16157/j.issn.0258-7998.233903
引用格式: 王子涵,巴曉輝,姜維,等. 基于CUDA加速的GPS L1C/A實時信號發(fā)生器設(shè)計[J]. 電子技術(shù)應(yīng)用,2023,49(11):146-152.
【引言】
進入21世紀(jì)后,隨著人類步入到信息數(shù)字化時代,全球?qū)Ш叫l(wèi)星系統(tǒng)GNSS(Global Navigation Satellite System)的應(yīng)用也從最初的軍事領(lǐng)域,滲透到包括交通、金融、航空、航海、測繪等生活的方方面面,成為關(guān)系人們?nèi)粘I畹囊豁椫匾A(chǔ)設(shè)施[1]。
全球衛(wèi)星導(dǎo)航系統(tǒng)一般由地面控制部分、空間衛(wèi)星星座和地面用戶設(shè)備三部分組成。除了要保證太空中衛(wèi)星的正常工作外,地面上的用戶設(shè)備也是系統(tǒng)正常運行的關(guān)鍵一環(huán),而各種高性能接收機的開發(fā)與調(diào)試都離不開信號模擬器[2]。與直接讓接收機接收真實衛(wèi)星信號或使用信號回放儀回放衛(wèi)星信號的方法相比,信號模擬器可以根據(jù)用戶的需要,設(shè)計不同環(huán)境、不同復(fù)雜場景下的模擬衛(wèi)星信號,從而為導(dǎo)航接收機等設(shè)備提供仿真測試條件[3]。此外,衛(wèi)星導(dǎo)航系統(tǒng)在軍事領(lǐng)域的更多潛力也在被迅速開發(fā),通過使用欺騙技術(shù),使得敵方的精確武器、設(shè)備失去作戰(zhàn)能力,具有非常高的軍事研究價值,并已成為世界各國研究的熱點。而產(chǎn)生實時高效的模擬衛(wèi)星信號則是研究欺騙與反欺騙技術(shù)的技術(shù)前提,具有重要意義[4,5]。
傳統(tǒng)的GNSS信號模擬器由仿真控制軟件(simulation control software)和信號生成硬件(signal generation hardware)組成[6-7]。仿真控制軟件可以通過設(shè)置載體運動軌跡和模擬場景來生成GNSS信號。在信號生成硬件中,數(shù)字信號處理(Digital Signal Processor, DSP)芯片負(fù)責(zé)計算導(dǎo)航信息、狀態(tài)參數(shù)、控制參數(shù)。通過現(xiàn)場可編程門陣列(Field-Programmable Gate Array, FPGA)實現(xiàn)信號編碼和直接序列擴頻調(diào)制,生成數(shù)字中頻信號。最后,再經(jīng)過模數(shù)轉(zhuǎn)換器(Digital to Analog Converter, DAC)和數(shù)字中頻信號的上變頻得到所需的衛(wèi)星信號[8-9]。
傳統(tǒng)的信號模擬器通常采用“FPGA+DSP”結(jié)構(gòu)。這種系統(tǒng)需要定制化,硬件成本高且靈活性低,用戶不能方便地更改導(dǎo)航電文、擴頻碼等信息。此外,對于傳統(tǒng)信號模擬器,諸如認(rèn)證信息添加和多徑效應(yīng)模擬等功能的拓展也比較復(fù)雜。而模擬器在實際運用過程中經(jīng)常需要根據(jù)需要,對不同場景、各種狀態(tài)的衛(wèi)星信號靈活模擬,傳統(tǒng)信號模擬器亟需改進。
為解決上述問題,基于軟件無線電(Software Defined Radio, SDR)的GNSS模擬器體系結(jié)構(gòu)開始被人們所采用[10]?;谲浖o線電的GNSS模擬器使用仿真軟件來代替DSP和FPGA生成數(shù)字中頻信號,由于整個中頻信號的產(chǎn)生是由軟件端完成的,因此系統(tǒng)功能的變更和拓展較為方便。此外,在多通道、高采樣率的情況下,普通的CPU很難做到實時地生成模擬GNSS信號。因此,通過運用GPU加速的方法來滿足實時、多通道、高速率GNSS信號的模擬需求成為很多人的選擇[11-12]。
針對基于GPU的衛(wèi)星生成信號算法,前人已經(jīng)進行了一些研究。文獻[13]對GPU優(yōu)化加速的方法進行了系統(tǒng)性的總結(jié),并通過在相同條件下比較使用CPU和CPU+GPU兩種方法產(chǎn)生衛(wèi)星信號的快慢,證明了GPU對于信號加速的可行性及有效性;文獻[14]針對GPS L1信號,對程序的并行線程結(jié)構(gòu)、內(nèi)存分配方式進行了優(yōu)化,實現(xiàn)了多通道高采樣率的衛(wèi)星信號的實時生成;文獻[15]設(shè)計了一種數(shù)據(jù)結(jié)構(gòu),以提高GPU訪問偽碼數(shù)據(jù)的速度,并最終高速實時生成了BDS B1I信號。但是,前人關(guān)于GPU信號加速的研究,主要是針對并行程序部分的線程結(jié)構(gòu)、內(nèi)存訪問方式以及數(shù)據(jù)存儲方法的優(yōu)化,而系統(tǒng)在執(zhí)行核函數(shù)以外的命令時,仍然是以串行運行為主的方式,這造成了資源上的浪費。對此,本文在繼承前人優(yōu)化思想的基礎(chǔ)上,運用異步運行的思想,引入了CUDA流的概念,對GPU產(chǎn)生衛(wèi)星信號的過程進行進一步的加速。
在本文中,提出了一種SDR GNSS信號模擬器的體系結(jié)構(gòu)。在這個結(jié)構(gòu)中,仿真控制軟件基于本文提出的優(yōu)化算法高速實時產(chǎn)生GNSS數(shù)字中頻信號,然后通過高速接口將信號送到USRP中,再經(jīng)過正交矯正、數(shù)模變換、上變頻,最后通過射頻端輸出,生成模擬GNSS信號。由于中頻信號的產(chǎn)生是在軟件中進行的,因此整個系統(tǒng)具有良好的可拓展性,便于測試與驗證。
文章詳細內(nèi)容下載請點擊:基于CUDA加速的GPS L1C/A實時信號發(fā)生器設(shè)計AET-電子技術(shù)應(yīng)用-最豐富的電子設(shè)計資源平臺 (chinaaet.com)
【作者信息】
王子涵1,巴曉輝1,2,3,姜維1,2,3,蔡伯根2,3,4,王劍1,2,3,文韜1,2,3,郭旗1
(1.北京交通大學(xué) 電子信息工程學(xué)院,北京 100044;2.北京交通大學(xué) 軌道交通控制與安全國家重點實驗室,北京 100044;
3.北京市電磁兼容與衛(wèi)星導(dǎo)航工程技術(shù)研究中心,北京 100044;4.北京交通大學(xué) 計算機與信息技術(shù)學(xué)院,北京 100044)