用于雷达天文研究的高速基带数据记录系统∗

2021-10-09 06:38安秀梅陈卯蒸段雪峰托乎提努尔
天文学报 2021年5期
关键词:脉冲星基带线程

安秀梅陈卯蒸 裴 鑫 李 健 段雪峰托乎提努尔

(1 中国科学院新疆天文台乌鲁木齐 830011)

(2 中国科学院大学北京 100049)

(3 中国科学院射电天文重点实验室南京 210023)

(4 新疆微波技术重点实验室乌鲁木齐 830011)

1 引言

射电天文学作为天文学的一个分支,利用无线电接收技术在无线电波段使用射电望远镜接收并研究宇宙中各类天体发射的电磁波[1].随着射电天文学研究的领域越来越广,研究人员不局限于只接收来自宇宙天体的无线电波,还利用雷达向天体发射电磁波信号,在电磁波受到反射后研究其接收到的回波信号,于是作为射电天文学的一个分支—雷达天文学应运而生.它利用天线的接收端收集指定方向返回的目标天体的反射回波,同时抑制其他方向的杂波或干扰,通过提取和分析回波信号中目标天体的相关信息,测量天体的距离和方位[2–3],研究天体的物理特征、运动状态和空间分布1https://en.wikipedia.org/wiki/Radio-astronomy.

雷达天文学正式始于1946年,在匈牙利和美国第1次探测到了月球的回波,这是首次接收到来自大气层外天体的雷达回波信号,而后在1960年中国也用雷达接收到了月球的回波信号.但其真正作为天文学的一个分支学科却是始于1961年,首先探测到了金星的回波,随后相继探测到了太阳、水星和火星等其他行星的回波信号[4],从这些早期的雷达回波信号中,研究人员获取了大量的天文信息,成功测定了地月距离,确定了金星和水星的旋转周期,并且为太阳系内目标天体的精准测距提供了计算数据[5–6].

国内首次雷达天文研讨会,由中国电子学会射电天文分会和雷达分会联合举办,于2020年8月7日在贵州省中国科学院国家天文台FAST (Five-hundred-meter Aperture Spherical radio Telescope)观测基地成功召开,标志着中国雷达天文的序幕正式拉开2我国首次雷达天文研讨会在贵州FAST观测基地成功召开,电子世界,2020年18期.基本的雷达系统包括能产生电磁波的发射机、能使电磁波定向辐射的天线和能接收回波能量的接收机.本文基于雷达天文项目的实际需求,借助某雷达向目标天体发射电磁波信号,由中国科学院新疆天文台南山26 m射电望远镜接收其反射的回波信号,利用设计开发的雷达天文信号采集与记录系统,完成海量回波数据的实时采集、处理与存储.

2 雷达天文数字终端采集系统

本文针对雷达天文项目的设计目标和应用需要,基于CASPER[7](Collaboration for Astronomy Signal Processing and Electronics Research)图形化现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)设计和开发工具流,采用SNAP3https://casper.ssl.berkeley.edu/wiki/SNAP(Smart Network ADC Processor)硬件实验板,设计开发了雷达天文信号采集与记录系统.

雷达天文信号采集与记录系统由基带数据的采集、基带数据的传输处理和雷达天文格式的存储3部分组成.系统原理如图1所示,射电望远镜接收机收到反射的两路模拟回波信号,经由模拟前端处理后进入雷达天文数字终端采集系统,基于SNAP硬件实验板,通过高速模数转换器(Analog to Digital Converter,ADC),在双通道模式下完成模拟基带数据到数字基带数据的转换,然后在FPGA上对数字基带信号进行多相滤波(Polyphase Filter Bank,PFB)等预处理,之后数据被打包成UDP (User Datagram Protocal)数据包并通过万兆以太网(10 GbE)高速输出发送至计算机,由HASHPIPE4https://casper.ssl.berkeley.edu/wiki/HASHPIPE(High Availability SHared PIPeline Engine)多线程处理软件对数据进行接收,以甚长基线干涉测量数据交换格式[8](Very Long Baseline Interferometry (VLBI) Data Interchange Format,VDIF)存储在由高速固态硬盘组成的磁盘阵列中,最后根据存储要求对VDIF格式的基带数据文件提取所需的帧头信息和数据信息,并转存为最终的雷达天文数据存储格式.

