《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于DSP Builder的GPS/BD2快捕算法設計與實現(xiàn)
基于DSP Builder的GPS/BD2快捕算法設計與實現(xiàn)
2014年電子技術應用第6期
楊長林, 楊 宇, 劉延飛, 胡建宇
第二炮兵工程大學, 陜西 西安710025
摘要: 介紹了GPS L1頻點和BD2 B1頻點并行碼相位捕獲算法的基本原理。為了提高捕獲速度,減少計算量,保證捕獲精度,易于電路實現(xiàn),采用固定位置的平均采樣方法改進了捕獲算法。在Simulink/DSP Builder環(huán)境下設計實現(xiàn)了GPS和BD2衛(wèi)星的快速捕獲電路。仿真和實際測試結果表明,DSP Builder圖形化設計環(huán)境能夠高效地完成改進捕獲算法的電路設計,而且算法既能發(fā)揮FPGA的并行特性又能降低對資源的要求,設計的電路在保證捕獲精度的同時達到了雙模雙通道數(shù)據(jù)實時處理和快速捕獲的要求。
中圖分類號: TN911.73
文獻標識碼: A
文章編號: 0258-7998(2014)06-0137-03
Design and implementation of fast acquisition algorithm based on DSP Builder for GPS/BD2
Yang Changlin, Yang Yu, Liu Yanfei, Hu Jianyu
The Second Artillery Engineering University, Xi′an, 710025, China
Abstract: This paper introduces the basic principle of parallel code phase acquisition algorithm in GPS L1 and BD2 B1 frequency point. In order to reduce the amount of calculation, rise the speed of acquisition, guarantee the accuracy, and ease the implementation of circuit, the algorithm is improved by the method of fixed position of the average sampling. The fast acquisition circuit is designed in the environment of Simulink/DSP Builder. Simulation actual test results show that the DSP Builder graphical design environment is capable of implementing this improved fast acquisition algorithm efficiently in form of circuit. And the algorithm can not only display the FPGA parallel characteristics, but also reduce the demand for resources. This circuit design meets the requirements of real-time processing and rapid capture in the way of dual mode and dual channel while guarantees the acquisition precision.
Key words : GPS; BD2; parallel code phase capture; DSP Builder; FPGA

       目前,采用FPGA實現(xiàn)的DSP系統(tǒng)與利用傳統(tǒng)DSP處理器相比,在高速與實時性,系統(tǒng)的重配置與硬件可重構性以及單片DSP系統(tǒng)的可實現(xiàn)性等方面具有突出優(yōu)勢[1]。而DSP Builder是Altera公司的一個面向DSP開發(fā)的系統(tǒng)級工具,內嵌Matlab的一個Simulink工具箱,使得DSP算法的電路實現(xiàn)可以充分利用Simulink的圖形化界面,具有直觀、高效的特性,簡化了硬件實現(xiàn)流程[2]。采用DSP Builder作為設計數(shù)字電路的工具,是現(xiàn)代DSP系統(tǒng)設計的發(fā)展方向之一。

        GPS L1頻點和BD2 B1頻點是衛(wèi)星導航系統(tǒng)中公開的民用信號,以此為基礎的軟件接收機得到廣泛而深入的研究。目前,并行碼相位算法在用高級語言實現(xiàn)的軟件接收機中廣泛應用,在運算速度得到保證的前提下,與串行捕獲算法相比可以極大地提高捕獲衛(wèi)星的速度。但是目前大多數(shù)嵌入式實時衛(wèi)星接收機由于計算能力和資源的限制,而只能采用串行捕獲的方法。另外,采用C/C++或者Matlab等高級語言實現(xiàn)的軟件接收機雖然在捕獲速度和精度上滿足要求,但是大多數(shù)只能實現(xiàn)事后處理,達不到實時處理的要求。即使實現(xiàn)了實時處理,用整臺計算機完成接收機的功能成本過高,而且體積重量較大。但FPGA在運算的并行特性以及內部集成的邏輯資源方面有著巨大優(yōu)勢,保證了實時處理的可實現(xiàn)性。

        對于RX3007 GPS/BD2雙模雙通道射頻模塊,1 ms的中頻數(shù)據(jù)量就達到了16 368個點,原始的算法必須執(zhí)行一次16 368個點的FFT和IFFT組合,而163 68個點的FFT將極大地消耗LEs和RAM資源,這對FPGA十分不利。因此必須改進捕獲算法,將運算量和資源消耗量降至最低。相比參考文獻[3]中自行設計浮點型FFT的方式,本文在DSP Builder的圖形化界面中以第三方可定制FFT IP核為核心搭建基于改進并行碼相位算法的GPS/BD2雙模接收機快速捕獲電路,實現(xiàn)雙模雙通道快速捕獲,能極大地縮短開發(fā)周期,減少資源消耗,提高計算效率。

