GNSS信號捕獲
信號捕獲中GNSS信號捕獲是接收機實現信號跟蹤和解調導航電文及精確定位的前提條件,為使本地複製信號與接收信號的差異進入跟蹤環路的牽入範圍,接收機必須明確當前信號都卜勒頻移和CA碼相位。高動態環境下除了信號強弱外,對捕獲速度影響最大的是GNSS接收機與衛星之間高速徑向相對運動產生的都卜勒頻移。在沒有外部先驗信息條件下,接收機需在整個碼相位及大範圍都卜勒頻帶內搜尋自身相對於每顆衛星的都卜勒頻率和碼相位。致使接收機耗費很長時間捕獲信號。
傳統串列搜尋捕獲在時域內對信號所有可能的頻率和碼相位值進行二維滑動捕獲,硬體複雜程度低,但運算量大、捕獲時間長。並行載波域搜尋和並行碼相位搜尋避免了對頻率範圍和碼範圍進行掃描式搜尋,提高了捕獲速度,但在捕獲碼相位偏移量時仍需進行一次運算量較大的傅立葉變換。在並行碼相位基礎上對I/Q支路下採樣以減小運算量,但動態條件下碼速率變化較快時會產生累積碼相位誤差,易導致失鎖。基於FFT的時延法消除輸入信號的頻率信息提高了搜尋速度,在捕獲時需幾個時延結合起來尋找信號,且2個帶有噪聲的信號相乘使噪聲基底增加,使得不能用於只搜尋1ms的數據序列段。
在捕獲基礎上採用高次曲線內插法估計載波精確頻率,將頻率解析度提高一倍。但該估計法在計算精確頻率時需求解複雜的高階逆矩陣,硬體實現較為困難。本文根據時域卷積等效頻域相乘特性及其復序列頻譜非對稱性提出傅立葉變換循環截斷相關法,將I/Q支路復序列轉換到頻域,採用前一半頻譜與本地碼頻域前一半的共軛一起運算,再將結果求傅立葉逆變換實現時域內的循環相關載波頻率和碼相位的捕獲。在對都卜勒頻移和碼相位粗捕獲基礎上提出頻域相角測頻法,進一步提高載波都卜勒頻移精度。和傳統捕獲方法相比在保證捕獲機率情況下,該方法捕獲時間縮短到8‰,相對於載波域捕獲,時間為36%,頻率估計精度到10Hz。能以更快時間得到捕獲結果進入跟蹤環牽引範圍。
頻域並行碼相位捕獲
概述
GPS接收機中,信號的捕獲是信號跟蹤和解調導航數據位的前提。捕獲時需要對GPS星座中的每一顆衛星同時完成載波都卜勒頻移搜尋和C/A碼初始相位搜尋。傳統的GPS接收機,捕獲部分由專用的晶片來實現,用戶很難改變相應的參數,更換新的算法,大都採用相對簡單的時域相關算法。GPS軟體接收機用軟體來實現捕獲部分,具有很好的靈活性和擴展性。1991年VanNee等人提出了基於FFT的偽碼快速捕獲算法,也就是頻域循環相關的捕獲方法,使相關運算量有了一定的降低,比時域相關算法要快的多。近年來,在GPS軟體接收機的研究領域,這種方法得到了廣泛採用,但是基本上都是在PC平台上仿真實現,尤其是在國內,很少有硬體實現的。FPGA(現場可程式門陣列)是20世紀90年代興起的半定製積體電路,有著快速處理數位訊號和設計的靈活性的優點,可以在FPGA硬體平台上來實現GPS軟體接收機基帶信號處理部分。現在FPGA廠商Altera公司和Xilinx公司都研製了FFTIP核,可以利用FFTIP核,來完成相關過程中的FFT運算。
目前時域相關算法完成捕獲需要的時間是353s,比較耗時且不利於軟體實現,頻域並行碼捕獲完成單顆星捕獲時間是51ms,雖然大大提高了捕獲速度,但是較實時捕獲還有一定的不足。針對基於FPGA平台的GPS軟體接收機捕獲實時性較差的問題,本文提出了一種改進的頻域並行碼捕獲方法,用VerilogHDL語言實現了該方法,利用AlteraFFTIP核來實現FFT模組。在ModelSim仿真工具上進行了仿真,仿真結果表明該算法降低了運算量,極大地提高了捕獲速度。
頻域並行碼相位捕獲算法
1ms的信號有5714個離散的採樣數據,這樣在GPS信號頻域並行碼捕獲算法中每一次操作包括二個5714點FFT運算,一個5714點的IFFT運算。每一顆衛星的捕獲過程有21次操作,運算量非常大,因此捕獲的速度就很低。為了減少運算量提高捕獲速度,同時因為AlteraFFTIP核要求FFT運算的點數是2的整數次冪,本文提出了改進的頻域並行碼相位捕獲算法。改進之處是採用平均採樣技術用1.024MHz時鐘對5714點離散數據進行下採樣,採樣後的數據點數是1024點,這樣就極大地減少了運算量,FFT運算可以直接調用AlteraFFTIP核來實現。對於C/A碼的操作是,先用5.714MHz的採樣率將1023點的C/A碼上採樣為5714點,然後同樣採用平均採樣技術再採樣為1024點。這樣改進後捕獲算法中每一次操作的計算量改為2個1024點的FFT運算,一個1024點的IFFT運算,每一顆衛星的捕獲過程有21次操作,同時捕獲中的相乘運算量點數也相應減少,使捕獲過程中的運算對輸入數據進行捕獲操作的步驟如下:
①對1ms的輸入數據x(n),先與載波進行相乘,剝離載波,然後用1.024MHz的採樣頻率平均採樣到1024點,計算其FFT,將輸入數據變換到頻域X(k);
②對於1023個碼元的C/A碼,先用5.714MHz的採樣頻率採樣為5714點,然後再平均採樣到1024點,計算其FFT,變換到頻域Y(k);
③取Y(k)的復共軛,輸出變為Y(k);
④X(k)與Y(k)進行逐點相乘,結果為Z(k);
⑤對Z(k)取FFT逆變換,變換到時域z(n),求絕對值|z(n)|。絕對值|z(n)|就是輸入信號和本地產生信號的相關值,共有1024個;
⑥求|z(n)|中的最大值和第二最大值,分別為相關值的最高峰和次高峰,門限為最高峰和次高峰的比值,設定為2.5。判別是否達到門限值,若沒有達到調整載波頻率,回到第一步,一直到能夠捕獲到信號為止,若一個周期後仍然未捕獲到衛星,則調整衛星號,繼續搜尋。若達到了門限值,找出最大值的位置,計算出其在5714點數據中的對應位置,它就是C/A碼的起始位置,如果最大峰值由頻率分量fi產生,它就是輸入信號的載波頻率。
頻域並行碼相位捕獲的實現
用ModelSim仿真工具對改進的頻域並行碼相位捕獲方法進行了仿真,包括9部分:C/A碼產生模組、載波數控振盪器、載波剝離模組,平均採樣模組、FFT/IFFT模組、複數乘法器模組、峰值檢測模組、相位估計模組和時鐘產生器。本文對C/A碼的處理是採用的預存儲的方式,因為每次計算都要產生C/A碼,這樣就節省了C/A碼的產生時間。在本設計中,載波被量化為兩位,載波所採用的量化數值為±1和±2,前端數據的量化值為±1和±3。將本地的載波和輸入信號相乘,即可實現載波剝離,相乘後的量化數值±1、±2、±3和±6。載波剝離模組的輸入信號為前端送來的2bit的採樣數據SIGN和MAG,其中“00”代表“1”,“01”代表“3”,“10”代表“−1”,“11”代表“−3”。同樣,本地載波取值1、−1、2和−2,分別“00”代表“1”,“01”代表“2”,“10”代表“−1”,“11”代表“−2”。相乘的結果為混頻後的值,±1,±2,±3,±6。將這8個值用三位二進制數表示,高位為符號位,0表示正,1表示負,低位為數據位00,01,10,11分別代表1,2,3,6。
高動態GPS接收機的捕獲
概述
GPS信號是經過了直接序列擴頻調製及載波調製的擴頻信號。對於擴頻系統,捕獲就是指使本地參考碼和接收碼的相位差小於一個碼元寬度,且收發碼時鐘頻率基本一致,同時使載波相互對準,實現輸入信號與本地信號的同步。在GPS系統中偽碼相位與載波頻率的粗同步過程即為偽碼捕獲。有效的偽碼捕獲方法是高動態GPS接收機研究的核心,縮短捕獲時間便意味著系統性能的提高。
碼捕獲須在整個碼相位及頻域上以固定間隔進行碼與載波的二維搜尋.對於高動態GPS接收機,由於接收機載體的高動態性,造成都卜勒頻移範圍很大,因此接收機完成GPS信號的捕獲花費很長的運算時間。常用的碼捕獲方法有:串並結合的搜尋方式、分段相關實現快速捕獲、基於FFT的快速捕獲等。這些方法都可以在一定程度上縮短捕獲時間,提高碼捕獲環路的性能。其中前面兩種傳統的捕獲方法將捕獲空間分為小的單元,單元的大小與捕獲所得的頻率解成正比,且影響捕獲的誤碼率。採用這種方法的接收機稱為時域捕獲接收機。
信號捕獲中卷積運算是必須的,而它能被頻域變換的離散傅立葉變換(DFT)代替。由於基於FFT的捕獲方法使用補零FFT的線性相關,因此在相同的捕獲時間可達到碼和都卜勒頻移更高的捕獲精度,也就是說,在相同的捕獲精度下,大大縮短了捕獲衛星信號的時間。這種基於頻域變化的實時捕獲方法可以在功能強大的微處理器或者PC機上能完成所有的離線操作,因而在基於軟體的GPS接收機(SDR)中獲得了廣泛的套用。本文第一部分從實現原理和性能等方面分析比較了幾種常用高動態GPS接收機的捕獲方法;第二部分詳細闡述了基於FFT的高動態GPS接收機捕獲方法的實現機理;第三部分從仿真結果討論基於FFT的高動態GPS接收機捕獲方法的性能,說明該方法能適應高動態環境,大大減少碼捕獲時間;最後給出結論。
串並結合的二維搜尋實現快速捕獲
串並結合的搜尋方法是基於時域滑動相關、時域/頻域二維序貫搜尋的一種改進方案,其實現途徑有兩種:多通道時域並行搜尋和多通道都卜勒頻域並行搜尋。
多通道時域並行搜尋是將偽碼相位劃分成多個區間,並分配到各個通道,每個通道仍需完成整個都卜勒域的串列搜尋,但由於偽碼相位搜尋單元減少,因此可以縮短捕獲的時間。以將偽碼粗同步到半個碼片內的碼捕獲方案為例,則需要搜尋2046個碼相位單元,如果由4個通道並行完成,每個通道只需做512次N=2046的相關運算,而不是2046次,因此捕獲速度得到提高。
多通道都卜勒頻域並行搜尋是將最大都卜勒劃分成多個子區間,並分配到各個通道,每個通道完成子區間的都卜勒與2046個偽碼相位的二維搜尋,一個碼相位單元和一個都卜勒頻率單元構成一個二維的信號搜尋單元,信號檢測器依次對所有信號搜尋單元進行搜尋判決,即序貫檢測,直到信號成功捕獲。
以上兩種方案都是通過增加硬體成本、減少硬體工作時間縮短碼捕獲時間的,因此這種性能上的提高是以降低硬體利用率為代價的。
分段相關實現快速捕獲
在一般的捕獲方法中,由於信號搜尋的單元很多,相應的信號捕獲時間也很長,這在一些實時性要求比較高的接收機中是不允許的。為了提高信號的捕獲速度,可以採用一種新的捕獲方法,即通過FFT實現在搜尋1個碼相位步進量時,同時對整個都卜勒頻移單元同時進行估計。其搜尋方法過程如下:相關器由m個分段子相關器組成,每個子相關器的相關時間為T/m。也就是說,第一個子相關器的積分時間為0~T,第二個積分時間為T~T,依次類推,第m個子相關器的相關時間為T~T。每個相關積分單元對連續的T時間內的碼元分段作相關運算。可以看出,m個子相關器的輸出合成與一個積分時間為T的相關器作用是一樣的。如果我們把這m個子相關器的輸出作N點FFT變換(N≥m),然後在FFT的N個輸出端選擇輸出幅值最大的峰值作為相關器的輸出,即起到用FFT實現對接收信號的都卜勒頻移估計。如果m選擇合適的話,就可以實現對整個都卜勒頻移範圍內的頻移量做出估計。這種分段子相關器可以在不改變一般相關方法中硬體相關器的基礎上通過軟體來實現(對相關器的輸出做m點均勻採樣,然後作差值),這就在不增加硬體複雜性的情況下實現GPS信號的快速捕獲,從硬體度與運算量來講是比較適合高動態接收機。
基於FFT的快速捕獲
實現一種適應高動態環境,可以大大減少碼捕獲時間的捕獲方案,即採用都卜勒頻移域串列捕獲、時域由FFT代替滑動相關並行捕獲的二維策略。具體地,是在某一個都卜勒頻率搜尋單元做所有碼相位域搜尋,對接收到的偽碼序列和本地產生碼序列做循環卷積。實際中,根據離散傅立葉變換的圓周相關定理,如果將時域的循環卷積轉換到頻域上完成,則只需對接收偽碼和本地偽碼分別做FFT後,對其中的一組FFT序列作共扼處理,再將二者相乘,通過IFFT變換即可得到兩個序列在所有相位上的相關峰值
快速捕獲方案性能比較
以上三種GPS信號快速捕獲方法中,串並結合的二維搜尋方法,其實現結構繼承了普通GPS接收機中的時域滑動相關與二維串列搜尋,技術較為成熟,但是需要多通道分配搜尋單元,硬體複雜度增大。此外,由於GPS接收機中的捕獲環路在信號跟蹤階段是停止工作的,因此採用犧牲硬體複雜度換取捕獲速度的方法,在工程實踐中有很大的弊端。
利用分段相關實現偽碼捕獲的方法,在偽碼序列較長的情況下可以體現出很大的優勢,且從硬體度與運算量來講都比較適合高動態接收機。但是由於GPS系統的偽碼序列只有1023位,以目前數字器件的水平,完成N=1023位的相關運算速度很快,沒有必要將序列分段再做相關。而且GPS信號捕獲是基於C/A碼良好的自相關特性實現的,如果將C/A碼分段,其相關特性勢必受到影響。
基於FFT的偽碼快捕方法則是利用FFT代替大量的相關運算,捕獲時間大大縮短,且硬體實現難度小,可以適應高動態環境對系統快速反應能力的要求。所以,從硬體消耗和捕獲性能等方面考慮,基於FFT的偽碼快捕方法是高動態GPS接收機偽碼捕獲的最佳方案。