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