郑为民,张 娟,徐志骏,刘 磊,童 力,张秀忠
(1.中国科学院 上海天文台,上海 200030;2.中国科学院 射电天文重点实验室,南京 210008;3.上海市导航定位重点实验室,上海 200030)
甚长基线干涉测量(Very Long Baseline Interferometry,VLBI)是目前分辨率最高的天文观测技术,已达到亚毫角秒量级测量精度。实时VLBI技术应用于探月工程中[1-6],圆满完成了历次月球探测器的高精度定轨和定位。实时相关处理机在其中发挥了重要作用[7-9]。相关处理机系统是VLBI核心设备,其功能与光学系统中的成像透镜类似,获取射电望远镜阵列的可见度函数,具有数据及计算密集的特点。
VLBI相关处理机从应用范围上可分为天文、测地与深空探测3类,它们有各自的技术特点。面向天文和测地应用的相关处理机主要追求宽带高速信号处理,根据需要还设有脉冲星、空间VLBI以及多相位中心等特殊功能。用于深空探测VLBI处理机带宽相对较窄,观测模式特殊,可靠性要求高,有时还追求较高实时性。
VLBI相关处理机从实现方式上可分软件处理机和硬件处理机。其中软件处理机以专用信号处理软件运行于通用高性能计算平台的方式实现;硬件处理机以专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程逻辑阵列(Field-Programmable Gate Array,FPGA)等为平台。为确保可靠性,在探月工程初期,开展了软、硬件处理机双备份的方案。
美国国家航空航天局(National Aeronautics Space Administration,NASA)下的喷气推进实验室(Jet Propulsion Laboratory,JPL)的JVC(JPL VLBI Correlator)处理机和欧洲航天局(European Space Agency,ESA)的基于ΔDOR技术的相关处理机[8],已经应用于多个行星探测器的常规工程测定轨。JPL专用深空VLBI网,利用窄带观测,可准实时传输观测数据,速率为500 kbit/s。根据美国国际武器贸易条例限制,JVC处理机不对外输出,ESA也无法获得。ESA也发展了自己的航天专用VLBI处理机,DiFX、SFXC、K5/VSSP等其它处理机的某些版本也参与过航天器VLBI观测的处理,但未正式参与航天工程任务。目前,国际上同时开展VLBI软件与硬件处理机研制的机构有:荷兰JIVE、韩国KASI和上海天文台。
在探月工程中,VLBI站接收到的探测器的原始数据经过相关处理后,数据量得到极大压缩,然后进行条纹拟合、仪器时延、大气时延、电离层、钟差钟速等修正,最终得到关于探测器的时延观测量,从而求得探测器高精度的角位置信息[9]。本文主要介绍了自主研发的VLBI相关处理机软件和硬件的关键创新技术。
探月工程中的VLBI相关处理机的结构采用FX型,即先将一条基线两端的测站数据从时域信号进行傅里叶变换,再做交叉相乘。在进行数据处理时需要高精度的时延模型,但射电信号从观测源到VLBI站的过程中,将受到传播路径上的引力、传播介质及潮汐项、板块运动等对测站位置的影响等。为实现高精度时延模型计算,须对这些因素进行复杂的修正,经修正后相关处理机的理论几何时延模型精度可达50 ps。
测站的两路信号进入相关处理机后,首先按频率通道进行解码;然后根据预先计算的时延模型进行整数比特时延补偿;经过条纹旋转及快速傅里叶变换后,信号从时域变换至频域,并完成分数比特时延补偿;最终两路信号进行共轭相乘及累加积分,得到目标源的可见度函数[8]。经过条纹旋转后,原有实数整数1~2 bit数据会变成128位复数浮点,这是FX型处理机特有的内部数据膨胀过程,数据膨胀率为64或128倍。对于512 Mpbs的2 bit原始输入数据率,经过条纹旋转后,在处理机内部最高可达32 Gbps。后续操作具有典型的计算和数据密集型特点,计算量主要集中在几个部分:条纹旋转、复数快速傅里叶变换、小数比特时延补偿及相乘累加(Multiply ACcumulate,MAC)。相关处理机的计算量与参与观测的台站数及采样率有关[17],以“嫦娥4号”任务为例,通道带宽为4 M,8个通道,2 bit量化,4个台站参与观测,总输入数据率为4 × 128 Mbps =512 Mpbs,理论持续计算量约为284 Gflops。
VLBI分系统数据处理中心(简称VLBI中心)现有的软件相关处理机是一套运行于计算机集群,具备实时相关处理功能的专用并行高速处理软件,硬件处理机是基于FPGA器件的专用高速信号处理机。软件处理机速度依赖于商用硬件平台的计算、存储与网络性能,目前的CPU(i7 975 EE)的单个核峰值速度为53.28 Gflops,且数值计算很难达到峰值速度,若采用传统串行程序无法满足工程任务海量高速数据的实时性处理需求,须采用并行技术。
探月软件处理机采用MPI + OpenMPI相结合的并行模式,核心计算模块利用IPP库进行优化,实现对探测器、河外射电源VLBI观测数据的相关处理能力。其中,根据探测器信号进行盲搜索的条纹搜索模块,因其计算量徒增,采用消息传递接口(Message-Passing-Interface,MPI)和通用图形处理器(Graphics Processing Unit,GPU)加速相结合的技术。基于Uniboard平台开发了硬件处理机,在探月任务的变轨、月面下降、起飞等特殊动力段,探测器的运动轨迹和预报轨道有差异,从而导致实际的时延模型和预报时延模型间的误差,这一误差有时较大,造成相关处理无法完成正确的信号处理,而处理机运行时,需要根据比较准确的预报模型进行相关处理。因此,探月工程任务中的VLBI相关处理机具备自动条纹搜索的功能。该功能当预报模型精度不够时,能够自动对原始信号进行条纹搜索,现场实时自动构造高精度时延模型引导处理机完成处理,这是探月工程任务中VLBI软件相关处理机的独创。
软件处理机内部采用模块化实现,其结构框图如图1所示,预处理功能模块将多种格式的原始观测数据处理成统一格式数据流供相关处理、条纹搜索与模型重构、相位校正信号提取模块使用。条纹搜索与模型重构功能通过外部文件的形式完成高精度时延模型文件的信息传递,预处理、相位校正信号提取功能可参见文献[18~19]。
图1 软件处理机内部结构框图Fig.1 Structure of software correlator
在探月工程中,系统采用实时e-VLBI技术将数据从观测站传至VLBI中心,相关处理机接收数据后进行实时处理后,内部各模块按流水线模式进行,从数据达到相关处理机至输出结果,目前整个过程耗时可小于25 s。处理机采用FX型处理机流程,并行计算的方法进行加速处理,核心计算部分调用IPP库函数进行优化。为应对高速数据,处理机采用了数据驱动的方式,将原始数据划分为若干短周期的数据段,并将其分配到不同的计算单元,最终以并行计算的方式完成所有信号处理。
在相关处理过程中,按照时间轴处理数据流,存在4个时间周期,从长到短依次为:Scan周期、积分周期、模型周期、FFT周期。4种周期时间长度可根据任务要求设定,一个Scan周期包含若干个积分周期,积分周期是计算信号功率谱的积分时间,一个积分周期包含若干个模型周期,模型周期包含若干个FFT周期。并行方案中选用模型周期作为任务划分的最小单位,模型周期是处理机时延模型更新的时间长度,并行任务分配方案分为以下两部分。
1)计算和IO并行处理
VLBI相关处理因为计算和数据密集,为避免线程多次进行挂起、唤醒的循环操作,提高CPU使用率,专门开辟了专用线程用于IO处理,以期实现数据读取IO和相关处理计算的并行处理,并行处理方式如图2所示。
图2 IO与计算并行处理示意图Fig.2 Diagram of IO and computing in parallel processing
2)内部计算的并行化
内部计算的并行化以模型周期为节点间最小任务粒度,将Scan周期包含的模型周期平均分配到所有计算节点。VLBI实时任务阶段,台站观测数据通过网络到达VLBI中心,为确保实时性,软件处理机实现时,设定结果收集循环周期。
假定设定收集结果的时间为m个积分周期,积分周期为Tintegration,模型周期时间为Tmodel,每个线程计算的连续模型数为Tmodel,N个进程,P个线程参与计算,则每个线程分配到的任务粒度为
图3显示了采用GPU技术实现自动条纹搜索算法流程,原始数据解码之后,进行时延率粗搜、时延搜索、时延率精搜,迭代过之后,输出时延/时延率,最后进行模型重构。虚线方框中的内容为算法核心部分,也是计算最耗时的部分,使用GPU对其进行加速,其中涉及到解码、快速傅里叶变换、互功率谱、互相关、希尔伯特变换、数字滤波、条纹旋转等多个步骤。
图3 GPU算法流程图Fig.3 GPU algorithm flowchart
目前,探月工程中的VLBI软件处理机所有功能模块均运行于一套高性能集群处理系统,如图4所示,其主要技术指标见表1。
图4 探月工程软件处理机运行平台Fig.4 The platform of software correlator in
该平台有两个管理节点,54个计算节点。计算节点及网络配置、存储的具体情况如下:
1)8个计算节点,每个节点配2个CPU:2 × E5-2 695 v4,内存为128 GB;
2)网络配置:40 Gb Infiniband,10 Gb Ethernet;
3)存储:采用10 GPFS存储服务器,采用并行文件系统GPFS,大小为730 TB。
表1 “嫦娥4号”软件相关处理性能指标Table 1 Performance index of Chang'E-4 software
中国VLBI网硬件处理机的技术创新主要体现在硬件平台和固件设计两方面。
硬件平台是与欧洲JIVE和荷兰ASTRON等研究所合作开发的Uniboard平台,主要技术指标见表2。该硬件平台的主要技术创新在于传输数据量大,板上8个FPGA芯片每个都有4个10 GbE光纤可以接收或者发送数据,板内通讯每个FPGA芯片也都有约75 Gb的前后芯片互联速率,是专门为高速率实时相关处理而研发的硬件平台。此外该硬件平台的每个FPGA芯片都连接了2块4 GB DDR3大容量内存,可以保障实时e-VLBI的网络波动的延迟问题,同时板内互联也提高了数据传输的稳定性等,如图5所示。
表2 “嫦娥4号”硬件相关处理性能指标Table 2 Performance index of Chang'E-4 hardware
图5 Uniboard硬件相关处理机Fig.5 The hardware correlator based on Uniboard
图6为该硬件相关处理机系统框图。台站实时发送数据到数据缓存服务器,处理机总控软件通过10 GbE光纤把缓存服务器上的数据回放到Uniboard处理机,总控软件会把对应的参数和模型通过1 GbE网络发送到Uniboard处理机的控制模块。
图6 基于Uniboard硬件相关处理机系统框图Fig.6 The diagram of hardware correlator based on Uniboard
在VLBI硬件处理机结构设计中,过去采用芯片间的IO接口发送小数比特延迟补偿(Fractal Sample Time Correlction,FSTC)模块以后的数据。在这种情况下,如果输入数据速率是8 Gbps,FSTC模块后的数据量速率为128 Gbps。但是板卡的芯片间IO最大速率仅仅有75 Gbps,会造成系统速度瓶颈。为了解决这一问题,在固件设计中,创新性地把IO接口的数据前移到回放模块和整数比特延迟补偿(Integer Sample Time Correction,ISTC)之后,在输入数据8 Gbps的情况下,回放模块和STC后的数据量也为8 Gbps,IO接口的速度瓶颈就会消失,会造成数据量膨胀的后续处理将在FPGA芯片内部完成,而输出数据需要经过积分以后输出,系统将不会有速度上的瓶颈。
图7为硬件相关处理机原理框图,4台站数据先通过10 GbE接口送入FN(前芯片)的VSI模块中解码,并进行整数比特延迟补偿后,通过芯片间IO接口送入BN(后芯片)。数据在后芯片中经过条纹旋转、傅里叶变换和小数比特延迟补偿后送入DDR3模块中缓存。当所有台站数据都准备好,将取出各台站数据进行交差相乘来获得自相关和互相关结果,并在长时间累加(Long Time Add,LTA)模块积分后将结果送到总控服务器。
图7 Uniboard硬件相关处理机原理框图Fig.7 The schematic diagram of hardware correlator based on Uniboard
根据任务需求,VLBI中心的处理机系统根据工程要求不断提升性能及功能,参加历次探月任务观测数据如表3所示。
表3 历次探月任务的VLBI观测数据率与实时性Table 3 VLBI data rate and real-time performance of previous lunar missions
软件处理机灵活性高,能够快速适应特殊的数据处理需求,除用于探月工程实时与长管任务外,还应用于全部对接试验、硬件处理机和新型终端性能测试、部分中国VLBI网测地观测和航天器相位参考等特殊模式观测数据处理,协助进行VLBI新方法、新技术研究。
图8展示了软件处理机在2013年12月6日“嫦娥3号”探测器变轨期间启用条纹搜索功能前后的效果对比。探测器变轨期间,使用预报时延模型完全得不到正确条纹,经启用条纹搜索功能后可以得到清晰的条纹。
在CE-3落月后,着陆器与巡视器同时在月面上工作,处于特殊的VLBI同波束观测条件,同波束VLBI可以最大限度地消除观测系统误差。为实现探测器的相位参考成图定位,VLBI软件相关处理机专门生成了FITS-IDI格式,用于成图定位。图9为CE-3月面工作段,软件处理机利用同波束观测数据,以相位参考模式对巡视器和着陆器相对位置的成图定位结果,精度为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点处的成图结果,巡视器相对位置精度精度在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实时处理机,包括软、硬件处理机组成主备系统。VLBI中心采用软件硬件处理机主备结合的方式经过工程验证,完成了历次月球探测器测轨数据的实时与长管相关处理。在实时任务期间,主要采用软件处理机的计算结果,常期管理阶段部分任务采用硬件处理机计算结果。条纹搜索功能在变轨等特殊阶段,在预报时延模型误差较大时,成功引导处理机完成了数据正确处理。
在后续探月任务中需要跟踪2个以上的动态目标以及空间VLBI的数据处理需求,计算量、复杂度将大幅上升。为适应月球与行星探测需求,相关处理机将向着多任务、子网、微弱信号处理、空间VLBI和多功能化的软件处理机方向发展。