1 并行碼相位捕獲算法原理

        衛(wèi)星接收機捕獲算法的實現(xiàn)與射頻前端緊密關聯(lián),本文采用廣州潤芯公司的RX3007雙模雙通道射頻模塊,上電后輸出頻率為4.092 MHz的GPS和BD2兩路2 bit中頻數(shù)字信號,采樣時鐘為16.368 MHz。

        并行碼相位捕獲算法的原理如圖1所示。先將中頻信號進行載波剝離,采集整數(shù)倍毫秒時間內的數(shù)據(jù)進行FFT變換;然后將FFT結果與本地偽碼的FFT取共軛后的值逐點執(zhí)行復數(shù)乘法;最后對所得結果進行IFFT變換,求取復數(shù)的幅值,進行捕獲門限判決[4]

        設長度都為N的兩個信號x(n)和y(n),x(n)代表輸入信號,y(n)代表本地偽碼,信號x(n)與y(n)的相關值為:

 

 

        從而可將相關運算轉換為頻域的乘法運算。一旦算出了Z(k),則其時域的結果就可以通過傅里葉逆變換得到,即:

        

2 算法改進及仿真

        以GPS為例,平均降采樣[5]主要是采用一個期望的小頻率時鐘對原始數(shù)據(jù)重采樣,對一個周期內的數(shù)據(jù)進行平均。但是降采樣時對這個時鐘要求較高,不方便實現(xiàn)[6]。將載波去除之后的16 368個數(shù)據(jù)降采樣至1 024點,要進行16次15個點的平均操作,其余均為16個點的平均。為方便實現(xiàn)和節(jié)省資源,本文采用固定位置和只進行累加的方式,即先找出所有的對15個點累加操作的起始位置并存儲起來備用,將16 368個點的位置與之比較,如果相同則進行連續(xù)15個點的累加操作,其余情況下均進行連續(xù)16個點的累加。本地C/A碼先上采樣至16.368 MHz,然后采取同樣的方式進行下采樣。為減少存儲偽碼FFT結果的位數(shù),對下采樣后的偽碼累加值做除法運算,以降低平均采樣后的幅值,最后執(zhí)行1 024點的FFT。由于硬件電路中全是整型操作,為了便于存儲處理以及減少存儲所占的空間,綜合考慮精度和資源消耗兩方面因素,最終將所有32顆衛(wèi)星的本地偽碼FFT結果擴大5倍并取整,存儲備用。另外,考慮弱信號條件和捕獲速度,采用4 ms非相干累積的方式提高信噪比。BD2 GEO衛(wèi)星C/A碼速率為2.046 MHz,沒有調制NH碼,所以必須降采樣至2 048點,執(zhí)行2 048點FFT/IFFT組合,但捕獲過程中的其他操作同GPS類似。本設計的目標是對中頻數(shù)據(jù)進行適當預處理使之能夠調用Altera的FFT IP核執(zhí)行FFT和IFFT變換組合,由于FFT IP核采用塊浮點的處理方式,運算過程中在精度和資源占用之間的折中,數(shù)據(jù)位寬和旋轉因子固定,每一級蝶形變換都會根據(jù)情況對數(shù)據(jù)進行移位,如果超出數(shù)據(jù)位寬,則低位數(shù)值將會被丟棄。考慮到這種情況,最后的門限判決采用主次峰值比值超過閾值的方法。圖2為GPS/BD2改進捕獲算法的Matlab仿真驗證結果。

        分別用改進算法和原始捕獲算法對同一組通過USB2.0采集到的中頻數(shù)據(jù)進行處理,兩者捕獲得到的衛(wèi)星一樣,各衛(wèi)星多普勒頻率一樣,初始碼相位精度也在正負半個碼片之內。這說明改進的捕獲算法不僅大大降低了計算量,實現(xiàn)起來更加容易,而且仍然能夠很好地捕獲衛(wèi)星。

