APP下载

X射线脉冲星导航硬件脉冲轮廓累积研究

2016-02-24吴亚平赵建军吴光敏高霞芳唐海峰

航空学报 2016年2期
关键词:历元脉冲星光子

吴亚平, 赵建军, 吴光敏, 高霞芳, 2, 唐海峰

1.昆明理工大学 理学院, 昆明 650093 2.中国科学院 西安光学精密机械研究所 瞬态光学与光子技术国家重点实验室, 西安 710119

X射线脉冲星导航硬件脉冲轮廓累积研究

吴亚平1,2, 赵建军1,*, 吴光敏1, 高霞芳1, 2, 唐海峰1,2

1.昆明理工大学 理学院, 昆明 650093 2.中国科学院 西安光学精密机械研究所 瞬态光学与光子技术国家重点实验室, 西安 710119

为了在X射线脉冲星地面实验系统仿真源模拟产生X射线的基础上,能够快速稳定地得到脉冲轮廓,采用硬件历元叠加的方法获得脉冲轮廓。研究了用硬件实现历元叠加及其数据整合的算法,该算法首先在MATLAB现场可编程逻辑阵列(FPGA)中实现,再通过MATLAB硬件描述语言(HDL)代码生成模块把算法转换成HDL,经编译后获得配置硬件的Bit文件,最终在开发板FPGA上实现数据处理的硬件模块。一段时间内的光子到达时间数据通过MATLAB算法得到的脉冲轮廓数据与通过硬件模块处理后得到的数据结果存在误差,在单个时间窗口内误差最大值为2个光子数,误差平均值占光子数统计平均值的0.084%;两组统计的脉冲轮廓数据中不同数据占总数据个数的9.481%,这样的误差不影响后端模拟导航模块的导航。利用硬件实现的历元叠加及其数据整合模块具有处理速度快、设备紧凑、功耗低的特点,为航天器利用X射线脉冲星导航提供了一种可行的硬件数据处理技术上的支持。

脉冲星; 硬件处理; 现场可编程逻辑阵列(FPGA); 硬件设计; 信号源

X射线脉冲星导航是一项利用X射线脉冲星脉冲信号进行自主导航的技术[1-2]。由于地球大气层的阻挡,地面难以观测到X射线脉冲星信号,因此开展X射线脉冲星导航飞行试验需要在飞行在大气层外的研究载体上进行,但是空间搭载试验费用巨大,涉及的技术范围广,难度大[3-5]。因此中国科学院西安光机所在地面建立了地面实验系统,对X射线脉冲星的X射线脉冲信号进行地面仿真研究。

由于光子的量子统计特性,需要对大量光子进行累积才能获得有关脉冲的波形,进而得到脉冲到达时间(TOA)[6-7]。目前脉冲轮廓累计的处理方式是直接把光子的到达时间数据传送到上位台式计算机系统,实现时间数据的采集与处理[8-9]。光子到达时间数据传送到计算机后需要手动将数据文件加载到MATLAB的数据处理程序中,再由MATLAB程序绘制出脉冲导航的脉冲轮廓;如此一来,这个处理过程的实时性将受到极大的影响。此外,台式计算机系统的重量较重、体积庞大,不利于在太空环境中使用[10-11]。

为了解决上述问题,必须找到一种工作稳定、功耗低、处理数据快、精度高、重量轻、体积小的数据处理设备。鉴于此,本文提出一种利用嵌入式计算机系统进行硬件历元叠加和数据整合的方法,以实现脉冲轮廓累积的数据硬件层处理,即在利用MATLAB实现脉冲星脉冲轮廓累积的基础上,借助硬件描述语言代码生成(HDL Coder)辅助设计工具,实现利用现场可编程逻辑阵列(FPGA)硬件系统对光子到达时间数据进行的历元叠加和脉冲轮廓数据整合,进而输出脉冲轮廓的到达时间数据。