图1 雷达天文信号采集与记录系统原理图Fig.1 Principle block diagram of radar astronomical signal acquisition and recording system

2.1 SNAP硬件开发平台

SNAP是由美国国家射电天文台和加州大学伯克利分校的多位研发者为HERA(Hydrogen Epoch of Reionization Array)干涉阵列而开发的,硬件实物如图2所示.相比于上一代的ROACH-2(Reconfigurable Open Architecture Computing Hardware 2)系统,SNAP实验板性价比更高,设计更为灵活,可拓展性更强,外观更为小巧.配备了高性能Xilinx Virtex 7 FPGA处理芯片,3个板载HMCAD1511数字化采集芯片,高度可编程、高稳定度和低噪声宽带频率综合器,2个10 GbE万兆以太网网口,树莓派接口及相关外围电路,整体上实现了数字后端数据的高速采集、实时传输和记录存储.

图2 SNAP硬件实物图Fig.2 SNAP hardware physical picture

2.2 FPGA固件设计

目前,CASPER支持多个FPGA硬件开发平台,为射电天文领域提供了开源共享的软硬件设计和系统教程,旨在简化FPGA编程,降低终端设计的难度和成本,使科研人员可以快速、高效地设计开发所需的硬件终端系统.

因此本系统在设计使用SNAP实验板时,借助于CASPER开发工具流无需编写复杂的FPGA程序代码,只需要结合图形化的设计流程,通过鼠标点击拖拽为系统搭建直观、可视化的仿真模型,如图3所示.利用SNAP板载的2块ADC芯片采集由前端输出的两路模拟数据,为方便FPGA高速并行的处理数据,ADC采用4分频模式进行4路交叉采集,处理输出的数据经由PFB多相滤波后,通过总线合并将4路8 bit位宽的信号整合成一路32 bit位宽的总线信号,实现打包后万兆以太网的高效输出,最后使用简单的命令对仿真模型实现一键式编译,生成FPGA可识别的比特流文件,同时将其转换成操作系统可执行的fpg文件.通过脚本程序将fpg编译文件加载至SNAP实验板对FPGA进行编程[9],完成系统的初始化并开始接收和处理数据,同时GPS (Global Positioning System)所产生的1PPS (Pulse Per Second)信号贯穿于整个系统,为ADC信号采集和FPGA预处理提供严格的时间同步[10],也为时间戳中的微秒计数器提供触发信号,确保了数据采集存储的有效性.

图3 FPGA仿真编译图Fig.3 FPGA simulation compilation diagram

2.3 多线程高速数据存储软件设计

为满足万兆网络下高速数据包的传输、处理和存储,本系统基于HASHPIPE多线程管理引擎进行设计.作为脉冲星终端设备(GUPPI)的衍生版本,HASHPIPE由美国加州大学伯克利分校的David Macmahon和JeffCobb编写5https://casper.ssl.berkeley.edu/wiki/images/2/2b/FAST-Hashpipe-Pipeline.pdf,该软件通过开辟内存缓冲区,提供多个线程和缓存之间的通讯接口,根据设计需求选择使用相应的线程接口,从而有效避免数据的拥堵、溢出和丢失[11].基于HASHPIPE的数据存储软件工作流程如图4所示,采用多线程工作模式接收和处理数据,线程之间通过共享内存缓冲区来传输数据,通过查询缓冲区状态标识来执行相应操作6https://github.com/SparkePei/demo1hashpipe,中央处理器(CPU)控制和执行线程,其中网络线程snap-net-thread.c负责接收万兆以太网输出的UDP数据包,对接收到的数据包进行解包提取头文件和数据信息,并将数据部分存储在输入数据缓冲区,随后经过一定处理后的数据存入输出数据缓冲区,最后输出线程snap-output-thread.c将已经写满的输出数据缓冲区内的数据以VDIF格式实时存储于磁盘阵列.