3 硬件電路設計及驗證

        快捕電路主要由平均采樣模塊average_sample、FFT/IFFT模塊fft_my、本地偽碼存儲模塊CA_FFT、復數(shù)乘法模塊complex_product、時序控制電路及累加判決六大部分組成,各模塊工作的參考時鐘為16.368 MHz。圖3顯示了完整電路的其中一部分, 整個電路的工作流程如圖4所示。

        (1)FFT /IFFT模塊

        本設計采用FFT和IFFT依照時序輪流在一個FFT IP核中執(zhí)行的方式,節(jié)省了一個FFT處理器,降低了資源消耗。GPS捕獲中IP核輸入數(shù)據(jù)位寬旋轉因子精度定為18 bit,BD2中精度為20 bit。由于采用主次峰值比值的檢測算法,IFFT的輸出結果可以不必除以變換點數(shù)而直接用于累加判決模塊,另外,在信號較強情況下利用1 ms數(shù)據(jù)進行判決的過程中,IP核的指數(shù)輸出exp可不予考慮,這樣既節(jié)省了資源又降低了電路的復雜性。在執(zhí)行單次FFT/IFFT變換組合的過程中,首先將IP核的inverse信號置高,等待平均采樣模塊采集完1 ms數(shù)據(jù),從RAM中讀取數(shù)據(jù),依次產生sop和eop脈沖,執(zhí)行FFT,將所得結果取共軛后依次與預存在ROM中對應衛(wèi)星的本地偽碼FFT結果相乘并暫存結果,然后將inverse信號置低,執(zhí)行IFFT。

        (2)平均采樣模塊

        本設計利用平均采樣模塊將16.368 MHz的數(shù)據(jù)降采樣至1.024 MHz和2.048 MHz,該模塊包括本地載波NCO子模塊carrier_gen,15點和16點累加子模塊add_1516,RAM模塊,累加點數(shù)判決子模塊index_judge和相應的時序生成電路。其中載波NCO模塊基于LUT設計,LUT預存8個數(shù)據(jù)代表正余弦波的一個周期,數(shù)據(jù)位寬為3 bit,輸入不同的頻率控制字將輸出不同頻率的本地載波。其對應關系為:

        

