文獻標志碼: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世紀后,,隨著人類步入到信息數(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)星導航系統(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)境、不同復雜場景下的模擬衛(wèi)星信號,從而為導航接收機等設(shè)備提供仿真測試條件[3],。此外,衛(wèi)星導航系統(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)芯片負責計算導航信息,、狀態(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)需要定制化,硬件成本高且靈活性低,,用戶不能方便地更改導航電文,、擴頻碼等信息。此外,,對于傳統(tǒng)信號模擬器,,諸如認證信息添加和多徑效應(yīng)模擬等功能的拓展也比較復雜。而模擬器在實際運用過程中經(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.北京交通大學 電子信息工程學院,,北京 100044;2.北京交通大學 軌道交通控制與安全國家重點實驗室,,北京 100044,;
3.北京市電磁兼容與衛(wèi)星導航工程技術(shù)研究中心,北京 100044,;4.北京交通大學 計算機與信息技術(shù)學院,,北京 100044)