一种gnss接收机、双路载波相位伪距平滑方法
【技术领域】
[0001] 本发明涉及GNSS(Global Navigation Satellite System,全球导航卫星系统)接 收机定位领域,尤其涉及一种GNSS接收、双路载波相位伪距平滑方法。
【背景技术】
[0002] 在GNSS接收机定位领域中,每个GPS卫星均发送它所在的准确位置和发送信号起 始时间,接收机接收到这些信号后,根据卫星发送信号与收到信号的时间间隔来计算接收 机到各个卫星之间的距离,由于测距受大气延迟和接收机时钟与卫星时钟不同步的影响, 这个距离不是几何距离,故称它为"伪距",当计算出接收机与各个卫星之间的伪距后,采 用最小二乘法逐步逼近算法确定出接收机在地球表面所处的位置。通常引入伪距平滑技术 来解决伪距误差大,单点定位精度低的问题。
[0003] 多普勒频移平滑伪距方法中,运用码相位测量值计算出伪距,然后用多普勒频移 信息对伪距进行平滑,从而减小伪距误差,但是这种方法的平滑伪距精度低于载波相位平 滑伪距。
[0004] GNSS的粗码伪距为GNSS针对民用用户公开提供的距离观测量。GNSS的粗码伪距 误差较大,GNSS接收机输出的粗码伪距测量误差在包括多路径时可达Im~3m左右。GNSS 载波相位伪距(转换为距离的载波相位)随机误差仅为毫米级,即使包括了多路径效应,随 机测量误差也小于lcm。通过滤波器进行多历元的载波相位平滑伪距算法,可以压缩粗码伪 距误差,提尚定位精度。
[0005] 但是滤波器运行多历元的载波相位平滑伪距算法时,尤其是滤波器在每次初始化 后运行历元值较小的运算时,存在着运算得到的载波相位平滑伪距对粗码伪距误差的压缩 效果较差,平滑精度较低的问题。
【发明内容】
[0006] 本发明实施例提供一种GNSS接收机、双路载波相位伪距平滑方法,用以解决滤波 器在每次初始化后运行历元值较小的运算时,存在着运算得到的载波相位平滑伪距对粗码 伪距误差的压缩效果较差,平滑精度较低的问题。
[0007] 本发明实施例提供一种全球卫星导航系统GNSS接收机双路载波相位伪距平滑方 法,包括:
[0008] 接收导航卫星发送的信号,得到定位数据;
[0009] 第一滤波器根据所述定位数据执行第kl次载波相位平滑伪距算法,得到第一载 波相位平滑伪距;其中,历元kl为所述第一滤波器初始化后运行的次数;
[0010] 第二滤波器根据所述定位数据执行第k2次载波相位平滑伪距算法,得到第二载 波相位平滑伪距;其中,历元k2为所述第二滤波器初始化后运行的次数;
[0011] 将所述第一载波相位平滑伪距和所述第二载波相位平滑伪距中历元值较大的载 波相位平滑伪距确定为所述定位数据的载波相位平滑伪距;其中,历元kl、历元k2相差 M/2〇
[0012] 本发明实施例还提供了一种全球卫星导航系统GNSS接收机,包括:
[0013] 接收单元301,用于接收导航卫星发送的信号,得到定位数据;
[0014] 第一滤波器302,用于根据定位数据执行第kl次载波相位平滑伪距算法,得到第 一载波相位平滑伪距;其中,历元kl为第一滤波器初始化后运行的次数;
[0015] 第二滤波器303,用于根据定位数据执行第k2次载波相位平滑伪距算法,得到第 二载波相位平滑伪距;其中,历元k2为第二滤波器初始化后运行的次数;
[0016] 确定单元304,用于将第一载波相位平滑伪距和第二载波相位平滑伪距中历元值 较大的载波相位平滑伪距确定为定位数据的载波相位平滑伪距;其中,历元kl、历元k2相 差 M/2。
[0017] 上述实施例中,因第一滤波器的当前历元值与第二滤波器的当前历元值相差f -, 使得第一滤波器在运行历元值较小的上述运算时,第二滤波器在运行历元值至少为¥的 M 运算;或者当第一滤波器在运行历元值至少为V的运算时,第二滤波器在运行历元值较小 L 的运算,而最终输出的载波相位平滑伪距值是第一滤波器和第二滤波器输出的载波相位平 滑伪距中历元值较大的载波相位平滑伪距,这样可以实现接收机每次确定的最终输出的载 波相位平滑伪距值均为历元值大于或等于I时的载波相位平滑伪距,进而保证载波相位 平滑伪距对粗码伪距误差的压缩效果的稳定性。从而避免了现有技术中滤波器在每次初始 化后运行历元值较小的运算时,运算得到的载波相位平滑伪距对粗码伪距误差的压缩效果 较差,平滑精度较低的问题。。
[0018] 本发明的上述方法流程还可以实现第一滤波器和第二滤波器交替进行初始化,在 发生周跳时,可以在较短时间内消除卫星失锁产生的周跳对平滑精度的影响。
【附图说明】
[0019] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0020] 图1为发明实施例提供的一种GNSS接收机双路载波相位伪距平滑方法的方法流 程图;
[0021] 图2为本发明实施例提供的一种GNSS接收机双路载波相位伪距平滑方法的流程 图;
[0022] 图3为本发明实施例提供的一种GNSS接收机的结构示意图。
【具体实施方式】
[0023] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0024] 为了解决现有技术中存在的滤波器在每次初始化后运行历元值较小的运算时,运 算得到的载波相位平滑伪距对粗码伪距误差的压缩效果较差,平滑精度较低的问题。本发 明设计了一种新的双路并行载波相位平滑伪距算法,与现有载波相位平滑伪距算法不同的 是,本发明采用两路载波相位伪距平滑滤波器,并且每一路滤波器均添加初始化机制。每一 路滤波器从历元值k = 1开始运算,k = 1时,滤波器初始化,将输入滤波器的粗码伪距作为 载波相位平滑伪距初始值,之后每平滑一次k值加1。为了避免k的取值范围越小,平滑精 度越低,以及k的取值范围越大,初始化间隔时间越长,一旦发生周跳,需要等待更长的时 间才能进行初始化剔除周跳影响。本发明在"缩短周跳误差的影响时间"和"提高载波相位 平滑伪距的平滑精度"二者之间权衡出一个较为合适的k值,使k的最小取值为1,最大取 值为平滑常数M。当k = M时,将k重置为1,以使滤波器再次进行初始化(M为平滑常数)。 基于上述发明构思,本发明的方案为:采用两路滤波器同时运行载波相位伪距平滑算法,每 一路滤波器均添加初始化机制,且两路滤波器交替进行初始化(两路滤波器当前运行的历 元值相差M/2,可以实现两路滤波器交替进行初始化),将两路滤波器每一次运行输出的平 滑结果中历元值较大的平滑结果确定为最终的平滑结果,这样一方面保证接收机每次输出 的都是历元值M/2以后的平滑结果,进而使得平滑精度整体均衡;另一方面保证发生周跳 时,周跳误差对载波相位平滑伪距的影响时间尽可能缩短。
[0025] 基于上述发明构思,下面将结合附图对本发明作进一步地详细描述。
[0026] 如图1所示的本发明实施例提供一种GNSS接收机双路载波相位伪距平滑方法,该 方法包括:
[0027] 步骤101,接收导航卫星发送的信号,得到定位数据;
[0028] 步骤102A,第一滤波器根据定位数据执行第kl次载波相位平滑伪距算法,得到第 一载波相位平滑伪距;其中,历元kl为第一滤波器初始化后运行的次数;
[0029] 步骤102B,第二滤波器根据定位数据执行第k2次载波相位平滑伪距算法,得到第 二载波相位平滑伪距;其中,历元k2为第二滤波器初始化后运行的次数;
[0030] 步骤103,将第一载波相位平滑伪距和第二载波相位平滑伪距中历元值较大的载 波相位平滑伪距确定为定位数据的载波相位平滑伪距;其中,历元kl、历元k2相差M/2。
[0031] 上述方法流程中,历元或者历元值代表滤波器算法从初始化开始运行的次数,如 初始化时历元值为1。两个滤波器的历元值不同是表示二者算法运行的次数不同。上述两 个滤波器在同一时刻接收到的数据是相同的,只是他们算法运行的次数不同,输出的结果 不同。
[0032] 步骤101中,接收机接收导航卫星发送的信号,根据导航卫星发送信号的数据和 接收信号的数据,得到定位数据,接收机所得到的定位数据包括粗码伪距和载波相位伪距, 接收机实时向第一滤波器和第二滤波器输出得到的粗码伪距和载波相位伪距。
[0033] 步骤102A包括:第一滤波器根据定位数据和上一次运算的平滑结果计算得到历 元kl的载波相位平滑伪距,将历元kl的载波相位平滑伪距标记为第一载波相位平滑伪距。
[0034] 具体的,接收机将当前时刻的定位数据输出到第一滤波器和第二滤波器,对于第 一滤波器来说,获取的当前时刻的定位数据用于进行第kl次运算,即第一滤波器的当前历 元为kl的运算