新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于軟件的GPS接收機本地系統

        基于軟件的GPS接收機本地系統

        作者:朱繼耀,張宗橙 時間:2008-05-16 來源:《電子工程師》 收藏

          0引言

        本文引用地址:http://www.104case.com/article/82713.htm

          對于一個普通的(全球定位系統)接收機來說,其對信號的捕獲和追蹤均由硬件進行處理,主要是用(專用集成電路)實現。用的主要好處之一是它的有效性,能夠對信號進行有效處理,但它的造價較高,而目前技術還在高速發展,各種算法還在不斷研究,如果都用來實現,顯然并不現實。而使用軟件來模擬搭建GPS的接收系統,不但可以方便地對現有的一些算法進行比較,而且也能快速地應用到實際中。在該系統中,用將輸入的模擬信號數字化,然后交由軟件接收機處理,由此重構的系統不僅花費較少,而且靈活多變,可以對各種算法測試,也可以適用于將來可能改變的GPS信號,如包括L5 band的不同信號傳輸載波的頻率。

          目前,MathWorks公司推出的數值型語言計算軟件已經發展成為適合多學科、多種工作平臺的功能強勁的大型軟件,其在數值分析和科學計算方面的工具能夠用來進行算法的研究和比較。本文充分利用了這一特點,對基于軟件的GPS接收機本地系統進行研究。

          1 GPS信號的特點

          GPS采用偽隨機碼擴頻系統。其原理見圖1。由圖1可知,GPS衛星向用戶發送的信號由兩個分量L1和L2組成。L1的中心頻率為1 575.42 MHz,L2的中心頻率為1 227.6 MHz,L1和L2均是己調波,其調制波是衛星導航電文D碼和偽隨機噪聲碼P碼、C/A碼。P碼是精密測距碼,為取±1的偽隨機序列,其速率為10.23 Mbit/s,其碼長為235.469 592 765×103碼元,周期約為266 d 9 h;C/A碼是粗捕獲碼,為取±1的C/A碼偽隨機序列,其碼速率為1.023 Mbit/s,其碼長為1 023碼元,周期為1 ms;D碼為取±1的導航電文編碼,其碼速率為50 bit/s載波。

                

          信號L1的同相載波分量是用PoD復合碼進行調制,而正交載波分量是由C/A D復合碼調制的。載波信號L2上只調制有P碼和D碼。調制的方法是:首先,P碼與數據D碼模2和構成復合碼P D,C/A碼與D碼模2和構成復合碼C/A D;然后,用P D和c/A D復合碼對載波L1進行調制。載波調制均采用移相鍵控調制,L1采用QPSK(四相移相鍵控)調制,12采用DPSK(雙相移相鍵控)調制。這幾個GPS分量均來源于一個公共的基準頻率,見表1。

               

          2軟件接收機的實現
          
          2.1 GPS信號處理的主要步驟

          GPS接收機信號處理主要包括射頻信號處理與中頻信號處理兩部分,如圖2所示。

                
         
          射頻信號處理主要是指對天線接收到的GPS衛星信號進行下變頻、采樣、量化處理,得到數字中頻信號。它包括天線、RF和。RF用于將信號變中頻,中頻信號在中進行采樣量化數字化。輸入的中頻為4.31 MHz,采樣頻率為20 MHz。這個采樣頻率是最適合進行中頻信號處理的。

          中頻信號處理主要是指對數字中頻信號進行相關、捕獲、跟蹤、解調處理,得到衛星的導航電文數據后,再進一步解算出導航信息。本文的軟件接收機主要處理這些問題。

          2.2捕獲模塊

          捕獲模塊的功能是:在輸入信號多普勒頻率和C/A碼相位二維平面上尋找最大相關峰,找到對應的載波頻率和C/A碼相位,為本地生成的載波頻率和C/A碼相位與輸入信號提供粗略的初始值。搜索過程是將不同碼相位l和載波頻率ωsvn情況下的I、Q兩路的相關積分值的平方和相關峰值與規定的閾值比較,如果大于閾值則找出最大值,此時所使用的碼相位和載波頻率值即為輸入信號的碼相位和載波頻率值。

          算法思路如下。在不同頻率、不同C/A碼相位進行二維搜索尋找最大相關峰。首先使本地載波發生器固定在期望的中頻頻點上,然后使C/A碼發生器從碼相位為1開始運行相關器1 ms時間,保存并清空I、Q兩路積分值,求I、Q兩路積分值的平方和作為相關峰值。再令C/A碼發生器從碼相位2開始運行l ms時間取得相關峰值,直到取得相位從1023開始運行的1 ms時間相關峰值。使本地載波發生器頻率增加一個頻率步長,比如500 Hz,重復上述過程,直到將所有可能的頻率范圍和所有的碼相位都搜索完為止。在搜索得到的二維平面上尋找最大相關峰的值與對應的頻率和碼相位值。如果最大相關值大于相關平面平均相關值16倍,則可以認為接收信號內包含該衛星信號,已經檢測出其信號相關峰,記錄下對應的頻率和碼相位供后續程序進行跟蹤解碼。最差情況下捕獲時間可以由二維平面的相關峰值點數確定。靜態定位的多普勒頻偏在-5 kHz~+5 kHz,以500 Hz為頻率間隔則需要在21個頻點搜索,每個頻點都需要1 023個碼相位的搜索,則最差捕獲時間約為21 s,即

          2.3跟蹤模塊

          跟蹤模塊的功能是:實現本地C/A碼相位和載波的頻率、相位與輸入信號的C/A碼相位和載波的嘲率、相位同步,輸出I路中路積分信號供解碼基帶報文信號。算法思路如下。將碼跟蹤與載波跟蹤視為獨翻的兩個過程。碼跟蹤使用超前延遲環反饋控制C/A碼發生器調整碼的相位。其中超前路(E)、中路(P)和延遲路(L)各相差半個碼片,分別代表信號提前、準時和落后達到。經綜合后,這些信號分別代表輸入信號和一個本地碼之間的相關性。具有最高相關值的信號被選中并保留下來,即當超前路的能量和延遲路的能量相同時可確定中路已與輸入信號的碼相位對齊。

          載波跟蹤是先使用FLL(鎖頻環)跟蹤頻率,待跟蹤一段時間使頻率抖動變小后,將鎖定的頻率送給PLL(鎖相環)作為初始值,使用PLL對信號的相速度進行跟蹤,經過一段時間跟蹤穩定后,累積器的結果就可以用于解碼基帶電文數據。載波跟蹤的I、Q路積分值使用中路的I、Q積分值。先將捕獲得到的粗略頻率作為FLL的初始值,使用I、Q積分值求得頻率差來調整跟蹤頻率,待跟蹤一段固定長時間可以確定頻率已經很接近真實頻率后,將鎖定頻率送給PLL作為初始值,使用PLL對信號的頻率和相位進行追蹤,待跟蹤一段時間穩定后本地載波與輸入信號的頻率和相位將鎖定,累積器的結果可以用于解碼基帶電文數據。綜合碼跟蹤和載波跟蹤的原理圖見圖3。

                
         
          2.4導航電文解調、定位模塊

          為了解調出導航電文,需要進一步消除載波的相位誤差。導航電文解調模塊用以下算法消除誤差,并由I′(k)給出當前導航電文的數據位。

               

          式中:I(k)和Q(k)為I、Q分路的即時分支的第k次累加值;θk為載波相位誤差估計值,θk=θk1-1+△k-1,且θ0=0,其中△θk為載波相位誤差的估計殘差,且△θk=sign(I′(K))Q′(k)。
        3設計驗證和仿真結果

          為了驗證設計模型,本文利用GPS信號模擬器產生的GPS中頻信號作為輸人信號,并在幾個典型點上觀察相應的模塊輸出波形。

          信號模擬器可由實現,并可對信號的信噪比、多普勒頻率、碼相位等參數進行調整。

          本文使用的中頻信號中心頻率為16.8 MHz。仿真結果見圖4 ~圖6。

               

                

          4結束語

          本文用MATLAB軟件實現GPS軟件接收機的本地系統,并通過MATLAB軟件對設計模塊進行了驗證。驗證結果表明,該設計夠實現對GPS信號的處理,包括信號捕獲、碼跟蹤、載波跟蹤和導航電文解調等功能,不僅為GPS軟件接收機設計提供了基本的參考依據,還可作為各種新的GNSS高性能信號處理方法的設計、評估可視化研究平臺。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 彭泽县| 县级市| 电白县| 抚州市| 巴彦淖尔市| 山阳县| 大埔县| 建昌县| 黄石市| 和田市| 会同县| 呈贡县| 斗六市| 凉城县| 青浦区| 盘锦市| 平阳县| 扶余县| 明水县| 阿拉善左旗| 天柱县| 利津县| 胶南市| 明溪县| 杭锦旗| 威信县| 花垣县| 盘锦市| 中阳县| 长武县| 社旗县| 秀山| 南漳县| 万荣县| 万盛区| 法库县| 古丈县| 正安县| 石楼县| 德安县| 德化县|