图4 基于HASHPIPE的数据存储软件运行流程图Fig.4 Data storage software running flowcharts based on HASHPIPE

3 存储格式

3.1 VDIF数据格式

在万兆以太网络下输出的高速数据包,由HASHPIPE软件接收存储为VDIF格式.VDIF作为目前国际上VLBI领域使用最普遍的基带数据存储格式[12],有其固定的存储规则,数据帧存储格式如图5所示.每一帧数据由帧头信息和基带数据两部分组成,帧头部分共32个字节,包含基本的校验码、同步标志、时间信息、配置参数等观测信息,数据部分为量化位数8 bit的二进制基带数据共计8192个字节.

图5 VDIF数据帧头格式Fig.5 VDIF data frame header format

3.2 VDIF格式转存为雷达天文格式

通常在雷达天文课题研究中,雷达向天体发射信号的时间较为短暂(一般在1 h以内),反射的回波信号也需要在较短的时间内通过天线进行接收、处理和存储.而当前采集的两路回波信号在双通道模式下,采样频率512 MHz、量化位数8 bit,采样后总的数字基带数据为8 Gbps,对应两路万兆网口每个通道每秒接收的数据量高达4 Gb.

雷达天文的数据存储格式是基于MarK5B[13]的格式设计,但又在此基础上根据自己的存储需求调整了格式定义,增加了存储内容,并要求数据量化位数16 bit,两通道交织存储,因此在这种双通道、高实时、高速度和高精度的观测需求下,产生的海量回波数据在数字后端将进行实时接收、解析、处理并转存为雷达天文格式,最后通过万兆网络实时输出存储于磁盘整列.这无论是对硬件终端还是软件数据处理都提出了较高的性能要求.考虑到目前针对观测采集雷达天文数据进行格式存储的系统并不能满足如此庞大的数据吞吐量,而本设计采用的SNAP硬件实验板中主控芯片FPGA已有的固件程序所存储的数据均为2的指数幂次,所以根据已有的设计基础和存储条件,为方便快速地存储数据,我们选用使用较为成熟的VDIF格式存储数据继而转存为雷达天文数据格式.

3.3 雷达天文格式

雷达天文数据存储格式如图6所示,由64字节公共包头和若干个10016字节的回波字段组成,其中公共包头包含有同步标志、版本号、设备标识、通道数、极化方式、中心频率、采样频率和量化位数等必要的观测信息,作为一个文件存储的开始,公共包头用以区分数据包内容,由可识别性较高的字符串组成[14].

图6 雷达天文数据存储格式Fig.6 Radar astronomical data storage format

如图7所示,回波字段中每一帧数据由固定大小的小包头和紧随其后的基带数据组成,小包头由同步标志、帧计数和起始UTC (Universal Time Coordinated)时间信息组成,能够有效地保证数据的时效性和安全性.数据部分为二进制的数字基带数据,每帧2500个数据点,每个数据点量化位数为32位,读取VDIF格式下存储的A、B两通道数据进行交织存储,两通道各占16位,每个采样数据点从低到高顺序排列,A通道数据高16位,B通道数据低16位,组成拼接为一个32位的数据点.

图7 雷达天文回波字段帧格式Fig.7 Radar astronomical echo fields frame format

4 脉冲星数据采集实验

本系统在实验室完成了给定10 MHz点频信号的数据采集和存储,对结果验证可行后,在南山站对脉冲星进行了试观测,实现了真实脉冲星数据的接收采集、传输处理和实时存储.

启用雷达天文数字终端采集系统,在SNAP硬件模块采集接收和处理从模拟前端输出的脉冲星信号,经由万兆以太网输出,HASHPIPE运行snap-init.sh初始化程序,开始接收存储从FPGA输出的数据包.如表1所示,数据包根据接收程序所设置的相应参数进行存储(所有参数均可根据需求进行修改),其中每帧数据8224字节,帧头部分32字节,数据部分8192字节.输入输出块作为文件存储的最小单位,与缓冲区同步变化,当缓冲区每接收满20480个数据包时,文件存储20480个数据包,同时输入输出块递增加1,且由0累加至19如此反复.当其循环5次累加至100时,一个以VDIF数据格式存储的文件生成,文件所占存储容量100× 20480× 8224约为16 GB,用时32.768 s.文件命名形式为snap-input0-年-月-日-时-分-秒.vdif/snap-input1-年-月-日-时-分-秒.vdif (对应两路基带数据的存储).当前文件存储结束时,程序会再以此流程自动新建文件继续存储数据,直至数据记录结束,所有文件均已存储于磁盘中.