本文介绍了光子到达时间数据的历元叠加和数据整合的原理以及相关硬件实现的方法。通过MATLAB和MODELSIM实现硬件模块的功能性仿真。其中,所使用的硬件开发板(XILINX公司推出的XUP Virtex-II Pro开发板)的质量只有650 g,5 V的电压下即可工作,且功耗仅为20 W;与之对比的,目前的台式计算机的质量都在数千克以上,工作电压为220 V,且功率不低于300 W。由此可见,所使用的设备在质量和功耗上具有明显优势。最后,通过实验对模块可靠性、数据处理准确性以及处理速度等方面进行了验证。

1 实验仿真系统介绍

中国科学院西安光机所(以下简称光机所)的X射线脉冲星地面仿真实验系统如图1所示。图2为X射线脉冲星仿真源实验系统,它将产生X射线光子,经过前端传感器接收并转换成电脉冲信号后传送给电子读出系统[6]。其中,时间精确测量电路(TDC)将光子到达时间转换成数字信号并通过先入先出队列(FIFO)送入光子时间采集与处理系统。采用光子时间数据按脉冲星周期进行历元叠加后可得到高信噪比的累积脉冲轮廓。将脉冲轮廓经过识别后就可以得到到达时间数据,此数据可提供给后端模块导航进行运算。

图1 X射线脉冲星仿真源实验系统实物图

Fig.1 Physical diagram of X-ray pulsar source simulation experimental system

图2 X射线脉冲星仿真源实验系统示意图

Fig.2 Schematic diagram of X-ray pulsar source simulation experimental system

2 脉冲轮廓累积原理与仿真

实现历元叠加,首先要通过鉴相器[12]将TDC输出端口的任意周期中的任意光子脉冲到达时间tx数据转换成相应的时间相位数据φx。若已知脉冲周期为T,则任意的光子到达时间均可表示为

tx=nT+φx

(1)

式中:n为整数;φx为tx/T的余数[13]。经过一段时间后,将φx叠加到一个脉冲星周期时间范围内以形成历元叠加。

在数据整合中,将一个脉冲周期T分为512等分,每个等分为一个BIN,即

BIN=T/512

(2)

式中:BIN为均等周期时间单位内到达的光子数。对每个BIN里面的光子(每个φx表示一个光子)进行统计就可得出在该BIN里面的光子数。根据此统计结果,利用MATLAB工具绘制出一个脉冲周期内512个BIN的光子数即可得到该脉冲星的脉冲轮廓。

根据上述原理,设计出了MATLAB的数据处理程序*.m,并在*_tb.m的测试文件Text Bench中导入连续的64 000个精度为ns的光子到达时间数据,经过处理后,得到脉冲星脉冲轮廓,如图3所示。图3(a)中,导入的光子到达时间数据是前端仿真源系统输出的“巨蟹座”脉冲星(目前研究最多的一颗脉冲星)发射出的光子到达时间数据,根据此数据绘制出了该脉冲星的脉冲轮廓;图3(b)为光机所的X射线脉冲星仿真源实验系统所模拟出的脉冲轮廓。通过两图对比可以看出,二者所得到的脉冲星导航脉冲轮廓是一致的。

图3 “巨蟹座”X射线脉冲星导航脉冲轮廓

Fig. 3 X-ray pulsar navigation pulse profile of “Crab”

3 硬件实现历元叠加和数据整合

MATLAB 2013a版本推出了HDL Coder模块[14],利用该模块可以实现FPGA和ASIC设计[15-16]。在纯算法的硬件语言转换方面,HDL Coder模块与其他的硬件语言转换工具(如Xilinx公司的HLS和AccelDSP硬件转换工具)相比,具有转换准确、语言简洁的特点[17]。把MATLAB的程序转换成HDL需要准备两个文件:*.m的function功能函数文件和*_tb.m的Text Bench文件。在MATLAB的HDL Coder的模块中添加两个文件,并在转换成的定点文件添加相应缺失的函数,优化后即可转换出VHDL硬件模块。排除数据格式错误后,用ISE10.1编译就可以得到配置FPGA的Bit文件。本次设计采用的硬件开发平台是XILINX公司推出的XUP Virtex-II Pro开发板。

