趙 勝,劉琳琳,劉 洋,段召亮,魏 亮
(1.河北省衛(wèi)星導(dǎo)航技術(shù)與裝備工程技術(shù)研究中心,河北石家莊 050081;2.禁核試北京國家數(shù)據(jù)中心和放射性核素實驗室,北京 100085;3.石家莊鐵路職業(yè)技術(shù)學(xué)院,河北石家莊 050041)
導(dǎo)航接收機系統(tǒng)中長碼的捕獲通常利用短碼來完成,但在高性能導(dǎo)航接收機中都需要對長碼進行直接捕獲。長碼與短碼比較,具有更高的測量精度和抗干擾性,但是由于其長周期性,直接捕獲具有一定的難度[1]。
長期以來,長碼直捕方法一直是國內(nèi)外研究熱點和難點,從而國內(nèi)外眾多學(xué)者提出了很多長碼直捕方法,例如大規(guī)模并行相關(guān)器法、循環(huán)相關(guān)法[2,3]、均值法及其改進算法[4]、XFAST 算法[5,6]和匹配濾波器算法[7,8]。通過比較多種直捕算法,主要分析了基于FFT的循環(huán)相關(guān)算法和多段匹配濾波器+FFT算法,前者同時采用補償平均法、直接平均法、相干累加和非相干累加技術(shù)提高捕獲性能。2種算法均在基于陣列天線的GNSS接收機平臺上進行工程實現(xiàn)和試驗驗證。
基于陣列天線的GNSS接收機平臺如圖1所示,陣列天線采用7陣元圓陣,通過自適應(yīng)波束合成[9,10],使信號電平提高8 dB左右,之后進行數(shù)字下變頻到基帶,將基帶信號送給信號處理單元。在信號處理單元中,主要對基于FFT的循環(huán)相關(guān)算法和多段匹配濾波器+FFT算法進行工程實現(xiàn)和試驗驗證。
信號和指標(biāo)要求如下:偽碼速率為10.23 MHz;多普勒范圍為:-8~8 kHz;捕獲碼相位模糊度為:±1 s。
圖1 基于陣列天線的GNSS接收機平臺架構(gòu)
1.2.1 算法與性能
基于FFT的循環(huán)相關(guān)算法是一種經(jīng)典的P碼直捕算法,在時域完成并行碼相位搜索,同時通過不同的Doppler補償在頻域完成串行多普勒頻率搜索。為了增加碼的捕獲范圍和提高搜索效率,對Doppler補償后的基帶數(shù)據(jù)采用補償平均法[2],對偽碼采用直接平均法,對循環(huán)相關(guān)結(jié)果采用相干累加和非相干累加技術(shù)。該方法具有捕獲速度快、實現(xiàn)方式簡單等優(yōu)點,配合大容量存儲器緩存數(shù)據(jù)FFT結(jié)果和偽碼FFT結(jié)果,可以實現(xiàn)對捕獲中間結(jié)果的復(fù)用,進一步提高捕獲速度。
1.2.2 算法實現(xiàn)與流程
基于FFT的循環(huán)相關(guān)算法的長碼直捕模塊結(jié)構(gòu)框圖如圖2所示。整個長碼直捕的過程可以分為以下幾個步驟:
①對基帶數(shù)據(jù)進行補償平均;
②對補償平均后的數(shù)據(jù)進行16384點FFT運算,并將結(jié)果存儲到外部數(shù)據(jù)FFT存儲單元中;
③數(shù)據(jù)FFT完成后,長碼生成模塊依據(jù)捕獲策略指定的時間信息產(chǎn)生一段本地長碼,對其進行直接平均運算;
④對直接平均后的偽碼取8192點,剩下8192點補零,然后做16384點FFT運算,并將結(jié)果存儲到外部偽碼FFT存儲單元中;
⑤從數(shù)據(jù)FFT存儲單元取16384點數(shù)據(jù),根據(jù)多普勒設(shè)置進行頻域循環(huán)移位;
⑥從偽碼FFT存儲單元中讀取16384點數(shù)據(jù);
⑦對步驟⑤和步驟⑥的2組數(shù)據(jù)進行共軛相乘運算,同時將運算結(jié)果送入IFFT模塊,完成一段數(shù)據(jù)的循環(huán)相關(guān)運算,前8192點IFFT結(jié)果是可用的,后8192點舍棄;
⑧在一個數(shù)據(jù)位的長度范圍內(nèi),對多次循環(huán)相關(guān)運算結(jié)果進行M次相干累加;
⑨在相干累加的基礎(chǔ)上進行模平方運算,對多個數(shù)據(jù)位進行N次非相干累加,尋找峰值,并記錄其位置及其他相關(guān)信息,完成多普勒頻率的一次偽碼相位搜索。
⑩通過頻域移位設(shè)置改變多普勒頻率,重復(fù)步驟⑤~步驟⑨,直到搜索完所有多普勒頻率,完成一組數(shù)據(jù)的時域和頻域搜索;
?改變數(shù)據(jù)FFT存儲單元的地址,重復(fù)步驟⑤~步驟⑩,直到所有數(shù)據(jù)的時域和頻域搜索完成;
?對搜索到的峰值進行門限判決,超過門限則捕獲成功,否則重新捕獲或者退出捕獲。
圖2 基于FFT的循環(huán)相關(guān)算法
1.3.1 算法與性能
多段匹配濾波器由多個部分匹配濾波器(Partial Matched Filter,PMF)組成,對輸入基帶數(shù)據(jù)進行偽碼解擴處理。匹配濾波器實際上就是一個常系數(shù)的FIR濾波器,輸入為x(n),抽頭系數(shù)為h(n),濾波器的輸出為:
濾波器系數(shù)是PN序列的逆序列,所以濾波器輸出實際上就是基帶數(shù)據(jù)與本地偽碼序列的相關(guān)值。將各段匹配濾波器的相關(guān)結(jié)果送入FFT運算單元,進行Doppler頻偏估計。
匹配濾波法的顯著優(yōu)點是速度快、捕獲時間短、容易實現(xiàn)快速捕獲;缺點是所耗費的FPGA資源較大。
1.3.2 算法實現(xiàn)與流程
匹配濾波器通常用并行方式和倒置型實現(xiàn),采用倒置型匹配濾波器,如圖3所示。
圖3 倒置型匹配濾波器
輸入基帶數(shù)據(jù)同時到達濾波器的每個抽頭,與抽頭系數(shù)分別相乘,加法鏈上的每一個加法器將抽頭乘法器乘積與上級運算結(jié)果相加得到新的結(jié)果,此結(jié)果一級一級往后傳送并逐一相加,最終得到一個輸出結(jié)果。濾波器抽頭系數(shù)為本地偽碼采樣(0或1),故可以用異或代替乘法,簡化電路。
如圖4所示,根據(jù)需求將1 ms數(shù)據(jù)長度的全匹配濾波器分為M個部分匹配濾波器,其中M=64,每個部分匹配濾波器長度為N;然后,對64個PMF輸出補192個零后做256點FFT運算;最后,搜索FFT模平方后的數(shù)據(jù),檢測峰值,輸出峰值的偽碼相位信息和Doppler頻偏信息。
圖4 多段匹配濾波器+FFT算法
多段匹配濾波器+FFT算法的工作流程如下:
①將PN序列的逆序列按照10 MHz采樣,輸入多段匹配濾波器,初始化各個PMF濾波器的抽頭系數(shù);
②對基帶數(shù)據(jù)進行抽取濾波,將采樣率降到10 MHz;
③將降采樣后的數(shù)據(jù)送到多段匹配濾波器進行匹配濾波;
④ M×N個時鐘周期后,開始輸出匹配濾波結(jié)果;
⑤將64個PMF結(jié)果送給 FFT運算單元進行計算;
⑥對FFT結(jié)果進行模平方運算,搜索峰值;
⑦重復(fù)步驟⑤和步驟⑥,直到搜索完±1 s時間段內(nèi)的數(shù)據(jù),輸出峰值的偽碼相位信息和Doppler頻偏信息。
在基于陣列天線的GNSS接收機研制過程中,采用圖1中的接收機平臺。平臺上使用2個Altera Stratix II FPGA芯片,其中一個用來進行自適應(yīng)波束合成,合成后的信號送給另一個FPGA,然后對上文中的基于FFT的循環(huán)相關(guān)算法和多段匹配濾波器+FFT算法進行工程實現(xiàn)和試驗驗證。
試驗時,使用導(dǎo)航信號源發(fā)射無線衛(wèi)星信號。設(shè)置衛(wèi)星的動態(tài)參數(shù)及信號強度,關(guān)閉短碼信號,只發(fā)射長碼信號;設(shè)置導(dǎo)航信號源的時頻源與接收機時頻源的時間偏差(±1 s);在此環(huán)境下,測試接收機的捕獲性能。
根據(jù)實際的多次測試結(jié)果,從FPGA資源的使用情況和算法的捕獲性能2個方面對2種算法進行綜合評估和比較,具體結(jié)果如表1所示。
表1 算法試驗結(jié)果比較
從表1可分析出,基于FFT的循環(huán)相關(guān)算法比多段匹配濾波器+FFT算法使用的邏輯資源較少,但使用了大量的片內(nèi)和片外RAM;前者捕獲時間約為后者的4倍,但多普勒精度相對較高;從捕獲信號的靈敏度來看,二者性能均差不多。
對基于FFT的循環(huán)相關(guān)算法和多段匹配濾波器+FFT算法進行了研究和實現(xiàn),2種算法相比較各有優(yōu)缺點,均提供了良好的直捕效果。二者對比,前者捕獲時間稍長、精度高、資源使用少;后者捕獲時間短、精度稍差、資源使用較多。無論哪種直捕算法,都應(yīng)具有較短的捕獲時間,良好的可靠性、實時性和易實現(xiàn)性。在實際工程運用中,應(yīng)根據(jù)實際的資源情況和捕獲性能要求,選擇合理的直捕算法及相應(yīng)的參數(shù)設(shè)置。 ■
[1]KAPLAN E D,HEGARTY C J.Understanding GPS:Principles and Applications,Second Edition[M].ARTECH HOUSE,Norwood,MA,2006.
[2]TSUI J B Y,LIN D M.Acquisition through Circular Correlation by Partition for GPS C/A code and P(Y)Code[M].US Patent 6567042,2003.
[3]周桃云,蔡成林,張 怡,等.基于頻域FFT的P碼直接捕獲技術(shù)研究[J].彈箭與制導(dǎo)學(xué)報,2010,30(2):215-220.
[4]王永慶,吳嗣亮.一種新的P碼直接捕獲算法[J].北京理工大學(xué)學(xué)報,2010,30(11):1345 -1349.
[5]李 健,劉 峰,龍 騰.低信噪比下GPS信號P碼直接捕獲技術(shù)[J].北京理工大學(xué)學(xué)報,2009,29(1):68-72.
[6]唐小妹,雍少為,王飛雪.存在偽碼多普勒條件下的XFAST 性能分析[J].通信學(xué)報,2010,31(8):54-59.
[7]吳高進,鄒永忠,譚敏強.時頻二維搜索捕獲算法及其FPGA實現(xiàn)[J].北京郵電大學(xué)學(xué)報,2009,32(3):91-95.
[8]何秋生,程亞奇,宋仁旺,等.GNSS軟件接收機中匹配濾波器算法研究[J].系統(tǒng)仿真學(xué)報,2009,21(3):827-829.
[9]趙宏偉,廉保旺,馮 娟.GNSS抗干擾接收機的自適應(yīng)波束形成算法[J].系統(tǒng)工程與電子技術(shù),2012,34(7):1312-1317.
[10]楊志偉,賀 順,廖桂生,等.子空間重構(gòu)的一類自適應(yīng)波束形成算法[J].電子與信息學(xué)報,2012,34(5):1115-1119.