文獻標識碼: A
文章編號: 0258-7998(2011)08-108-05
隨著軟件無線電在衛(wèi)星導航接收機上的廣泛應(yīng)用,衛(wèi)星導航接收機的硬件部分簡化為射頻前端和高速數(shù)據(jù)采集模塊兩部分。隨著GPS現(xiàn)代化和伽利略、北斗信號的發(fā)展,未來接收機必須能夠接收多個頻點的導航信號,為了避免多頻下變頻存在的多路頻率混頻的難題,可以在射頻上直接進行數(shù)字采樣和數(shù)據(jù)傳輸。
2009年,瑞士的洛桑聯(lián)邦理工大學設(shè)計出了多頻射頻直接采樣的前端,并對各級信號增益和三階截止點進行了詳細的評估。同時對多頻信號的采樣率要求進行了分析[1]。2009年,北京航空航天大學設(shè)計出了能夠同時在射頻上直接采集GPS L1、L2雙信號的接收機,采樣率為100 MHz[2]。
國內(nèi)外目前對于多頻射頻直接采樣的高速數(shù)據(jù)采集部分研究很少,北京航空航天大學之前的方案只是做到雙頻的集成,采樣率較低。而洛桑聯(lián)邦理工大學的射頻前端方案成熟但是對于數(shù)據(jù)采集和定位分析的工作沒有論述。能夠同時接收GPS 3個頻帶信號、伽利略信號以及北斗信號的接收機需要的采樣率更高更難以實現(xiàn)。因此多頻直接采樣接收機的硬件設(shè)計工作在國內(nèi)外均開展較少,其中高速數(shù)據(jù)采集以及多頻射頻前端設(shè)計是其中的兩個關(guān)鍵問題。
1 硬件系統(tǒng)設(shè)計
衛(wèi)星導航系統(tǒng)軟件接收機的思想是讓寬帶A/D轉(zhuǎn)換器盡可能靠近射頻天線,盡早地將模擬信號轉(zhuǎn)為數(shù)字信號[3],最大程度地用軟件來實現(xiàn)接收機的各種功能。
本文中數(shù)據(jù)采集系統(tǒng)的工作原理是,使用寬頻天線接收信號后,在射頻前端進行放大、濾波和增益控制工作。其中多頻技術(shù)需要使用分路濾波技術(shù)。前端輸出的信號被送到高速ADC進行采樣,其后通過FPGA進行緩沖和處理(如FIR數(shù)字濾波器處理等)。然后PFGA將數(shù)據(jù)封裝成幀結(jié)構(gòu)通過以太網(wǎng)口將其傳送到主機上。主機在物理層抓獲以太網(wǎng)數(shù)據(jù)包,分析MAC地址后將需要的數(shù)據(jù)存儲到硬盤之中。
1.1 射頻前端設(shè)計
直接采樣的射頻前端與傳統(tǒng)的采用下變頻技術(shù)的接收機前端有所不同。如圖1所示,直接采樣的射頻前端使用高增益GNSS天線接收信號。而信號經(jīng)過LNA作第一級放大后,經(jīng)過1.1 GHz~1.7 GHz帶通濾波,再使用PA進一步放大。此后射頻信號分為3路,分別進行濾波、放大、再濾波后合并,之后使用AGC環(huán)路調(diào)節(jié)輸出信號功率。
下變頻前端的混頻器頻率由晶振提供,通過混頻對射頻信號進行多級下變頻,并進行放大和濾波,最后輸出中頻信號供ADC采集。
在射頻上直接進行采樣不需要本地晶振,但是所有放大器和濾波器均需要在射頻下工作。多頻前端需要對不同的頻帶進行分路濾波放大,同時將帶外噪聲盡可能地濾除掉。本系統(tǒng)使用了實驗室自行設(shè)計的射頻前端,能夠在ADC之前得到頻譜形狀如圖2所示的信號。它包括了GPS的L1、L2、L5信號和伽利略E1、E5a、E5b以及部分北斗衛(wèi)星的信號。表1列出了上述導航系統(tǒng)的信號頻率及帶寬。
前端將信號放大至ADC可以采樣的電平,對于ADC08D500, 1 bit量化的信號最小輸入能量是-47.92 dBm[5]。GNSS天線的增益為50 dB,兩級LNA增益共約35 dB, PA增益20 dB,前端總插入損耗約為20 dB, AGC環(huán)路增益動態(tài)范圍為-35 dB~+22 dB,使用前端的增益足夠?qū)π盘栠M行4 bit采樣。
對于GNSS信號,超過2 bit采樣對信噪比的改善作用不是很明顯,而太高量化位數(shù)會增加數(shù)據(jù)處理的困難。本設(shè)計選擇存儲了1 bit和2 bit的采樣數(shù)據(jù),但是在ADC采樣時仍然進行了8 bit采樣,以便于FPGA進行FIR濾波。經(jīng)過FIR濾波以后的數(shù)據(jù)可以進行截位處理,即截取1 bit或者2 bit進行保存。
前端設(shè)計的主要難點在于以下三個方面:射頻寬頻帶放大器容易飽和;分路放大再合路會給信號帶來很大損耗;射頻AGC電路需要進行特殊屏蔽處理。
1.2 采樣率的選擇
衛(wèi)星導航系統(tǒng)使用擴頻通信技術(shù),ADC采集的是噪聲信號,信號頻帶上的混疊相當于將其他頻帶信號作為噪聲混疊到目標頻帶中。因此可以容忍一定程度信號頻譜的混疊。對于GPS的3個頻帶,根據(jù)帶通采樣原理可以計算需要的采樣頻率。計算時不僅要求信號采樣后頻譜自身不混疊,同時不同頻帶的頻譜兩兩之間也不混疊。
對于GPS的L1、L2、L5信號(實際也包括了伽利略的E1、E5a),采樣后頻譜不混疊可選用的最低采樣頻率是158 MHz。若考慮伽利略的E5b,直采系統(tǒng)的最低采樣率為227 MHz [1]。為了滿足不同采樣頻率的要求,本設(shè)計采樣頻率合成器生成多種采樣時鐘,使用FPGA的SPI對頻率合成器進行配置,本文1.3節(jié)中將會介紹多種采樣時鐘的生成方法。
1.3 ADC模塊的設(shè)計
ADC08D500是美國國家半導體公司生產(chǎn)的高速模數(shù)轉(zhuǎn)換芯片,其取樣率可高達500 MS/s,使用差分輸入,有效位數(shù)為8 bit,可以進行雙通道采樣, 而功耗僅有1.4 W[5]。
ADC08D500除了單通道能實現(xiàn)最高采樣達500 MS/s的速率外,還能夠進行雙邊沿采樣(DES),只對某一路通道的信號在時鐘信號的一個周期的上下兩個邊沿進行采樣,利用芯片內(nèi)置的兩個轉(zhuǎn)換器進行交錯操作,最終達到1 GS/s的采樣率。
ADC采樣的時鐘來自于頻率合成器輸出的時鐘。為了滿足ADC采樣對于采樣時鐘的相位噪聲的要求,本設(shè)計使用了10 MHz的原子鐘作為頻率合成器輸入,通過FPGA的SPI將頻率合成器輸出配置成需要的頻率,如230 MHz。此外本文還使用了TCXO作輸入,對頻率合成器輸出信號的相位噪聲情況進行衡量。通過相位噪聲和時鐘抖動的情況計算出頻率合成器輸出時鐘總的抖動為1.24 ps,這個抖動情況能夠滿足ADC08D500對GNSS信號的采集需要。
ADC08D500的輸出有兩個通道四組8 bit差分總線,分別是I[7:0]、Id[7:0]、Q[7:0]、Qd[7:0],另外還有兩組輸出的差分時鐘做FPGA的數(shù)據(jù)采集時鐘。
1.4 高速數(shù)據(jù)傳輸設(shè)計
將衛(wèi)星導航信號進行數(shù)字化時,通常將量化位數(shù)選取為1 bit或者是2 bit。當采樣率為230 MHz時,2 bit采樣數(shù)據(jù)傳輸需要約60 MB/s的接口傳輸速度和硬盤寫入速度。千兆位以太網(wǎng)的理論速度達1 000 Mb/s,能夠滿足數(shù)據(jù)傳輸?shù)男枰襂SE工具自帶了Ethernet MAC IP核。因此,本文中采用以太網(wǎng)進行數(shù)據(jù)的傳輸。
使用以太網(wǎng)傳輸數(shù)據(jù),可以在FPGA實現(xiàn)TCP/IP協(xié)議功能,也可以直接通過以太網(wǎng)的物理層進行數(shù)據(jù)傳輸。Virtex5 FPGA內(nèi)部擁有嵌入式軟核處理器MicroBlaze,能夠進行FPGA內(nèi)部的嵌入式開發(fā)。開發(fā)以太網(wǎng)時通常在嵌入式系統(tǒng)中添加TCP/IP協(xié)議棧,常用的TCP/IP協(xié)議棧是Lwip或者是Treck協(xié)議棧[6]。但是使用TCP/IP協(xié)議,協(xié)議的每一層都會在數(shù)據(jù)幀前添加各自的幀頭,再加上協(xié)議的一些檢錯重發(fā)等功能,真正待傳輸?shù)臄?shù)據(jù)的吞吐率是很低的,千兆以太網(wǎng)的速度通常只有200 Mb/s~300 Mb/s,不能滿足本系統(tǒng)對于數(shù)據(jù)傳輸率的要求。
在物理層直接傳輸數(shù)據(jù),數(shù)據(jù)傳輸速率幾乎可以達到以太網(wǎng)的理論傳輸極限(實測能超過900 Mb,根據(jù)數(shù)據(jù)幀封裝不同有所差異)。雖然沒有TCP/IP協(xié)議中對丟包錯包等數(shù)據(jù)完整性問題的修正功能,但可以通過上層的校驗和序號發(fā)現(xiàn)數(shù)據(jù)幀錯誤和亂序。下文將討論在主機端如何在網(wǎng)卡上直接捕獲并存儲高速數(shù)據(jù)。
整個數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)如圖3所示,除了ADC電路的設(shè)計,主要工作在FPGA下完成。
1.4.1 FPGA數(shù)據(jù)預處理
本文使用Xilinx公司的Virtex5系列FPGA開發(fā)板ML506進行數(shù)字信號處理,開發(fā)環(huán)境基于ISE Design suite 11進行。
從ADC傳送出的數(shù)字信號為8對或者16對差分數(shù)據(jù)以及1路差分時鐘。對于采樣數(shù)據(jù)的截位處理可以分為直接截位和濾波后截位兩種處理方式。直接截位是只選擇其中的高位數(shù)據(jù)進行傳輸,濾波后截位是接收全部的8 bit數(shù)據(jù),將數(shù)據(jù)送給數(shù)字濾波器處理后再進行截位,本文采用先濾波后截位的方法,可以選擇保存1 bit或者2 bit數(shù)據(jù)。
ADC08D500器件以230 MHz的高采樣率進行8 bit量化時,輸出數(shù)據(jù)率將非常大。單獨對其中任一導航信號頻帶來說,高達230 MHz的采樣率都是不必要的。對此,在FPGA中添加入FIR(有限沖激響應(yīng)數(shù)字濾波器),分別濾出采樣后導航信號各頻帶,在使用截位輸出來降低量化位數(shù)的同時,使用抽取來降低采樣率。以GPS系統(tǒng)為例,當采樣率為230 MHz時,L1、L2和L5的中頻分別為195.42 MHz、77.6 MHz和26.45 MHz。因此,在FPGA中生成3個FIR(帶通FIR)就可以濾除帶外信號,消除信號互相之間的干擾。具體實現(xiàn)方法是在MATLAB通過“ftdtools”濾波器設(shè)計工具,計算濾波器參數(shù)以生成COE形式的濾波器文件。
將設(shè)計出的3個濾波器文件(.COE文件)導入FPGA的FIR IPcore中,就可以生成相應(yīng)的濾波器Verilog代碼,即可獲得對應(yīng)的頻率幅度響應(yīng)圖,其效果如圖4所示。
FIR輸出數(shù)據(jù)可以根據(jù)數(shù)據(jù)傳輸能力和需要進行截位,一般只截取最高的符號位或者選取其中2位。數(shù)據(jù)分三路進行FIR濾波之后,即可對每一路數(shù)據(jù)進行降采樣處理。直接進行抽取就可以降低數(shù)據(jù)量和采樣率,這將降低后續(xù)數(shù)據(jù)處理復雜度。
在對三路濾波后信號進行傳輸過程中,通過以太網(wǎng)封裝幀給不同頻點信號賦予不同的MAC地址。主機捕獲時可以通過識別MAC地址的方法,將三路數(shù)據(jù)進行分類存儲。
1.4.2 以太網(wǎng)數(shù)據(jù)傳輸
V5系列FPGA開發(fā)板上有以太網(wǎng)物理芯片88E1111實現(xiàn)開發(fā)板與電腦網(wǎng)卡的以太網(wǎng)物理層連接,ISE 11套裝中的core generator可以生成Ethernet MAC IP核,直接例化它就可以進行以太網(wǎng)數(shù)據(jù)傳輸?shù)拈_發(fā)[7]。其結(jié)構(gòu)如圖5所示。
直接接收ADC的輸出數(shù)據(jù)或者是FIR截位之后的數(shù)據(jù)作為圖6模塊中的用戶輸入數(shù)據(jù)。因為設(shè)置的MAC核按照字節(jié)來傳輸數(shù)據(jù),所以在MAC核前面需要添加一個FIFO進行緩沖和串并轉(zhuǎn)換,進入FIFO的數(shù)據(jù)是1 bit或2 bit,按照整字節(jié)輸出數(shù)據(jù)。
直接發(fā)送的數(shù)據(jù)幀是以太網(wǎng)物理層的數(shù)據(jù)幀,高層協(xié)議(TCP/IP協(xié)議)并沒有使用到。
以太網(wǎng)數(shù)據(jù)幀的包頭首先是8 B的前導碼(7 B原語和1 B幀起始)[7],然后是6 B的目的MAC地址和6 B的源MAC地址,之后是2 bit的協(xié)議類型或數(shù)據(jù)包長度,中間是46~1 500 B的數(shù)據(jù)內(nèi)容,以及4 bit的校驗位,如圖6所示?;贓MAC核實現(xiàn)以太網(wǎng)絡(luò)協(xié)議數(shù)據(jù)報文的發(fā)送具體包括以下幾個步驟:數(shù)據(jù)輸出緩沖、MAC地址添加、數(shù)據(jù)FCS校驗和原語添加。最終經(jīng)過MAC封裝以后,整個數(shù)據(jù)報文的長度為64~1 518 B。校驗位和前導碼是可以選擇自動添加的,所以在輸入數(shù)據(jù)時,通過編寫狀態(tài)機代碼添加正確的MAC地址,設(shè)置固定字節(jié)的數(shù)據(jù)包大小就可以讓數(shù)據(jù)正確地傳輸了。設(shè)計時設(shè)置每個數(shù)據(jù)幀除了幀頭信息以外有1 024 B的數(shù)據(jù),正好是1 KB,即可方便地觀察數(shù)據(jù)包是否出錯和衡量整體數(shù)據(jù)傳輸完整性。
千兆位以太網(wǎng)使用的時鐘是ML506板載的晶振分頻出的125 MHz時鐘,通過FPGA內(nèi)部的PLL合成。
1.4.3 上位機數(shù)據(jù)捕獲
因為FPGA發(fā)送數(shù)據(jù)時僅使用了以太網(wǎng)的物理層,所以在主機抓包的時候僅需要關(guān)注數(shù)據(jù)包的MAC地址信息即可,不需要再對TCP/IP協(xié)議進行分析和處理。
因此本文采用winpcap(windows packet capture)開放代碼來實現(xiàn)MAC數(shù)據(jù)報文的采集功能。winpcap能夠為win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力,因此獨立于TCP/IP協(xié)議的以太網(wǎng)數(shù)據(jù)包能夠被上層應(yīng)用程序捕獲和保存。
由于一般的SATA硬盤的寫入速度在40 MB/s~80 MB/s,為了保證數(shù)據(jù)能夠完整寫入硬盤,應(yīng)盡可能使用高速硬盤。同時,在編寫捕捉和存儲數(shù)據(jù)的軟件時,應(yīng)該設(shè)立一定的緩沖區(qū)域。將網(wǎng)絡(luò)采集到的數(shù)據(jù)首先寫入內(nèi)存之中,待累積了一段數(shù)據(jù)之后將其一次性寫入硬盤,以減少CPU時間分配對寫入數(shù)據(jù)完整性的影響。
2 實驗結(jié)果
通過SPI配置的不同采樣率對實際衛(wèi)星信號進行采集,存儲下來的數(shù)據(jù)文件采用實驗室自研的捕獲算法可以成功地捕獲出GPS L1、L2、L5信號。圖7是在采集的一段數(shù)據(jù)中L2、L5信號的捕獲結(jié)果。通過與下變頻前端采集的數(shù)據(jù)進行對比分析可以發(fā)現(xiàn),兩個系統(tǒng)捕獲到的衛(wèi)星數(shù)量、編號、多普勒頻偏是一致的,但直接采樣數(shù)據(jù)的信噪比要略高。該實驗結(jié)果如表2所示。這說明該系統(tǒng)采集的數(shù)據(jù)是正確有效的。
本文介紹了使用射頻直接采樣技術(shù)的多頻GNSS數(shù)據(jù)采集系統(tǒng)的設(shè)計實現(xiàn)方法。本文首先提供了主要的硬件平臺結(jié)構(gòu)設(shè)計方案,并對于射頻前端的電路設(shè)計和高速數(shù)據(jù)采集這兩個關(guān)鍵技術(shù)進行了詳細闡述。在此基礎(chǔ)上,本系統(tǒng)實現(xiàn)了多頻多系統(tǒng)衛(wèi)星導航信號的采集功能,并且與下變頻方法采集的數(shù)據(jù)進行了對比。實驗表明,該系統(tǒng)在性能和可擴展性方面都要優(yōu)于傳統(tǒng)的下變頻采集系統(tǒng),具備很好的通用性。隨著技術(shù)的發(fā)展,更多更高性能的射頻放大濾波器件的價格不再昂貴,運用直接采樣技術(shù)的多頻衛(wèi)星導航接收機將具備很大的發(fā)展空間。
參考文獻
[1] RIVERA P E, CHASTELLAIN F, BOTTERON C, et al.Design of a GPS and Galileo Multi-Frequency[A].VTC Spring 2009. IEEE 69th Digital Object Identifier: 10.1109/VETECS. 2009.
[2] Liu Hongquan, Kou Yanhong. Design and implementation of a GNSS signal collection system using direct RF sampling [A]. Microelectronics & Electronics, 2009. PrimeAsia 2009. Asia Pacific Conference on Postgraduate Research in Digital Object Identifier: 10.1109/PRIMEASIA.2009.
[3] 姜宇柏,游思晴. 軟件無線電原理與工程應(yīng)用[M].北京:機械工業(yè)出版社,2007.
[4] Mitel Semiconductor. GP2015 GPS Receiver RF Front End. 1996.
[5] National Semiconductor Corporation. ADC08D500 High Performance, Low Power, Dual 8-Bit, 500 MSPS A/D Converter.2008.
[6] ADAM D. Design and implemetation of the LwIP TCP/IP stack[M]. Swedish: Institue of Computer Science. 2001.
[7] Xilinx Inc. UG194“Virtex-5 FPGA Embeded Tri-mode Ethernet MAC User Guide”. 2008.