《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于CUDA加速的GPS L1C/A實時信號發(fā)生器設計
基于CUDA加速的GPS L1C/A實時信號發(fā)生器設計
電子技術應用 11期
王子涵1,巴曉輝1,2,3,姜維1,2,3,蔡伯根2,3,4,王劍1,2,3,文韜1,2,3,郭旗1
(1.北京交通大學 電子信息工程學院,北京 100044;2.北京交通大學 軌道交通控制與安全國家重點實驗室,北京 100044; 3.北京市電磁兼容與衛(wèi)星導航工程技術研究中心,北京 100044;4.北京交通大學 計算機與信息技術學院,北京 100044)
摘要: 提出了一種基于軟件無線電和CUDA(Compute Unified Device Architecture)加速的GPS L1C/A信號生成方法,系統(tǒng)根據(jù)用戶自定義軌跡和衛(wèi)星星歷產(chǎn)生中頻信號,并通過USRP(Universal Software Radio Peripheral)在相應的射頻頻點發(fā)射,由此實現(xiàn)了實時衛(wèi)星導航信號的播發(fā)。為了提升GPU的并行計算速度,從設備內存優(yōu)化、并行結構優(yōu)化、CUDA流加速三個角度來對算法進行改進,提出了一種基于異步運算思想的針對采樣點數(shù)據(jù)加速計算的CUDA優(yōu)化實現(xiàn)方案。測試結果表明,優(yōu)化后的算法能夠產(chǎn)生高速、實時的衛(wèi)星信號,在RTX1050TI設備上,可以做到信號195 MHz采樣率,10顆可見衛(wèi)星情況下衛(wèi)星信號的實時生成。
中圖分類號:TN967.1
文獻標志碼:A
DOI: 10.16157/j.issn.0258-7998.233903
引用格式: 王子涵,巴曉輝,姜維,等. 基于CUDA加速的GPS L1C/A實時信號發(fā)生器設計[J]. 電子技術應用,2023,49(11):146-152.
Real-time GPS L1C/A signal generator design based on CUDA acceleration
Wang Zihan1,Ba Xiaohui1,2,3,Jiang Wei1,2,3,Cai Bogen2,3,4,Wang Jian1,2,3,Wen Tao1,2,3,Guo Qi1
(1.School of Electronics and Information Engineering, Beijing Jiaotong University, Beijing 100044, China;2.State Key Laboratory of Rail Traffic Control and Safety,Beijing Jiaotong University, Beijing 100044, China;3.Beijing Engineering Research Center of EMC and GNSS Technology for Rail Transportation, Beijing 100044, China;4.School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China.)
Abstract: This paper proposes a method for generating GPS L1C/A signals based on software defined radio and CUDA acceleration. The system generates intermediate frequency signals based on user-defined trajectories and satellite ephemeris, and transmits them at the corresponding radio frequency points through USRP, thus realizing real-time broadcasting of satellite navigation signals. To improve the parallel computing speed of the GPU, this paper proposes a CUDA optimization implementation scheme based on asynchronous operation idea from the perspectives of device memory optimization, parallel structure optimization, and CUDA stream acceleration for sampling point data acceleration calculation. The test results indicate that the optimized algorithm is capable of generating high-speed and real-time satellite signals. On an RTX1050TI device, the satellite signal can be generated in real time with a sampling rate of 195 MHz and under the condition of 10 visible satellites.
Key words : GPU;GNSS simulator;software defined radio;high-speed real-time

【引言】

進入21世紀后,隨著人類步入到信息數(shù)字化時代,全球導航衛(wèi)星系統(tǒng)GNSS(Global Navigation Satellite System)的應用也從最初的軍事領域,滲透到包括交通、金融、航空、航海、測繪等生活的方方面面,成為關系人們日常生活的一項重要基礎設施[1]。

