《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的GPS接收機基帶處理硬件在環(huán)系統(tǒng)
基于FPGA的GPS接收機基帶處理硬件在環(huán)系統(tǒng)
2016年電子技術(shù)應(yīng)用第7期
王家燃,王 峰,魏東明,利傳邁
廣東工業(yè)大學(xué) 信息工程學(xué)院,廣東 廣州510006
摘要: 針對GPS跟蹤環(huán)路參數(shù)調(diào)試繁瑣復(fù)雜、FPGA反復(fù)編譯耗時多的問題,設(shè)計了一種基于FPGA的GPS接收機基帶處理硬件在環(huán)系統(tǒng)。該系統(tǒng)以FPGA設(shè)計的GPS基帶處理為核心,完成衛(wèi)星信號的采集和基帶信號處理,并將處理結(jié)果通過以太網(wǎng)實時傳送到Simulink設(shè)計的跟蹤環(huán)路進行處理,在處理完成后反饋到FPGA的基帶處理單元,完成衛(wèi)星信號的捕獲和跟蹤。經(jīng)測試,該系統(tǒng)實現(xiàn)了衛(wèi)星信號的捕獲和跟蹤,驗證了該平臺的有效性和準(zhǔn)確性,提高了GPS跟蹤環(huán)路的設(shè)計、調(diào)試、驗證、實現(xiàn)的效率,對快速開發(fā)衛(wèi)星導(dǎo)航芯片和系統(tǒng)具有積極作用。
關(guān)鍵詞: GPS FPGA 硬件在環(huán) Simulink
中圖分類號: TN962
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.015
中文引用格式: 王家燃,王峰,魏東明,等. 基于FPGA的GPS接收機基帶處理硬件在環(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.
Hardware-in-the-Loop system of GPS receiver baseband processor based on FPGA
Wang Jiaran,Wang Feng,Wei Dongming,Li Chuanmai
School of Information Engineering, Guangdong University of Technology,Guangzhou 510006,China
Abstract: To solve the cumbersome and complex problem of parameter tuning of the GPS tracking loop, and the time-consuming problem of repeated compilation of FPGA, a kind of Hardware-in-the-Loop system of GPS receiver baseband processing unit based on FPGA is designed. The system used the GPS baseband processing unit designed by FPGA as the core to complete the acquisition of the satellite signal and baseband signal processing. The processing results are transmitted to tracking loop designed by the Simulink in real time through the Ethernet. After processing, the results are fed back to the baseband processing unit to complete the acquisition and tracking of the satellite signal. By test, the system realizes the acquisition and tracking of the satellite signal, the validity and accuracy of the platform are verified, and the efficiency of the design, tuning, verification and implementation of the GPS tracking loop is improved. It is useful for rapid development of GNSS IC and system.
Key words : GPS;FPGA;Hardware-in-the-Loop;Simulink

0 引言

    衛(wèi)星導(dǎo)航定位技術(shù)對一個國家的軍事以及國民經(jīng)濟發(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接收機的設(shè)計流程都是先采用MATLAB進行算法設(shè)計、驗證,然后再采用Verilog或者VHDL進行算法實現(xiàn)[2-4],該過程反復(fù)迭代、費時。由此將HIL運用于衛(wèi)星導(dǎo)航接收機跟蹤環(huán)路的設(shè)計,將MATLAB/Simulink設(shè)計的算法模型通過以太網(wǎng)與FPGA聯(lián)合起來進行在線調(diào)試,對驗證與優(yōu)化跟蹤環(huán)路的設(shè)計、縮短開發(fā)周期、降低研發(fā)成本具有重要意義。

    本系統(tǒng)將FPGA設(shè)計的GPS基帶處理單元與Simulink設(shè)計的跟蹤環(huá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ù)運算、控制捕獲和跟蹤模塊的運行、中斷,以及接收捕獲和跟蹤模塊的信息;以太網(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)反饋到基帶信號處理單元。

qrs3-t1.gif

2 系統(tǒng)的硬件設(shè)計

2.1 衛(wèi)星信號捕獲模塊設(shè)計與實現(xiàn)

    衛(wèi)星信號捕獲模塊結(jié)構(gòu)如圖2所示,采用Verilog[6]語言進行設(shè)計,嵌入AHB總線的從設(shè)備接口掛載到AHB總線上,實現(xiàn)與LEON3處理器的數(shù)據(jù)交互。該模塊采用雙口RAM作為數(shù)據(jù)緩存RAM,用于緩存AHB總線與捕獲模塊的交互數(shù)據(jù),實現(xiàn)跨時鐘域處理,解決時鐘不一致的問題。在捕獲控制模塊的控制下,將緩存之后低中頻數(shù)據(jù)與載波發(fā)生器相乘進行下變頻,再經(jīng)過一個CIC(Cascade Integrator Comb)陷波器進行干擾檢測和干擾抵消,然后通過分段匹配濾波器進行相關(guān)積分并緩存到RAM中供FFT處理,處理完成后進行門限判斷,并將捕獲結(jié)果緩存至雙口RAM,同時申請捕獲中斷,通知LENON3處理器進行讀取。

qrs3-t2.gif

2.2 衛(wèi)星信號跟蹤模塊設(shè)計與實現(xiàn)

    衛(wèi)星信號跟蹤模塊中嵌入AHB從設(shè)備接口,并掛載在AHB總線上,如圖3所示。將捕獲模塊中經(jīng)過干擾抵消后的信號作為跟蹤模塊的輸入信號,載波發(fā)生器模塊對輸入信號進行第一級下變頻,再進行半帶濾波處理。由于衛(wèi)星處于運動之中,衛(wèi)星相對本地接收機頻偏也是在不斷地變化,需要通過載波發(fā)生器模塊對信號的頻偏進行跟蹤,實現(xiàn)第二級精準(zhǔn)變頻;然后與本地C/A碼發(fā)生器產(chǎ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)對信號的跟蹤鎖定。

qrs3-t3.gif

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é)果,并進行載波環(huán)和碼環(huán)的計算,然后再通過主設(shè)備接口將計算得出的載波頻率控制字以及C/A碼生成控制字發(fā)送到發(fā)送緩存,最后由衛(wèi)星信號基帶處理單元進行讀取。

qrs3-t4.gif

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,進行下一個衛(wèi)星的捕獲。

qrs3-t5.gif

3.2 衛(wèi)星信號跟蹤模塊程序設(shè)計

    衛(wèi)星信號跟蹤程序主要負責(zé)跟蹤通道狀態(tài)的控制,讀取PC端Simulink通過以太網(wǎng)傳送過來的載波環(huán)以及碼環(huán)參數(shù),并將環(huán)路參數(shù)反饋到各個跟蹤通道,其流程如圖6所示。

qrs3-t6.gif

    首先中斷開始后讀取各個跟蹤通道的相干積分值、多普勒頻率以及碼相位信息,根據(jù)當(dāng)前支路的 I、Q積分值計算出通道的載噪比進行通道失鎖檢測。如果跟蹤通道失鎖,則釋放跟蹤通道并對該衛(wèi)星重新進行捕獲,否則將讀取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)進行載波鑒相、鑒頻以及環(huán)路濾波,碼環(huán)采用一階延遲鎖定環(huán)路進行鑒相以及環(huán)路濾波,如圖7所示。

