王玉凡,高玉龍,吳兆平,王愷宇
(中國空間技術(shù)研究院西安分院,西安 710000)
角跟蹤接收機(jī)目前廣泛應(yīng)用于我國中繼衛(wèi)星和各類低軌用戶星,主要功能是接收星間鏈路天線饋源輸出的兩路和、差信號,將星間鏈路天線在自跟蹤過程中偏離天線電軸的角位置誤差轉(zhuǎn)換成能夠控制天線運(yùn)動的誤差信號,在星間天線對準(zhǔn)情況下,誤差信號抖動大小決定天線跟蹤精度。在低信噪比情況下,隨著星間鏈路信息速率越來越大,角跟蹤接收機(jī)輸出誤差信號抖動變大,當(dāng)信息速率達(dá)到300Mbps時,誤差信號抖動無法滿足自跟蹤系統(tǒng)使用要求。本文提出一種16點(diǎn)加權(quán)滑動窗平滑算法,對角跟蹤接收機(jī)誤差信號進(jìn)行平滑處理,并在FPGA硬件平臺上實(shí)現(xiàn),通過系統(tǒng)自跟蹤試驗(yàn),能夠滿足工程使用要求。
角跟蹤接收機(jī)為適應(yīng)從不同調(diào)制方式(例如BPSK或QPSK)和碼速率(例如100 kbps~300 Mbps)信號中提取角誤差信號,采取小部分帶寬法[1]。基本原理框圖如圖1所示,通過兩個帶通濾波器(BPF2和BPF3)完成對輸入信號小部分帶寬的提取。提取信號經(jīng)過包絡(luò)檢波器檢波,包絡(luò)檢波器輸出包絡(luò)信號給數(shù)字信號處理單元,完成方位差、俯仰差誤差信號的分離,并轉(zhuǎn)換成電壓電平輸出。在星間鏈路兩端天線對準(zhǔn)時,由于受系統(tǒng)噪聲影響,角跟蹤接收機(jī)輸出方位差、俯仰差電壓在0V附近波動,對方位差、俯仰差電壓進(jìn)行三倍均方根統(tǒng)計,統(tǒng)計結(jié)果定義為誤差信號抖動。
圖1 角跟蹤接收機(jī)原理框圖Fig.1 Schematic diagram of angle tracking receiver
角跟蹤接收機(jī)中誤差信號解調(diào)時間為64 ms,即每64 ms輸出一次誤差信號電壓值,通過測試設(shè)備對輸出數(shù)據(jù)進(jìn)行采集存儲,然后進(jìn)行頻譜分析。使用Matlab工具對方位誤差電壓和俯仰誤差電壓數(shù)據(jù)進(jìn)行頻譜分析,結(jié)果如圖 2所示。從圖2中可以看出方位差、俯仰差電壓中噪聲比較均勻分布在整個采樣頻率中,而實(shí)際上方位差、俯仰差電壓應(yīng)為低頻信號甚至是直流信號。因此選取的平滑算法必須呈現(xiàn)低通特性,濾除高頻噪聲,保留低頻有用信號。
圖2 方位、俯仰差電壓FFT計算結(jié)果Fig.2 Calculation results of error signal voltage FFT
采用16點(diǎn)平滑窗算法,基本實(shí)現(xiàn)原理是輸出的誤差信號為當(dāng)前解調(diào)出來的誤差信號與前面15個時刻輸出誤差信號進(jìn)行累加,然后取平均得到角跟蹤接收機(jī)誤差信號輸出值。平滑窗輸入輸出基本表達(dá)式如下:
y(n)=(x(n)+x(n-1)+…
+x(n-15))/16
(1)
其中y(n)為當(dāng)前n時刻平滑窗輸出的值,x(n),x(n-1)...x(n-15) 為平滑窗輸入值,式(1)進(jìn)行Z域變換可得如下表達(dá)式:
Y(Z)=(X(Z)+Z-1X(Z)+…Z-15X(Z))/16
(2)
(3)
表1 方位差、俯仰差平滑前后誤差抖動比較Tab.1 Error jitter before and after smoothing
圖3 時域和頻域曲線Fig.3 Time domain and frequency domain diagrams of h(n)
圖4 平滑濾波后方位差、俯仰差FFTFig.4 FFT calculation results of azi and evt after smoothing filtering
通過以上分析,在方位差電壓和俯仰差電壓輸出端增加平滑窗進(jìn)行平滑處理,能很好降低方位差電壓和俯仰差電壓抖動。在硬件平臺處理器FPGA上對平滑窗算法進(jìn)行實(shí)現(xiàn),從式(1)中可以看出需要進(jìn)行15次加法運(yùn)算和1次除法運(yùn)算。為節(jié)省FPGA資源,實(shí)際實(shí)現(xiàn)過程采用1次加法運(yùn)算、1次減法運(yùn)算以及1次截位操作完成平滑窗功能[7]。具體模塊實(shí)現(xiàn)步驟如下:
1)設(shè)置計數(shù)器A,每次新來一個方位差電壓值和俯仰差電壓值,計數(shù)器A加1;
2)生成一個16字節(jié)數(shù)據(jù)長的移位寄存器,完成16個數(shù)據(jù)的移位存儲操作,每新來一個數(shù)據(jù),移位寄存器進(jìn)行一次移位操作,功能框圖如圖 5所示;
圖5 平滑窗實(shí)現(xiàn)框圖Fig.5 Smooth algorithm implementation diagram
3)每新來一個數(shù)據(jù),累加器SUM與輸入數(shù)據(jù)進(jìn)行累加,累加值寄存在SUM中;
4)計數(shù)器A等于16時,累加器SUM累加值賦值給寄存器B,同時寄存器B進(jìn)行低位截取,舍棄低4位,對高位輸出,完成除16運(yùn)算;
5)計數(shù)器A>16時,計數(shù)器停止計數(shù),累加器SUM與新數(shù)據(jù)累加,然后減去移位寄存器輸出的(n-16)數(shù)據(jù),得到的值賦給寄存器B,B進(jìn)行低位截取,舍棄低4位,對高位輸出,完成除16運(yùn)算。
采用VHDL語言在FPGA上對上述平滑窗實(shí)現(xiàn),使用modelsim仿真工具進(jìn)行仿真。仿真時設(shè)定azi_fir_in為方位差輸入數(shù)據(jù),evt_fir_in為俯仰差輸入數(shù)據(jù),azi_evt_fir_in_valid為輸入數(shù)據(jù)有效時刻,azi_fir_out為方位差平滑輸出數(shù)據(jù),evt_fir_out為俯仰差平滑輸出數(shù)據(jù),azi_evt_fir_out_valid為輸出數(shù)據(jù)有效時刻,仿真結(jié)果如圖 6所示,從圖6中可以看出FPGA平滑窗代碼實(shí)現(xiàn)正確。
圖6 FPGA平滑窗仿真圖Fig.6 FPGA smooth window simulation
實(shí)現(xiàn)過程采用桶形數(shù)據(jù)移位的方式替代除法運(yùn)算,有效的降低了FPGA資源,通過Xilinx ise 開發(fā)工具對兩種實(shí)現(xiàn)方式資源占用率進(jìn)行比對,如表2、表3所列,桶形數(shù)據(jù)移位方式input LUTs 資源相對除法運(yùn)算方式資源降低84.2%。
表2 桶形數(shù)據(jù)移位方式資源占用量Tab.2 Bucket data shift resource usage
表3 除法運(yùn)算方式資源占用量Tab.3 Division method resource usage
本文結(jié)合工程實(shí)際中方位差、俯仰差抖動大的問題,首先對方位差、俯仰差進(jìn)行頻譜分析,得到方位差、俯仰差中的噪聲頻譜量,然后構(gòu)建平滑窗的傳輸函數(shù),最后使用桶形數(shù)據(jù)移位方式在FPGA硬件上以較小的資源占用率實(shí)現(xiàn)該算法。經(jīng)過試驗(yàn)驗(yàn)證該方法能夠有效的解決方位差、俯仰差抖動在低信噪比、高碼速率情況下輸出超差的問題,使方位差、俯仰差誤差信號抖動輸出值降低約77%,顯著提高系統(tǒng)性能。目前該方法隨我國二代中繼衛(wèi)星成功在軌應(yīng)用。