基于FPGA的偽碼測(cè)距電路的設(shè)計(jì)與實(shí)現(xiàn)
現(xiàn)場(chǎng)可編程門陣列(FPGA)用硬件電路完成算法的過程,一方面解決了系統(tǒng)的開銷問題,提供了提高系統(tǒng)整體性能的條件,另一方面,由于靜態(tài)RAM型的FPGA具備可重構(gòu)特性,這使得資源利用率得到顯著提高。FPGA既具有通用計(jì)算系統(tǒng)的靈活性,又有專用處理系統(tǒng)的性能,對(duì)實(shí)現(xiàn)高性能信號(hào)處理具有很高的應(yīng)用價(jià)值,而且可重構(gòu)的特性使其可以根據(jù)算法來調(diào)整相應(yīng)的通信結(jié)構(gòu)和數(shù)據(jù)字長(zhǎng)。FPGA以其高度的靈活性與硬件的高密度性在通信信號(hào)處理中得到了廣泛的應(yīng)用。
在對(duì)Xilinx公司的Virtex-E系列FPGA芯片進(jìn)行充分理解的基礎(chǔ)上,結(jié)合炮兵某數(shù)字測(cè)距定位系統(tǒng)的實(shí)現(xiàn),這里設(shè)計(jì)了偽碼的測(cè)距電路,并對(duì)其FPGA的實(shí)現(xiàn)進(jìn)行了分析。
系統(tǒng)偽碼測(cè)距電路總體設(shè)計(jì)如圖1所示。
系統(tǒng)根據(jù)前端輸入數(shù)據(jù)進(jìn)行碼的捕獲與跟蹤,這些都在FPGA邏輯運(yùn)算控制部分實(shí)現(xiàn)。該部分是系統(tǒng)的核心。
單片機(jī)控制部分主要實(shí)現(xiàn)數(shù)據(jù)的計(jì)算以及人機(jī)的信息互換。該部分對(duì)輸入數(shù)據(jù)進(jìn)行運(yùn)算,以得出距離信號(hào);并負(fù)責(zé)將距離信號(hào)進(jìn)行顯示,同時(shí)還可根據(jù)外部指令控制系統(tǒng)的工作。指令輸入接口可以控制數(shù)據(jù)顯示的刷新頻率,控制系統(tǒng)的工
時(shí)鐘產(chǎn)生部分的主要功能是為單片機(jī)控制部分及FPGA邏輯運(yùn)算控制部分產(chǎn)生所需的不同的時(shí)鐘信號(hào)。
2 偽碼測(cè)距原理
系統(tǒng)采用轉(zhuǎn)發(fā)式二次偽隨機(jī)碼測(cè)距,即主控站發(fā)射的隨機(jī)測(cè)距信號(hào)經(jīng)用戶站轉(zhuǎn)發(fā)后再與本地碼進(jìn)行相關(guān)運(yùn)算,通過測(cè)量?jī)烧呦嚓P(guān)峰的位置來確定信號(hào)到達(dá)的時(shí)間,根據(jù)收發(fā)之間的時(shí)間差即可確定主控站與用戶站之間的距離,如圖2所示。
PN碼的相關(guān)特性取決于所取碼的類型和長(zhǎng)度。分析表明,當(dāng)接收到的PN碼與本地碼相差一個(gè)碼元以上時(shí),二者的相關(guān)值接近于最大輸出的1/p(p為偽碼周期中的碼元數(shù),即碼長(zhǎng));當(dāng)時(shí)間相差為零,即兩序列完全對(duì)準(zhǔn)時(shí),輸出最大;當(dāng)二者的時(shí)間差為正負(fù)一個(gè)碼元之內(nèi)時(shí),相關(guān)值隨著時(shí)間差的變化而變化。在一個(gè)序列周期內(nèi),相關(guān)值只在一個(gè)碼元寬度內(nèi)有明顯變化,為三角形,其它時(shí)間基本為零。圖3為一個(gè)m序列偽碼的自相關(guān)函數(shù)的示意圖。
相關(guān)峰可以被用來測(cè)量?jī)蓚€(gè)PN序列之間的時(shí)間差,借此測(cè)量用戶站與主控站之間的距離。利用三角形相關(guān)峰的線性斜邊,粗同步到一個(gè)碼片寬度內(nèi)之后,通過PN碼跟蹤環(huán)可實(shí)現(xiàn)碼片內(nèi)的精同步。
3 偽碼同步模塊實(shí)現(xiàn)
擴(kuò)頻碼的同步又分粗略同步和精確同步,也就是擴(kuò)頻碼的捕獲和跟蹤。通過擴(kuò)頻碼的捕獲可以使本地偽碼與接收到的碼元基本保持同步,獲得二分之一碼元寬的同步精度。但由于發(fā)射機(jī)和接收機(jī)的相對(duì)運(yùn)動(dòng)及時(shí)鐘的不穩(wěn)定,特別是測(cè)距的需要,必須對(duì)接收信號(hào)進(jìn)一步跟蹤,使本地參考信號(hào)盡可能跟隨接收信號(hào)的變化。擴(kuò)頻碼的跟蹤可以使同步精度控制在更小碼元周期范圍內(nèi),由此得到的距離估計(jì)誤差較小。
常用的偽碼捕獲方法有并行捕獲方法和串行捕獲方法。并行捕獲法的捕獲時(shí)間短,但對(duì)長(zhǎng)的PN碼,匹配濾波器設(shè)備量大,實(shí)現(xiàn)困難;對(duì)擴(kuò)頻碼捕獲使本地碼與接收碼的相位保持二分之一碼元的同步精度,工程上多采用滑動(dòng)捕獲法,使接收到的序列與本地產(chǎn)生的序列進(jìn)行滑動(dòng)比較,直至滿足要求。經(jīng)綜合比較,采用在實(shí)現(xiàn)上較簡(jiǎn)單的簡(jiǎn)單逐步移位串行捕獲法。
偽碼跟蹤即使本地參考信號(hào)盡可能跟隨接收信號(hào)的變化,擴(kuò)頻碼的跟蹤可以使同步精度控制在十分之一碼元周期范圍內(nèi),以減小距離估計(jì)誤差。擴(kuò)頻碼的跟蹤通過碼跟蹤回路實(shí)現(xiàn)。延時(shí)鎖定環(huán)DLL和抖動(dòng)環(huán)TDL是碼跟蹤環(huán)的兩種配置,TDL和DLL都可用于相關(guān)模式和非相關(guān)模式。TDL可以克服DLL的增益不平衡問題,但會(huì)導(dǎo)致3dB的跟蹤誤差而使性能降低,一般采用非相干延時(shí)鎖定環(huán)DLL。
在本原理性設(shè)備的研制過程中,不加任何導(dǎo)航數(shù)據(jù),經(jīng)數(shù)字下變頻后所得的數(shù)信號(hào)理論上是相對(duì)發(fā)射具有一定延時(shí)的PN序列。圖4給出了偽碼捕獲與跟蹤的實(shí)現(xiàn)過程。碼跟蹤采用的是超前-滯后型數(shù)字鎖相環(huán)(LL-DPLL),鑒相器逐周地比較輸入信號(hào)與本地參考信號(hào)的相位,根據(jù)相位超前或滯后相應(yīng)地輸出一個(gè)超前或滯后脈沖,雙相高頻時(shí)鐘源產(chǎn)生兩路反相的高頻時(shí)鐘。同時(shí),控制電路根據(jù)鑒相電路的超前或滯后脈沖控制分頻器輸入脈沖的加減,以達(dá)到調(diào)整本地PN碼相位的目的,實(shí)現(xiàn)精同步。只要根據(jù)記錄下的超前與滯后脈沖的數(shù)目(一個(gè)碼片內(nèi)的延時(shí)),以及捕獲時(shí)記錄下的數(shù)據(jù)(一個(gè)偽碼周期內(nèi)的延時(shí))即可計(jì)算出傳輸延時(shí)。
4 工作流程
4.1 碼的捕獲
在本地產(chǎn)生與發(fā)送碼完全相同并有一定相對(duì)時(shí)延的本地碼,將本地碼與接收到的PN碼進(jìn)行逐位比較,相同則計(jì)數(shù)器加1,即記錄下相同的碼片數(shù)。持續(xù)一個(gè)PN碼周期后,將二者相同的數(shù)目與門限進(jìn)行比較,如果大于門限則判斷為已經(jīng)捕獲到PN碼,輸出同步標(biāo)志信號(hào);否則,通過控制電路扣除PN碼的產(chǎn)生時(shí)鐘一個(gè)脈沖,使PN碼延遲一個(gè)碼元,并將計(jì)數(shù)器清零,同時(shí)另一計(jì)數(shù)器記錄下PN碼延遲的碼元數(shù),并最終輸出粗同步輸出信號(hào)。
4.2 精同步
中頻數(shù)字化處理后的信號(hào)與本地PN碼時(shí)鐘信號(hào)進(jìn)行鑒相比較,輸出超前或滯后脈沖信號(hào),根據(jù)超前與滯后信號(hào),加上或減去一個(gè)高頻脈沖,從而控制分頻器的輸入,達(dá)到調(diào)整本地時(shí)鐘相位的目的。同時(shí)記錄下加減脈沖的數(shù)目,計(jì)數(shù)器的輸出即為精同步輸出信號(hào)。二者達(dá)到同步時(shí),也即完成精同步時(shí),鑒相器產(chǎn)生交替的加減脈沖。
4.3 測(cè)距
當(dāng)同步標(biāo)志信號(hào)輸出為真時(shí),根據(jù)精同步輸出信號(hào)與粗同步輸出信號(hào)即可以計(jì)算出傳輸?shù)难訒r(shí),得到測(cè)量距離。
5 結(jié)束語
按圖4所示結(jié)構(gòu)用FPGA實(shí)現(xiàn)偽碼的同步,還應(yīng)綜合考慮芯片內(nèi)部資源利用情況與綜合后的運(yùn)行速率問題。設(shè)計(jì)時(shí)利用VHDL(Very High SpeedIntegrated Circuit Hardware DescriptionLanguage)硬件描述語言進(jìn)行設(shè)計(jì)。VHDL語言描述能力強(qiáng),覆蓋面廣,抽象能力強(qiáng),可讀性好。運(yùn)用VHDL語言可以大大減輕設(shè)計(jì)工作強(qiáng)度,提高設(shè)計(jì)質(zhì)量,降低出錯(cuò)率。
根據(jù)初步的試驗(yàn)結(jié)果,PN碼碼長(zhǎng)為127,速率為4MHz時(shí),最大捕獲時(shí)間約
參考文獻(xiàn)
1 ?!∏啵删幊虒S眉呻娐芳捌鋺?yīng)用與設(shè)計(jì)實(shí)踐.北京:國(guó)防工業(yè)出版社,1997
2 查光明等.?dāng)U頻通信.西安:西安電子科技大學(xué)出版,1990
分頻器相關(guān)文章:分頻器原理
評(píng)論