鄭為民,張 娟,徐志駿,劉 磊,童 力,張秀忠
(1.中國科學院 上海天文臺,上海 200030;2.中國科學院 射電天文重點實驗室,南京 210008;3.上海市導航定位重點實驗室,上海 200030)
甚長基線干涉測量(Very Long Baseline Interferometry,VLBI)是目前分辨率最高的天文觀測技術,已達到亞毫角秒量級測量精度。實時VLBI技術應用于探月工程中[1-6],圓滿完成了歷次月球探測器的高精度定軌和定位。實時相關處理機在其中發(fā)揮了重要作用[7-9]。相關處理機系統(tǒng)是VLBI核心設備,其功能與光學系統(tǒng)中的成像透鏡類似,獲取射電望遠鏡陣列的可見度函數(shù),具有數(shù)據(jù)及計算密集的特點。
VLBI相關處理機從應用范圍上可分為天文、測地與深空探測3類,它們有各自的技術特點。面向天文和測地應用的相關處理機主要追求寬帶高速信號處理,根據(jù)需要還設有脈沖星、空間VLBI以及多相位中心等特殊功能。用于深空探測VLBI處理機帶寬相對較窄,觀測模式特殊,可靠性要求高,有時還追求較高實時性。
VLBI相關處理機從實現(xiàn)方式上可分軟件處理機和硬件處理機。其中軟件處理機以專用信號處理軟件運行于通用高性能計算平臺的方式實現(xiàn);硬件處理機以專用集成電路(Application Specific Integrated Circuit,ASIC)或現(xiàn)場可編程邏輯陣列(Field-Programmable Gate Array,F(xiàn)PGA)等為平臺。為確保可靠性,在探月工程初期,開展了軟、硬件處理機雙備份的方案。
美國國家航空航天局(National Aeronautics Space Administration,NASA)下的噴氣推進實驗室(Jet Propulsion Laboratory,JPL)的JVC(JPL VLBI Correlator)處理機和歐洲航天局(European Space Agency,ESA)的基于ΔDOR技術的相關處理機[8],已經(jīng)應用于多個行星探測器的常規(guī)工程測定軌。JPL專用深空VLBI網(wǎng),利用窄帶觀測,可準實時傳輸觀測數(shù)據(jù),速率為500 kbit/s。根據(jù)美國國際武器貿(mào)易條例限制,JVC處理機不對外輸出,ESA也無法獲得。ESA也發(fā)展了自己的航天專用VLBI處理機,DiFX、SFXC、K5/VSSP等其它處理機的某些版本也參與過航天器VLBI觀測的處理,但未正式參與航天工程任務。目前,國際上同時開展VLBI軟件與硬件處理機研制的機構(gòu)有:荷蘭JIVE、韓國KASI和上海天文臺。
在探月工程中,VLBI站接收到的探測器的原始數(shù)據(jù)經(jīng)過相關處理后,數(shù)據(jù)量得到極大壓縮,然后進行條紋擬合、儀器時延、大氣時延、電離層、鐘差鐘速等修正,最終得到關于探測器的時延觀測量,從而求得探測器高精度的角位置信息[9]。本文主要介紹了自主研發(fā)的VLBI相關處理機軟件和硬件的關鍵創(chuàng)新技術。
探月工程中的VLBI相關處理機的結(jié)構(gòu)采用FX型,即先將一條基線兩端的測站數(shù)據(jù)從時域信號進行傅里葉變換,再做交叉相乘。在進行數(shù)據(jù)處理時需要高精度的時延模型,但射電信號從觀測源到VLBI站的過程中,將受到傳播路徑上的引力、傳播介質(zhì)及潮汐項、板塊運動等對測站位置的影響等。為實現(xiàn)高精度時延模型計算,須對這些因素進行復雜的修正,經(jīng)修正后相關處理機的理論幾何時延模型精度可達50 ps。
測站的兩路信號進入相關處理機后,首先按頻率通道進行解碼;然后根據(jù)預先計算的時延模型進行整數(shù)比特時延補償;經(jīng)過條紋旋轉(zhuǎn)及快速傅里葉變換后,信號從時域變換至頻域,并完成分數(shù)比特時延補償;最終兩路信號進行共軛相乘及累加積分,得到目標源的可見度函數(shù)[8]。經(jīng)過條紋旋轉(zhuǎn)后,原有實數(shù)整數(shù)1~2 bit數(shù)據(jù)會變成128位復數(shù)浮點,這是FX型處理機特有的內(nèi)部數(shù)據(jù)膨脹過程,數(shù)據(jù)膨脹率為64或128倍。對于512 Mpbs的2 bit原始輸入數(shù)據(jù)率,經(jīng)過條紋旋轉(zhuǎn)后,在處理機內(nèi)部最高可達32 Gbps。后續(xù)操作具有典型的計算和數(shù)據(jù)密集型特點,計算量主要集中在幾個部分:條紋旋轉(zhuǎn)、復數(shù)快速傅里葉變換、小數(shù)比特時延補償及相乘累加(Multiply ACcumulate,MAC)。相關處理機的計算量與參與觀測的臺站數(shù)及采樣率有關[17],以“嫦娥4號”任務為例,通道帶寬為4 M,8個通道,2 bit量化,4個臺站參與觀測,總輸入數(shù)據(jù)率為4 × 128 Mbps =512 Mpbs,理論持續(xù)計算量約為284 Gflops。
VLBI分系統(tǒng)數(shù)據(jù)處理中心(簡稱VLBI中心)現(xiàn)有的軟件相關處理機是一套運行于計算機集群,具備實時相關處理功能的專用并行高速處理軟件,硬件處理機是基于FPGA器件的專用高速信號處理機。軟件處理機速度依賴于商用硬件平臺的計算、存儲與網(wǎng)絡性能,目前的CPU(i7 975 EE)的單個核峰值速度為53.28 Gflops,且數(shù)值計算很難達到峰值速度,若采用傳統(tǒng)串行程序無法滿足工程任務海量高速數(shù)據(jù)的實時性處理需求,須采用并行技術。
探月軟件處理機采用MPI + OpenMPI相結(jié)合的并行模式,核心計算模塊利用IPP庫進行優(yōu)化,實現(xiàn)對探測器、河外射電源VLBI觀測數(shù)據(jù)的相關處理能力。其中,根據(jù)探測器信號進行盲搜索的條紋搜索模塊,因其計算量徒增,采用消息傳遞接口(Message-Passing-Interface,MPI)和通用圖形處理器(Graphics Processing Unit,GPU)加速相結(jié)合的技術。基于Uniboard平臺開發(fā)了硬件處理機,在探月任務的變軌、月面下降、起飛等特殊動力段,探測器的運動軌跡和預報軌道有差異,從而導致實際的時延模型和預報時延模型間的誤差,這一誤差有時較大,造成相關處理無法完成正確的信號處理,而處理機運行時,需要根據(jù)比較準確的預報模型進行相關處理。因此,探月工程任務中的VLBI相關處理機具備自動條紋搜索的功能。該功能當預報模型精度不夠時,能夠自動對原始信號進行條紋搜索,現(xiàn)場實時自動構(gòu)造高精度時延模型引導處理機完成處理,這是探月工程任務中VLBI軟件相關處理機的獨創(chuàng)。
軟件處理機內(nèi)部采用模塊化實現(xiàn),其結(jié)構(gòu)框圖如圖1所示,預處理功能模塊將多種格式的原始觀測數(shù)據(jù)處理成統(tǒng)一格式數(shù)據(jù)流供相關處理、條紋搜索與模型重構(gòu)、相位校正信號提取模塊使用。條紋搜索與模型重構(gòu)功能通過外部文件的形式完成高精度時延模型文件的信息傳遞,預處理、相位校正信號提取功能可參見文獻[18~19]。
圖1 軟件處理機內(nèi)部結(jié)構(gòu)框圖Fig.1 Structure of software correlator
在探月工程中,系統(tǒng)采用實時e-VLBI技術將數(shù)據(jù)從觀測站傳至VLBI中心,相關處理機接收數(shù)據(jù)后進行實時處理后,內(nèi)部各模塊按流水線模式進行,從數(shù)據(jù)達到相關處理機至輸出結(jié)果,目前整個過程耗時可小于25 s。處理機采用FX型處理機流程,并行計算的方法進行加速處理,核心計算部分調(diào)用IPP庫函數(shù)進行優(yōu)化。為應對高速數(shù)據(jù),處理機采用了數(shù)據(jù)驅(qū)動的方式,將原始數(shù)據(jù)劃分為若干短周期的數(shù)據(jù)段,并將其分配到不同的計算單元,最終以并行計算的方式完成所有信號處理。
在相關處理過程中,按照時間軸處理數(shù)據(jù)流,存在4個時間周期,從長到短依次為:Scan周期、積分周期、模型周期、FFT周期。4種周期時間長度可根據(jù)任務要求設定,一個Scan周期包含若干個積分周期,積分周期是計算信號功率譜的積分時間,一個積分周期包含若干個模型周期,模型周期包含若干個FFT周期。并行方案中選用模型周期作為任務劃分的最小單位,模型周期是處理機時延模型更新的時間長度,并行任務分配方案分為以下兩部分。
1)計算和IO并行處理
VLBI相關處理因為計算和數(shù)據(jù)密集,為避免線程多次進行掛起、喚醒的循環(huán)操作,提高CPU使用率,專門開辟了專用線程用于IO處理,以期實現(xiàn)數(shù)據(jù)讀取IO和相關處理計算的并行處理,并行處理方式如圖2所示。
圖2 IO與計算并行處理示意圖Fig.2 Diagram of IO and computing in parallel processing
2)內(nèi)部計算的并行化
內(nèi)部計算的并行化以模型周期為節(jié)點間最小任務粒度,將Scan周期包含的模型周期平均分配到所有計算節(jié)點。VLBI實時任務階段,臺站觀測數(shù)據(jù)通過網(wǎng)絡到達VLBI中心,為確保實時性,軟件處理機實現(xiàn)時,設定結(jié)果收集循環(huán)周期。
假定設定收集結(jié)果的時間為m個積分周期,積分周期為Tintegration,模型周期時間為Tmodel,每個線程計算的連續(xù)模型數(shù)為Tmodel,N個進程,P個線程參與計算,則每個線程分配到的任務粒度為
圖3顯示了采用GPU技術實現(xiàn)自動條紋搜索算法流程,原始數(shù)據(jù)解碼之后,進行時延率粗搜、時延搜索、時延率精搜,迭代過之后,輸出時延/時延率,最后進行模型重構(gòu)。虛線方框中的內(nèi)容為算法核心部分,也是計算最耗時的部分,使用GPU對其進行加速,其中涉及到解碼、快速傅里葉變換、互功率譜、互相關、希爾伯特變換、數(shù)字濾波、條紋旋轉(zhuǎn)等多個步驟。
圖3 GPU算法流程圖Fig.3 GPU algorithm flowchart
目前,探月工程中的VLBI軟件處理機所有功能模塊均運行于一套高性能集群處理系統(tǒng),如圖4所示,其主要技術指標見表1。
圖4 探月工程軟件處理機運行平臺Fig.4 The platform of software correlator in
該平臺有兩個管理節(jié)點,54個計算節(jié)點。計算節(jié)點及網(wǎng)絡配置、存儲的具體情況如下:
1)8個計算節(jié)點,每個節(jié)點配2個CPU:2 × E5-2 695 v4,內(nèi)存為128 GB;
2)網(wǎng)絡配置:40 Gb Infiniband,10 Gb Ethernet;
3)存儲:采用10 GPFS存儲服務器,采用并行文件系統(tǒng)GPFS,大小為730 TB。
表1 “嫦娥4號”軟件相關處理性能指標Table 1 Performance index of Chang'E-4 software
中國VLBI網(wǎng)硬件處理機的技術創(chuàng)新主要體現(xiàn)在硬件平臺和固件設計兩方面。
硬件平臺是與歐洲JIVE和荷蘭ASTRON等研究所合作開發(fā)的Uniboard平臺,主要技術指標見表2。該硬件平臺的主要技術創(chuàng)新在于傳輸數(shù)據(jù)量大,板上8個FPGA芯片每個都有4個10 GbE光纖可以接收或者發(fā)送數(shù)據(jù),板內(nèi)通訊每個FPGA芯片也都有約75 Gb的前后芯片互聯(lián)速率,是專門為高速率實時相關處理而研發(fā)的硬件平臺。此外該硬件平臺的每個FPGA芯片都連接了2塊4 GB DDR3大容量內(nèi)存,可以保障實時e-VLBI的網(wǎng)絡波動的延遲問題,同時板內(nèi)互聯(lián)也提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性等,如圖5所示。
表2 “嫦娥4號”硬件相關處理性能指標Table 2 Performance index of Chang'E-4 hardware
圖5 Uniboard硬件相關處理機Fig.5 The hardware correlator based on Uniboard
圖6為該硬件相關處理機系統(tǒng)框圖。臺站實時發(fā)送數(shù)據(jù)到數(shù)據(jù)緩存服務器,處理機總控軟件通過10 GbE光纖把緩存服務器上的數(shù)據(jù)回放到Uniboard處理機,總控軟件會把對應的參數(shù)和模型通過1 GbE網(wǎng)絡發(fā)送到Uniboard處理機的控制模塊。
圖6 基于Uniboard硬件相關處理機系統(tǒng)框圖Fig.6 The diagram of hardware correlator based on Uniboard
在VLBI硬件處理機結(jié)構(gòu)設計中,過去采用芯片間的IO接口發(fā)送小數(shù)比特延遲補償(Fractal Sample Time Correlction,F(xiàn)STC)模塊以后的數(shù)據(jù)。在這種情況下,如果輸入數(shù)據(jù)速率是8 Gbps,F(xiàn)STC模塊后的數(shù)據(jù)量速率為128 Gbps。但是板卡的芯片間IO最大速率僅僅有75 Gbps,會造成系統(tǒng)速度瓶頸。為了解決這一問題,在固件設計中,創(chuàng)新性地把IO接口的數(shù)據(jù)前移到回放模塊和整數(shù)比特延遲補償(Integer Sample Time Correction,ISTC)之后,在輸入數(shù)據(jù)8 Gbps的情況下,回放模塊和STC后的數(shù)據(jù)量也為8 Gbps,IO接口的速度瓶頸就會消失,會造成數(shù)據(jù)量膨脹的后續(xù)處理將在FPGA芯片內(nèi)部完成,而輸出數(shù)據(jù)需要經(jīng)過積分以后輸出,系統(tǒng)將不會有速度上的瓶頸。
圖7為硬件相關處理機原理框圖,4臺站數(shù)據(jù)先通過10 GbE接口送入FN(前芯片)的VSI模塊中解碼,并進行整數(shù)比特延遲補償后,通過芯片間IO接口送入BN(后芯片)。數(shù)據(jù)在后芯片中經(jīng)過條紋旋轉(zhuǎn)、傅里葉變換和小數(shù)比特延遲補償后送入DDR3模塊中緩存。當所有臺站數(shù)據(jù)都準備好,將取出各臺站數(shù)據(jù)進行交差相乘來獲得自相關和互相關結(jié)果,并在長時間累加(Long Time Add,LTA)模塊積分后將結(jié)果送到總控服務器。
圖7 Uniboard硬件相關處理機原理框圖Fig.7 The schematic diagram of hardware correlator based on Uniboard
根據(jù)任務需求,VLBI中心的處理機系統(tǒng)根據(jù)工程要求不斷提升性能及功能,參加歷次探月任務觀測數(shù)據(jù)如表3所示。
表3 歷次探月任務的VLBI觀測數(shù)據(jù)率與實時性Table 3 VLBI data rate and real-time performance of previous lunar missions
軟件處理機靈活性高,能夠快速適應特殊的數(shù)據(jù)處理需求,除用于探月工程實時與長管任務外,還應用于全部對接試驗、硬件處理機和新型終端性能測試、部分中國VLBI網(wǎng)測地觀測和航天器相位參考等特殊模式觀測數(shù)據(jù)處理,協(xié)助進行VLBI新方法、新技術研究。
圖8展示了軟件處理機在2013年12月6日“嫦娥3號”探測器變軌期間啟用條紋搜索功能前后的效果對比。探測器變軌期間,使用預報時延模型完全得不到正確條紋,經(jīng)啟用條紋搜索功能后可以得到清晰的條紋。
在CE-3落月后,著陸器與巡視器同時在月面上工作,處于特殊的VLBI同波束觀測條件,同波束VLBI可以最大限度地消除觀測系統(tǒng)誤差。為實現(xiàn)探測器的相位參考成圖定位,VLBI軟件相關處理機專門生成了FITS-IDI格式,用于成圖定位。圖9為CE-3月面工作段,軟件處理機利用同波束觀測數(shù)據(jù),以相位參考模式對巡視器和著陸器相對位置的成圖定位結(jié)果,精度為1 m。這是我國首次進行航天器VLBI相位參考高精度定位試驗[21]。
圖8 軟件處理機啟用條紋搜索功能前后效果對比Fig.8 The comparison of the results from the software correlator before and after using fringe search
圖9 采用軟件處理機用相位參考方式獲取的CE-3巡視器在A、B、C、D、E點處的成圖結(jié)果,巡視器相對位置精度精度在1 mFig.9 The mapping results of the CE-3 Rover at points A,B,C,D and E obtained by the software correlator using phase reference method show that the relative position accuracy of the Rover is about 1 m
本文主要介紹了VLBI實時處理機,包括軟、硬件處理機組成主備系統(tǒng)。VLBI中心采用軟件硬件處理機主備結(jié)合的方式經(jīng)過工程驗證,完成了歷次月球探測器測軌數(shù)據(jù)的實時與長管相關處理。在實時任務期間,主要采用軟件處理機的計算結(jié)果,常期管理階段部分任務采用硬件處理機計算結(jié)果。條紋搜索功能在變軌等特殊階段,在預報時延模型誤差較大時,成功引導處理機完成了數(shù)據(jù)正確處理。
在后續(xù)探月任務中需要跟蹤2個以上的動態(tài)目標以及空間VLBI的數(shù)據(jù)處理需求,計算量、復雜度將大幅上升。為適應月球與行星探測需求,相關處理機將向著多任務、子網(wǎng)、微弱信號處理、空間VLBI和多功能化的軟件處理機方向發(fā)展。