程 燕 王海峰 王學運 郭 梁 張升康 葛 軍
(北京無線電計量測試研究所計量與校準技術國家級重點實驗室 北京 100854)
在基礎科學研究、國家基礎建設等領域中,如電力電網、移動通信、軌道交通、現代導航等都需要高精度時間同步作為基礎保障[1]。隨著人們對時間傳遞需求的不斷發展,時間比對系統還需要工作在車載、雷達等協同組網系統[2]中,高精度時間同步是保障組網系統正常工作的關鍵技術。在這些系統中,為了盡可能減小通信信號被偵查和截獲的概率[3],常常需要采用弱信號進行通信。另外,車載、船載等組網系統通常工作在動態環境下[4]。因此,時間比對系統通常需要工作在弱信號或者動態等復雜場景下,在這些場景下時間同步精度會大大降低。但是目前的時間同步系統還主要工作在靜態和強信號的場景下,針對復雜場景設計的時間同步系統還比較少。因此,為了提高時間同步系統在復雜環境下的時間同步精度,亟需對復雜場景下的高精度時間同步系統進行研究。
目前,雙向時間比對技術是實現高精度時間同步的重要手段[5,6]。調制解調器是雙向時間比對系統的核心組成設備,解調器中跟蹤環路的測量精度決定了時間同步的精度。目前雙向時間同步系統調制解調器中跟蹤環路使用傳統鎖相環(Phase Lock Loop, PLL)或者鎖頻環(Frequency Lock Loop,FLL),但是這些環路在弱信號或者高動態等復雜場景下極其脆弱,很難正常工作。文獻[7]在將卡爾曼濾波(Kalman Filter, KF)算法應用于導航接收機系統中,測試結果顯示KF跟蹤相比于傳統跟蹤環路能夠跟蹤更弱的信號。
KF性能很大程度上依賴于噪聲統計特性,算法中噪聲協方差是預先設定好的,在整個濾波迭代過程中保持不變。但是當系統工作在復雜場景下,實際環境的噪聲統計特性并不是固定不變的,而且很難直接獲得,預先設定好的噪聲協方差很難準確反映實際的噪聲情形。此時不準確的噪聲協方差會影響KF濾波結果,嚴重時產生錯誤結果或者發散。因此,需要應用自適應卡爾曼濾波(Adaptive Kalman Filter, AKF)算法。目前不同的AKF算法主要應用于其他領域,比如水面無人航行器[8]、定位系統[9]、慣導系統[10]等,這些AKF算法都是根據應用系統機理設計對應的系統模型和測量模型,并不適合于其他應用系統。目前,還未有合適的AKF跟蹤算法應用于時間比對調制解調器中。因此,需要深入研究調制解調跟蹤系統機理,設計合適的系統模型和測量模型。然后根據存在弱信號和動態的復雜場景,設計適合調制解調器的AKF跟蹤算法。
本文提出一種利用自適應因子調節系統噪聲協方差的AKF跟蹤算法。自適應因子可以根據輸入信號變化情況自適應調節系統噪聲協方差,從而彌補由于不準確系統噪聲協方差導致的模型誤差。通過仿真信號測試顯示,相比于傳統PLL跟蹤算法和標準KF跟蹤算法,提出的AKF跟蹤算法可以提高在復雜信號場景下的跟蹤魯棒性,并且算法復雜度不高。因此,本文提出的AKF跟蹤算法,對于提高動態協同組網系統中時間同步精度具有重要意義。
微波雙向時間比對信號通常采用碼分多址(Code Division Multiple Access, CDMA)方式,使用偽碼(Pseudo Random Noise, PRN)對時間信號進行擴頻。由于PRN碼自相關可以產生清晰的峰值,不同的PRN碼互相關值很小,因此PRN碼廣泛應用于雙向時間比對信號中。在相同的頻率信道里,可以同時發送不同PRN碼的信號,如圖1所示,節點1接收節點2的PRN碼信號并計算出到達時間(Time Of Arrival, TOA),節點2接收節點1的PRN碼信號并計算出TOA,通過這兩個TOA值,可以得到兩個節點間的鐘差值。