图4 硬件模块转换流程

Fig.4 Process of hardware module conversion

鉴于高速、占用资源要求少的设计要求,对数据综合部分的硬件代码进行了大量优化,去掉了多余的数组定义和相关运算,并补充了相关的数据定义和算法。

在历元叠加模块还需要对每个BIN的数据进行统计。由于每个BIN内的光子个数都是不确定的,因此本次设计采用动态模数组对其进行统计;之后,再利用循环操作把所得的统计数据放入数组内。这样,在输出端口只需依次读出数组内的数据就能得到整个脉冲轮廓的数据。状态机克服了纯硬件数组系统顺序方式控制不灵活的缺点,而且在高速运算和控制方面也有巨大的优势[18-20]。目前大多数的数据输入输出采用与输入输出信号同步的方式对数据进行操作,数据在传输的过程中会出现数据丢失或数据冗余的可能。本文用状态机设计了两个状态S0和S1,其中:状态S0为信号上升沿触发,即前端数据到来时为上升沿,此时可把前端数据依次放入数组,状态S1则是等待上升沿的到来。这样,在数据传输过程中,有数据到来时才会执行数据的输入或者输出,提高了数据传输的准确度。数据输入输出的状态机设计如图5所示。

图5 数据输入输出的状态机设计

Fig.5 State machine designed for data input and output

4 实验结果与分析

用MODELSIM 6.5对设计好的模块进行仿真。模块前端输入34位数据,此数据为图3(a)中用于画出脉冲星轮廓的64 000个光子到达时间数据的二进制形式。得到仿真验证结果如图6所示。

图6中,CP为数据读入时钟信号,该信号与前端FIFO的读时钟同步。a_unsigned数组存放的是64 000个光子到达时间数据;y_tmp数组中512个标号0~511的11位二进制数据,即累积好的脉冲轮廓数据。如表1所示,可将y_tmp数组中的二进制数据依次转换成十进制数。

图6 用MODELSIM进行功能性仿真

Fig.6 Functional simulation in MODELSIM

按照与图3(a)中同样的作图间隔BIN,对表1 所得的数据进行曲线绘制,如图7所示。

从图7(a)和图3(a)的对比中可以看出,所绘制出的脉冲轮廓图有一定的细微差别。对比两个脉冲轮廓数据可以发现,共有54对不同的数据,占总数据个数的9.48%,且在时间窗口内误差的最大值为2个光子数。两组轮廓数据的误差曲线如图7(b)所示。

之所以会出现图7(b)中所示的误差,是因为MATLAB在整个运算过程中都是采用双精度的数据类型进行处理,而为了考虑计算的复杂度和运算速度的问题,硬件处理的数据都是以整数类

表1 y_tmp数组中的数据转换

图7 硬件处理结果及其误差

Fig.7 Hardware processing results and errors

型进行处理的。所以,在数据整合的过程中,硬件运算的每个BIN的大小与MATLAB作图时的BIN宽度不一致,因而会有光子数统计的误差。

由于该硬件模块采用的输入输出方式是基于状态机的,因此,从目前的测试来看,只要光子到达的速度不超过21万个数据每秒,该模块都能累积出该脉冲信号的轮廓。在后端的波形识别模块中,对于这样的细微误差可以忽略不计,完全不影响整个脉冲轮廓的识别。这表明,设计好的历元叠加和数据整合的硬件模块,有较高的数据处理准确性和实用性。该模块可根据后端模块的需要累积一段时间的光子到达时间数据在数毫秒的时间内得到脉冲轮廓累积数据,这要比把数据上传到计算机进行计算后再得出结果的运算方式快得多。

5 结 论

