技术领域
[0001] 本
发明涉及一种北斗
卫星导航系统的伪距仿真方法,属于卫星导航
定位技术领域。
背景技术
[0002] 全球卫星导航系统是重要的空间信息
基础设施,美国GPS、俄罗斯GLONASS系统都是相对成熟的卫星导航系统。而我国在2000年建成北斗导航试验系统后,也成为继美、俄之后的世界上第三个拥有自主卫星导航系统的国家。2012年12月,北斗系统首先具备了
覆盖亚太地区的定位、导航和授时以及短报文通信服务能
力。仿真方法是研究导航系统性能的一种重要手段,对于一些导航系统实验,导航接收机经常安置在导弹和飞机等高动态的载体上,对导航接收机进行测试在实际上成本较高,甚至难以达到,这时可以利用导航卫星
信号模拟器仿真来替代,它可以产生各种真实环境下的北斗
卫星信号,满足实验的定位要求,这在导航接收机和导航干扰装备研发测试、导航系统仿真研究等领域具有重要的应用价值,随着北斗系统应用领域的日益广泛,研制出各种针对北斗系统的高性能的导航卫星信号模拟器已成为一种必然趋势。
[0003] 伪距是导航系统中的一个最基本距离测量值,伪距直接决定了定位
精度,所以导航卫星模拟器仿真的伪距需要和真实情况的一致,才能保证导航系统仿真实验的有效性。现有方法有采用力学方程积分法进行
星座仿真,利用
解析法求出卫星
位置的各阶导数,用户输入位置、速度、
加速度和加加速度
采样值,得到星地视向距离变化率,通过差分法求得伪距误差项的高阶导数,精度较低;现有方法也有采用解析式建模导出用户高阶导数的表达式,卫星位置高阶导数采用多项式计算,通过高阶多项式拟合伪距,精度也较低。
[0004] 现有方法得到的伪距精度较低,计算量大,增加计算时间,影响导航卫星信号模拟器实时性,而且如果仿真中卫星星座采用开普勒轨道根数,仅提供导航接收机位置时,上述方法不适用。
发明内容
[0005] 本发明的目的是为了解决现有伪距仿真存在的伪距精度较低、实时性较差和适用范围较小的问题,提供一种北斗卫星导航系统的伪距仿真方法。在真实情况中,导航接收机是利用伪距进行定位解算的,而在当前时刻接收机接收到可见卫星的信号是在之前某一时刻卫星发射出的,接收机是在同一历元接收这些信号,但是对于不同卫星而言是在不同历元发射的。当利用导航卫星信号模拟器进行仿真实验时,接收机的位置和信号接收时间是预先在导航卫星信号模拟器中输入设置的,而信号收发之间是有延时的,信号收发之间的延时和卫星与接收机之间的几何距离、大气折射造成的传播延迟等紧密相关,所以需要计算卫星在信号发射时刻的位置和信号发射信号时间,需要导航卫星信号模拟器计算出伪距,生成卫星信号发射出来。
[0006] 一种北斗卫星导航系统的伪距仿真方法,包括如下步骤:
[0007] 步骤1、给定初始伪距,并通过所述伪距计算出信号发射时间;
[0008] 伪距ρ的表达式为:
[0009] ρ=c(tr-ts) (1)
[0010] 式中,tr为信号接收时间,ts为信号发射时间,c为光速;
[0011] 信号传播时间τ表示为:
[0012]
[0013] 则:
[0014] ts=tr-τ (3)
[0015] 步骤2、计算卫星时钟误差;
[0016] 由于时间偏差、
频率漂移的存在以及卫星误差会随着时间累积的原因,卫星时间总会略微偏出系统时间,由此产生的误差定义为卫星时钟误差;卫星钟差Δt表示为如下二阶多项式:
[0017] Δt=a0+a1(ts-toc)+a2(ts-toc)2 (4)
[0018] 式中,toc为星历参考时间,a0为星钟的零偏修正参数,a1为星钟的钟速修正参数,a2为星钟的钟速度率修正参数;
[0019] 步骤3、计算相对论效应修正量;
[0020] 北斗卫星在轨道上高速运行,对于地面接收机而言会产生很大的相对速度,根据相对论理论,卫星时钟会与地面时钟产生偏差;
[0021] 为修正此偏差带来的影响,在误差校正环节中必须补偿由相对论效应产生的误差,相对论效应修正量Δtr的计算公式为:
[0022]
[0023] 式中,es为卫星轨道偏心率,as为卫星轨道长半径,Ek为卫星偏近点
角,F为一个常数,定义为:
[0024]
[0025] 式中,μ为引力常数;
[0026] 步骤4、通过修正卫星时钟总钟差值,得到修正后的信号发射时间;
[0027] 卫星时钟总钟差值δts为:
[0028] δts=Δt+Δtr-TGD (7)
[0029] 式中,TGD为群波延时校正值;
[0030] 则修正后的信号发射时间t为:
[0031] t=ts-δts (8)
[0032] 步骤5、计算发射时刻卫星的位置和速度;
[0033] 得到修正后的信号发射时间t后,代入卫星轨道理论中,得到信号发射时刻的卫星在轨道平面直角
坐标系的位置和速度;
[0034] 卫星在地心地固直角坐标系的位置(xk,yk,zk)计算如下:
[0035]
[0036] 式中,(x'k,y'k)为卫星在轨道平面直角坐标系的位置,ik为轨道倾角;Ωk为卫星轨道升交点赤经;
[0037] 卫星在地心地固直角坐标系的速度 计算如下:
[0038]
[0039] 式中, 为卫星在轨道平面直角坐标系的速度, 为轨道倾角ik对时间的导数; 为卫星轨道升交点赤经Ωk对时间的导数;(x'k,y'k)、 ik、Ωk、和 均由导航卫星信号模拟器提供的星历数据计算得到;
[0040] 步骤6、判断对于接收机该卫星是否可见,如果不可见,则结束,如果可见,则进行步骤7;
[0041] 得到卫星位置(xk,yk,zk)后,已知接收机位置为(xr,yr,zr),则接收机到卫星的观测向量为:
[0042]
[0043] 式中,ΔE、ΔN和ΔU分别为观测向量东、北和天向的分量,S为坐标转换矩阵,由接收机位置的经度λ和纬度φ定义:
[0044]
[0045] 得到接收机到卫星的观测向量后,则卫星仰角θ为:
[0046]
[0047] 如果卫星仰角大于0°,则卫星可见;如果卫星仰角小于等于0°,则卫星不可见,不能用于定位,结束
迭代;
[0048] 步骤7、计算卫星与接收机之间的几何距离r和大气折射造成的传播延迟,更新信号传播时间τ,得到新的伪距,如果伪距精度满足要求,则结束,如果不满足,则将新的伪距重新代步骤1中,迭代计算直到满足要求;
[0049] 接收机到卫星的几何距离为:
[0050]
[0051] 考虑大气折射造成的传播延迟,利用大气数学模型计算卫星信号传播的电离层延时I和
对流层延时T,则:
[0052]
[0053] 得到满足精度要求的伪距后,导航卫星信号模拟器生成相应的卫星信号发射出来,接收机接收卫星信号,处理后进行定位解算,即能够定位到仿真预先输入设置的位置和仿真时间,则能够在实验室内得到和外场相同的北斗卫星定位场景,用于测试接收机性能。
[0054] 本方法能够在仅提供接收机位置时,通过迭代计算出高精度的伪距,为接收机定位提供数据,到达仿真测试接收机性能的目的。
[0055] 有益效果
[0056] 1、本发明计算的伪距精度高,得到的仿真场景与真实场景相一致。
[0057] 2、本发明计算量相对较小,缩短了计算时间,保证了导航信号模拟器仿真的实时性。
[0058] 3、本发明只需要在导航信号模拟器中输入接收机的静态位置,或者输入接收机的动态轨迹,需要仿真提供的信息少,而且能够满足不同的仿真需求,适用范围广。
附图说明
具体实施方式
[0060] 下面结合附图与
实施例对本发明做进一步说明。
[0061] 为了验证方法的可行性,在导航卫星信号模拟器中设置接收机需要定位到东经116°、北纬40°、高度1000m的位置,即地心地固直角坐标系的位置为(-2145157.653m,
4398224.977m,4078628.360m),仿真时间设置为2020年1月1日0时整。根据北斗卫星实际情况,设置卫星钟差修正参数、星历参数、电离层延时和
对流层延时等重要信息,导航卫星信号模拟器会将包含有这些信息的导航电文生成卫星信号发射出去用于定位。
[0062] 如图1所示的伪距仿真方法的原理流程图,在仿真实验时,根据仿真要求设置需要接收机定位的位置和仿真时间,再按照北斗卫星导航系统的伪距仿真方法计算伪距,所述北斗卫星导航系统的伪距仿真迭代
算法包括以下步骤:
[0063] 1.计算信号发射时间
[0064] 伪距ρ为信号接收时间tr与信号发射时间ts之间的差异再乘以光速c:
[0065] ρ=c(tr-ts) (16)
[0066] 定义信号传播时间τ为:
[0067]
[0068] 初始时设定信号传播时间τ为78ms,已知信号接收时间为tr,则信号发射时间ts为:
[0069] ts=tr-τ (18)
[0070] 2.计算卫星时钟钟差
[0071] 由于时间偏差、频率漂移的存在以及卫星误差会随着时间累积的原因,卫星时间总会略微偏出系统时间,由此产生的误差定义为卫星时钟误差。卫星钟差可以表示为如下二阶多项式:
[0072] Δt=a0+a1(ts-toc)+a2(ts-toc)2 (19)
[0073] 式中,toc为星历参考时间,a0为星钟的零偏修正参数,a1为星钟的钟速修正参数,a2为星钟的钟速度率修正参数,导航电文提供了上述参数。
[0074] 3.计算相对论效应修正量
[0075] 北斗卫星在轨道上高速运行,对于地面接收机而言会产生很大的相对速度。根据相对论理论,卫星时钟会与地面时钟产生一定的偏差。北斗GEO/IGSO和MEO的轨道高度和平均速度不同,所以它们的时钟受相对论效应影响是不同的,GEO/IGSO的星载
原子钟每天快46.6μs,MEO的星载原子钟每天快40.6μs
[0076] 为修正此影响,在误差校正环节中必须补偿由相对论效应产生的误差,相对论效应修正量Δtr的计算公式为:
[0077]
[0078] 式中,es为卫星轨道偏心率,as为轨道长半径,Ek为卫星偏近点角,F为一个常数,定义为:
[0079]
[0080] 式中,μ为引力常数。
[0081] 4.修正卫星时钟总钟差值
[0082] 考虑到群波延时校正值TGD,由卫星导航电文的第一数据
块给出,则卫星时钟总钟差值δts为:
[0083] δts=Δt+Δtr-TGD (22)
[0084] 则修正后的信号发射时间t为:
[0085] t=ts-δts (23)
[0086] 5.计算卫星位置和速度;
[0087] 得到修正后的信号发射时间t后,代入进卫星轨道理论中,利用导航电文中的星历参数得到信号发射时刻的卫星位置和速度,考虑到在卫星信号发出、传播、接收过程中,地球一直在进行自转,需要修正卫星位置。下表为星历参数及其含义。
[0088] 星历参数及其含义
[0089]
[0090]
[0091] 卫星位置和速度计算步骤可总结如下:
[0092] (1)计算规划时间tk
[0093] tk=t-toe (24)
[0094] 对于一个有效星历而言,t值应当在toe前后两小时内,因此tk的绝对值应小于7200s。又由于北斗时间每周清零,有时tk中会产生604800s的偏差。如果式(24)算出tk大于
302400s时,应当减去604800s;如果tk小于302400s时,就应当加上604800s。在接收机正常运行的情况下,tk应当为负值。
[0096] 理想情况下卫星的平均角速度n为:
[0097]
[0098] 再将平均角速度校正值Δn代入,可得:
[0099] n=n0+Δn (26)
[0100] (3)计算信号发射时刻的平近点角Mk
[0101] 将星历参数M0代入如下模型,即可获得发射时刻的平近点角Mk:
[0102] Mk=M0+n·tk (27)
[0103] (4)计算信号发射时刻的偏近点角Ek
[0104] 式(27)计算出了平近点角Mk,结合星历参数es,可以用迭代法求解偏近点角Ek。给出三者关系为:
[0105] M=E-essinE (28)
[0106] 采用迭代方法求解,一般进行2~3次迭代,即可获得收敛的精度较高的迭代解。
[0107] (5)计算信号发射时刻的真近点角νk
[0108] νk与Ek、es的关系如下:
[0109]
[0110] νk的值在(-π,π](弧度)内。
[0111] (6)计算信号发射时刻的升交点角距Φk
[0112] Φk的计算公式为:
[0113] Φk=νk+ω (30)
[0114] (7)计算信号发射时刻的摄动校正项δuk、δrk和δik
[0115] 摄动校正项δuk、δrk和δik由星历参数中的Cuc、Cus、Crc、Crs、Cic、Cis与式(30)推得的升交点角距Φk推得:
[0116]
[0117] (8)计算摄动校正后的升交点角距uk、卫星矢径长度rk和轨道倾角ik
[0118] 将式(31)得到的摄动校正量代入下列各式,得到升交点角距uk、卫星矢径长度rk和轨道倾角ik:
[0119]
[0120] (9)计算卫星在轨道平面直角坐标系的位置(x'k,y'k)
[0121] 将极坐标(rk,uk)转换在轨道平面直角坐标系的位置,即可获得(x'k,y'k):
[0122]
[0123] (10)计算信号发射时刻的升交点赤经Ωk
[0124] 升交点赤经Ωk采用如下线性模型:
[0125]
[0126] 式中, 为地球自转角速率,为一个常数。
[0127] (11)计算卫星在地心地固直角坐标系的位置(xk,yk,zk)
[0128] 轨道平面直角坐标系绕其X轴旋转-ik,再围绕旋转后的Z轴旋转-Ωk,即可转为地心地固直角坐标系。利用坐标旋转变换公式可得:
[0129]
[0130] (12)计算信号发射时刻的偏近点角Ek对时间的导数
[0131]
[0132] 式中, 为平近点角Mk对时间的导数。
[0133] (13)计算信号发射时刻的升交点角距Φk对时间的导数
[0134]
[0135] 式中, 为真近点角vk对时间的导数。
[0136] (14)计算信号发射时刻的摄动校正项对时间的导数 和
[0137]
[0138] (15)计算信号发射时刻的 与
[0139]
[0140] 式中, 为升交点角距uk对时间的导数, 为卫星矢径长度rk对时间的导数, 为轨道倾角ik对时间的导数, 为卫星轨道升交点赤经Ωk对时间的导数。
[0141] (16)计算卫星在轨道平面直角坐标系的速度
[0142]
[0143] (17)计算卫星在地心地固直角坐标系的速度
[0144]
[0145] 6.判断卫星是否可见
[0146] 得到卫星位置(xk,yk,zk)后,已知接收机位置为(xr,yr,zr),则接收机到卫星的观测向量为:
[0147]
[0148] 式中,ΔE、ΔN和ΔU分别为观测向量东、北和天向的分量,S为坐标转换矩阵,由接收机位置的经度λ和纬度φ定义:
[0149]
[0150] 得到接收机位置处的卫星观测向量后,则卫星仰角θ为:
[0151]
[0152] 如果卫星仰角大于0°,则卫星可见;反之,则卫星不可见,不能用于定位,结束迭代。
[0153] 7.更新信号传播时间
[0154] 接收机到卫星的几何距离为:
[0155]
[0156] 考虑大气折射造成的传播延迟,利用大气数学模型计算卫星信号传播的电离层延时I和对流层延时T,则:
[0157]
[0158] 更新信号传播时间,即更新了伪距,将更新后的信号传播时间与更新前的信号传播时间对比,如果不满足精度,则代回算法中重新计算,如此循环,直到信号传播时间收敛满足精度要求。
[0159] 经过迭代计算后,得到多颗可见卫星的位置及伪距信息,以其中一颗卫星为例,卫星位置为(-32295346.8460m,27085485.2290m,1031071.1577m,),卫星仰角为38.93°,卫星可见。考虑到卫星总钟差为105795.604m,卫星信号传播的电离层延时2.2865m和对流层延时3.8284m,则理论上伪距应为37749636.1670m,实际上本发明计算得到的伪距为37749636.1664m,误差为0.0006m,伪距精度高。接收机得到满足精度要求的伪距后,进行定位解算,即可定位到仿真预先设置的位置和仿真时间,这样就可以在实验室内得到和外场相同的北斗卫星定位场景,用于测试接收机性能。
[0160] 以上所示仅为本发明的优选实施例而已,本发明包括但不限于本实施例,本发明可以有各种更改和变化。在不脱离本发明的原理与精神的情况下,对实施方式所进行的改变、
修改、替换和变型仍落入本发明的保护范围之内。