GPS共视信号模拟生成方法及GPS共视信号模拟器与流程

文档序号:13574266阅读:258来源:国知局
GPS共视信号模拟生成方法及GPS共视信号模拟器与流程
本发明属于导航领域,尤其涉及一种gps共视信号模拟生成方法及gps共视信号模拟器。
背景技术
:由于gps具有高精度的时间系统和授时功能,因此,自从gps系统建成以来,利用gps进行时间比对就一直受到人们的重视。采用gps进行精确的时间比对主要有四种方法:单向法、卫星双向比对法、两站共视法和短基vlbi技术。其中以单向法最为简单,并且能够满足大部分用户的定时精度要求,所以也就最先得到了发展和应用。但是单向法只能达到约20ns的精度,不能满足现代高精度实验室之间时间比对的需要。在此基础上,人们提出了共视法。共视法能够使两站间的共同误差得到消除或削弱,因此大大提高了时间比对的精度。目前,gps共视法是包括国际原子时在内的很多时间系统中最广泛应用的比对手段。gps共视法是基于两个不同地点观测站的gps接收机同时(准确到秒)跟踪同一颗卫星。它的基本原理是:根据bipm提供的全球gps共视表,两个共视观测站选择共视跟踪时间和跟踪卫星,并在选好的时间内进行跟踪观测,从而测得本地钟与gps卫星钟之间的时差,经过一系列改正后就得到本地钟与gps系统时间的钟差,然后两站交换数据,由于数据为两站在同一时间对同一颗卫星的跟踪结果,因此,两站间求差就能获得两站间高精度的相对钟差,从而实现两站间的时间比对。研究gps共视时间比对需要在两不同地点观测同一颗卫星,观测条件易受外界的干扰(如天气),其次在两个不同的观测站观测,给共视时间比对研究也带来了不便。技术实现要素:本发明的目的在于提供一种gps共视信号模拟生成方法、计算机可读存储介质及gps共视信号模拟器,旨在解决现有技术研究gps共视时间比对易受外界的干扰,且在两个不同的观测站观测,给共视时间比对研究带来不便的问题。第一方面,本发明提供了一种gps共视信号模拟生成方法,所述方法包括:接收星历参数和用户设置的参数信息,所述用户设置的参数信息至少包括两观测站的位置、两观测站的仰角门限和仿真时间;根据星历参数和仿真时间计算所有卫星的位置;根据两观测站的位置和所有卫星的位置分别计算两观测站相对于任一卫星的仰角,并根据两观测站相对于任一卫星的仰角和两观测站的仰角门限分别确定所有对于两观测站可见的卫星;根据两观测站各自所有的可见的卫星确定对于两观测站同时可见的卫星,将所述对于两观测站同时可见的卫星作为两观测站的共视卫星;针对每颗共视卫星生成相应的gps共视信号导航电文;依次对每颗共视卫星的gps共视卫星导航电文进行扩频调制和载波调制生成gps共视卫星中频信号。第二方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的gps共视信号模拟生成方法的步骤。第三方面,本发明提供了一种gps共视信号模拟器,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上述的gps共视信号模拟生成方法的步骤。在本发明中,由于接收星历参数和用户设置的参数信息后,计算所有卫星的位置,确定所有对于两观测站可见的卫星,将对于两观测站同时可见的卫星作为两观测站的共视卫星,针对每颗共视卫星生成相应的gps共视信号导航电文,依次对每颗共视卫星的gps共视卫星导航电文进行扩频调制和载波调制生成gps共视卫星中频信号。因此实现了模拟gps共视信号,方法简单,可扩展性好。模拟的gps共视信号为实验系统的研究、用户端设备测试和性能评估提供了仿真信号源和相应的分析工具。附图说明图1是本发明实施例一提供的gps共视信号模拟生成方法流程图。图2是观测站相对于卫星的仰角示意图。图3是gps导航电文格式示意图。图4是s106的流程图。图5是c/a码发生器的逻辑图。图6是本发明实施例三提供的gps共视信号模拟器的具体结构框图。具体实施方式为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一:请参阅图1,本发明实施例一提供的gps共视信号模拟生成方法包括以下步骤:需注意的是,若有实质上相同的结果,本发明的gps共视信号模拟生成方法并不以图1所示的流程顺序为限。s101、接收星历参数和用户设置的参数信息,所述用户设置的参数信息至少包括两观测站的位置、两观测站的仰角门限和仿真时间。在本发明实施例一中,观测站实际就是卫星导航接收机。两观测站的位置具体可以是两观测站在大地坐标系中的位置,例如第一观测站和第二观测站的坐标分别为(30,50,50)和(30.18,50,50)。所述用户设置的参数信息还可以包括中频频率和采样频率。所述接收星历参数具体为:通过读入rinex(receiverindependentexchangeformat,与接收机无关的交换格式)文件,获取星历参数。具体实现过程如下:根据星历数据特点,初始化相关变量,以用于星历参数的存取;打开rinex文件,获取星历数据开始位置;通过循环语句获取数据行数,计算出卫星个数,再按照卫星编号将数据存放至结构体数组中。s102、根据星历参数和仿真时间计算所有卫星的位置。在本发明实施例一中,s102具体可以包括以下步骤:由当前时刻的时间t得到发射时间tr,tr=t-0.075,仿真时间作为位于仿真时间段内的某一时刻,其本质是用户当前时刻的时间t;计算当前时刻的发射时间相对于该时刻星历的规划时间tk,tk=tr-toe,其中,toe是星历参考时间;由卫星星历中的长半轴的平方根计算出卫星的长半轴a,由开普勒第三定律推算出卫星的平均角速度n0,其中,开普勒第三定律为其中t表示卫星的运行周期,gm和μ均表示地球的引力常数,且卫星的平均角速度计算校正后的平均角速度n,n=n0+δn,其中,δn是星历中广播的校正值;根据星历中播发的参考时刻平近点角m0,和校正后的平均角速度n计算出平近点角mk,mk=m0+ntk;根据开普勒方程中给出的平近点角和偏近点角关系式mk=ek-esinek,通过迭代求出偏近点角ek,其中e是椭圆轨道偏心率;计算信号发射时刻的真近点角vk,由计算出的真近点角和星历中广播的近地点角距计算出信号发射时刻的升交点角距φk,φk=vk+ω,其中,ω是轨道近地点角距;根据升交点角距φk和星历中广播的调和改正数的振幅计算信号发射时刻的摄动校正项:δuk=cussin2φk+cuccos2φk;δrk=crssin2φk+crccos2φk;δik=cissin2φk+ciccos2φk;其中,δuk是纬度幅角改正项、δrk是径向改正项、δik是轨道倾角改正项、cus是升交点角距正弦调和校正振幅、crs是轨道倾角正弦调和校正振幅、cis是轨道倾角正弦调和校正振幅、cuc是升交点角距余弦调和校正振幅、crc是轨道倾角余弦调和校正振幅、cic是轨道倾角余弦调和校正振幅;计算校正后的真近点角uk、向径rk和轨道倾角ik:uk=φk+δuk;rk=a(1-ecosek)+δrk;ik=i0+δik+(idot)tk;其中i0是toe时的轨道倾角;计算信号发射时刻卫星在轨道平面的位置(xk′,yk′):计算信号发射时刻的升交点赤经ωk,其中,是地球自转角速度常数,是轨道升交点赤经对时间的变化率,ω0是周内时等于0时的轨道升交点赤经;计算卫星在地心坐标系的坐标(xk,yk,zk):s103、根据两观测站的位置和所有卫星的位置分别计算两观测站相对于任一卫星的仰角,并根据两观测站相对于任一卫星的仰角和两观测站的仰角门限分别确定所有对于两观测站可见的卫星。在本发明实施例一中,两观测站相对于任一卫星的仰角的计算示意图如图2所示。确定卫星对于观测站可见具体为:通过观测站相对于卫星的仰角与观测站的仰角门限进行对比,观测站相对于卫星的仰角大于观测站的仰角门限则确定该卫星是对于观测站可见的卫星。例如观测站的仰角门限可以是5度。s104、根据两观测站各自所有的可见的卫星确定对于两观测站同时可见的卫星,将所述对于两观测站同时可见的卫星作为两观测站的共视卫星。在本发明实施例一中,s104具体可以包括以下步骤:依次用对于其中一观测站可见的卫星逐一遍历对于另一观测站可见的卫星;将对于其中一观测站可见的卫星与对于另一观测站可见的卫星相同的卫星作为两观测站的共视卫星。共视卫星的数量可能是一个或多个。在本发明实施例一中,可以在开始执行gps共视信号模拟生成方法的步骤时执行一次s103和s104,以后每隔预定时间再执行一次,例如半小时一次。s105、针对每颗共视卫星生成相应的gps共视信号导航电文。在本发明实施例一中,s105具体为:针对每颗共视卫星,根据gps的icd文件编写相应的gps共视信号导航电文。图3是gps导航电文格式示意图。gps导航电文在5个300比特的子帧中发送。每一子帧本身由10个30比特的字组成。gps导航电文中每一个字的最后6个比特用于奇偶校验,以便为用户设备提供解调时检测比特错误的能力,使用了一种(32,26)汉明码。5个子帧从子帧1开始顺序发送。子帧4和子帧5均包含25页,因此在5个子帧的首次循环中广播子帧4和子帧5的第1页,在5个子帧的下一次循环中,子帧4和子帧5的第2页被广播,依次类推。导航电文编码算法,根据导航电文的具体结构细分为以下几个模块:1.校验算法;2.tlm字编码算法;3.how字编码算法;4.基本电文编码算法(子帧1、2、3的整体编码算法);5.完整电文编码算法。其中tlm字编码算法和how字编码算法比较简单,因为内容相对比较固定,只需动态的提供z计数和子帧号。对于基本电文编码,根据gps的接口控制文档提供的参数,将广播星历文件读取出来的星历参数分别除以不同的系数,按比特提取后存入数组中。s106、依次对每颗共视卫星的gps共视卫星导航电文进行扩频调制和载波调制生成gps共视卫星中频信号。根据卫星导航的理论,最终生成的gps共视卫星中频信号如下所示:其中,i指代不同的卫星,pc表示c/a码信号的平均功率,x(i)(t)表示卫星i产生的c/a码电平值,d(i)(t)表示共视卫星i对应的gps共视信号导航电文,f表示载波频率,θ表示载波的初相位。从上式可看出,在生成中频信号的过程中,首先要对s105中所述的gps共视信号导航电文进行扩频调制,即x(i)(t)d(i)(t),接着利用本地产生的余弦信号cos(2πft+θ)进行载波调制。在扩频调制的过程中,首先要针对每颗共视卫星生成相应的c/a码表,再计算码nco频率控制字,最后码nco频率控制字累加溢出值进行累加并查找c/a码表生成对应共视卫星的c/a码,并与gps共视信号导航电文进行异或相加运算,用符号⊕表示,从而完成扩频调制,得到gps共视信号导航电文与c/a码的组合码。在载波调制的过程中,先是根据载波nco频率控制字的控制生成相应频率和相位的本地载波,然后将扩频调制得到的gps共视信号导航电文与c/a码的组合码对所生成的本地载波进行bpsk调制,从而得到中频信号。请参阅图4,在本发明实施例一中,s106具体可以包括以下步骤:s1061、针对每颗共视卫星生成相应的c/a码表。gps导航系统采用码分多址(cdma)的方式区分卫星,每颗卫星所用的c/a码序列都各不相同,为了保证每颗卫星之间互不干扰,gps信号选用具有良好自相关和互相关性能的戈德(gold)码作为c/a码,一个完整c/a码周期为1023个码片,码片速率为1.023mcps,一个c/a码周期持续时间为1ms(1023/1.023mcps)。如图5所示,在1.023mhz的时钟控制下,通过两个十级移位寄存器g1和g2(初始设置为1),产生最大长度为1023位的伪随机序列。g1和g2用多项式可表述为:式中xi指将移位寄存器第i级输出值模二加再反馈送到第一级作为输入。g1移位寄存器选取第3、10级作为反馈抽头,g2移位寄存器选取第2、3、6、8、9、10级作为反馈抽头。g1移位寄存器以1.023mcps的速率输出第10级寄存器数据,g2移位寄存器通过选取两个寄存器模二和值作为输出,最后g1直接输出序列与g2延迟输出序列模二和得到速率为1.023mcps的c/a码序列。由戈德(gold)码性质知:伪随机序列只要多项式表达相同,不管是输出在最后一级还是任意两个级数据模二和后作为输出,其序列是相同的,只是相位发生了变化。gps卫星通过g2移位寄存器的两个抽头选取的不同,得到1025种不同的抽头选取组合,从中优选32种自相关好和互相关性差的序列作为32颗卫星的c/a码序列。这样每颗卫星的c/a码序列只与g2移位寄存器的抽头选取有关。关系如表1所示:表1gpsprn(pseudo-randomnoise,伪随机噪声)号与g2抽头关系prng2抽头prng2抽头prng2抽头prng2抽头12⊕693⊕10171⊕4255⊕723⊕7102⊕3182⊕5266⊕834⊕8113⊕4193⊕6277⊕945⊕9125⊕6204⊕7288⊕1051⊕9136⊕7215⊕8291⊕662⊕10147⊕8226⊕9302⊕771⊕8158⊕9231⊕3313⊕882⊕9169⊕10244⊕6324⊕9s1062、计算每颗共视卫星的码nco频率控制字和载波nco频率控制字。根据前面所述可知,生成gps共视卫星中频信号的关键在于计算出码nco频率控制字和载波nco频率控制字来生成对应的c/a码和本地载波,从而完成扩频调制和载波调制。所述计算每颗共视卫星的码nco频率控制字具体可以包括以下步骤:根据共视卫星的位置和观测站的位置计算出共视卫星与观测站之间的几何距离,并使用钟差进行修正,得到伪距值ρ;计算每颗共视卫星的码nco频率控制字的码相位,码相位中包含整数码相位和小数码相位,取其小数部分并根据计算码nco累加器初始值codencoac1,其中,n为码nco频率控制字中相位累加器的位宽;在本发明实施例一中,载波、码相位累加器的字长均设置为36位;计算码nco频率控制字kbias_code如下式所示:其中,ifcode表示码中频频率,fclk为系统时钟频率;在计算出了码nco频率控制字的基础上,加上码nco频率控制字修正量得到当前时刻的码nco频率控制字,如下式所示:kcode=kbias_code+kdelta_code其中,kdelta_code为码nco频率控制字修正量,其根据下式计算得到:δρ=ρ-ρ0;其中,ρ0表示上一个时刻的伪距值,ρ表示当前时刻的伪距,δρ为伪距变化率,λcode表示c/a码的波长;更新码nco累加器初始值codencoac1得到码nco累加值codencoac2,codencoac2=codencoac1+kcode。所述计算每颗共视卫星的载波nco频率控制字具体可以包括以下步骤:计算载波相位其中,λ为载波波长,的单位为弧度,ρ为伪距值,该载波相位包含载波整周数和载波小数周,然后对2π进行求余,得到不足2π的载波小数部分并根据计算载波nco累加器初始值carncoac1,其中,n为载波nco相位累加器的位宽。在本发明实施例一中,载波、码相位累加器的字长均设置为36位;假设卫星和卫星导航接收机不存在相对运动,即不存在多普勒效应,则载波nco频率控制字kbias的计算公式为:其中,if为设定的gps共视中频信号的载波中心频率,fclk为系统时钟频率,n为nco中相位累加器的位宽,从上式可看出,载波中心频率、系统时钟频率为软件中设定的固定值,故由此得到的载波nco频率控制字也为一个固定值,故实际的载波nco频率控制字为载波nco频率控制字与载波nco频率控制字修正量之和,如下式所示:kcarr=kbias+kdelta,kdelta是载波nco频率控制字修正量,其根据下式计算得到:δρ=ρ-ρ0,其中,ρ0表示上一个时刻的伪距值,ρ表示当前时刻的伪距,δρ为伪距变化率,λ表示载波波长;更新载波nco累加器初始值carncoac1得到载波nco累加值carncoac2,carncoac2=carncoac1+kcarr;计算当前时刻的本地载波相位θ,s1063、依次对每颗共视卫星的gps共视卫星导航电文进行扩频调制和载波调制生成gps共视卫星中频信号。s1063具体包括以下步骤:当码nco累加值codencoac2≥2n时,得到码nco频率控制字累加溢出值codencoac3,codencoac3=codencoac2-2n;将码nco频率控制字累加溢出值codencoac3进行累加并查找c/a码表得到对应的c/a码片值;将c/a码与相应的gps共视卫星导航电文进行异或相加运算,完成扩频调制;本地载波相位θ的余弦乘以幅度模拟生成本地载波;gps共视卫星导航电文调制c/a码后的组合码再对本地载波进行bpsk调制,生成每颗共视卫星对应的gps共视卫星中频信号。在本发明实施例一中,gps共视信号模拟生成方法可以是基于matlab平台来实现的。实施例二:本发明实施例二还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例一提供的gps共视信号模拟生成方法的步骤。实施例三:图6示出了本发明实施例三提供的gps共视信号模拟器的具体结构框图,一种gps共视信号模拟器100,包括:一个或多个处理器101;存储器102;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器102中,并且被配置成由所述一个或多个处理器101执行,所述处理器101执行所述计算机程序时实现如本发明实施例一提供的gps共视信号模拟生成方法的步骤。在本发明实施例中,由于接收星历参数和用户设置的参数信息后,计算所有卫星的位置,确定所有对于两观测站可见的卫星,将对于两观测站同时可见的卫星作为两观测站的共视卫星,针对每颗共视卫星生成相应的gps共视信号导航电文,依次对每颗共视卫星的gps共视卫星导航电文进行扩频调制和载波调制生成gps共视卫星中频信号。因此实现了模拟gps共视信号,方法简单,可扩展性好。模拟的gps共视信号为实验系统的研究、用户端设备测试和性能评估提供了仿真信号源和相应的分析工具。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1