劉燕麗,張?zhí)祢U,黃 銚,苗 圃
(重慶郵電大學(xué)信號與信息處理重慶市重點實驗室,重慶 400065)
擴頻通信具有抗干擾能力強、截獲率低、碼分多址等特點,因此得到廣泛的應(yīng)用。直接序列擴頻(DSSS)是目前軍用通信和民用移動通信中應(yīng)用最多,技術(shù)最成熟,也是最典型的一種擴頻通信方式。偽碼序列同步是擴頻系統(tǒng)特有的,偽碼序列同步由捕獲和跟蹤兩個階段組成。其中,偽碼序列的捕獲是擴頻通信的關(guān)鍵技術(shù)之一。長周期擴頻碼可以增強擴頻信號的保密性,許多擴頻通信系統(tǒng)采用了長周期擴頻碼。對于未來的通信系統(tǒng),長周期偽碼的快速捕獲是一個不可避免的問題。因此,研究長周期偽碼快速捕獲算法具有現(xiàn)實意義。針對此問題,目前國內(nèi)外已經(jīng)有文獻(xiàn)提出了不同的快速捕獲算法。文獻(xiàn)[1]提出了很有新意的一種XFAST算法,將本地偽碼進(jìn)行累加,進(jìn)而擴大了一次偽碼捕獲的范圍,然而該方法中的頻偏補償精度較低。文獻(xiàn)[2]中采用均值處理來提高偽碼搜索效率,但是隨著均值點數(shù)的增多將會引入較大的噪聲,使得捕獲性能變差。文獻(xiàn)[3-4]結(jié)合以上兩種方法,將偽碼捕獲范圍進(jìn)一步提高,加快了捕獲速度,但該方法中的頻偏補償精度仍然比較低。文獻(xiàn)[5]對以上方法作了詳細(xì)介紹。
為了進(jìn)一步擴大偽碼搜索范圍,使捕獲速度和多普勒頻偏補償精度同時提高,本文在文獻(xiàn)[1-3]工作的基礎(chǔ)上,提出了一種基于偽碼子序列分段疊加的偽碼快速捕獲算法。
擴頻信號在傳輸過程中,受環(huán)境影響將產(chǎn)生偽碼時延和多普勒頻偏,并被噪聲污染。在長偽碼DS-SS系統(tǒng)的接收端,對接收到的直接擴頻(DS-SS)信號作模擬下變頻處理,然后進(jìn)行模數(shù)轉(zhuǎn)換,采樣速率等于偽碼速率,接收的信號模型變?yōu)閹в卸嗥绽疹l偏的以下數(shù)字復(fù)正弦信號。因此,在接收端接收到的經(jīng)過模擬下變頻及模數(shù)變換以后的離散信號可以表示為:
式中,A0為擴頻信號的幅度值,d(n)為信息碼,c(n)為擴頻碼,τ為偽碼碼片延時,f d為多普勒頻偏,f s為采樣速率,φ為初始相位,d(n)、c(n)∈{±1},N(n)為均值為零、方差為的加性白高斯噪聲。
為了正確地恢復(fù)出原始信息,就需要通過一定的方法對多普勒頻偏及偽碼時延進(jìn)行估計。以下分析中,為了方便,不考慮噪聲的影響,同時將初始相位設(shè)為0。
順序選取L點接收信號序列s(n)進(jìn)行FFT運算得到S(k),設(shè)S[(k)]L表示將S(k)以L為周期進(jìn)行周期延拓,RL(k)表示長度為L的矩形窗,則
通過將FFT運算后得到的序列進(jìn)行循環(huán)移位,可以得到不同的多普勒頻偏補償值:其基本原理是頻域循環(huán)移位等效于時域復(fù)正弦信號相乘[6]
式中,F-1{?}表示進(jìn)行逆 FFT運算,S[(k+l)]LRL(k)就表示將S(k)循環(huán)左移l位,由式(3)可以看出S(k)在頻域循環(huán)左移l位相當(dāng)于s(n)在時域乘以頻率為l/L復(fù)正弦信號,當(dāng)l滿足f d=lf s/L或使|f d/f s-l/L|的值最小時,頻偏對信號的幅值的影響降低到了最小。即通過信號在頻域循環(huán)左移 l位,可以使頻偏對信號幅值的影響降低到最小程度,這里定義 fprec=fs/L為頻偏補償精度,fprec由接收信號的采樣頻率f s及信號點數(shù)L決定。
通過以上分析,可以得出以下結(jié)論:將FFT運算后得到的序列循環(huán)左移相當(dāng)于信號在時域進(jìn)行負(fù)的多普勒頻偏補償,反之,循環(huán)右移相當(dāng)于信號在時域進(jìn)行正的頻偏補償。采用這種方法,只需對接收信號數(shù)據(jù)進(jìn)行一次FFT運算,然后通過循環(huán)移位對整個頻偏范圍進(jìn)行搜索,就可以實現(xiàn)頻偏補償?shù)耐耆⑿谢?/p>
XFAST算法利用本地偽碼序列分段重疊累加與接收信號序列通過FFT進(jìn)行循環(huán)相關(guān)運算,其原理是:根據(jù)長度為L的一段接收信號s(n)(1≤n≤L),這里假設(shè)s(n)中不含有頻偏,在接收端順序選取長度為ML的一段本地偽碼p(n)(1≤n≤ML),將其分為M個長度為L的子序列,第i段的信號序列為:
將M個子序列重疊累加,并將疊加后的序列與接收信號利用FFT進(jìn)行循環(huán)相關(guān)運算,其原理如下:
式中,F{?}表示進(jìn)行FFT運算,*表示共軛。選取相關(guān)序列中的最大值max[Rsp(m)]與判決門限比較,當(dāng)出現(xiàn)高于判決門限的相關(guān)峰值時,則認(rèn)為進(jìn)行分段累加的本地偽碼序列中包含了同步偽碼,分別將M個子序列與接收信號通過FFT進(jìn)行循環(huán)相關(guān)運算,找出出現(xiàn)最大峰值的子序列,進(jìn)而判斷出同步偽碼所在的具體位置。如果沒有出現(xiàn)大于門限值的相關(guān)峰,則認(rèn)為本次偽碼搜索范圍內(nèi)不包含同步偽碼。將本地偽碼滑動(M-1)L個點再進(jìn)行上述相關(guān)運算,直到出現(xiàn)大于門限值的相關(guān)峰為止。
XFAST算法利用M個子序列的疊加與接收信號序列利用FFT進(jìn)行循環(huán)相關(guān)運算,通過此方法只需進(jìn)行一次基于FFT的相關(guān)運算就可以完成ML個本地偽碼的搜索,與未進(jìn)行疊加前相比計算量減小到了M倍,同時還將同步碼捕獲的范圍擴大到 M倍,提高了計算速度。
為了進(jìn)一步提高偽碼的捕獲速度,本文在XFAST算法的基礎(chǔ)上對其加以改進(jìn),對接收到的直接序列擴頻信號以1/4偽碼速率進(jìn)行采樣。而將本地偽碼分成4個子序列,對每一個子序列進(jìn)行分段重疊累加形成新的子序列,將4個新的子序列構(gòu)成兩個聯(lián)合參考序列,通過這兩個聯(lián)合參考序列與接收信號抽取序列進(jìn)行偽碼捕獲。圖1給出了該算法的結(jié)構(gòu)框圖。
圖1 算法結(jié)構(gòu)框圖Fig.1 Block diagram of the algorithm
偽碼快速捕獲算法流程描述如下:
1)將接收到的擴頻信號進(jìn)行模擬下變頻,以速率f c/4進(jìn)行采樣,f c為偽碼速率。
2)選取長為L的一段采樣序列,記為s=(s1,s2,s3,s4,…,sL-1,sL)
3)選取長度為4ML的一段本地偽碼序列,記為p=(p1,p2,p3,p4,…,p4ML-3,p4ML-2,p4ML-1,p4ML)。將p按以下方法分為四個序列p 1,p2,p3,p4。
4)分別將p1,p2,p 3,p4,分成M段長度為L的序列,將M段子序列疊加在一起,構(gòu)成長度為L的4
5)將a1,a2分別進(jìn)行FFT運算,并取復(fù)共軛構(gòu)
8)檢測相關(guān)峰的最大值,并找到其相對應(yīng)的頻偏補償序列,將該頻偏補償序列與a′1,a′2通過IFFT運算構(gòu)成的相關(guān)結(jié)果序列記為b1,b2,檢測相關(guān)結(jié)果序列b1,b2中的最大值(正的或負(fù)的)計為c1,c2。選取c1,c2中絕對值較大的一個與判決門限比較,如果該最大值超過門限則視為接收信號在本次搜索范圍內(nèi),反之,則認(rèn)為同步偽碼不在本次偽碼搜索范圍內(nèi)。將本地偽碼滑動(4M-1)L位,重復(fù)步驟3)-7),直到出現(xiàn)大于門限值的相關(guān)峰值為止。
9)檢測到大于門限值的相關(guān)峰時,據(jù)c1?c2的乘積判斷同步偽碼所在的子序列,縮小同步偽碼搜索范圍。如c1?c2>0,則認(rèn)為同步偽碼在 p1,p 3中,將分別與接收信號,進(jìn)行L 點相關(guān)運算,認(rèn)為出現(xiàn)峰值的序列中包含了同步偽碼。如c1?c2<0,則認(rèn)為同步偽碼在p 2,p4中,將分別與接收信號進(jìn)行L點相關(guān)運算,認(rèn)為出現(xiàn)峰值的序列中包含了同步偽碼。
10)記錄大于門限值的最大相關(guān)峰所在的位置及所對應(yīng)的頻偏補償序列。
假設(shè)最大相關(guān)峰對應(yīng)第l(-n≤l≤n)個頻偏補償序列,該序列記為的IFFT 結(jié)果,最佳頻偏補償值記為 f l,則可以判斷最佳頻偏補償值 f l=lf c/4L。假設(shè)捕獲到同步偽碼在子序列p i(1≤i≤4)中,將序列sl和pi中的M個長度為L的子序列分別利用FFT進(jìn)行相關(guān)運算,如果檢測到最大峰值在序列 pi中的第j段,第k點,則可以判斷同步偽碼所在的子序列準(zhǔn)確位置為I=(M-j)L+(L-k)+2,進(jìn)而得出同步偽碼在整個偽碼中的位置為:J=(I-1)×4+i=[(M-j)L+(L-k)+1]+i,即偽碼偏移量為J-1。
通過上述捕獲流程可以看出,經(jīng)IFFT運算得到最佳頻偏補償序列與參考信號序列相關(guān)序列,根據(jù)相關(guān)序列中相關(guān)峰值乘積的符號,就可以找出包含同步偽碼的兩個子序列。具體表示就是:當(dāng)c1?c2>0時,判斷同步偽碼包含在p1或p4中;反之,當(dāng)c1?c2<0時,判斷同步偽碼在 p2或 p3中,這樣就將搜索范圍從四個子序列減小到兩個子序列,即將偽碼捕獲范圍縮小了1/2,與XFAST算法相比將捕獲速度提高了兩倍,并降低了計算量。
為了進(jìn)一步驗證該算法的捕獲性能,本文通過使用Matlab仿真軟件對偽碼捕獲過程進(jìn)行仿真,仿真過程中偽碼采用 16級移位寄存器產(chǎn)生的m序列,周期為16 383,多普勒頻偏 f d為800 Hz,偽碼偏移量為650個切普,偽碼速率 f c=1 MHz,接收信號經(jīng)過模擬下變頻以后,以速率 f c/4進(jìn)行采樣,然后選取一段長為1 000點的信號序列。在接收端順序選取長為8 000點的一段本地偽碼序列,按照捕獲流程中第3步將其分為四個子序列,同時將每一子序列分成M=2段。此時,對于該偽碼捕獲方法的一次本地偽碼搜索范圍為8 000個切普,頻偏補償精度 f prec為250 Hz。
將s′作循環(huán)移位,分別與序列通過IFFT 運算得到相關(guān)結(jié)果序列,循環(huán)左移時頻偏補償值為負(fù),循環(huán)右移時頻偏補償值為正,檢測最大相關(guān)峰值所對應(yīng)的多普勒頻偏補償序列,記為最佳頻偏補償序列,圖2為與各個頻偏補償序列取得的相關(guān)峰值,循環(huán)左移與循環(huán)右移次數(shù)均為n=10,圖中的相關(guān)峰為復(fù)相關(guān)值實部的絕對值??梢钥闯鲱l偏補償序列l(wèi)=-3時,對應(yīng)最大相關(guān)峰值,此時可以判斷最佳頻偏補償序列為,最佳頻偏補償值為 f l=-750 Hz,頻偏補償殘差為|fd-|fl||=50 Hz。
圖2 不同多普勒補償序列Fig.2 Different frequency offset compensation sequences
圖3 s-3與a1相關(guān)結(jié)果Fig.3 Correlation results of s-3 with a1
圖4 s-3與a2相關(guān)結(jié)果Fig.4 Correlation results of s-3 with a2
將序列s-3與序列a1,a2進(jìn)行相關(guān)運算判斷同步偽碼所在子序列,圖3為s-3與a1相關(guān)運算結(jié)果仿真圖,圖4為s-3與a2相關(guān)運算結(jié)果仿真圖。圖中的相關(guān)值為復(fù)相關(guān)值的實部??梢钥闯?相關(guān)峰出現(xiàn)在第839個點,同時兩個相關(guān)結(jié)果序列中相關(guān)峰值符號相反,因此可以判斷同步偽碼出現(xiàn)在子序列中。通過分段檢測,發(fā)現(xiàn)同步偽碼在序列p3中的第一段,因此,可以判斷在p 3中同步偽碼為第I=(M-1)L+(L-839)+2=163個切普點,因此同步偽碼在整個偽碼中的同步點為第J=(I-1)×4+3=651個切普,即偽碼偏移量為650個切普,這與我們的期望是一致的。
定義α=|f d-|f l||f prec,(0≤α<0.5)為頻偏補償殘差系數(shù),圖5給出了在偽碼偏移量為700個切普,L=1 000,1 500,2 000情況下頻率補償殘差系數(shù)α對相關(guān)峰值的影響。這里的相關(guān)值為復(fù)相關(guān)值實部的絕對值。可以看出在頻偏補償殘差系數(shù)α相同的情況下,隨著L的增大相關(guān)峰值也在增大,這是因為增加分段長度L的值,可以提高頻偏補償精度,從而改善頻偏對相關(guān)峰的衰減作用;同一L情況下,隨著α的增加即隨著補償殘差的變大,相關(guān)值變小,這是由于頻差的增大降低了相關(guān)性。
圖5 頻偏補償殘差系數(shù)與相關(guān)峰值的關(guān)系Fig.5 Correlation peak changes with coefficient
定義相關(guān)序列中的最大相關(guān)值與次大相關(guān)值的比值為捕獲容限:A m=R max/R sub-max.顯然捕獲容限值越大,捕獲性能越好。圖6給出了在偽碼偏移量為700個切普,分段長度L=1 000,重疊段數(shù)M=2、3、4情況下的捕獲容限仿真圖,圖中相關(guān)值為復(fù)相關(guān)值實部的絕對值。
可以看出:隨著重疊段數(shù)的增加,捕獲容限隨之下降。這是由于接收信號中的碼元和那些從其他區(qū)段重疊過來的非同步碼元進(jìn)行相關(guān)會產(chǎn)生背景噪聲,降低捕獲門限。隨著重疊段數(shù)的增加,產(chǎn)生的背景噪聲就會越大,導(dǎo)致捕獲性能變差。同時可以看出在頻率補償殘差系數(shù)增加到0.38左右時,捕獲容限降低到1,此時相關(guān)峰值淹沒在接收信號與其他非同步重疊碼段產(chǎn)生的背景噪聲中,以至于造成漏警。可以通過增加分段長度L的值,提高頻偏補償精度,來減小由于漏警造成的損失。
圖6 疊加段數(shù)與捕獲容限的關(guān)系Fig.6 Acquisition margin changes with the number of segments
圖7 給出在有噪聲影響,重疊段數(shù)M=2、3、4情況下,捕獲容限隨信噪比的變化曲線圖。仿真結(jié)果表明:隨著信噪比的降低,捕獲容限值不斷減小,不難理解隨著噪聲的增加,信號相對噪聲變小,因此使得捕獲容限相對變小。
本文提出了一種新的基于偽碼子序列分段疊加的長周期直接序列偽碼快速捕獲算法。該算法通過將接收信號進(jìn)行1/4偽碼速率的序列抽取,提高了頻率搜索的精度,通過將本地偽碼分為4個子序列,將4個子序列分段累加構(gòu)成兩個聯(lián)合參考序列,與接收信號序列進(jìn)行相關(guān)運算,擴大了一次性偽碼搜索的范圍,從而提高偽碼的捕獲速度。同時以上分段長度的增加可以增強相關(guān)性,并改善頻偏補償精度,分段重疊次數(shù)增大可以擴大偽碼搜索范圍,但會降低捕獲性能,應(yīng)當(dāng)合理選擇疊加次數(shù)。仿真結(jié)果表明,該方法具有良好的捕獲效果。
[1]Yang C,Vasquez J,Chaffee J.Fast Direct P(Y)-Code Acquistion Using XFAST[C]//Proceedings.of ION GPS-99.Nashville:ION,1999:317-324.
[2]Jing Pang,Frank Van Graas,Janusz Starzyk,et al.Fast direct GPS P-Code acquisition[J].GPS Solutions,2003,(7):168-175.
[3]田明浩,馮永新,潘成勝.一種基于P碼的頻域直接捕獲算法的研究[J].電子學(xué)報,2007,35(3):549-552.TIAN Minghao,FENG Yongxin,PAN Chengsheng.Research of a method of direct acquisition based on P code in frequency domain[J]Acta Electronica Sinica,2007,35(3),549-552.
[4]Wang Na,Zhang Bangning,Zhang Guomin.Direct Acquisition Technique for GPSP(Y)-code[C]//Wireless Communications,Networking and Mobile Computing.shanghai:WiCom,2007:2 985-2 987.
[5]任亞安,王鵬,許衛(wèi)東,等.GPS中 P(Y)碼直接捕獲技術(shù)的研究進(jìn)展[J].全球定位系統(tǒng),2003,28(2):2-9.
[6]程佩青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2004.