qrs3-t7.gif

    在捕獲成功后,F(xiàn)PGA通過以太網(wǎng)向Simulink發(fā)送開始信號和I/Q相關(guān)值,然后相關(guān)值采樣模塊將I/Q支路即時碼相關(guān)值送入鑒頻器和鑒相器進行鑒頻和鑒相處理,最后鎖相環(huán)路濾波器將鑒相結(jié)果和鎖頻環(huán)路濾波器的處理結(jié)果進行濾波處理,得到載波頻率控制字。同樣地,將I/Q支路的延遲、超前碼相關(guān)值送入碼環(huán)鑒相器進行鑒相處理,處理完成后通過碼環(huán)濾波器進行濾波,最后將濾波后輸出的載波頻率控制字和C/A碼產(chǎn)生控制字通過以太網(wǎng)反饋到基帶信號處理單元的跟蹤通道中。

4 系統(tǒng)的測試與分析

    本系統(tǒng)采用Quartus II 11.0進行設(shè)計、綜合,并將設(shè)計結(jié)果下載到DE2-115開發(fā)板的上進行驗證。通過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軸,而另一半集中在負向I軸[7],由此,跟蹤環(huán)路完成了對衛(wèi)星信號的跟蹤鎖定。最后將6個通道的導(dǎo)航數(shù)據(jù)輸出進行定位解算,得到的經(jīng)緯度為:113.392862、23.037484,通過谷歌地圖顯示,得到誤差范圍在5 m之內(nèi),滿足定位需求。

qrs3-t8.gif

qrs3-t9.gif

5 結(jié)論

    本文設(shè)計了FPGA聯(lián)合Simulink的GPS接收機基帶處理硬件在環(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)化、升級。

參考文獻

[1] 付志紅,馬靜,謝品芳,等.基于高速數(shù)字信號處理平臺的實時仿真技術(shù)[J].系統(tǒng)仿真學(xué)報,2007,19(16):3680-3683.

[2] 姜天林.基于FPGA的GPS基帶處理器的研究與設(shè)計[D].廣州:華南理工大學(xué),2013.

[3] 陳建華.基于FPGA的GPS軟件接收機跟蹤捕獲算法研究[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原理與接收機設(shè)計[M].北京:電子工業(yè)出版社,2009.

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