韓志鳳,劉建業(yè),李榮冰,王 翌
(南京航空航天大學(xué)導(dǎo)航研究中心,南京211106)
隨著我國北斗衛(wèi)星導(dǎo)航系統(tǒng)的建設(shè)和發(fā)展,北斗衛(wèi)星導(dǎo)航系統(tǒng)的應(yīng)用領(lǐng)域越來越廣泛,已經(jīng)滲透到人們生活的方方面面[1],在復(fù)雜環(huán)境中應(yīng)用的發(fā)展勢頭迅猛[2-3](如城市、峽谷、森林,以及大型建筑物的內(nèi)部或地下車庫等室內(nèi)場所)。在這些環(huán)境中,衛(wèi)星信號強度存在較大的衰減,傳統(tǒng)的衛(wèi)星導(dǎo)航接收機設(shè)計已不能滿足常規(guī)的導(dǎo)航定位需求[4]。因此,針對弱信號的高靈敏度接收機設(shè)計已經(jīng)成為國內(nèi)外專家研究的熱點。
延長相干積分時間是高靈敏度接收機常用的提高信噪比的方法[5],但是積分時間的延長往往受到數(shù)據(jù)比特跳變的限制[6]。在當(dāng)前第二代北斗衛(wèi)星導(dǎo)航系統(tǒng)中,衛(wèi)星信號二次編碼調(diào)制了速率為1kbps的NH碼,能夠提高抗窄帶干擾的能力,并改善衛(wèi)星信號間的互相關(guān)特性[7]。但是,數(shù)據(jù)比特符號跳變頻率被提高,也給接收機的各個環(huán)節(jié)設(shè)計帶來了一定的影響[8],特別是信號捕獲模塊。
NH碼的存在使得每1ms的隨機采樣信號都可能存在數(shù)據(jù)比特符號跳變,導(dǎo)致傳統(tǒng)的1ms相干積分產(chǎn)生不同程度的衰減。如果數(shù)據(jù)比特符號跳變恰好位于1ms數(shù)據(jù)的中間,在前后值抵消之后,1ms的相干積分值為0,導(dǎo)致信號捕獲結(jié)果極易出錯[9]。
在北斗接收機捕獲模塊設(shè)計中,往往采用連續(xù)重復(fù)多次的搜索策略。根據(jù)對NH碼的分析,每6ms數(shù)據(jù)中至少存在1次無數(shù)據(jù)比特符號跳變的情況,因此可連續(xù)獲得6個1ms相干積分值,選取擁有最大峰值的結(jié)果作為捕獲結(jié)果。在這種方法中,單次搜索需要6ms數(shù)據(jù),但有效積分時間為1ms,效率較低,且不適合用于弱信號捕獲。
補零算法也常常被用在有二次調(diào)制的信號捕獲算法中。在本地1ms偽碼之后補充1ms零值,與輸入的2ms衛(wèi)星信號進行相關(guān),取前1ms的相關(guān)結(jié)果進行峰值判斷和碼相位估計[10]。此方法可有效屏蔽NH碼相位的影響,但有效累積時間仍為1ms,不能滿足弱信號捕獲的要求。
有論文提出將NH碼與偽碼結(jié)合形成長序列NH-PRN組合碼,對長組合碼進行搜索,獲得偽碼相位和NH碼相位。此方法可獲得20ms的積分效果,但是頻率搜索帶寬較小,運算量和搜索時間非??捎^。
本文針對NH碼相位頻繁跳變限制積分時間的問題,提出了一種北斗弱信號捕獲算法,將補零算法與差分相干積分算法相結(jié)合,消除了NH碼相位的影響,提高了信噪比。
北斗衛(wèi)星導(dǎo)航系統(tǒng)的空間星座由5顆地球靜止軌道衛(wèi)星(GEO)、27顆中圓地球軌道衛(wèi)星(MEO)和3顆傾斜地球同步軌道衛(wèi)星(IGSO)組成。
MEO/IGSO衛(wèi)星的B1I和B2I信號播發(fā)D1導(dǎo)航電文,速率為50bps,并調(diào)制了 20bit的速率為1kbps的NH碼,碼寬為1ms,如圖1所示。GEO衛(wèi)星的 B1I和 B2I信號播發(fā) D2導(dǎo)航電文,速率為500bps[11]。
因此,相對于GPS信號,北斗信號中包含頻繁的數(shù)據(jù)比特跳變和NH碼相位變化,數(shù)據(jù)比特符號跳變頻率被提高到1kbps。在每1ms隨機采樣信號中都可能存在數(shù)據(jù)比特符號跳變,導(dǎo)致傳統(tǒng)的1ms相干積分產(chǎn)生衰減,可采用補零算法消除NH碼的影響。
補零算法采用并行碼相位的搜索方式,具體包括:
1)將2ms輸入信號與本地載波進行頻率維度的相關(guān),頻率搜索間隔可為500Hz;
2)生成1ms本地偽碼序列,在其后補充1ms的零值;
3)將步驟1中的結(jié)果與步驟2中的結(jié)果進行相關(guān),可利用FFT/IFFT進行并行的碼相位搜索;
4)取步驟3中相關(guān)結(jié)果的前1ms部分進行峰值檢測,獲得碼相位和載波頻率估計值。
圖2為補零算法的原理示意圖,本地碼序列包含1ms偽碼和1ms零值,與2ms輸入信號進行相關(guān)運算,相關(guān)結(jié)果中最高峰值的位置代表2個序列完全對齊,峰值出現(xiàn)在相關(guān)結(jié)果的前半個1ms中。零值的存在使得本地偽碼更好地與輸入信號中完整的1ms數(shù)據(jù)對齊,避免了NH碼相位跳變的影響。
補零算法有效避免了NH碼相位的影響,但是有效積分時間僅為1ms,不適于弱信號的捕獲。
補零算法雖然能夠避免NH碼相位的影響,但是無法滿足弱信號捕獲的需求,因此需要通過增加積分時間的方式提高信噪比。常用的相干積分算法受到數(shù)據(jù)比特符號跳變和NH碼相位的限制,非相干積分算法能夠削弱數(shù)據(jù)比特符號跳變影響,但是存在平方損耗。
差分相干積分算法是在相干積分的基礎(chǔ)上,將前1ms相干積分的結(jié)果與當(dāng)前1ms相干積分的結(jié)果進行共軛相乘。如果前后2個相干積分跨越了數(shù)據(jù)比特符號跳變,則差分運算乘積為負號,否則為正號。
相干積分結(jié)果表示為:
差分相干積分乘積可表示為:
在北斗信號中,存在NH碼的普遍跳變。因此在差分相干積分方法中,常用的將相鄰2ms相干積分結(jié)果共軛相乘的形式并不能適用于北斗信號。
基于以上對北斗信號結(jié)構(gòu)特點及相關(guān)算法的分析,分別對補零算法和差分相干積分算法進行改進,并將改進后的補零算法與差分相干積分算法結(jié)合,解決北斗弱信號的捕獲問題。
2.2.1 改進補零算法
補零算法通過對本地碼序列進行補零,使得本地碼序列更好地與輸入信號對齊,可有效消除數(shù)據(jù)比特符號跳變的影響。對輸入信號連續(xù)地采用補零算法獲得連續(xù)的相關(guān)結(jié)果。
1)第1次相關(guān)運算:采用第1ms和第2ms的輸入信號與本地的2ms碼序列相關(guān),保存前半部分1ms的相關(guān)結(jié)果;
2)第2次相關(guān)運算:采用第2ms和第3ms的輸入信號與本地的2ms碼序列相關(guān),保存前半部分1ms的相關(guān)結(jié)果;
3)以此類推,如圖3所示。
由于每次將輸入信號移動1ms,獲得的多次相關(guān)結(jié)果是連續(xù)的。但是,相關(guān)結(jié)果的符號是由數(shù)據(jù)比特符號和NH碼相位共同決定的。
2.2.2 改進差分相干積分算法
在改進補零算法的基礎(chǔ)上,對相關(guān)結(jié)果先進行差分相干積分運算,再進行峰值檢測。將差分相關(guān)運算中的延遲時間由1ms延長為20ms(即數(shù)據(jù)比特周期),差分結(jié)果可表示為:
進行共軛相乘的2個相關(guān)值必然屬于2個數(shù)據(jù)比特,如果2個數(shù)據(jù)比特符號一致,則差分乘積為正,否則為負。由圖4可以看出,差分相干積分結(jié)果不再受NH碼相位的影響,僅與是否存在數(shù)據(jù)比特符號跳變有關(guān)。
由于北斗信號B1I和B2I播發(fā)的D1導(dǎo)航電文比特長度持續(xù)時間為20ms,可以將差分相干積分時間長度設(shè)定為10ms,連續(xù)獲得2個差分相干積分結(jié)果,則必定有1個結(jié)果不跨越數(shù)據(jù)比特,對其進行峰值檢測,可獲得碼相位和載波頻率的估計值。
與直接進行相干積分算法相比,差分相干積分算法的優(yōu)點在于頻率搜索帶寬仍然可以按照1ms的相關(guān)頻率搜索帶寬進行設(shè)置,頻率搜索帶寬大,因而搜索次數(shù)大大減少,運算量和搜索時間降低。
改進的補零算法和改進的差分相干積分算法消除了NH碼相位的影響,并實現(xiàn)了積分時間的延長,能夠有效地提高信噪比,實現(xiàn)弱信號的捕獲。具體流程為:
1)將2ms輸入信號與本地載波進行混頻,對結(jié)果進行FFT變換;
2)在1ms本地偽碼后補充1ms零值,并對序列進行FFT變換;
3)將步驟1中的結(jié)果與步驟2中的結(jié)果進行共軛相乘,對結(jié)果進行IFFT變換,保存前1ms值;
4)將輸入信號向后移動1ms,重復(fù)步驟1、步驟2和步驟3,重復(fù)次數(shù)為20次;
5)對保存的相關(guān)結(jié)果進行延遲時間為20ms的差分相干積分,積分時間為10ms,共獲得2組差分相干積分結(jié)果;
6)對2組差分相干積分結(jié)果進行峰值檢測,取峰值較高的一組結(jié)果作為捕獲結(jié)果。
Monte Carlo仿真的結(jié)構(gòu)如圖5所示,包括仿真中頻北斗信號生成和軟件接收機2部分。中頻信號仿真按照預(yù)設(shè)航跡和星歷生成中頻數(shù)據(jù),在每次Monte Carlo仿真循環(huán)過程中按照設(shè)定的載噪比參數(shù)加入Gauss白噪聲,中頻頻率為4.1304MHz,采樣頻率為16.3676MHz。
按照上述流程,編程實現(xiàn)算法功能,設(shè)置信號載噪比為30dBHz,設(shè)置差分相干積分的延遲時間為20ms,差分相干積分時間為10ms。圖6(a)和圖6(b)是連續(xù)2組差分相干積分的結(jié)果。
可以看出,圖6(b)中的峰值要高于圖6(a)。因此,圖6(a)段數(shù)據(jù)據(jù)判斷是跨越了數(shù)據(jù)比特符號跳變,從峰值位置可以得知碼相位估計值為4258個采樣點,載波頻率為第11個搜索頻帶。
選擇北斗接收機中常用的6ms反復(fù)搜索算法與本文提出的基于改進補零和改進差分相干積分的弱信號捕獲算法,進行仿真對比分析。采用Monte Carlo仿真算法,設(shè)置載噪比為20dBHz~38dBHz,每次仿真循環(huán)次數(shù)為1000次,對檢測結(jié)果進行概率統(tǒng)計,結(jié)果如圖7所示。
可以看出,由于在北斗接收機中常用的6ms反復(fù)搜索算法的有效積分時間為1ms,其捕獲靈敏度不高,在載噪比為31dBHz時,僅有51%的成功率。本文提出的基于改進補零和改進差分相干積分的弱信號捕獲算法的有效積分時間為10ms,在載噪比為21dBHz時的成功率為65%,在載噪比為22dBHz時的成功率為94%,其捕獲靈敏度比傳統(tǒng)算法提高了約10dB。
本文針對北斗信號NH碼相位跳變頻繁限制積分時間的問題,提出了一種基于改進補零算法和改進差分相干積分算法的弱信號捕獲算法,有效地消除了NH碼相位的影響,延長了有效積分時間,實現(xiàn)了對北斗弱信號的捕獲。
采用Monte Carlo仿真對算法性能進行全面的測試分析,分析結(jié)果表明,相比傳統(tǒng)的反復(fù)搜索算法,采用本文提出的弱信號的捕獲算法的捕獲靈敏度提高了約10dB。此方法適用于弱信號條件下的北斗信號捕獲。