孫慧萍,劉高輝
(1.山西大同大學(xué)物理與電子科學(xué)學(xué)院,山西大同037009;2.西安理工大學(xué)電子工程系,陜西西安710048)
因為衛(wèi)星與接收機之間的距離非常遠,并且存在特別高的動態(tài),所以接收機接收信號的載波具有非常大的多普勒頻移。為了能夠從高動態(tài)信號中解調(diào)出有用的導(dǎo)航數(shù)據(jù),必須要準確且快速地對信號碼相位和載波頻率進行二維搜索。本文擬介紹循環(huán)相關(guān)捕獲法的基本理論,分析捕獲過程。同時給出設(shè)計步驟及此捕獲的仿真結(jié)果,即GPS信號的粗同步,為軟件GPS接收機后續(xù)的精同步提供了載波頻移和碼相位。
若一個時不變的線性系統(tǒng)脈沖響應(yīng)為,h(t)一個輸入信號,x(t)經(jīng)過此系統(tǒng),可以根據(jù)卷積得到以下輸出
根據(jù)傅里葉變換,得到y(tǒng)(t)的頻域響應(yīng)
(1)(2)兩式一般稱為循環(huán)卷積。
假設(shè)一個信號為x(n),另一個信號為h(n),于是可以得到它們之間的相關(guān)函數(shù)
它的DFT(離散傅里葉變換)為
H(k)為離散傅里葉變換,X-1(k)為離散傅里葉反變換。
相關(guān)z(n)的DFT變換還可以寫成
若x(n)為實數(shù),x(n)*=x(n),*為復(fù)共軛。利用上面的式子,z(k)的幅值還可以寫為
(6)式就表示了兩個信號的相關(guān)性。
捕獲的目的:獲得C/A碼的起始點和載波的多普勒頻移。在各種捕獲方法中,循環(huán)相關(guān)捕獲法雖然有運算量大,精度比較低的缺點,但因其速度快,而被經(jīng)常采用。
利用數(shù)字相關(guān)器,在時域范圍內(nèi),對所指定衛(wèi)星信號的多普勒頻移和碼相位進行掃描式的二維搜索。具體過程為:首先可以根據(jù)公式
計算出相關(guān)運算的頻率響應(yīng)Z(k),來實現(xiàn)碼相位的并行捕獲,使衛(wèi)星信號的二維搜索變成了如圖1所示的多普勒頻率的一維搜索。然后將頻率響應(yīng)Z(k)變換到時域響應(yīng),用它的模值和預(yù)先設(shè)置的門限值進行比較。如果輸出的最大峰值比門限值大,說明信號的捕獲是成功的,此時峰值的碼相位和多普勒頻率值就為信號的碼相位和多普勒頻率值。如果輸出的最大值比門限值小,說明信號捕獲失敗,此后改變多普勒搜索單元,繼續(xù)進行搜索。
圖1 多普勒一維搜索
循環(huán)相關(guān)捕獲法也被稱為并行碼相位搜索法。有一個輸入信號,先對它進行C/A碼剝離,信號就會變成連續(xù)信號。再根據(jù)傅里葉變換就可以得到它的頻率。若輸入電文長1ms,那么它的傅里葉變換的頻率分辨率就是1k Hz。這樣可以設(shè)置一個閾值 (一個門限),來進行判斷一個頻率分量的大小。如果比這個門限高,那么此最高頻率分量就是我們所求的頻率。為了使輸入信號數(shù)字化,采用5 MHz的頻率,那么1 ms的電文中就會有5 000個數(shù)據(jù)點,而這5 000點的FFT(快速傅里葉變換)就會產(chǎn)生5 000個頻率分量。在這5 000個分量中,包含有用信息的只有前2 500個頻率分量,1 KHz為它的頻率分辨率。2.5 MHz是FFT覆蓋的總頻率范圍,我們所要研究的只是20 kHz。采用DFT法來提高運算速度,并且只對相隔1 kHz的21個頻率分量進行計算。
完成此操作的另一種方法是利用DFT,將本地產(chǎn)生碼變成一種電文,此電文含有射頻信號和C/A碼。C/A碼與射頻信號乘積構(gòu)成了本地碼信號。倘若L1頻率(1 575.42 MHz)被轉(zhuǎn)換到21.25 MHz,接著用5 MHz數(shù)字化,那么輸出頻率就會為1.25 MHz。假設(shè)在第k個輸入電文點產(chǎn)生了最大值,此點就為C/A碼的起始點;假設(shè)由fi頻率分量產(chǎn)生最大值,此頻率分量就為輸入信號的載波頻率。
利用循環(huán)相關(guān)的運算法則可以進行捕獲。但在實際捕獲中,循環(huán)相關(guān)操作只適合一批或一組電文。5 MHz的ADC對輸入電文進行采樣,結(jié)果存在存儲器中。用來尋找C/A碼的起始點的輸入電文只有1 ms,搜索的頻率分辨率(步進頻率)是1 KHz。
獲取輸入電文,必須得經(jīng)過以下步驟:
(1)對1 ms輸入電文x(n)進行FFT,這樣時域輸入就可轉(zhuǎn)換到了頻域,值是X(k),其中,n=k=0,1,2,…,4999;
(2)求取X(k)的復(fù)共軛是X(k)*;
(3)利用公式lsi=Csexp(j2πfit)生成21個本地碼lsi(n)(i=1,2,…,21),一個復(fù)射頻信號與衛(wèi)星s的C/A碼的乘積構(gòu)成了本地碼,再用5 MHz對本地碼進行采樣,本地碼頻率fi相距為1 MHz;
(4)對lsi(n)進行FFT,這樣時域就可變換到頻域,值是Lsi(k);
(5)把X(k)*和Lsi(k)進行點對點相乘,其結(jié)果是Rsi(k);
(6)對Rsi(k)進行反傅里葉變換,這樣頻域就變換到了時域,值是rsi(n),可以得到它的絕對值總共有105 000(5 000×21)個
(7)在載波頻率是1KHz分辨率與輸入電文200ns的時間分辨率的條件下,在的最大值中的第n位與第i個載波頻率芯給出了碼的起始點。
圖2 循環(huán)相關(guān)捕獲法示意圖
循環(huán)相關(guān)捕獲法如圖2所示。本地電文和輸入電文分別位于兩個圓柱體的表面,本地碼旋轉(zhuǎn)5 000次來匹配輸入電文。每一步中,將5 000個本地電文和5 000個輸入電文進行點對點相乘,將其結(jié)果加在一起。輸入碼和本地碼所有可能乘積需要5 000步,在乘積中,最高幅值被記下來。若最高幅值又同時大于預(yù)置的門限值,那么它就是所要求的期望值。
對于頻寬只有幾Hz跟蹤環(huán)路來說,捕獲過程就得要求頻率分辨率在幾十Hz之內(nèi)??蓳?jù)連續(xù)兩段峰值相位的測量,來獲取較高的頻率分辨率。
輸入信號剝離了C/A碼后就變成了連續(xù)波形。若捕獲電文為Nms,其中m時刻的最高頻率分量為Xm(k)(k為輸入信號的頻率分量),那么可以得到輸入信號的初始相位
其中,Re與Im分別為實部與虛部。假若在連續(xù)的下一個Nms捕獲電文中,n時刻的最高頻率分量為Xn(k),n時刻輸入信號的初始相位為
依據(jù)頻率與相位的關(guān)系,把(7)(8)兩式帶入(9)式,就可得出精確頻率。
其中,n-m為連續(xù)兩組輸入數(shù)據(jù)峰值之間的延時。為了確保其值的惟一性,θn(k)-θm(k)的相位差必須小于2π。通過相位可獲得很精確的頻率估計值,能滿足后續(xù)跟蹤過程的需要。
根據(jù)循環(huán)相關(guān)捕獲方法的分析,利用Matlab對GPS信號的捕獲進行了仿真。仿真中要用到數(shù)字GPS中頻信號。在此信號中,有5 MHz的采樣頻率,1.25 MHz的中頻頻率。我們假設(shè)碼相位已經(jīng)對齊,設(shè)置的多普勒頻率是5.3 KHz,C/A碼時間延遲后的起點為第2831個采樣點。利用循環(huán)相關(guān)捕獲方法對數(shù)字GPS中頻信號進行盲捕后,可得到如圖3、圖4所示結(jié)果。
本文主要研究了循環(huán)相關(guān)捕獲法,并給出了它的MATLAB仿真結(jié)果。從仿真結(jié)果可以看出:捕獲結(jié)果圖中出現(xiàn)明顯的峰值,進而可以得到碼相位(C/A碼的起始點)和載波多普勒頻移值;C/A碼的起始點是在2831處,載波多普勒頻移值略有偏差,在相距1 KHz的21個頻率分量中,中心頻率為k=10處,最高值發(fā)生在k=16處,實際與理論差了25 Hz,基本達到了捕獲的目的。這種循環(huán)相關(guān)捕獲法可以準確快速地捕獲到GPS信號,是一種值得推廣的方法。
圖3 衛(wèi)星4的C/A碼的起始點
圖4 衛(wèi)星4展開的各個頻率分量
[1]Kaplan E D.GPS原理與應(yīng)用[M].寇艷紅譯.北京:電子工業(yè)出版社,2007:112-180.
[2]Walter Tuttlebee.軟件無線電技術(shù)與實現(xiàn)[M].楊小牛,鄒少丞譯.北京:電子工業(yè)出版社,2005:4-9.
[3]Alaqeei A.Global Position System Signal Acquisition and Tracking Using Field Programmable Gate Arrays[D].Ohio:Ohio University,2002.
[4]Yen J B.Fundamentals of global positioning system receivers:a software approach[M].Washington:WILEY,2004.
[5]楊俊,武奇生.GPS基本原理及其Matlab仿真[M].西安:西安電子科技大學(xué)出版社,2008.