文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.015
中文引用格式: 王家燃,,王峰,魏東明,,等. 基于FPGA的GPS接收機(jī)基帶處理硬件在環(huán)系統(tǒng)[J].電子技術(shù)應(yīng)用,,2016,42(7):60-63.
英文引用格式: Wang Jiaran,,Wang Feng,,Wei Dongming,et al. Hardware-in-the-Loop system of GPS receiver baseband processor based on FPGA[J].Application of Electronic Technique,,2016,,42(7):60-63.
0 引言
衛(wèi)星導(dǎo)航定位技術(shù)對一個國家的軍事以及國民經(jīng)濟(jì)發(fā)展有著重要的意義,,而跟蹤環(huán)路的設(shè)計是衛(wèi)星導(dǎo)航系統(tǒng)的關(guān)鍵部分,對衛(wèi)星導(dǎo)航系統(tǒng)的定位精度和穩(wěn)定性起到了關(guān)鍵性作用,。同時,,跟蹤環(huán)路的參數(shù)設(shè)計復(fù)雜,特別是在高動態(tài)的衛(wèi)星導(dǎo)航系統(tǒng)和組合導(dǎo)航系統(tǒng)中,,跟蹤環(huán)路的設(shè)計,、驗證、實現(xiàn)成為了衛(wèi)星導(dǎo)航系統(tǒng)設(shè)計的關(guān)鍵一環(huán),。
硬件在環(huán)(Hardware-in-the-Loop,,HIL)是一種半實物實時仿真技術(shù),實現(xiàn)整個系統(tǒng)的半實物實時仿真測試,,可以方便快速地實現(xiàn)設(shè)計方案的驗證與優(yōu)化,,縮短開發(fā)周期,降低研發(fā)成本,。HIL先后在航天航空、軍事,、汽車等領(lǐng)域得到推廣應(yīng)用[1],,目前GPS接收機(jī)的設(shè)計流程都是先采用MATLAB進(jìn)行算法設(shè)計、驗證,,然后再采用Verilog或者VHDL進(jìn)行算法實現(xiàn)[2-4],,該過程反復(fù)迭代,、費(fèi)時。由此將HIL運(yùn)用于衛(wèi)星導(dǎo)航接收機(jī)跟蹤環(huán)路的設(shè)計,,將MATLAB/Simulink設(shè)計的算法模型通過以太網(wǎng)與FPGA聯(lián)合起來進(jìn)行在線調(diào)試,,對驗證與優(yōu)化跟蹤環(huán)路的設(shè)計、縮短開發(fā)周期,、降低研發(fā)成本具有重要意義,。
本系統(tǒng)將FPGA設(shè)計的GPS基帶處理單元與Simulink設(shè)計的跟蹤環(huán)路進(jìn)行聯(lián)合[5],將基帶信號處理模塊集成到FPGA上,,在Simulink上完成鎖相環(huán)路,、鎖頻環(huán)路和延遲鎖定環(huán)路設(shè)計,并通過以太網(wǎng)實現(xiàn)FPGA與Simulink之間的通信,,完成一個實時的硬件在環(huán)系統(tǒng)的設(shè)計,,通過Simulink設(shè)計能夠方便快速地設(shè)計鎖相環(huán)路、鎖頻環(huán)路和延遲鎖定環(huán)路,,同時能夠方便及時地調(diào)整鎖相環(huán)路,、鎖頻環(huán)路和延遲鎖定環(huán)路的參數(shù),實時調(diào)整跟蹤環(huán)路參數(shù),,加快跟蹤環(huán)路設(shè)計,。
1 系統(tǒng)總體設(shè)計
系統(tǒng)整體設(shè)計原理圖如圖1所示。該系統(tǒng)主要分為4個單元:MAX2769B射頻單元,、基帶信號處理單元,、以太網(wǎng)通信單元、PC端Simulink,。MAX2769B射頻單元用于完成衛(wèi)星信號的濾波,、下變頻以及模數(shù)轉(zhuǎn)換;基帶信號處理單元用于低中頻衛(wèi)星信號的捕獲,、跟蹤,,其中LEON3處理器用于完成數(shù)據(jù)運(yùn)算、控制捕獲和跟蹤模塊的運(yùn)行,、中斷,,以及接收捕獲和跟蹤模塊的信息;以太網(wǎng)通信單元用于PC端Simulink跟蹤環(huán)路模塊與衛(wèi)星信號基帶處理單元之間的通信,;PC端Simulink用于接收基帶信號處理單元的I/Q支路的相關(guān)積分結(jié)果,,并輸入鎖相環(huán)路、鎖頻環(huán)路和延遲鎖定環(huán)路,,得到環(huán)路處理結(jié)果,,再通過以太網(wǎng)反饋到基帶信號處理單元。
2 系統(tǒng)的硬件設(shè)計
2.1 衛(wèi)星信號捕獲模塊設(shè)計與實現(xiàn)
衛(wèi)星信號捕獲模塊結(jié)構(gòu)如圖2所示,,采用Verilog[6]語言進(jìn)行設(shè)計,,嵌入AHB總線的從設(shè)備接口掛載到AHB總線上,,實現(xiàn)與LEON3處理器的數(shù)據(jù)交互。該模塊采用雙口RAM作為數(shù)據(jù)緩存RAM,,用于緩存AHB總線與捕獲模塊的交互數(shù)據(jù),,實現(xiàn)跨時鐘域處理,解決時鐘不一致的問題,。在捕獲控制模塊的控制下,,將緩存之后低中頻數(shù)據(jù)與載波發(fā)生器相乘進(jìn)行下變頻,再經(jīng)過一個CIC(Cascade Integrator Comb)陷波器進(jìn)行干擾檢測和干擾抵消,,然后通過分段匹配濾波器進(jìn)行相關(guān)積分并緩存到RAM中供FFT處理,,處理完成后進(jìn)行門限判斷,并將捕獲結(jié)果緩存至雙口RAM,,同時申請捕獲中斷,,通知LENON3處理器進(jìn)行讀取。
2.2 衛(wèi)星信號跟蹤模塊設(shè)計與實現(xiàn)
衛(wèi)星信號跟蹤模塊中嵌入AHB從設(shè)備接口,,并掛載在AHB總線上,,如圖3所示。將捕獲模塊中經(jīng)過干擾抵消后的信號作為跟蹤模塊的輸入信號,,載波發(fā)生器模塊對輸入信號進(jìn)行第一級下變頻,,再進(jìn)行半帶濾波處理。由于衛(wèi)星處于運(yùn)動之中,,衛(wèi)星相對本地接收機(jī)頻偏也是在不斷地變化,,需要通過載波發(fā)生器模塊對信號的頻偏進(jìn)行跟蹤,實現(xiàn)第二級精準(zhǔn)變頻,;然后與本地C/A碼發(fā)生器產(chǎn)生的超前碼,、即時碼、延遲碼進(jìn)行相關(guān)累加,,并將結(jié)果發(fā)送到以太網(wǎng)數(shù)據(jù)緩存FIFO中,;再通過以太網(wǎng)傳送到Simulink中,經(jīng)過載波環(huán)和碼環(huán)的計算,,再把載波頻率控制字以及C/A碼生成控制字反饋到各通道的載波發(fā)生器和本地C/A碼發(fā)生器,,實現(xiàn)對信號的跟蹤鎖定。
2.3 以太網(wǎng)通信單元設(shè)計與實現(xiàn)
以太網(wǎng)通信單元采用100 MHz的通信速率實現(xiàn)基帶信號處理單元與PC端Simulink之間的高速通信,。如圖4所示,,基帶處理單元將相關(guān)累加結(jié)果通過以太網(wǎng)從設(shè)備接口傳送到接收模塊中,在接收緩存后PC端Simulink通過以太網(wǎng)主設(shè)備接口讀取相關(guān)累加結(jié)果,,并進(jìn)行載波環(huán)和碼環(huán)的計算,,然后再通過主設(shè)備接口將計算得出的載波頻率控制字以及C/A碼生成控制字發(fā)送到發(fā)送緩存,最后由衛(wèi)星信號基帶處理單元進(jìn)行讀取,。
3 系統(tǒng)的軟件設(shè)計
3.1 衛(wèi)星信號捕獲模塊程序設(shè)計
衛(wèi)星信號捕獲程序流程如圖5所示,。系統(tǒng)上電后,開啟捕獲中斷,,將CIC濾波器參數(shù)發(fā)送到捕獲數(shù)據(jù)緩存RAM,,配置硬件CIC濾波器模塊并回讀反饋參數(shù),然后判斷CIC濾波器反饋參數(shù)是否大于門限值,。如果大于門限值,,則重新計算CIC濾波器參數(shù),否則等待捕獲中斷,。捕獲中斷響應(yīng)后,,讀取捕獲的成功標(biāo)志位,如果捕獲成功,,則讀取捕獲緩存RAM中的捕獲衛(wèi)星號,、碼相位、相關(guān)值最大值及其對應(yīng)行列值,,求出衛(wèi)星多普勒頻率,,并將結(jié)果送到跟蹤數(shù)據(jù)緩存RAM;如果捕獲不成功則首先判斷該衛(wèi)星所有頻點是否搜索完畢,,如果沒搜索完畢則搜索下一個頻點,。在捕獲到一個衛(wèi)星或者搜索完成某一衛(wèi)星的所有頻點后,統(tǒng)計已捕獲,、未捕獲,、需要重捕的衛(wèi)星數(shù),將捕獲信息發(fā)送到捕獲緩存RAM,,進(jìn)行下一個衛(wèi)星的捕獲,。
3.2 衛(wèi)星信號跟蹤模塊程序設(shè)計
衛(wèi)星信號跟蹤程序主要負(fù)責(zé)跟蹤通道狀態(tài)的控制,讀取PC端Simulink通過以太網(wǎng)傳送過來的載波環(huán)以及碼環(huán)參數(shù),,并將環(huán)路參數(shù)反饋到各個跟蹤通道,,其流程如圖6所示。
首先中斷開始后讀取各個跟蹤通道的相干積分值,、多普勒頻率以及碼相位信息,,根據(jù)當(dāng)前支路的 I、Q積分值計算出通道的載噪比進(jìn)行通道失鎖檢測,。如果跟蹤通道失鎖,,則釋放跟蹤通道并對該衛(wèi)星重新進(jìn)行捕獲,否則將讀取Simulink通過以太網(wǎng)傳送過來的載波環(huán)以及碼環(huán)參數(shù)并更新到跟蹤緩存 RAM 中,,鎖存各個跟蹤通道的數(shù)據(jù),,退出中斷。
3.3 基于Simulink的跟蹤環(huán)路設(shè)計
采用Simulink設(shè)計跟蹤環(huán)路,,其中載波環(huán)路采用一階鎖頻環(huán)路輔助二階鎖相環(huán)路結(jié)構(gòu)進(jìn)行載波鑒相,、鑒頻以及環(huán)路濾波,,碼環(huán)采用一階延遲鎖定環(huán)路進(jìn)行鑒相以及環(huán)路濾波,如圖7所示,。
在捕獲成功后,,F(xiàn)PGA通過以太網(wǎng)向Simulink發(fā)送開始信號和I/Q相關(guān)值,然后相關(guān)值采樣模塊將I/Q支路即時碼相關(guān)值送入鑒頻器和鑒相器進(jìn)行鑒頻和鑒相處理,,最后鎖相環(huán)路濾波器將鑒相結(jié)果和鎖頻環(huán)路濾波器的處理結(jié)果進(jìn)行濾波處理,,得到載波頻率控制字。同樣地,,將I/Q支路的延遲,、超前碼相關(guān)值送入碼環(huán)鑒相器進(jìn)行鑒相處理,處理完成后通過碼環(huán)濾波器進(jìn)行濾波,,最后將濾波后輸出的載波頻率控制字和C/A碼產(chǎn)生控制字通過以太網(wǎng)反饋到基帶信號處理單元的跟蹤通道中,。
4 系統(tǒng)的測試與分析
本系統(tǒng)采用Quartus II 11.0進(jìn)行設(shè)計、綜合,,并將設(shè)計結(jié)果下載到DE2-115開發(fā)板的上進(jìn)行驗證,。通過Simulink軟件自帶的示波器顯示其中兩個跟蹤環(huán)路的I、Q支路波形,,如圖8所示,。同時,將I,、Q支路的輸出的(I,,Q)數(shù)據(jù)對一一標(biāo)記在相量圖中,如圖9所示,,當(dāng)鎖相環(huán)鎖定信號后,,相位差異值就基本上在零附近晃動,I支路信號功率保持最大,,Q支路信號功率接近于0,,即大致有一半的數(shù)據(jù)對集中在正向I軸,而另一半集中在負(fù)向I軸[7],,由此,,跟蹤環(huán)路完成了對衛(wèi)星信號的跟蹤鎖定。最后將6個通道的導(dǎo)航數(shù)據(jù)輸出進(jìn)行定位解算,,得到的經(jīng)緯度為:113.392862,、23.037484,通過谷歌地圖顯示,,得到誤差范圍在5 m之內(nèi),,滿足定位需求。
5 結(jié)論
本文設(shè)計了FPGA聯(lián)合Simulink的GPS接收機(jī)基帶處理硬件在環(huán)系統(tǒng)。介紹了系統(tǒng)的軟硬件設(shè)計,,借助FPGA的高速并行處理能力實現(xiàn)衛(wèi)星信號的捕獲,,通過以太網(wǎng)完成Simulink設(shè)計的跟蹤環(huán)路與基帶處理單元的實時通信。實驗結(jié)果表明,,該系統(tǒng)能夠完成衛(wèi)星信號的捕獲和跟蹤,,通過Simulink實時在線修改跟蹤環(huán)路參數(shù),在算法模型以及參數(shù)最終確定后再轉(zhuǎn)換為VHDL/Verilog,,避免了反復(fù)修改算法、參數(shù)而需反復(fù)編譯綜合FPGA,,提高了開發(fā)效率,,方便了后期算法優(yōu)化、升級,。
參考文獻(xiàn)
[1] 付志紅,,馬靜,謝品芳,,等.基于高速數(shù)字信號處理平臺的實時仿真技術(shù)[J].系統(tǒng)仿真學(xué)報,,2007,19(16):3680-3683.
[2] 姜天林.基于FPGA的GPS基帶處理器的研究與設(shè)計[D].廣州:華南理工大學(xué),,2013.
[3] 陳建華.基于FPGA的GPS軟件接收機(jī)跟蹤捕獲算法研究[D].南京:南京郵電大學(xué),,2013.
[4] 劉雷.基于FPGA的北斗信號捕獲與跟蹤算法研究[D].西安:西安電子科技大學(xué),2014.
[5] Altera.Hardware in the Loop from the MATLAB/Simulink environment[EB-OL].(2013-09).https://www.altera.com.cn/content/dam/altera-wp-01208-hardware-in-the-loop.pdf.
[6] 吳繼華,,王誠.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M].北京:人民郵電出版社,,2005.
[7] 謝鋼.GPS原理與接收機(jī)設(shè)計[M].北京:電子工業(yè)出版社,2009.