[0013] 脉冲星相位预测模型为
[0014]
[0015] 其中,N是脉冲星相位预测模型的阶次,N取值范围为[2,+∞),f和分别是脉冲星的自转频率和自转频率的m-1阶倒数值,φ(t)是t时刻脉冲到达SSB处的相位,φ(tref)是tref参考时刻脉冲到达SSB处的相位,t、tref和tn都采用太阳系质心力学时TDB作为时间系统。
[0016] 反函数递推公式如下:
[0017] φ(tn+1)=Λ-1(Λ(φ(tn))-lnU)
[0018] 其中,U为[0,1]区间上均匀分布随机变量,Λ(i)为X射线脉冲星的累积泊松速率函数,Λ-1(i)为累积泊松速率函数的反函数
[0019] 本发明与现有技术相比的有益效果是:
[0020] (1)本发明得到的每一个脉冲星光子信号都和脉冲星的相位预测模型相关,整个脉冲星光子到达时间序列就包含了脉冲星自转频率缓慢变化的特性,符合脉冲星的实际情况。
[0021] (2)本发明模拟的X射线脉冲星光子达到时间序列的周期和脉冲星的实际自转周期误差很小,具有模拟精度高的优点。
[0022] (3)本发明光子通过递推的方法逐个产生,模拟的过程精确可控。
[0023] (4)本发明将反函数公式中的累积泊松速率函数Λ(i)替换成不同脉冲星的累积泊松速率函数,将相位预测模拟替换成相应的脉冲星相位预测模型,即可模拟不同脉冲星的光子信号,具有通用性强的优点。
附图说明
[0025] 图2为本发明反函数法光子相位递推算法的求解示意图;
具体实施方式
[0026] 如图1所示是本发明方法实施步骤,本发明提供了一种高精度的X射线脉冲星信号模拟方法,步骤如下:
[0027] 步骤S1:确定模拟的起始时刻t0,模拟结束时刻tf,记tn为第n个脉冲星光子信号的到达太阳系质心SSB处的时间,令n的初始值为0;
[0028] 步骤S2:根据脉冲星相位预测模型计算得到tn时刻对应的脉冲星相位φ(tn);
[0029] 脉冲星相位预测模型为
[0030]
[0031] 其中,N是脉冲星相位预测模型的阶次,N取值范围为[2,+∞),模型阶次N的选择随脉冲星自转频率的稳定度和计算精度的需要选择合适的值,对于大多数的应用N取3就能达到足够高的精度,f和 分别是脉冲星的自转频率和自转频率的各阶倒数值,查找脉冲星星历表可以得到,φ(t)是t时刻脉冲到达SSB处的相位,φ(tref)是tref参考时刻脉冲到达SSB处的相位,t、tref和tn都采用太阳系质心力学时TDB作为时间系统;
[0032] 步骤S3:由步骤S2得到的tn时刻对应的脉冲星相位φ(tn),采用反函数法递推得到第n+1个脉冲星光子信号到达SSB处时对应的脉冲星相位φ(tn+1);
[0033] 反函数递推公式如下:
[0034] φ(tn+1)=Λ-1(Λ(φ(tn))-lnU)
[0035] 其中,U为[0,1]区间上均匀分布随机变量,Λ(i)为X射线脉冲星的累积泊松速率函数,Λ-1(i)为累积泊松速率函数的反函数;
[0036] 由于脉冲星的泊松速率函数很难用函数解析表达式描述,同样地累积泊松速率函数和累积泊松速率函数的反函数也无法得到函数解析表达式,因此采用数值法求解。
[0037] 步骤S4:将步骤S3中得到的第n+1脉冲星光子信号对应的脉冲星相位φ(tn+1),代入脉冲星相位预测模型得到方程:
[0038]
[0039] 求解该方程,得到第n+1个脉冲星光子信号到达SSB处的时间tn+1;
[0040] 当方程的阶次N等于2时,此时方程是一个二次方程,可以用二次方程求根公式求解;当方程阶数N大于2时,可以用
迭代法求解,由于相位演化具有单调特性,因此相位预测模型函数是一个光滑的单调函数,以任意时刻作为迭代起始点总能收敛到真值。
[0041] 步骤S5:n的值加1,判断tn是否小于模拟结束时刻tf,当tn
[0042] 下面结合附图并举
实施例,对本发明进行具体描述。
[0043] 步骤S1:本实施例以脉冲星PSR B0531+21为例,模拟起始时间t0为49128.000000191(MJD),模拟时长180s,对应模拟结束时刻tf为49128.002083524(MJD),记tn为第n个脉冲星光子信号的到达SSB(太阳系质心)处的时间,令n的初始值为0;
[0044] 步骤S2:根据第n个光子的到达时刻tn,查找脉冲星星历表,得到适用于当前时刻的脉冲星相位预测模型参数,对于脉冲星PSR B0531+21,N取3时就能达到足够高的精度,此时得到的脉冲星PSR B053+21相位预测模型为:
[0045]
[0046] 将tn代入(1)式,计算得到tn时刻对应的脉冲星相位φ(tn),其中f是脉冲星的自转频率, 是脉冲星自转频率一阶项, 脉冲星自转频率二阶项,φ(tref)是tref参考时刻脉冲到达SSB处的相位,f、 和tref通过查找脉冲星星历表可以得到,tref和tn都采用太阳系质心力学时TDB作为时间系统;
[0047] 步骤S3:由步骤S2得到的tn时刻对应的脉冲星相位φ(tn),采用反函数法递推得到第n+1个脉冲星光子信号到达SSB处时对应的脉冲星相位φ(tn+1),递推公式如下:
[0048] φ(tn+1)=Λ-1(Λ(φ(tn))-lnU) (2)
[0049] 其中,U为[0,1]区间上均匀分布随机变量,Λ(i)为X射线脉冲星的累积泊松速率函数,Λ-1(i)为累积泊松速率函数的反函数。
[0050] 由于脉冲星的泊松速率函数很难用函数解析表达式描述,同样地累积泊松速率函数和累积泊松速率函数的反函数也无法得到函数解析表达式,因此采用数值法求解。图2是反函数法光子相位递推算法的求解示意图,首先根据脉冲星的泊松速率得到相位—泊松速率值对应关系即Λ(i),采用求和运算代替积分运算得到相位—累积泊松速率值对应关系即Λ-1(i),再根据前一个光子的相位φ(tn),查找相位—泊松速率值对应关系,得到Λ(φ(tn))的结果,接着产生(0,1)上的均匀随机数U,计算得到下一个光子的对应的累积泊松速率值Λ(φ(tn))-lnU,最后查找相位—累积泊松速率值对应关系,求解得到Λ(i)递推得到Λ-1(Λ(φ(tn))-lnU)的结果即下一个光子的相位φ(tn+1)。
[0051] 步骤S4:将步骤S3中得到的第n+1脉冲星光子信号对应的脉冲星相位φ(tn+1),代入(1)式的左边,得到方程
[0052]
[0053] 求解方程(3),得到第n+1个脉冲星光子信号到达SSB处的时间tn+1;
[0054] 步骤S5:n的值加1,判断tn是否小于模拟结束时刻tf,当tn
[0055] 采用以上步骤,得到脉冲星PSR B0531+21起始时刻为50200.000000251、50645.000000104、50849.000000344、51224.000000271,持续时间为180s的4组脉冲星模拟光子到达时间序列。采用周期搜索算法,搜素模拟光子时间序列的周期,结果如表1所示:
[0056] 表1.模拟光子信号时间序列的周期
[0057]仿真起始时间(MJD) 星历表的周期(f0) 模拟光子序列的周期
49128.000000191 29.9245763662884 29.92458
50200.000000251 29.8897220169126 29.88972
50645.000000104 29.8752812172442 29.87528
50849.000000344 29.8686661308798 29.86867
51224.000000271 29.8565144334781 29.85651
[0058] 由表可知模拟光子序列的平均周期和脉冲星星历表的周期很接近,由于脉冲星周期是持续缓慢变化的,而对模拟光子序列进行周期搜索得到的周期是整个时间序列的平均周期,因此和脉冲星星历表中的周期存在偏差。从结果可以看出模拟的光子序列具有脉冲星周期缓慢变化的特性,符合脉冲星的真实情况。
[0059] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0060] 本发明
说明书中未作详细描述的内容属于本领域技术人员的公知技术。