• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 滑動相關法偽碼捕獲的FPGA實現

    滑動相關法偽碼捕獲的FPGA實現

    作者:合肥電磁探測與控制實驗室 儲飛黃 張頌 竺小松 時間:2008-08-01 來源:中電網 收藏

    引言

    本文引用地址:http://www.czjhyjcfj.com/article/86525.htm

      對于碼分方式而言,只有當接收端本地偽碼與發端偽碼處于相同相位狀態時,有用的信息才能被解出。因此,擴頻序列相位的捕獲與跟蹤是系統的關鍵,而偽碼序列相位的捕獲尤為重要。是常用的方法之一。系統要求實時性,以及較高的數據處理速度,這正是的優勢。所以在擴頻通信系統中,大量應用芯片作為前級處理芯片。
    實現原理

    原理分析

      接收機端接收到的擴頻信號可以表示為:
     
      其中,P_{r}為接收信號功率,τ_pnvhxxx為傳輸時延,D(t)為信息碼, PN(t)為偽碼, n(t)為傳輸過程的加性噪聲。擴頻接收機要完成的任務就是去掉PN(T-τ_f77b77h) 偽碼項和cos(ω_{0}t+φ) 載波項,從而得到信息數據DZ(t)。
    VCO輸出I、Q兩路信號:
    通過同相正交相乘器得到:
     
      利用PN碼的相關特性,即相位對齊時,相關結果最大。當載波和碼相位都對準時,經過累加清洗(低通濾波)輸出為:
     
      經過平方相加可去掉載波對相關結果的影響,得到相關峰。

    實現框圖

      在直接序列擴頻系統中,偽碼的捕獲是構成碼同步系統的重要結構,也是直擴系統中必不可少的部分。接收機若要把偽碼擴展的信號解出,接收方就必須能產生一個與發方一樣的偽碼序列(保證最大相關值),而且,該本地偽碼速率、相位要與接收到的偽碼保持一致。對于約定好的收、發方用同一個偽碼很容易辦到,但是,如果要從解擴相關器得到傳送的信息,僅僅保證一樣的碼型是遠遠不夠的。因為即使相同的偽隨機碼,當相位差大于一個碼片時,它們的相關峰就完全消失。在實際通信中,由于收、發信機時鐘的不穩定性,接收、發射時刻的不確定性,信道傳輸延遲及干擾等因素的影響,收、發偽碼序列的相位差是隨機的。因此解擴的第一步就是要在接收信號的偽碼相位中捕獲到一個與本地偽碼一致的相位狀態。當這種狀態出現時相關器就會有一個相關峰值輸出,峰值與門限相比,若超出則確定相位已捕捉到,立即停止捕捉動作,轉入相位跟蹤狀態;若小于門限則改變本地碼相位,繼續進行捕獲。系統實現原理如圖1所示。


     

    實現方法

      根據相位捕獲的方法可分為:連續相位和在此思路上改進的不連續相位相關法。

      連續相位
      此方法是通過改變本地偽碼時鐘速率,與發端偽碼時鐘速率保持一個合適偏移量,使接收信號中偽碼相位與本地偽碼相位在相關器內進行相對滑動。這種方法的相位捕獲是連續進行的,所以相關峰值是一個連續量。相關值一旦超過捕獲門限,標志正確相位已被搜索到,接收機立即恢復本地偽碼時鐘速率(收、發信機都使用穩定度很高的振蕩源,所以它們的碼速率可以基本保持一致),停止相位滑動,啟動跟蹤電路,使相位差進一步縮小(意味著相關性增大),獲得更高解擴信噪比,滿足其后解調門限要求。此種捕獲方法捕獲時間和檢測概率相互矛盾。例如,對于一個N=215位的PN碼,兩偽碼之間最大相對滑動速率約為5kc/ps,遍歷其所有相關狀態需要的時間為6.55S。在實際通信過程中,由于干擾及其它原因造成偽碼相位失鎖需要重新捕捉時,這么長的捕捉時間會嚴重影響通信質量,因而是不可取的。由以上分析可知,這種捕捉方法相位搜索精度高但同時導致了過長的捕捉時間,在實際中很少應用,但其思路值得借鑒。不連續滑動相關法就是在此基礎上的改進。

      不連續相位滑動相關法
      所謂連續與不連續的區別是對搜索中相位的滑動變化量而言,后一種方法是把連續的相位搜索改為跳躍式的搜索,即兩個碼之間的相位滑動量不再是連續地以一定的步進量產生相位滑動。不連續滑動相關法是利用一個相位搜索電路,在捕獲過程中使本地偽碼相位以一定的步進值跳躍變化,這樣遍歷整個偽碼時間大大減少。與前一種方法相比,它的收、發偽碼時鐘速率保持一致,從而不會造成碼片寬度不一致,導致相關峰值下降。本地偽碼與接收偽碼相位的相對改變是靠搜索電路對偽碼發生器時鐘的超前、滯后控制來實現的,因此相位搜索電路(如圖2所示)是不同于前者的關鍵所在。下面重點討論實現半碼片滑動的實現方法。

      捕獲方法1 (滑動步進為TC/2)

      時鐘取反法:
      如圖1所示,當信號包絡的平方小于門限時,輸出控制信號,對圖2中CLK取反,取反的結果相當于利用原CLK時鐘下降沿進行觸發。經過二分頻后作為偽碼產生器的時鐘,同時把CLK作為移位寄存器的時鐘,三位移位寄存器的輸出相當于移動了半個碼片。仿真結果如圖3所示。

      圖中data1,data2,data3,分別為三位移位寄存器的輸出,01表示+1,11表示1,clk1為碼NCO的輸出,clk2為它的二分頻。此方法在整個系統中要多次對時鐘進行取反操作,會帶來比較嚴重的時序問題,使系統工作時序滿足不了。為了解決此問題,可采用改進的方法。

      捕獲方法2 (滑動步進為TC/2)

      時鐘取反法改進:
      此方法采用觸發器結構,把2倍的CLK作為輸入,CLK作為使能端,利用FPGA自帶的IP核--鎖相環使CLK相位超前,包住2倍CLK的上升沿,觸發器的輸出即為CLK,FPGA仿真結果如圖4所示。圖中,co為輸入端,pn為鎖相環的輸出作為使能端。對使能端取反操作,通過圖2的電路結構即可完成半碼片的移動。但是,同時要對二分之一CLK進行鎖相操作,如果實現多路,由于FPGA內部只有2個鎖相環,所以,實用性受到限制。


     

    fpga相關文章:fpga是什么


    鎖相環相關文章:鎖相環原理
    網線測試儀相關文章:網線測試儀原理

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 循化| 丹巴县| 女性| 富顺县| 富源县| 个旧市| 红桥区| 隆德县| 芦溪县| 登封市| 宜城市| 青州市| 永嘉县| 天长市| 台东市| 北碚区| 万荣县| 万载县| 吉木萨尔县| 米泉市| 西昌市| 威宁| 吉木萨尔县| 武城县| 枝江市| 武定县| 洛宁县| 和平区| 九寨沟县| 松原市| 墨脱县| 舒城县| 朔州市| 旬阳县| 阳高县| 乌兰察布市| 高台县| 河津市| 玛纳斯县| 龙井市| 娄烦县|