圖1微波雙向時間比對系統框圖
對于CDMA方式,接收信號x(t)可以認為是不同PRN碼信號和加性噪聲的線性結合,可以表示為
其中,下標n表示發送信號的節點n,An表示信號幅度,cn表示發送信號的PRN碼波形,τn表示TOA,ωn表示載波頻率,φn表示載波相位,w(t)表示加性噪聲。對x(t)進行采樣后,輸出的離散采樣信號xi為
其中,Ts表 示采樣周期,cn,i(iTs-τn)表示i時刻節點n的PRN碼延遲了τn的碼相位,wi表示采樣的噪聲。
數字中頻時間比對信號經過捕獲模塊獲得粗略的參數估計值,然后進入到跟蹤環路中。中頻時間比對信號分成兩路,一路與正弦載波相乘,即為I路,另外一路與余弦載波相乘,即為Q路。混頻后的信號與本地復制偽碼相乘,用于解調出時間信息,得到I,Q兩路積分值。得到的積分值輸入到積分清除器中,濾除高頻成分,保留低頻成分,得到積分值Ip和Qp,可以表示為
其中,k是相關值更新的索引號,A表示信號的幅度,N(k) 表示相關器中累積的采樣數,R(τ-τ?)k代表偽碼的自相關函數,τ?表示本地即時支路的偽碼延遲,δf(k) 是載波頻率誤差,單位為Hz,Ts是相干積分時間,單位為s,δφk表示時間Ts內的平均載波相位誤差值,wI(k)和wQ(k)表示互不相關的高斯白噪聲,這兩個噪聲有著相同的功率。
隨后這I,Q兩路積分值輸入到鑒相器中得到相位誤差值,然后輸入到環路濾波器中,不斷濾波迭代得到載波相位和頻率,用來更新載波數控振蕩器(Numerically Controlled Oscillator, NCO)。直到本地復制的載波與輸入的時間比對信號載波相一致,剝離出中頻時間比對信號載波。時間比對信號跟蹤環路框圖如圖2所示。

圖2 時間比對信號跟蹤環路框圖
目前雙向時間比對調制解調器中跟蹤環路使用傳統鎖相環或者鎖頻環,但是這些環路帶寬一直保持不變,不能根據輸入信號情況進行變化。如果時間比對系統工作在動態場景下時,帶寬需要增大,這樣可以減小跟蹤環路的動態壓力誤差。但是當時間比對系統工作在弱信號場景下,需要延長積分時間。但是對于傳統鎖相環,從s域轉換為z域時只有在Bn·T ?0.5(Bn表示環路帶寬,T表示積分時間)時才有效。因此,為了滿足這個條件,延長積分時間就需要減小帶寬,但是減小帶寬又會影響跟蹤環路的動態性能。因此,在弱信號和動態同時存在的復雜場景下,傳統跟蹤環路極其脆弱,很難正常工作。
由于KF跟蹤算法可以自適應調節跟蹤環路帶寬,文獻[11]中指出KF跟蹤環路的等價噪聲帶寬為

時間比對調制解調器中基于KF跟蹤算法的系統模型為


由KF更新迭代過程可知,系統噪聲協方差Qk的值會影響卡爾曼增益Kk結果,根據式(5),進而會影響KF跟蹤環路的等價噪聲帶寬Bn。當Qk較小時,P?k-會變小,相應的Kk會變小,從而導致新的測量值權重變小。因此,在復雜場景下,比如動態平臺下,需要提高Qk的值來提高新的測量值的權重[12]。在復雜弱信號或者動態場景下,時間比對信號KF跟蹤算法在迭代過程中保持Qk不變,可能會影響參數估計的結果,嚴重時可能會導致跟蹤環路失鎖。
針對時間比對信號KF跟蹤環路在復雜場景下存在的問題,本文提出一種AKF跟蹤算法,應用于時間比對信號跟蹤環路中。當雙向時間比對系統應用于復雜場景下時,系統噪聲協方差Qk如果是固定不變的,往往不能真實反映實際噪聲情況。因此,本文引入自適應因子λk來根據外部輸入信號變化情況自適應調節Qk,提高Qk值的準確度,進而提高迭代過程中卡爾曼增益Kk的準確度,根據式(5)可知同時提高了等價噪聲帶寬的準確度,最終提高狀態向量的估計精度。
引入自適應因子后,根據式(10),預測狀態誤差協方差矩陣P?k-表示為

當卡爾曼然濾波系統中存在模型誤差時,新息序列dk將不服從正交原則。因此,本文將根據正交原則來計算自適應因子λk,調節λk減小模型誤差,使得新息序列服從正交原則。
根據文獻[13],為了使 E[dk+jdTk]=0,那么需滿足

由于P?k-和HT為正定矩陣,因此,式(18)的充分必要條件為

由于真實的新息協方差矩陣Ck一般不能直接獲得,通常采用滑動窗口法來計算,即

綜上,提出的AKF濾波算法流程圖如圖3所示。其中橙色方框中即為計算自適應因子λk和調節Qk的過程。提出的時間比對AKF跟蹤環路框圖如圖4所示,其中橙色方框即為提出的AKF載波環路濾波器。

圖3 提出的AKF算法流程圖