其中,fcar為輸出的本地載波頻率,fclk為輸入時鐘,M為頻率控制字,N為相位累加的數(shù)據(jù)位寬(本設計N取32)。M由頻率控制字選擇模塊生成,遍歷±10 kHz范圍內以400 Hz步進的所有對應頻率控制字,在捕獲過程中完成對本地載波頻率的調整。其余子模塊在時序電路的控制下完成15點或16點數(shù)據(jù)累加功能,最終數(shù)據(jù)分為I支路和Q支路分別暫存在兩個1 024×6 bit RAM中。

        (3)其他模塊

        本地偽碼存儲模塊存儲的是預先計算好的各衛(wèi)星偽碼被下采樣之后的FFT結果,按照實部和虛部分別存放在兩個ROM中。對GPS衛(wèi)星而言,偽碼FFT結果擴大5倍取整后的數(shù)據(jù)需用10 bit表示, 而BD2則需用11 bit表示。復數(shù)乘法模塊的功能是將本地預存的C/A碼FFT結果與FFT IP核執(zhí)行FFT之后取共軛的結果相乘,然后進行暫存,為執(zhí)行IFFT準備數(shù)據(jù),根據(jù)實際情況對數(shù)據(jù)位寬進行截取,使之等于IP和輸入精度。時序控制電路實現(xiàn)了對inverse信號的精確控制以及對各生成地址的計數(shù)器的使能和驅動。累加判決完成最終的I2+Q2累加,找出最高峰值和非相鄰次高峰,寄存最高峰值的偏移量并進行門限判決。

        圖5為GPS和BD2快捕電路仿真得到I2+Q2的值,橫軸為采樣點的偏移值,縱軸為幅值。主次峰值的比值都超過了2,說明捕獲到衛(wèi)星;主峰偏移量分別為644和206,說明快捕電路通過運算得到的初始碼相位與Matlab中的結果一致,算法改進效果明顯。最終,使用Signal Compiler將圖形模塊轉化成VHDL語言,在QuartusII軟件中編譯成功后下載配置文件至目標器件EP3C120F780C8N。實際測試時與華訊HX6330 GPS/BD2雙模接收機對比,快捕電路可以在2 s之內對所有GPS和BD2衛(wèi)星完成一次盲捕,兩者捕獲得到的衛(wèi)星號基本一致。

        改進的捕獲算法不僅大大降低了運算量,減少資源消耗,便于硬件電路的實現(xiàn),而且設計出來的電路能夠在單片F(xiàn)PGA內以較高的精度迅速對GPS和BD2衛(wèi)星同時進行捕獲,為捕獲之后的跟蹤環(huán)路留下寶貴的邏輯資源。同時,本設計也為將來添加NIOS II多處理器系統(tǒng)完成信號跟蹤解調及導航解算從而在單片F(xiàn)PGA內部實現(xiàn)雙模導航接收機的全部功能奠定了基礎。

參考文獻

[1] 潘松,黃繼業(yè),王國棟.現(xiàn)代DSP技術[M]. 西安:西安電子科技大學出版社,2003.

[2] 楊守良.基于DSP Builder的插值濾波器的設計及FPGA實現(xiàn)[J].微型機與應用,2013,32(1):54-56. 

[3] 劉健.基于FPGA的高速浮點FFT的實現(xiàn)研究[J]. 微型機與應用,2012,31(14):79-81.

[4] AKOS D M. 軟件定義的GPS和伽利略接收機[M].楊東凱,張飛舟,張波,譯.北京:國防工業(yè)出版社,2009.

[5] STARZYK J A, ZHU Z. Averaging correlation for C/A code acquisition and tracking in frequency domain[J].MWSCAS 2001, Dayton, OH, 2001:905-908.

[6] 趙麗.基于FPGA平臺的GPS信號捕獲與跟蹤算法研究與實現(xiàn)[D]. 南京:南京郵電大學,2012.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 欧美成人免费xxx大片 | 91久久色 | 欧美中文字幕在线视频 | 99久久精品免费视频 | xxxxfreexxxx人妖 | 成人免费在线网站 | 91香蕉成人免费高清网站 | 中国的毛片 | 久久国产精品99久久久久久牛牛 | 男女午夜24式免费视频 | 手机在线观看亚洲国产精品 | 国产孕妇孕交视频在线观看 | 日韩午夜在线观看 | 亚洲综合一区二区精品久久 | 国产乱子伦在线观看不卡 | 日韩特级片 | 亚洲视频一区二区在线观看 | 特黄特色大片免费播放路01 | 狠狠做久久深爱婷婷97动漫 | 亚洲国产另类久久久精品小说 | 中国a级淫片免费播放 | 国产一区二区三区国产精品 | 日韩一品在线播放视频一品免费 | www.热| 老司机精品影院一区二区三区 | 久久久久久国产精品免费免 | 亚洲视频一区在线 | japonensis国产福利 | 亚洲成人第一页 | 欧美在线看欧美高清视频免费 | 国产在线视频一区二区三区 | 欧美综合在线观看 | 草草影院欧美三级日本 | 在线日韩欧美一区二区三区 | 欧美做爱毛片 | 日本三级日产三级国产三级 | 国产欧美一区二区另类精品 | 欧美成人免费xxx大片 | 成人自拍视频 | 成年网站免费视频黄 | 欧美成人视 |