表1 VDIF格式文件存储相关参数设置Table 1 The VDIF format file storage parameter_settings

为方便用户清楚地掌握当前数据接收存储时线程的运行情况,线程在运行过程中会将当前的运行状态发送至状态缓冲区,打开新的终端运行hashpipe-status-monitor.rb查看状态监视界面,此时可随时任意切换所运行的各线程,如图8–9所示,界面会实时显示当前线程运行时的数据包接收、缓冲区存储大小、丢包率和存储等详细的动态变化.

图8 线程0数据存储状态监视界面Fig.8 Thread 0 storage state monitoring interface

图9 线程1数据存储状态监视界面Fig.9 Thread 1 storage state monitoring interface

系统运行过程中数据采集存储所需的精准授时是至关重要的,它是检测数据完整性的必要保证,本系统利用本地氢钟提供的10 MHz信号的稳定性和GPS秒脉冲信号的无累积误差特性[15],实现对脉冲星基带数据采集记录时的准确时间戳标记.基于VDIF格式和雷达天文格式的数据采集对时间戳的精度要求达到微秒,因此时间信息采取整秒采集和微秒计算.

初始化接收采集脉冲星数据的同时,UART (Universal Asynchronous Receiver Transmitter)接口向系统发送GPS采集模块获得的UTC时间信息,通过解析得到整秒信息.如图10所示,微秒时间则需要利用GPS秒脉冲信号和FPGA的时钟周期计算得出,由于ADC采样频率为512 MHz,对采样数据进行4路并行时间采样,因此FPGA的工作频率为采样频率的4分频频率即128 MHz,时钟周期为1/128 MHz,由于万兆以太网的发送带宽为64 bit,两个时钟周期的数据才能组成64 bit的数据流,因此发送一帧8192个数据点,需要8192/(64/8)×2=2048个时钟周期即16µs的时间,则每秒发送62500帧数据.已知GPS产生的秒脉冲信号是周期为1 s的方波,它的上升沿与UTC时间的秒变化严格同步,采用边沿检测对上升沿进行判断,当秒脉冲的上升沿到达,开始触发微秒计数器清零并重启计数器进行计数,每发送一帧时间累加16µs,帧计数累加一个,当微秒计数器计数达到1 s时,整秒计数器进位加一,微秒计数器复位重新计数,直到下一个秒脉冲信号的上升沿到来,如此反复,得到数据的微秒时间信息.

图10 时间戳标记Fig.10 Timestamp marking

当脉冲星信号到达,数字后端开始采集到数据时,当前的UTC时间值和微秒时标计数器的计数值会组合输出,作为每帧数据的起始时间戳标记写入帧头的相应位置.在后期对数据的读取过程中,时间戳也是检测数据是否丢失的完整性依据.

存储好的VDIF格式脉冲星数据将转存为雷达天文数据存储格式,由于VDIF格式下存储的数据量化位数均为8 bit,因此在交织转存前,最为重要的一步就是转换量化位数,满足雷达天文要求的高精度位数,将A、B两通道的数据部分交叉读取,且每个数据点由8 bit量化为16 bit后存入一个已经分配好内存的缓冲区,再将数据内容重新组帧.如图11所示,数据帧重组时,需要提取VDIF格式文件的脉冲星基带数据信息和帧头内的时间信息.由于VDIF格式中接收每帧8192个数据点所需时间为16µs,而雷达天文格式下的数据部分为2500个数据点,经计算当前每帧数据所用时间大约接近5µs(设置为常数C).每存一帧,帧计数累计加1,首帧时间信息对应VDIF格式下数据存储的首帧时间,之后的每帧时间信息在前一帧基础上加C,直至转存结束.除此之外,对于一些无法从原数据帧中获得的信息,则需要根据给定内容填入相应需求的信息,以免后续处理读取数据时出现错误.

