新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于FPGA的偽碼測距電路的設(shè)計與實現(xiàn)

基于FPGA的偽碼測距電路的設(shè)計與實現(xiàn)

——
作者:王世練 張爾揚(yáng) 時間:2007-08-02 來源: 收藏
    1 引 言

  現(xiàn)場可編程門陣列()用硬件電路完成算法的過程,一方面解決了系統(tǒng)的開銷問題,提供了提高系統(tǒng)整體性能的條件,另一方面,由于靜態(tài)RAM型的具備可重構(gòu)特性,這使得資源利用率得到顯著提高。既具有通用計算系統(tǒng)的靈活性,又有專用處理系統(tǒng)的性能,對實現(xiàn)高性能信號處理具有很高的應(yīng)用價值,而且可重構(gòu)的特性使其可以根據(jù)算法來調(diào)整相應(yīng)的通信結(jié)構(gòu)和數(shù)據(jù)字長。FPGA以其高度的靈活性與硬件的高密度性在通信信號處理中得到了廣泛的應(yīng)用。

  在對Xilinx公司的Virtex-E系列FPGA芯片進(jìn)行充分理解的基礎(chǔ)上,結(jié)合炮兵某數(shù)字測距定位系統(tǒng)的實現(xiàn),這里設(shè)計了偽碼的測距電路,并對其FPGA的實現(xiàn)進(jìn)行了分析。

  系統(tǒng)電路總體設(shè)計如圖1所示。

系統(tǒng)偽碼測距電路總體設(shè)計

  系統(tǒng)根據(jù)前端輸入數(shù)據(jù)進(jìn)行碼的捕獲與跟蹤,這些都在FPGA邏輯運(yùn)算控制部分實現(xiàn)。該部分是系統(tǒng)的核心。

  控制部分主要實現(xiàn)數(shù)據(jù)的計算以及人機(jī)的信息互換。該部分對輸入數(shù)據(jù)進(jìn)行運(yùn)算,以得出距離信號;并負(fù)責(zé)將距離信號進(jìn)行顯示,同時還可根據(jù)外部指令控制系統(tǒng)的工作。指令輸入接口可以控制數(shù)據(jù)顯示的刷新頻率,控制系統(tǒng)的工

作進(jìn)程。

  時鐘產(chǎn)生部分的主要功能是為控制部分及FPGA邏輯運(yùn)算控制部分產(chǎn)生所需的不同的時鐘信號。

  2 原理

  系統(tǒng)采用轉(zhuǎn)發(fā)式二次偽隨機(jī)碼測距,即主控站發(fā)射的隨機(jī)測距信號經(jīng)用戶站轉(zhuǎn)發(fā)后再與本地碼進(jìn)行相關(guān)運(yùn)算,通過測量兩者相關(guān)峰的位置來確定信號到達(dá)的時間,根據(jù)收發(fā)之間的時間差即可確定主控站與用戶站之間的距離,如圖2所示。

  PN碼的相關(guān)特性取決于所取碼的類型和長度。分析表明,當(dāng)接收到的PN碼與本地碼相差一個碼元以上時,二者的相關(guān)值接近于最大輸出的1/p(p為偽碼周期中的碼元數(shù),即碼長);當(dāng)時間相差為零,即兩序列完全對準(zhǔn)時,輸出最大;當(dāng)二者的時間差為正負(fù)一個碼元之內(nèi)時,相關(guān)值隨著時間差的變化而變化。在一個序列周期內(nèi),相關(guān)值只在一個碼元寬度內(nèi)有明顯變化,為三角形,其它時間基本為零。圖3為一個m序列偽碼的自相關(guān)函數(shù)的示意圖。

二次偽隨機(jī)碼測距

  相關(guān)峰可以被用來測量兩個PN序列之間的時間差,借此測量用戶站與主控站之間的距離。利用三角形相關(guān)峰的線性斜邊,粗同步到一個碼片寬度內(nèi)之后,通過PN碼跟蹤環(huán)可實現(xiàn)碼片內(nèi)的精同步。

  3 偽碼同步模塊實現(xiàn)

  擴(kuò)頻碼的同步又分粗略同步和精確同步,也就是擴(kuò)頻碼的捕獲和跟蹤。通過擴(kuò)頻碼的捕獲可以使本地偽碼與接收到的碼元基本保持同步,獲得二分之一碼元寬的同步精度。但由于發(fā)射機(jī)和接收機(jī)的相對運(yùn)動及時鐘的不穩(wěn)定,特別是測距的需要,必須對接收信號進(jìn)一步跟蹤,使本地參考信號盡可能跟隨接收信號的變化。擴(kuò)頻碼的跟蹤可以使同步精度控制在更小碼元周期范圍內(nèi),由此得到的距離估計誤差較小。

  常用的偽碼捕獲方法有并行捕獲方法和串行捕獲方法。并行捕獲法的捕獲時間短,但對長的PN碼,匹配濾波器設(shè)備量大,實現(xiàn)困難;對擴(kuò)頻碼捕獲使本地碼與接收碼的相位保持二分之一碼元的同步精度,工程上多采用滑動捕獲法,使接收到的序列與本地產(chǎn)生的序列進(jìn)行滑動比較,直至滿足要求。經(jīng)綜合比較,采用在實現(xiàn)上較簡單的簡單逐步移位串行捕獲法。

  偽碼跟蹤即使本地參考信號盡可能跟隨接收信號的變化,擴(kuò)頻碼的跟蹤可以使同步精度控制在十分之一碼元周期范圍內(nèi),以減小距離估計誤差。擴(kuò)頻碼的跟蹤通過碼跟蹤回路實現(xiàn)。延時鎖定環(huán)DLL和抖動環(huán)TDL是碼跟蹤環(huán)的兩種配置,TDL和DLL都可用于相關(guān)模式和非相關(guān)模式。TDL可以克服DLL的增益不平衡問題,但會導(dǎo)致3dB的跟蹤誤差而使性能降低,一般采用非相干延時鎖定環(huán)DLL。