1) 设计了一个处理前端光子到达时间数据并形成TOA脉冲轮廓的硬件模块,由于该模块采用整数的数据类型运算,所以处理得到的脉冲轮廓数据与MATLAB算法实现的数据有一定的误差,但对于这样的细微误差可以忽略不计,不影响整个脉冲轮廓的识别以及后端模块的导航。

2) “巨蟹座”脉冲星信号能流密度大约为1.54 ph/cm2/s,在RXTE卫星中观测的实际光子到达时间数据的速度大约为5 000个数据每秒。从实验数据可计算出该模块的处理速度为21.3万个数据每秒,高出RXTE卫星观测到的实际光子到达速度的41倍。可见该模块能够满足实际的光子到达时间数据处理速度并且运行可靠、功耗低、质量轻,能够快速准确地为后端导航模块提供导航数据。

3) 由于脉冲星信号能流密度极低,累积时间受自然规律限制,在后续的研究工作中需要在该硬件模块中添加计数器,实现对单个时间窗口内的光子数进行统计和计算控制。

[1] 帅平, 陈绍龙, 吴一帆, 等. X射线脉冲星导航技术研究进展[J]. 空间科学学报, 2007, 27(2): 169-176. SHUAI P, CHEN S L, WU Y F, et al. Navigation principles using X-ray pulsars[J]. Chinese Journal of Space Science, 2007, 27(2): 169-176 (in Chinese).

[2] 周庆勇, 姬剑锋, 任红飞. 非等间隔计时数据的X射线脉冲星周期快速搜索算法[J]. 物理学报, 2013, 62(1): 019701-1-8. ZHOU Q Y, JI J F, REN H F. Quick search algorithm of X-ray pulsar period based on unevenly spaced timing data[J]. Acta Physica Sinica, 2013, 62(1): 019701-1-8 (in Chinese).

[3] 李鹏飞, 徐国栋, 董立珉, 等. X射线脉冲星信号时延的实时估计方法[J]. 航空学报, 2014, 35(7): 1966-1976. LI P F, XU G D, DONG L M, et al. Real-time estimation method of X-ray pulsar signal delay[J]. Acta Aeronautica et Astronautica Sinica, 2014, 35(7): 1966-1976 (in Chinese).

[4] 苏哲, 许录平, 王婷, 等. X射线脉冲星导航半物理仿真实验系统研究[J]. 物理学报, 2011, 60(11): 119701-1-8. SU Z, XU L P, WANG T, et al. X-ray pulsar navigation semi-physical simulation system research[J]. Acta Physica Sinica, 2011, 60(11): 119701-1-8 (in Chinese).

[5] 胡慧君, 赵宝升, 盛立志, 等. 基于X射线脉冲星导航的地面模拟系统研究[J]. 物理学报, 2011, 60(2): 029701-1-9. HU H J, ZHAO B S, SHENG L Z, et al. Ground simulation system X-ray pulsar-based navigation[J]. Acta Physica Sinica, 2011, 60(2): 029701-1-9 (in Chinese).

[6] 王洪, 刘昌忠, 汪学刚, 等. 一种多点定位的目标位置精确解算方法[J]. 航空学报, 2011, 32(7): 1269-1274. WANG H, LIU C Z, WANG X G, et al. A multi-point the exact location of the target location solution method[J]. Acta Aeronautica et Astronautica Sinica, 2011, 32(7): 1269-1274 (in Chinese).

[7] 杨廷高. X射线脉冲星脉冲到达航天器时间测量[J]. 空间科学学报, 2008, 28(4): 330-334. YANG T G. X-ray pulsar pulse arrival time measurements of spacecraft[J]. Chinese Journal of Space Science, 2008, 28(4): 330-334 (in Chinese).

[8] 周峰, 吴光敏, 赵宝升, 等. 基于X射线脉冲星导航的模拟调制仿真源研究[J]. 物理学报, 2013, 62(11): 119701-1-6. ZHOU F, WU G M, ZHAO B S, et al. X-ray pulsar navigation analog modulation source based on simulation[J]. Acta Physica Sinica, 2013, 62(11): 119701-1-6 (in Chinese).