图11 雷达天文数据格式转存计算Fig.11 Radar astronomical data format transfer calculation

5 结果验证

为确保数据在转存过程中不会发生数据丢失和出错等意外情况,需要对最终的雷达天文格式数据进行验证,通过对时间信息和时域、频域的图形对比检验数据转存后的完整性.

我们使用脉冲星J0332+5434的观测数据对雷达天文格式的转存结果进行验证,观测数据信息为双极化、带宽为256 MHz、中心频率为1458 MHz、单通道模式、8 bit采样,利用VLBI处理软件DiFX (Distributed FX Software Correlator)对采集到的VDIF格式的脉冲星观测数据进行处理,得到J0332+5434清晰的脉冲星轮廓如图12所示.随后又对同一时间采集存储的两路VDIF格式数据进行了自相关成图,如图13所示.选取两路VDIF格式的脉冲星数据文件,截取前5 s数据点进行转存,共62500帧× 5 s× 8192=2560000000个数据点,其中每个数据点8 bit,每帧数据传输用时16µs,共312500帧数据,交织转存后同样的数据点对应雷达天文格式的2560000000/2500数据点=1024000帧数据,每个数据点32 bit,每帧用时约5µs,通过读取3个文件中每帧数据帧头的时间信息,验证对比后确定了转存前后的总用时和总数据量保持一致,数据没有出现丢帧的情况,如图14所示.

图12 J0332+5434轮廓图Fig.12 J0332+5434 profile

图13 双通道基带数据的自相关频谱Fig.13 Autocorrelation spectrum of baseband data

图14 时间信息对比Fig.14 Time information comparison

对10 MHz点频信号进行采集存储,并将两路VDIF格式和转存后的雷达天文格式的数据进行时域和频域对比,结果如图15–16所示.蓝色曲线Radar-astr adc1/adc1代表交叉转存后提取出的原始ADC1通道的数据图,红色曲线ADC1代表VDIF格式下的单通道数据图,对两路数据进行各自的时域和频域的对比,经过验证(每张图的第3个大图)发现图形一致,证明了转存后数据的完整性和准确性,同理,对比验证Radar-astr adc0/adc0与ADC0所对应的图形也均保持一致.

图15 10 MHz点频信号时域对比Fig.15 Point frequency signal time domain of 10 MHz

图16 10 MHz点频信号频域对比Fig.16 Point frequency signal frequency domain of 10 MHz

图17–18则是利用南山26 m射电望远镜在L波段采集到的脉冲星数据,进行时域和频域转存前后的图形对比,同样对应曲线一致.最终验证了该系统在数据采集、传输处理和高速存储方面的可行性.

图17 脉冲星信号时域对比Fig.17 Pulsar signal time domain comparison

图18 脉冲星信号频域对比Fig.18 Pulsar signal frequency domain comparison

6 总结

雷达天文数字基带采集与记录系统的设计与开发,为雷达天文的相关科学研究提供了必备的观测平台,从而促进了国内雷达领域与天文研究的合作,为未来雷达天文技术的发展奠定了基础.

通过上文可知,该系统已成功采集存储了实验室点频信号产生的数据和脉冲星观测得到的真实数据,经测试结果表明,该系统工作稳定,能够按要求格式存储射电望远镜接收到的信号,且能保证最终数据存储的有效性、完整性和准确性,因此可以准确和完整地采集雷达反射的电磁波信号.

猜你喜欢
脉冲星基带线程
实时操作系统mbedOS 互斥量调度机制剖析
脉冲星方位误差估计的两步卡尔曼滤波算法
Ag元素对Ni-7at.%W合金基带织构形成的影响
基于国产化环境的线程池模型研究与实现
苹果推出自研基带芯片要过几道坎?
苹果10亿美元为5G买“芯”
宇宙时钟——脉冲星
LTE基带芯片规模超过总基带芯片出货量
基于虚拟观测值的X射线单脉冲星星光组合导航
长征十一号成功发射脉冲星试验卫星