全球衛(wèi)星導航系統(tǒng)一般由地面控制部分、空間衛(wèi)星星座和地面用戶設備三部分組成。除了要保證太空中衛(wèi)星的正常工作外,地面上的用戶設備也是系統(tǒng)正常運行的關鍵一環(huán),而各種高性能接收機的開發(fā)與調試都離不開信號模擬器[2]。與直接讓接收機接收真實衛(wèi)星信號或使用信號回放儀回放衛(wèi)星信號的方法相比,信號模擬器可以根據(jù)用戶的需要,設計不同環(huán)境、不同復雜場景下的模擬衛(wèi)星信號,從而為導航接收機等設備提供仿真測試條件[3]。此外,衛(wèi)星導航系統(tǒng)在軍事領域的更多潛力也在被迅速開發(fā),通過使用欺騙技術,使得敵方的精確武器、設備失去作戰(zhàn)能力,具有非常高的軍事研究價值,并已成為世界各國研究的熱點。而產(chǎn)生實時高效的模擬衛(wèi)星信號則是研究欺騙與反欺騙技術的技術前提,具有重要意義[4,5]。

傳統(tǒng)的GNSS信號模擬器由仿真控制軟件(simulation control software)和信號生成硬件(signal generation hardware)組成[6-7]。仿真控制軟件可以通過設置載體運動軌跡和模擬場景來生成GNSS信號。在信號生成硬件中,數(shù)字信號處理(Digital Signal Processor, DSP)芯片負責計算導航信息、狀態(tài)參數(shù)、控制參數(shù)。通過現(xiàn)場可編程門陣列(Field-Programmable Gate Array, FPGA)實現(xiàn)信號編碼和直接序列擴頻調制,生成數(shù)字中頻信號。最后,再經(jīng)過模數(shù)轉換器(Digital to Analog Converter, DAC)和數(shù)字中頻信號的上變頻得到所需的衛(wèi)星信號[8-9]。

傳統(tǒng)的信號模擬器通常采用“FPGA+DSP”結構。這種系統(tǒng)需要定制化,硬件成本高且靈活性低,用戶不能方便地更改導航電文、擴頻碼等信息。此外,對于傳統(tǒng)信號模擬器,諸如認證信息添加和多徑效應模擬等功能的拓展也比較復雜。而模擬器在實際運用過程中經(jīng)常需要根據(jù)需要,對不同場景、各種狀態(tài)的衛(wèi)星信號靈活模擬,傳統(tǒng)信號模擬器亟需改進。

為解決上述問題,基于軟件無線電(Software Defined Radio, SDR)的GNSS模擬器體系結構開始被人們所采用[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)性的總結,并通過在相同條件下比較使用CPU和CPU+GPU兩種方法產(chǎn)生衛(wèi)星信號的快慢,證明了GPU對于信號加速的可行性及有效性;文獻[14]針對GPS L1信號,對程序的并行線程結構、內存分配方式進行了優(yōu)化,實現(xiàn)了多通道高采樣率的衛(wèi)星信號的實時生成;文獻[15]設計了一種數(shù)據(jù)結構,以提高GPU訪問偽碼數(shù)據(jù)的速度,并最終高速實時生成了BDS B1I信號。但是,前人關于GPU信號加速的研究,主要是針對并行程序部分的線程結構、內存訪問方式以及數(shù)據(jù)存儲方法的優(yōu)化,而系統(tǒng)在執(zhí)行核函數(shù)以外的命令時,仍然是以串行運行為主的方式,這造成了資源上的浪費。對此,本文在繼承前人優(yōu)化思想的基礎上,運用異步運行的思想,引入了CUDA流的概念,對GPU產(chǎn)生衛(wèi)星信號的過程進行進一步的加速。

在本文中,提出了一種SDR GNSS信號模擬器的體系結構。在這個結構中,仿真控制軟件基于本文提出的優(yōu)化算法高速實時產(chǎn)生GNSS數(shù)字中頻信號,然后通過高速接口將信號送到USRP中,再經(jīng)過正交矯正、數(shù)模變換、上變頻,最后通過射頻端輸出,生成模擬GNSS信號。由于中頻信號的產(chǎn)生是在軟件中進行的,因此整個系統(tǒng)具有良好的可拓展性,便于測試與驗證。


文章詳細內容下載請點擊:基于CUDA加速的GPS L1C/A實時信號發(fā)生器設計AET-電子技術應用-最豐富的電子設計資源平臺 (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)星導航工程技術研究中心,北京 100044;4.北京交通大學 計算機與信息技術學院,北京 100044)




此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。