偽碼同步模塊實現(xiàn)

偽碼同步實現(xiàn)

  在本原理性設(shè)備的研制過程中,不加任何導(dǎo)航數(shù)據(jù),經(jīng)數(shù)字下變頻后所得的數(shù)信號理論上是相對發(fā)射具有一定延時的PN序列。圖4給出了偽碼捕獲與跟蹤的實現(xiàn)過程。碼跟蹤采用的是超前-滯后型數(shù)字鎖相環(huán)(LL-DPLL),鑒相器逐周地比較輸入信號與本地參考信號的相位,根據(jù)相位超前或滯后相應(yīng)地輸出一個超前或滯后脈沖,雙相高頻時鐘源產(chǎn)生兩路反相的高頻時鐘。同時,控制電路根據(jù)鑒相電路的超前或滯后脈沖控制分頻器輸入脈沖的加減,以達(dá)到調(diào)整本地PN碼相位的目的,實現(xiàn)精同步。只要根據(jù)記錄下的超前與滯后脈沖的數(shù)目(一個碼片內(nèi)的延時),以及捕獲時記錄下的數(shù)據(jù)(一個偽碼周期內(nèi)的延時)即可計算出傳輸延時。

    4 工作流程

  4.1 碼的捕獲

  在本地產(chǎn)生與發(fā)送碼完全相同并有一定相對時延的本地碼,將本地碼與接收到的PN碼進(jìn)行逐位比較,相同則計數(shù)器加1,即記錄下相同的碼片數(shù)。持續(xù)一個PN碼周期后,將二者相同的數(shù)目與門限進(jìn)行比較,如果大于門限則判斷為已經(jīng)捕獲到PN碼,輸出同步標(biāo)志信號;否則,通過控制電路扣除PN碼的產(chǎn)生時鐘一個脈沖,使PN碼延遲一個碼元,并將計數(shù)器清零,同時另一計數(shù)器記錄下PN碼延遲的碼元數(shù),并最終輸出粗同步輸出信號。

  4.2 精同步

  中頻數(shù)字化處理后的信號與本地PN碼時鐘信號進(jìn)行鑒相比較,輸出超前或滯后脈沖信號,根據(jù)超前與滯后信號,加上或減去一個高頻脈沖,從而控制分頻器的輸入,達(dá)到調(diào)整本地時鐘相位的目的。同時記錄下加減脈沖的數(shù)目,計數(shù)器的輸出即為精同步輸出信號。二者達(dá)到同步時,也即完成精同步時,鑒相器產(chǎn)生交替的加減脈沖。

  4.3 測距

  當(dāng)同步標(biāo)志信號輸出為真時,根據(jù)精同步輸出信號與粗同步輸出信號即可以計算出傳輸?shù)难訒r,得到測量距離。

  5 結(jié)束語

  按圖4所示結(jié)構(gòu)用FPGA實現(xiàn)偽碼的同步,還應(yīng)綜合考慮芯片內(nèi)部資源利用情況與綜合后的運(yùn)行速率問題。設(shè)計時利用VHDL(Very High SpeedIntegrated Circuit Hardware DescriptionLanguage)硬件描述語言進(jìn)行設(shè)計。VHDL語言描述能力強(qiáng),覆蓋面廣,抽象能力強(qiáng),可讀性好。運(yùn)用VHDL語言可以大大減輕設(shè)計工作強(qiáng)度,提高設(shè)計質(zhì)量,降低出錯率。

  根據(jù)初步的試驗結(jié)果,PN碼碼長為127,速率為4MHz時,最大捕獲時間約

為幾個ms。采用高頻時鐘,精同步可達(dá)到十分之一碼元的分辨率。

  參考文獻(xiàn)

  1 ?!∏啵删幊虒S眉呻娐芳捌鋺?yīng)用與設(shè)計實踐.北京:國防工業(yè)出版社,1997

  2 查光明等.?dāng)U頻通信.西安:西安電子科技大學(xué)出版,1990

分頻器相關(guān)文章:分頻器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