[9] 王朋, 赵宝升, 盛立志, 等. X射线脉冲星导航系统导航精度的研究[J]. 物理学报, 2012, 61(20): 209702-1-7. WANG P, ZHAO B S, SHENG L Z, et al. Research X-ray pulsar navigation system navigation accuracy[J]. Acta Physica Sinica, 2012, 61(20): 209702-1-7 (in Chinese).

[10] 宋林东. X射线脉冲星导航仿真系统硬件设计[D]. 西安: 西安电子科技大学, 2010. SONG L D. X-ray pulsar navigation simulationsystem hardware design[D]. Xi’an: Xi’an University of Electronic Science and Technology, 2010 (in Chinese).

[11] 朱恩亮. X射线脉冲星导航仿真系统软件设计[D]. 西安: 西安电子科技大学, 2010. ZHU E L. X-ray pulsar navigation simulation system software design[D]. Xi’an: Xidian University, 2010 (in Chinese).

[12] 刘石山, 赵建军, 岳奇. 基于双树复小波变换的X射线脉冲星信号处理[J]. 计算机技术与发展, 2014, 24(3): 168-177. LIU S S, ZHAO J J, YUE Q. X-ray pulsar signal processing based on dual tree complex wavelet transform[J]. Computer Technology and Development, 2014, 24(3): 168-177 (in Chinese).

[13] 滕厚华. 基于共反射面元叠加技术的波场参数正演[D]. 北京: 中国石油大学, 2008. TENG H H. Based on a total reflection surface stack technology wave field parameters forward [D]. Beijing: China University of Petroleum, 2008 (in Chinese).

[14] 张慧娟. HDL Coder和HDL Verifier支持HDL代码生成和验证[J]. 电子技术设计, 2012, 19(5): 20-21. ZHANG H J. HDL Coder and HDL verifier supports HDL Code generation and verification[J]. EDN China, 2012, 19(5): 20-21 (in Chinese).

[15] FLIR借助MATLAB的HDL代码自动生成技术加速热成像FPGA的开发[Z]. 电信科学, 2012(9): 89. FLIR using MATLAB HDL code automatic generation technology to accelerate the development of thermal imaging FPGA[Z]. Telecommunications Science, 2012(9): 89 (in Chinese).

[16] 唐立梅, 陈莲娜. 利用HDL Coder完成红外探测器图像死点的替换[J]. 红外, 2012, 33(5): 36-41. TANG L M, CHEN L N. Replace the use of infrared detectors HDL Coder complete picture of the dead[J]. Infrared, 2012, 33(5): 36-41 (in Chinese).

[17] 诸葛俊贵. 基于Matlab模糊控制器HDL代码的自动生成[J]. 电子科技, 2012, 25(1): 42-44. ZHUGE J G. Matlab-based fuzzy controller automatically generate HDL code[J]. Electronic Technology, 2012, 25(1): 42-44 (in Chinese).

[18] 谭同超. 有限状态机及其应用[D]. 广州: 华南理工大学, 2013. TAN T C. Finite state machine and its application[D]. Guangzhou: South China University of Technology, 2013 (in Chinese).

[19] 杨京开, 邓培民, 易忠. 模糊有限状态机的一些性质[J]. 模糊系统与数学, 2010, 24(1): 159-165. YANG J K, DENG P M, YI Z. Some properties of fuzzy finite state machine[J]. Fuzzy Systems and Mathematics, 2010, 24(1): 159-165 (in Chinese).

[20] 宋泽明, 陈文楷. 基于VHDL的有限状态机设计[J]. 北京工业大学学报, 2005, 31(1): 21-24. SONG Z M, CHEN W K. VHDL-based finite state machine design[J]. Journal of Beijing University of Technology, 2005, 31(1): 21-24 (in Chinese).