圖4 提出的時間比對信號AKF跟蹤環路框圖
為了測試提出的時間比對信號AKF跟蹤算法的性能,本文對該算法進行仿真測試和分析。試驗配置框圖如圖5所示,將KF跟蹤環路和PLL跟蹤環路與提出的AKF跟蹤環路進行對比,比較不同跟蹤環路在復雜場景下的跟蹤結果。

圖5 試驗配置框圖
為了模擬復雜場景下信號,本文設計了動態和弱信號同時存在的場景,仿真信號載噪比和速度變化情況如圖6所示。數字中頻信號頻率為4.17 MHz,采樣率為62 MHz,量化位數為1 bit。如圖6所示,信號強度方面,信號載噪比從40 dB-Hz開始下降,在40 dB-Hz時保持5 s,然后每5 s下降1 dB,直到降到25 dB-Hz,然后在25 dB-Hz保持60 s, 138 s之后信號強度每5 s增加1 dB,直到達到34 dB-Hz。信號動態方面,在前60 s保持靜止,60 s之后信號加速度為32 m/s2,直到t=78 s速度達到576 m/s2。隨后,信號速度一直保持576 m/s2直到t=138 s,然后速度開始下降,加速度為–32 m/s2,最終在t=156 s時停止。

圖6 模擬復雜場景信號的載噪比和速度變化情況
圖7為跟蹤結果圖,顯示了不同跟蹤算法在動態弱信號場景下,估計的載噪比和多普勒頻率的結果。其中黑色曲線為真實的載噪比和多普勒值,紅色曲線為提出的AKF跟蹤結果,藍色曲線為標準KF跟蹤結果,黃褐色曲線為PLL跟蹤結果。從中可以看出,所提AKF跟蹤算法可以一直跟蹤動態弱信號,其他的跟蹤算法在信號加速并且衰減時都失鎖了。在信號強度較高時,3種跟蹤算法都能較好地跟蹤,但是當信號強度較低,同時加速度為32 m/s2時,傳統PLL跟蹤在67 s時失鎖,標準KF跟蹤在77 s時失鎖。

圖7 模擬信號的跟蹤結果圖
根據測試結果可知,在動態弱信號的復雜場景下,傳統PLL跟蹤算法性能最差,標準KF跟蹤算法其次,跟蹤性能最好的是提出的AKF跟蹤算法。由此可知,所提AKF跟蹤算法可以利用自適應因子較好地跟蹤動態弱信號的變化情況,即使輸入信號強度較低同時信號加速時,AKF跟蹤算法也能很好地跟蹤。由于KF跟蹤算法中系統噪聲協方差一直保持不變,不能準確反映實際輸入的信號變化情況,因此,在信號變弱并加速時,KF跟蹤就失鎖了。而PLL跟蹤算法因為環路帶寬是固定不變的,不能根據輸入信號變化情況及時調節,所以在3種跟蹤算法中性能最差。
本文提出的AKF跟蹤算法相比于標準KF跟蹤算法,主要增加的計算量為圖3中計算自適應因子λk部分,主要增加了3個式子的計算,分別為式(16)、式(25)和式(23)。對于式(16)而言,由于狀態向量zk為鑒相器輸出的載波相位誤差,為標量,H維度為1×3,x?-k維度為3×3,因此迭代1次計量dk需要的乘法數為3,加法數也為3。對于式(25),dk維度為1×1,所以迭代1次計算C?k需要的乘法數為3,加法數為2。對于式(23),Φ維度為3×3,所以迭代1次計算式(23)所需的乘法數為37,加法數為23。因此,計算自適應因子λk總的計算量為:乘法數為43,加法數為28,如表1所示。

表1 迭代1次所需的計算量
對于標準KF跟蹤算法來說,狀態向量為3維,測量向量為1維,根據文獻[16]可知,標準KF所需的計算量乘法數為102,加法數為81,如表1所示。所以,相比于標準KF跟蹤,提出的AKF跟蹤算法增加的乘法數為42%,增加的加法數為34%。因此,增加的計算量并不大,非常適合應用于實際時間比對跟蹤系統里。
針對動態弱信號同時存在的復雜場景下,時間比對調制解調器跟蹤環路魯棒性差的問題,本文提出一種AKF算法應用于時間比對信號跟蹤環路中。該算法利用自適應因子來調節系統噪聲協方差矩陣,自適應因子可以根據外部輸入信號變化情況進行實時調節,從而提高系統噪聲協方差的自適應能力。試驗結果表明,該算法在弱信號和動態信號同時存在的情況下,所提AKF跟蹤算法能夠很好地跟蹤,而傳統PLL跟蹤環路和標準KF跟蹤環路在該復雜信號下直接失鎖。因此,所提AKF跟蹤算法魯棒性強,并且增加的計算量不高,非常適合應用于動態協同組網的時間同步系統中。