劉 成,魏可友,余金培,梁 廣
(1.中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所,上?!?00050;2.上海微小衛(wèi)星工程中心,上海 201203)
基于FPGA的GPS接收機位同步幀同步設(shè)計與實現(xiàn)
劉 成1,2,魏可友1,2,余金培1,2,梁 廣1,2
(1.中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所,上海200050;2.上海微小衛(wèi)星工程中心,上海 201203)
為了能在GPS接收端獲取正確導(dǎo)航電文,研究了GPS接收機位同步、幀同步的基本原理和實現(xiàn)方式。提出一種采用FPGA來實現(xiàn)位同步、幀同步系統(tǒng)的設(shè)計方案。使用Xilinx開發(fā)軟件,通過Verilog代碼完成對位同步、幀同步的設(shè)計并在硬件平臺上進行調(diào)試。通過Chip Scope和邏輯分析儀進行驗證,結(jié)果表明該設(shè)計方案正確可靠,滿足設(shè)計要求。
GPS接收機;位同步;幀同步;FPGA
隨著空間技術(shù)的不斷發(fā)展,星載GPS接收機已經(jīng)逐漸發(fā)展成為航天器的一個重要平臺載荷。它可以為航天器提供全球、全天候、實時、高精度的導(dǎo)航信息,并且提高航天器運行的自主性。
GPS接收[1]主要包括射頻前端、捕獲、跟蹤、位同步、幀同步、數(shù)據(jù)解調(diào)模塊。由射頻前端接收GPS衛(wèi)星信號,經(jīng)過處理后,由捕獲來獲取完成偽碼粗同步,跟蹤模塊完成載波環(huán)路、碼環(huán)的跟蹤鎖定后進入位同步、幀同步模塊獲得導(dǎo)航電文數(shù)據(jù),最終解調(diào)輸出PVT(位置、速度和時間)信息。
文中主要研究位同步、幀同步模塊的設(shè)計方法和實現(xiàn)過程。采用 Xilinx公司 Virtex4系列的 XC4VSX55芯片,用Verilog編程實現(xiàn),通過仿真驗證后下載到硬件平臺上調(diào)試。測試數(shù)據(jù)采用SMJ100A信號發(fā)生器模擬GPS衛(wèi)星信號,經(jīng)過捕獲、跟蹤模塊所得,通過ChipScope和邏輯分析儀最終驗證了算法的正確性。
位同步也稱為定時同步、符號同步、碼元同步,它是數(shù)字通信系統(tǒng)特有的一種同步,并且不論是基帶傳輸還是頻帶傳輸都需要位同步。在數(shù)字通信系統(tǒng)中[2],為了限制被傳輸?shù)臄?shù)字信號頻譜,需要對數(shù)字進行濾波成型后再對載波進行調(diào)制,以實現(xiàn)信號的帶限傳輸,接收端進過相干解調(diào)、采樣判決后恢復(fù)出發(fā)送端的數(shù)字信號。由于信道傳輸延時及收發(fā)兩端時鐘的偏移,接收端采樣無法在最佳時刻進行,使恢復(fù)出的數(shù)據(jù)與發(fā)送數(shù)據(jù)之間有誤差。接收端為了得到最佳采樣值恢復(fù)發(fā)送端所發(fā)出的數(shù)據(jù),要求接收時鐘與發(fā)送時鐘同步,需要有同步措施來調(diào)整接收端的采樣時鐘,這個同步過程稱為位同步。
導(dǎo)航信息比特的同步,是以載波和偽碼的鎖定狀態(tài)為前提的。信息比特的同步處理就是要確定信息比特的起始位置,并獲得信息比特的值。在這里需要使用相關(guān)器輸出連續(xù)1 ms相關(guān)信號和1 ms碼元計數(shù)值。
完成信息位同步的方法主要基于下面兩個條件:
1)衛(wèi)星的導(dǎo)航信息比特周期固定,且為碼周期的整數(shù)倍。
2)相關(guān)器每1 ms輸出一次累加數(shù)據(jù)信息。
導(dǎo)航信息位同步可以共用公式(1),使SUM_IPk值最大的k就是信息比特的位置。
其中:E{x}表示x的均值;k=0...19最佳比特位置的20個可能值;r=N20現(xiàn)在碼周期數(shù)的模20值;d=19。
圖1表示一個數(shù)據(jù)比特,從圖中可以看出,當k=2時,SUM_IPk得到最大值,從而可以得到數(shù)據(jù)比特的起始位置,完成數(shù)據(jù)比特的同步。
圖1 數(shù)據(jù)位同步示意圖Fig.1 Bit synchronization sketch map
在接收機中的導(dǎo)航信息位同步方式,主要有下面幾個步驟:
1)在接收機中維持20個起始位置依次相差1 ms的滑動窗口,滑動窗口的長度為20 ms;
2)接收機對每個滑動窗口內(nèi)的20個相關(guān)值進行累加,找出累加值最大的滑動窗口;
3)如果在一段時間內(nèi)(通常為2秒),都是同一滑動窗口的累加值最大,則可以認為該滑動窗口起始位置為信息比特起始位置,完成信息位同步。
FPGA實現(xiàn):本設(shè)計采用2個計數(shù)器、2個緩存器和一個滑動累加器。通過滑動累加器計數(shù)累加20次,緩存判斷累加峰值,達到峰值即可認為起點處為比特數(shù)據(jù)的起始位置。然后,以該起點位基準連續(xù)20組數(shù)據(jù)進行累加多次判斷確認是否都能出現(xiàn)累加峰值。如果均為峰值說明完成位同步,否則重新進行判斷。位同步的仿真波形如圖 2所示[3-4]。
圖2 位同步的仿真波形圖Fig.2 Bit synchronization simulationwaveform
其中,clk:系統(tǒng)時鐘;bitsync_flag:位同步的標識;data_out:輸出的比特數(shù)據(jù);bitsync_valid:比特數(shù)據(jù)有效脈沖。
從仿真波形圖可以看出,在完成位同步判斷后,標志位變?yōu)楦唠娖?。并且,輸出的比特?shù)據(jù)是重新開始下一個20周期累加值的判斷后再輸出,所以與標志位電平會有20 ms的延遲。測試文件設(shè)置為0、1交替輸出,即仿真結(jié)果滿足設(shè)計要求,實現(xiàn)了位同步過程。
考慮到實際接收到的GPS衛(wèi)星信號可能會存在信噪比很低的情況,會影響相關(guān)器累加值發(fā)生跳變。如果仍然采用2秒時間累積逐次判斷方法,會導(dǎo)致位同步時間加長嚴重影響接收機的性能。因此在低信噪比條件下,應(yīng)加上閾值判斷。在2 s內(nèi),累加峰值正確判斷的概率大于90%(可以根據(jù)不同信噪比條件適當調(diào)整),即認為完成位同步。
圖3表示下載到硬件平臺上,采用信號發(fā)生器產(chǎn)生的實際GPS數(shù)據(jù)驗證位同步,通過ChipScope軟件抓取硬件內(nèi)部信號進行分析。經(jīng)過分析得出以下結(jié)論:每20相關(guān)器的累加值進行累加判斷,累加和為正數(shù)代表比特1,累加和為負數(shù)代表比特0。每20個累加和之后才輸出比特值,完成位同步的判斷,結(jié)果滿足設(shè)計要求。說明該設(shè)計正確有效,可以在實際的工程中進行運用。
圖3 ChipScope軟件調(diào)試波形圖Fig.3 Chip Scope debugs waveform
在數(shù)字通信過程中,發(fā)送端以一定數(shù)目的碼元組成一個個“字”或“句”,即組成一個個數(shù)據(jù)幀進行傳輸,因此幀同步信號的頻率很容易由位同步信號經(jīng)分頻得出,但每個幀的開頭和末尾卻無法直接由位同步信號獲取,為此,幀同步的主要任務(wù)就是要獲取每個數(shù)據(jù)幀的起始及結(jié)束位置。顯然,幀同步是以位同步為前提的,也就是說需要在位同步基礎(chǔ)上獲得幀同步。
本小節(jié)主要討論GPS導(dǎo)航電文格式的幀同步技術(shù)。衛(wèi)星導(dǎo)航電文以幀與子幀的結(jié)構(gòu)形式編排成數(shù)據(jù)流D(t)。如圖3所示,每顆衛(wèi)星一幀接著一幀地發(fā)送導(dǎo)航電文,而在發(fā)送每幀電文時,衛(wèi)星又以一子幀接著一子幀的形式進行[5-8]。
圖4 Frame synchronization simulationwaveformFig.4 GPS navigation message
每幀導(dǎo)航電文長1 500比特,計30 s,依次由5個子幀組成。每個子幀長為300比特,計6 s,依次由10個字組成。每個字長30比特,其最高位先被發(fā)送,而每一子幀中的每一字又均以6比特的奇偶校驗碼結(jié)束。其中,每一比特長20 ms,其間C/A碼重復(fù)20個周期。
系統(tǒng)獲得幀同步的依據(jù)有以下幾點:
1)檢測到preamble
2)TLM的校驗成功
3)HOW的最后兩個校驗位為0
4)HOW的校驗成功
5)子幀標號合理(1~5)。
6)子幀校驗和解碼成功。
當以上6個條件全部滿足時,才認為獲得幀同步。
FPGA實現(xiàn):根據(jù)系統(tǒng)獲得幀同步的6個判斷依據(jù)可以設(shè)計一個狀態(tài)機,由每一個狀態(tài)逐個進行判斷,從而最終找出幀頭。根據(jù)所設(shè)計的狀態(tài)機,編寫代碼后進行仿真,波形圖如圖5所示[9-11]。
圖5 幀同步仿真波形圖Fig.5 Frame synchronization simulationwaveform
Data:輸入的比特數(shù)據(jù);frameync_flag:幀同步標志;data_out:輸出幀同步后的導(dǎo)航數(shù)據(jù);framesync_valid1:導(dǎo)航數(shù)據(jù)有效高脈沖。在完成幀同步的判斷,同步標志位置高同時從幀頭開始輸出導(dǎo)航數(shù)據(jù)。
GPS接收機在完成環(huán)路跟蹤后,把累加值送入位同步模塊,完成位同步后進入幀同步模塊。因此,幀同步必須以位同步為前提,把兩個模塊進行拼接后進行聯(lián)合調(diào)試,如圖6所示。
圖6 比特/幀同步聯(lián)合調(diào)試Fig.6 Bit and frame synchronization joint debug
其中,bit_flag:位同步標志;Bit:位同步后輸出比特;frame_flag:幀同步標志;data_out:完成幀同步后的導(dǎo)航數(shù)據(jù)。
可以看出,首先完成位同步,然后完成幀同步,同步后數(shù)據(jù)輸出的低8位為10001011,正好是GPS導(dǎo)航數(shù)據(jù)的前導(dǎo)碼,子幀標號為001即第一子幀,說明完成了對位同步和幀同步模塊的聯(lián)合測試驗證。
詳細介紹了位同步、幀同步的基本概念、實現(xiàn)方法、仿真波形圖及硬件調(diào)試結(jié)果。經(jīng)過分析FPGA仿真和硬件調(diào)試結(jié)果,證明設(shè)計滿足設(shè)計要求。測試數(shù)據(jù)采用信號發(fā)生器模擬的GPS衛(wèi)星信號更加真實客觀,說明設(shè)計方法適合運用在實際的GPS接收機中。
[1]謝鋼.GPS原理與接收機設(shè)計[M].北京:電子工業(yè)出版社,2009.
[2]杜勇.數(shù)字通信同步技術(shù)的MATLAB與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2015.
[3]田耘,徐文波,張延偉.無線通信FPGA設(shè)計[M].北京:電子工業(yè)出版社,2007.
[4]段吉海,黃志偉.基于CPLD/FPGA數(shù)字通信系統(tǒng)建模與設(shè)計[M].北京:電子工業(yè)出版社,2004.
[5]范寒柏,谷力偉,趙冉.幀同步系統(tǒng)的FPGA設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2009(8):17-8
[6]管立新,沈保鎖,柏勁松.幀同步系統(tǒng)的FPGA設(shè)計[J].微計算機信息,2006(9):177-178.
[7]吳玉成,許太火,王黎明.幀同步電路設(shè)計[J].現(xiàn)代電子技術(shù),2003(4):69-71.
[8]陳惠珍,包天珍.一種基于FPGA的幀同步提取方法的研究[J].電子技術(shù)應(yīng)用,2003(10):70-72.
[9]王夢源,閆崢,東昕.一種精確幀同步算法及FPGA實現(xiàn)[J].電子設(shè)計工程,2015(2):151-154,159.
[10]朱娟娟,姚遠程,秦明偉.高速數(shù)傳中定時同步設(shè)計與FPGA實現(xiàn)[J].電子科技,2014(3):117-119,132.
[11]石峰,吳笛,祁建華.基于FPGA的有源電力濾波器高速數(shù)據(jù)采集系統(tǒng)設(shè)計[J].陜西電力,2008(10):36-39.
Design and implement of GPS receiver synchronization module based on FPGA
LIU Cheng1,2,WEI Ke-you1,2,YU Jin-pei1,2,LIANG Guang1,2
(1.Shanghai Institute of Micro-system and Information Technology Chinese Academy of Science,Shanghai 200050,China;2.Shanghai Engineering Center for Micro-satellite,Shanghai 201203,China)
For obtain correct navigation message of the GPS receiver,the basic theory and implementation of GPS receiver was studied.Abit synchronization and frame synchronization is realized by using FPGA.Usingdevelopment software of Xilinx,by Verilog code to complete the bit synchronization and frame synchronization design and debug on the hardware platform. Validated by Chip Scope and logic analyzer,the results show that the design scheme is correct and reliable,meet the design requirement.
GPS receiver;bit synchronization;frame synchronization;FPGA
TN915
A
1674-6236(2016)01-0156-03
2015-06-02稿件編號:201506035
國家自然科學(xué)基金(61401278);國防科技創(chuàng)新基金(CXJJ-15S086)
劉 成(1989—),男,四川瀘州人,碩士研究生。研究方向:無源定位算法。