吴亚平 男, 硕士研究生。主要研究方向: X射线脉冲星导航硬件脉冲轮廓累积。

Tel: 0871-65916591

E-mail: jyzx@kmust.edu.cn

赵建军 男, 副教授。主要研究方向: X射线脉冲星导航。

Tel: 0871-65917864

E-mail: kmustdag@sina.cn

Received: 2015-03-20; Revised: 2015-05-04; Accepted: 2015-06-01; Published online: 2015-06-03 14:47

URL: www.cnki.net/kcms/detail/11.1929.v.20150604.1139.005.html

Foundation items: National Natural Science Foundation of China (11103069, 61007017)

*Corresponding author. Tel.: 0871-65917864 E-mail: kmustdag@sina.cn

Hardware epoch superposition of X-ray pulsar-based navigation

WU Yaping1,2, ZHAO Jianjun1,*, WU Guangmin1, GAO Xiafang1,2, TANG Haifeng1,2

1.FacultyofScience,KunmingUniversityofScienceandTechnology,Kunming650093,China2.StateKeyLaboratoryofTransientOpticsandPhotonics,Xi’anInstituteofOpticsandPrecisionMechanics,ChineseAcademyofSciences,Xi’an710119,China

Based on the X-rays pulsar-based source simulation produced by the ground experimental system, using the method of hardware epoch superposition, the pulse profile is obtained fast and stable. The algorithm of epoch superposition and data integration implemented by the field programmable gate arrays (FPGA) has been studied that is firstly achieved by using MATLAB then converted to hardware description language (HDL) by MATLAB HDL Coder. Secondly, the stream file of Bit can be obtained, configuring the hardware by the compiler. Finally, the hardware module can be practicable in the FPGA. The arrived time data of photons obtained by MATLAB algorithm has some errors with the data obtained after the treatment of the hardware modules; the maximum error is two photon numbers in the single time window, and the average error value accounts for 0.084 % of the average statistic value; the different data accounts for 9.481% of the total number of data in the two sets of statistical pulse profile data. Such errors do not affect the navigation of the subsequent navigation module. The hardware implementation and data integration epoch superposition modules get high processing speed, compact device and low power consumption, which provides viable data processing hardware technical support for spacecraft navigation using X-ray pulsars.

pulsar; hardware processing; field programmable gate arrays (FPGA); hardware design; signal sources

2015-03-20;退修日期:2015-05-04;录用日期:2015-06-01; < class="emphasis_bold">网络出版时间:

时间: 2015-06-03 14:47

www.cnki.net/kcms/detail/11.1929.v.20150604.1139.005.html

国家自然科学基金 (11103069, 61007017)

.Tel.: 0871-65917864 E-mail: kmustdag@sina.cn

吴亚平, 赵建军, 吴光敏, 等. X射线脉冲星导航硬件脉冲轮廓累积研究[J]. 航空学报, 2016, 37(2): 662-668. WU Y P, ZHAO J J, WU G M, et al. Hardware epoch superposition of X-ray pulsar-based navigation[J]. Acta Aeronautica et Astronautica Sinica, 2016, 37(2): 662-668.

http://hkxb.buaa.edu.cn hkxb@buaa.edu.cn

10.7527/S1000-6893.2015.0164

V448.22; V448.23

:A

: 1000-6893(2016)02-0662-07

*

猜你喜欢

历元脉冲星光子
纠缠光子的量子实验获得2022年诺贝尔物理学奖
脉冲星方位误差估计的两步卡尔曼滤波算法
周跳对GNSS 精密定位的影响
一种伪距单点定位的数学模型研究及程序实现
偏振纠缠双光子态的纠缠特性分析
宇宙时钟——脉冲星
“十光子纠缠”成功实现
ITRF框架与CGCS2000坐标转换的研究
精密单点定位与双差单历元动态定位的精度分析
基于虚拟观测值的X射线单脉冲星星光组合导航