发明内容
为了解决上述任一技术问题,本申请实施例提供了一种GNSS中载波相位的平滑处理方法和装置。
为了达到本申请实施例目的,本申请实施例提供了一种GNSS中载波相位的平滑处理装置,包括:
获取模块,用于获取GNSS接收机在当前历元时刻的伪距测量值和载波相位测量值;
第一滤波模块,用于对所述伪距观测值执行平滑次数为n1的载波相位平滑处理,得到第一伪距平滑值;
第二滤波模块,用于对所述伪距观测值执行平滑次数为n2的载波相位平滑处理,得到第二伪距平滑值;
第三滤波模块,选择平滑次数n1、n2中数值大的平滑处理操作得到的伪距值为输入量,并利用预先获取的偏差值对所述输入量进行补偿操作,得到最终的伪距平滑值;
其中,n
1的初始值为1,n
2的初始值为
所述第一伪距平滑值、第二伪距平滑值的初始值均为当前历元时刻的原始伪距值,所述偏差值的初始值为0;
在每个历元时刻执行平滑处理后,n1、n2的数值均加1;当平滑次数n1、n2中一项的数值超过数值T时,则超过数值T的平滑次数的取值变为1,并作为新的初始值;超过数值T的平滑次数对应的伪距平滑值的初始值为当前历元时刻的原始伪距值;在平滑次数n1、n2中一项的数值超过数值T之后至再次出现平滑次数n1、n2中一项的数值超过数值T之前,偏差值取值保持不变,大小为平滑次数超过数值T的历元时刻的取值;
其中,T为平滑窗口的上限值,n1、n2和T为正整数。
在一个示例性实施例中,所述装置还包括:
第一检测模块,用于对当前历元时刻的载波相位测量值进行周跳检测;
第一初始化模块,用于在载波存在周跳时,执行如下控制操作,包括:
平滑次数n1的取值为1,作为新的初始值;
所述第一伪距平滑值、第二伪距平滑值的取值均为当前历元时刻的原始伪距值,所述偏差值的取值为0。
在一个示例性实施例中,所述装置还包括:
计算模块,用于计算在当前历元时刻的原始伪距值和当前历元时刻的第一伪距平滑值之间的第一差值;和/或,计算在当前历元时刻的原始伪距值和当前历元时刻的第二伪距平滑值之间的第二差值;
判断模块,用于判断所述第一差值是否预先设置的第一阈值比较策略,得到第一判断结果;和/或,判断所述第二差值是否预先设置的第二阈值比较策略,得到第二判断结果;
第二初始化模块,用于在第一判断结果为所述第一差值不符合所述第一阈值比较策略时,控制平滑次数n
1变为1,并作为新的初始值;以及,控制所述第一伪距平滑值的取值恢复为当前历元时刻的原始伪距值;和/或,在第二判断结果为所述第二差值不符合所述第二阈值比较策略时,控制平滑次数n
2变为
并作为新的初始值;以及,控制第二伪距平滑值的取值恢复为当前历元时刻的原始伪距值。
在一个示例性实施例中,所述最终的伪距平滑值通过如下方式得到,包括:
其中,
为最终的伪距平滑值,
为平滑次数n
1、n
2中数值大平滑次数对应的伪距平滑值,系数K为随历元数增加而从1逐渐减小的值,
为偏差值。
在一个示例性实施例中,所述偏差值和所述系数K是通过如下方式得到的,包括:
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值同时被触发恢复初始值的操作,偏差值的取值恢复为0;
在当前历元i时刻,仅平滑次数n2和第二伪距平滑值被触发恢复初始值的操作,则偏差值为第二伪距值与第一伪距值的差值;从当前历元i+1时刻到平滑次数n1达到平滑窗口上限值T,K通过如下方式得到:K=(T-n1)/(T-N),其中N为临界点平滑历元数,取值为在历元i时刻平滑次数n1的取值;
在当前历元j时刻,仅平滑次数n1和第一伪距平滑值被触发恢复初始值的操作,则偏差值为第一伪距值与第二伪距值的差值;从当前历元j+1时刻到平滑次数n2达到平滑窗口上限值T,K通过如下方式得到:K=(T-n2)/(T-N),其中N为临界点平滑历元数,取值为在历元j时刻平滑次数n2的取值;
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值均未被触发恢复初始值的操作时,偏差值的取值保持不变,K按照前一历元时刻所使用的计算方式进行获取;
其中i,j均为正整数。
一种GNSS中载波相位的平滑处理方法,包括:
获取GNSS接收机在当前历元时刻的伪距测量值和载波相位测量值;
对所述伪距观测值执行平滑次数为n1的载波相位平滑处理,得到第一伪距平滑值;以及,对所述伪距观测值执行平滑次数为n2的载波相位平滑处理,得到第二伪距平滑值;
选择平滑次数n1、n2中数值大的平滑处理操作得到的伪距值为输入量,并利用预先获取的偏差值对所述输入量进行补偿操作,得到最终的伪距平滑值;
其中,n
1的初始值为1,n
2的初始值为
所述第一伪距平滑值、第二伪距平滑值的初始值均为当前历元时刻的原始伪距值,所述偏差值的初始值为0;
在每个历元时刻执行平滑处理后,n1、n2的数值均加1;当平滑次数n1、n2中一项的数值超过数值T时,则超过数值T的平滑次数的取值变为1,并作为新的初始值;超过数值T的平滑次数对应的伪距平滑值的初始值为当前历元时刻的原始伪距值;在平滑次数n1、n2中一项的数值超过数值T之后至再次出现平滑次数n1、n2中一项的数值超过数值T之前,偏差值取值保持不变,大小为平滑次数超过数值T的历元时刻的取值;
其中,T为平滑窗口的上限值,n1、n2和T为正整数。
在一个示例性实施例中,所述方法还包括:
对当前历元时刻的载波相位测量值进行周跳检测;
在载波存在周跳时,执行如下控制操作,包括:
平滑次数n1的取值为1,作为新的初始值;
所述第一伪距平滑值、第二伪距平滑值的取值均为当前历元时刻的原始伪距值,所述偏差值的取值为0。
在一个示例性实施例中,所述方法还包括:
计算在当前历元时刻的原始伪距值和当前历元时刻的第一伪距平滑值之间的第一差值;和/或,计算在当前历元时刻的原始伪距值和当前历元时刻的第二伪距平滑值之间的第二差值;
判断所述第一差值是否预先设置的第一阈值比较策略,得到第一判断结果;和/或,判断所述第二差值是否预先设置的第二阈值比较策略,得到第二判断结果;
在第一判断结果为所述第一差值不符合所述第一阈值比较策略时,控制平滑次数n
1变为1,并作为新的初始值;以及,控制所述第一伪距平滑值的取值恢复为当前历元时刻的原始伪距值;和/或,在第二判断结果为所述第二差值不符合所述第二阈值比较策略时,控制平滑次数n
2变为
并作为新的初始值;以及,控制第二伪距平滑值的取值恢复为当前历元时刻的原始伪距值。
在一个示例性实施例中,所述最终的伪距平滑值通过如下方式得到,包括:
其中,
为最终的伪距平滑值,
为平滑次数n
1、n
2中数值大平滑次数对应的伪距平滑值,系数K为随历元数增加而从1逐渐减小的值,
为偏差值。
在一个示例性实施例中,所述偏差值和所述系数K是通过如下方式得到的,包括:
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值同时被触发恢复初始值的操作,偏差值的取值恢复为0;
在当前历元i时刻,仅平滑次数n2和第二伪距平滑值被触发恢复初始值的操作,则偏差值为第二伪距值与第一伪距值的差值;从当前历元i+1时刻到平滑次数n1达到平滑窗口上限值T,K通过如下方式得到:K=(T-n1)/(T-N),其中N为临界点平滑历元数,取值为在历元i时刻平滑次数n1的取值;
在当前历元j时刻,仅平滑次数n1和第一伪距平滑值被触发恢复初始值的操作,则偏差值为第一伪距值与第二伪距值的差值;从当前历元j+1时刻到平滑次数n2达到平滑窗口上限值T,K通过如下方式得到:K=(T-n2)/(T-N),其中N为临界点平滑历元数,取值为在历元j时刻平滑次数n2的取值;
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值均未被触发恢复初始值的操作时,偏差值的取值保持不变,K按照前一历元时刻所使用的计算方式进行获取;
其中i,j均为正整数。
本申请实施例提供的方案,在不增大平滑伪距值噪声的同时,输出连续无分段偏移的伪距平滑值,克服单频相位平滑伪距时由于平滑窗口时长限制导致滤波器复位的问题以及双路滤波器选择输出较大平滑次数的平滑伪距值而引起滤波器切换导致信号连续跟踪时输出伪距值不连续问题,为GNSS用户提供更优的伪距测量值及更稳定平滑的伪距定位结果。
本申请实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互任意组合。
在实现本申请过程中,发现人对相关技术进行分析,发现如下问题:
在单频相位平滑伪距时,通过模型补偿电离层延迟;或者采取优化平滑窗口等方法来减小平滑后单频伪距的偏离误差,均无法消除信号连续跟踪情况下伪距平滑值的均值偏移;而滤波器在不同状态时的不同均值偏移会在滤波器状态改变时导致输出的伪距数值不连续分段问题。
卫星与用户之间的几何距离是在时序上连续变化的物理量,这种由于技术局限导致的平滑伪距值不连续分段与实际是不符合的,同时会影响伪距定位精度和GNSS测量值的事后质量检测及分析。尤其基准站接收机要求能长期稳定输出GNSS卫星各频点的连续跟踪测量值,同时对观测值测量精度及多路径误差均有较高的要求,已有的单频相位平滑伪距方法在基准站接收机应用中仍有不足。
针对伪距平滑滤波器在初始化后平滑历元数较少时伪距平滑精度较低的问题,相关技术中提出了一种双路并行载波相位平滑伪距的方法,两路滤波器交替进行初始化并输出其中平滑历元数较大的平滑结果。双路滤波器使平滑伪距值精度整体较均衡,同时能缩短载波周跳对平滑伪距值的影响时间。但是电离层对原始伪距和载波相位的不同作用会在平滑后的伪距中产生一个系统偏差,偏移量是各历元电离层延迟误差变化、平滑时长的函数,随着平滑时间增加该偏差会逐历元积累,在电离层活跃状态时甚至有可能伪距发散导致误差超限。因此,双路平滑滤波器在相同时刻因为平滑时长不同导致两路平滑伪距值之间不一致存在偏差,在两路滤波器切换输出时刻的伪距平滑值与上一时刻的数值会存在明显的不连续分段问题。
相关技术中提出一种通过klobuchar模型补偿电离层延迟变化来减小单频相位平滑伪距的偏离误差的方法。该方法仍然需要考虑滤波器长度及定时复位的问题,并且模型估计电离层延迟误差及其误差变化率的精度有限,一般只能估计出约50%的误差部分,且未考虑实时电离层误差的时变特性及klobuchar电离层模型参数更新的情况。
基于上述分析,本申请实施例提供三路滤波器进行载波相位平滑处理,进一步考虑了单频相位平滑伪距时由于平滑窗口时长限制导致滤波器复位、或双路滤波器选择输出较大平滑次数的平滑伪距值而导致滤波器切换的这两种情况,在连续跟踪信号的情况下,补偿单频相位平滑伪距值在单滤波器复位或双滤波器切换时由于滤波器状态改变导致伪距值不连续分段的问题。在不增大平滑伪距值噪声的同时输出连续无分段偏移的伪距平滑值,为GNSS用户尤其是基准站用户提供更优的伪距测量值及更稳定平滑的伪距定位结果。
下面对本申请实施例提供的解决方案进行说明,包括:
图1为本申请实施例提供的GNSS中载波相位的平滑处理装置的示意图。
如图1所示,所述装置包括:
获取模块,用于获取GNSS接收机在当前历元时刻的伪距测量值和载波相位测量值;
第一滤波模块,用于对所述伪距观测值执行平滑次数为n1的载波相位平滑处理,得到第一伪距平滑值;
第二滤波模块,用于对所述伪距观测值执行平滑次数为n2的载波相位平滑处理,得到第二伪距平滑值;
第三滤波模块,选择平滑次数n1、n2中数值大的平滑处理操作得到的伪距值为输入量,并利用预先获取的偏差值对所述输入量进行补偿操作,得到最终的伪距平滑值;
其中,n
1的初始值为1,n
2的初始值为
所述第一伪距平滑值、第二伪距平滑值的初始值均为当前历元时刻的原始伪距值,所述偏差值的初始值为0;
在每个历元时刻执行平滑处理后,n1、n2的数值均加1;当平滑次数n1、n2中一项的数值超过数值T时,则超过数值T的平滑次数的取值变为1,并作为新的初始值;超过数值T的平滑次数对应的伪距平滑值的初始值为当前历元时刻的原始伪距值;在平滑次数n1、n2中一项的数值超过数值T之后至再次出现平滑次数n1、n2中一项的数值超过数值T之前,偏差值取值保持不变,大小为平滑次数超过数值T的历元时刻的取值;
其中,T为平滑窗口的上限值,n1、n2和T为正整数。
在第一滤波模块、第二滤波模块和第三滤波模块运行时,需要对各滤波模块进行初始化;第一滤波模块和第二滤波模块在首次跟踪或中断后重新跟踪到一颗卫星的第i个频点的原始伪距和载波相位测量值时,将该颗卫星第i个频点的第一滤波模块平滑次数n1初始化为1、第一伪距平滑值初始化为当前历元时刻的原始伪距值,将第二滤波模块平滑次数n2初始化为
第二伪距平滑值初始化为当前历元时刻的原始伪距值,将第三滤波模块伪距平滑值的偏差值初始化为0。
在第一、第二滤波模块的滤波运算中,进一步的,对当前各滤波器的累计平滑次数n1、n2进行判断,若n1、n2中的任一项超过平滑窗口上限值T,则将对应滤波模块复位并初始化,将平滑次数重置为起始值1,将伪距平滑值初始化为当前历元时刻的原始伪距值,同时更新伪距平滑值的偏差值。
在一个示例性实施例中,所述装置还包括:
第一检测模块,用于对当前历元时刻的载波相位测量值进行周跳检测;
第一初始化模块,用于在载波存在周跳时,执行如下控制操作,包括:
平滑次数n1的取值为1,作为新的初始值;
所述第一伪距平滑值、第二伪距平滑值的取值均为当前历元时刻的原始伪距值,所述偏差值的取值为0。
在第一、第二滤波模块的滤波运算中,对当前时刻的载波相位测量值进行周跳检测,若载波存在周跳,则将第一滤波模块、第二滤波模块、第三滤波模块均复位并重新进行首次初始化。
在一个示例性实施例中,所述装置还包括:
计算模块,用于计算在当前历元时刻的原始伪距值和当前历元时刻的第一伪距平滑值之间的第一差值;和/或,计算在当前历元时刻的原始伪距值和当前历元时刻的第二伪距平滑值之间的第二差值;
判断模块,用于判断所述第一差值是否预先设置的第一阈值比较策略,得到第一判断结果;和/或,判断所述第二差值是否预先设置的第二阈值比较策略,得到第二判断结果;
第二初始化模块,用于在第一判断结果为所述第一差值不符合所述第一阈值比较策略时,控制平滑次数n
1变为1,并作为新的初始值;以及,控制所述第一伪距平滑值的取值恢复为当前历元时刻的原始伪距值;和/或,在第二判断结果为所述第二差值不符合所述第二阈值比较策略时,控制平滑次数n
2变为
并作为新的初始值;以及,控制第二伪距平滑值的取值恢复为当前历元时刻的原始伪距值。
在一个示例性实施例中,所述最终的伪距平滑值通过如下方式得到,包括:
其中,
为最终的伪距平滑值,
为平滑次数n
1、n
2中数值大平滑次数对应的伪距平滑值,系数K为随历元数增加而从1逐渐减小的值,
为偏差值。
第三滤波模块对当前时刻第一滤波模块、第二滤波模块的平滑次数n1、n2进行判断,选择平滑次数n1、n2中值较大的滤波模块平滑伪距值为输入量,对输入量补偿上偏差值与系数K的乘积后作为最终伪距平滑值输出;系数K是一个随平滑历元数增加从1逐渐减小的值。
在第三滤波模块的伪距平滑值间的偏差补偿时,需要对该偏差值进行检测及更新。若第一、第二滤波模块在正常连续运行中滤波平滑次数n1、n2中的任一项达到平滑窗口上限值T,则将第三滤波模块的伪距平滑值间的偏差值更新为当前第一、第二滤波模块的平滑伪距值的差值;否则,伪距平滑值间的偏差值保持不变。
在第三滤波模块的伪距平滑值间的偏差补偿时,可以根据平滑历元数计算系数K的值。
在一个示例性实施例中,所述偏差值和所述系数K是通过如下方式得到的,包括:
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值同时被触发恢复初始值的操作,偏差值的取值恢复为0;
在当前历元i时刻,仅平滑次数n2和第二伪距平滑值被触发恢复初始值的操作,则偏差值为第二伪距值与第一伪距值的差值;从当前历元i+1时刻到平滑次数n1达到平滑窗口上限值T,K通过如下方式得到:K=(T-n1)/(T-N),其中N为临界点平滑历元数,取值为在历元i时刻平滑次数n1的取值;
在当前历元j时刻,仅平滑次数n1和第一伪距平滑值被触发恢复初始值的操作,则偏差值为第一伪距值与第二伪距值的差值;从当前历元j+1时刻到平滑次数n2达到平滑窗口上限值T,K通过如下方式得到:K=(T-n2)/(T-N),其中N为临界点平滑历元数,取值为在历元j时刻平滑次数n2的取值;
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值均未被触发恢复初始值的操作时,偏差值的取值保持不变,K按照前一历元时刻所使用的计算方式进行获取;
其中i,j均为正整数。
本申请实施例提供的装置,通过对单频载波相位平滑伪距值在信号连续跟踪时由于滤波器状态改变导致伪距值不连续性进行补偿,有效解决了单频伪距平滑值在单滤波器复位或双滤波器切换时的伪距不连续问题,既利用单频的高精度载波相位测量值有效抑制了伪距噪声和多路径影响,在不增大测量值噪声的同时输出连续无分段偏移的高精度伪距平滑值。
尤其在双路滤波器中,输出平滑次数较大的滤波结果能避免短时间内平滑效果差的伪距值,但不同时刻的初始伪距值和不同的平滑时段会在两路滤波器平滑结果里累积不同程度的系统偏差,不一致的系统偏差之间的差值会表现为滤波器切换前后输出伪距值的不连续分段现象,同时直接影响伪距定位精度和GNSS测量数据的事后质量检测及分析。本发明实例中,以较低成本和简易装置有效解决了目前单频载波平滑伪距中结果由于滤波器状态改变导致信号连续跟踪时输出伪距值不连续问题,为GNSS用户尤其是基准站用户提供精度高且更连续的伪距测量值及更稳定平滑的伪距定位结果。
与现有技术相比,本发明方法GNSS接收机采用高精度载波相位观测值对伪距值进行平滑可以有效改善伪距测量值精度,已有的单频载波平滑伪距的结果存在发散,需要选择合理的平滑时间窗口并在平滑历元数达到窗口上限时复位滤波器;双路滤波器能避免输出平滑历元数少时噪声较大的伪距值,但存在必须定时切换滤波器的问题。滤波器复位或切换时的状态改变会导致输出的伪距值在时序上存在分段不连续问题。
基于Hatch滤波方法对单频载波相位进行单频伪距平滑,第一、第二滤波模块的平滑时间窗口设置为常数T。通过第一、第二滤波模块对相同时刻的GNSS原始伪距执行不同时间长度的滤波运算,通过第三滤波模块对第一、第二滤波模块中平滑时间较长的伪距平滑值进行相应的偏差补偿并输出最终平滑结果,实现在信号连续跟踪时输出精度更高且数值连续的伪距测量值。本发明实例中的GNSS单频三路滤波器载波相位平滑伪距的技术方案,同样适用于单系统或多系统联合的GNSS单频、或多频用户。
下面对本申请实施例提供的装置中的模块进行说明:
第一滤波模块
第一滤波模块结合前一历元第一滤波模块的伪距平滑结果及原始载波相位观测量,对输入的当前历元所述频点的原始伪距和载波相位观测量,计算当前历元的伪距平滑值并将平滑次数n1累加1。其中第一滤波模块的滤波计算表达式如表达式(1);
在表达式(1)中,
为第一滤波模块当前历元i的平滑伪距值;w
1(i)为第一滤波模块原始伪距观测量的权值,ρ(i)为当前历元i时刻的原始伪距值;
为当前历元i与前一历元i-1的载波相位差值。
第一滤波模块在首次执行运算时,需要对第一滤波模块进行首次初始化,将起始平滑次数n1初始化为1,将起始平滑伪距值初始化为原始伪距值;
在连续执行运算时,需要对第一滤波模块的累积平滑次数n1进行判断,若n1超出平滑窗口T值,则将第一滤波模块复位并初始化;
第一滤波模块计算当前时刻原始伪距值和平滑后得到的伪距值的差值,若差值超过预设阈值,则将第一滤波模块复位并初始化。
第一滤波模块会对当前时刻原始载波相位测量值进行周跳检测,由于输入的原始载波相位测量值在第一、第二滤波模块中是相同的,且均用来计算相邻历元间的距离变化量,因此若检测到周跳的存在,则第一滤波模块、第二滤波模块同时复位并重新进行首次初始化;而第三滤波模块的状态与第一滤波模块、第二滤波模块直接相关,此时第三滤波模块也需要同时复位并重新首次初始化。周跳存在时进行重新初始化能消除载波相位周跳对平滑伪距值的错误影响。
本步骤中,权值w1(i)目前已有较多成熟的计算方法,一般将其表示为随累积的平滑次数增加而递减的函数,随着平滑时间累积逐渐减小原始伪距测量值的权重而增大相位观测值的权重,权值w1(i)的最小值受平滑窗口的限制。本步骤中,也可以采用其它的单频载波相位平滑单频伪距的方法,这里并不对此做限定,同样的,平滑时间窗口常数T的选取可以参考已有文献方法或相关行业经验进行确定,合理的T取值既能有效抑制平滑伪距值发散,同时又能获得更优的伪距平滑精度。对载波平滑伪距的已有方法及平滑时间常数的应用属于本领域技术人员的公知技术,这里不再赘述。
第二滤波模块
第二滤波模块,结合前一历元第二滤波模块的伪距平滑结果及原始载波相位观测量,对输入的当前历元所述频点的原始伪距、载波相位观测量,计算当前历元的伪距平滑值并将平滑次数n2累加1。第二滤波单元的滤波计算表示式如表示式(2);
在表达式(2)中,
为第二滤波模块当前历元i时刻的平滑伪距值;w
2(i)为第二滤波模块原始伪距观测量的权值;ρ(i)、
与表达式(1)含义相同。
第二滤波模块在首次执行运算时,需要对第二滤波模块进行首次初始化,将起始平滑次数n
2初始化为
将起始平滑伪距值初始化为原始伪距值;
需要说明的是,第二滤波模块除了首次初始化时平滑历元数n2与n1存在不同外,其它的检测、运算及复位后初始化等步骤均与第一滤波模块相同。
第三滤波模块
第三滤波模块对当前历元时刻第一滤波模块、第二滤波模块的平滑次数n1、n2进行判断,选择n1、n2中值较大的滤波器平滑伪距值为输入量,对输入量补偿上相应的偏差部分后作为最终伪距平滑值输出,计算表达式为表达式(3):
其中:
是当前时刻平滑历元数较大的滤波模块的平滑伪距值,其取值为表达式(4);
是第三滤波模块输出的最终伪距平滑结果;
情况一:第一、第二滤波模块在首次初始化后的平滑时段内(n
2≤T),第二滤波模块n
2比第一滤波模块n
1大T/2;两路滤波模块平滑伪距值的总偏差值
为0,第三滤波模块输出的最终伪距平滑值
为
即为第二滤波模块的伪距平滑结果;
情况二:n
1≤n
2且第二滤波模块平滑历元计数n
2累加达到平滑窗口T时,利用当前时刻的第一、第二滤波模块的伪距平滑值更新两个滤波模块间伪距值的总偏差值
计算为表达式(5);
当前历元i时刻,第一滤波模块平滑历元计数为n1,则临界点平滑历元数记为N=n1。
则下一个历元i+1时刻,第二滤波模块平滑历元计数n
2超过平滑窗口T,将第二滤波模块进行复位后初始化:平滑次数n
2初始化为1,第二滤波模块平滑伪距值为i+1时刻的原始伪距值;第一滤波模块正常执行滤波运算且n
1>n
2。即在i+1时刻,
的取值由上一时刻i的
切换为
其中t表示时刻自变量,此时系数K的计算为表达式(6);
K=(T-n1)/(T-N) (6)
在第一滤波模块的平滑历元数n
1持续累加达到平滑窗口T时段内,第三滤波模块根据表达式(3)、(4)、(5)、(6)计算最终的伪距平滑值
并输出。
情况三:n
1>n
2且第一滤波模块平滑历元计数n
1累加达到平滑窗口T时,利用当前时刻的第一、第二滤波模块的伪距平滑值更新两个滤波模块间伪距值的总偏差值
计算为表达式(7);
当前历元j时刻,第二滤波模块平滑历元计数为n2,则临界点平滑历元数记为N=n2。
则下一个历元j+1时刻,第一滤波模块平滑历元计数n
1超过平滑窗口T,将第一滤波模块进行复位后初始化:平滑历元计数n
1初始化为1,第一滤波模块平滑伪距值为j+1时刻的原始伪距值;第二滤波模块正常执行滤波运算且n
1<n
2。即在j+1时刻,
的取值由上一个j时刻的
切换为
此时系数K的计算为表达式(8);
K=(T-n2)/(T-N) (8)
在第二滤波模块的平滑历元数n
2持续累加达到平滑窗口T时段内,第三滤波模块根据表达式(3)、(4)、(7)、(8)计算最终的伪距平滑值
并输出。
情况四:历元i时刻,第一、第二滤波模块中平滑次数较大的滤波模块,其平滑次数未达到平滑窗口T,但由于非载波周跳的其他原因导致该一个滤波模块复位并初始化,该次复位会导致下一个历元i+1时刻
的取值滤波模块发生变化;该种情况是情况二、情况三的特殊情况,根据平滑历元数n
1、n
2的数值关系采取与情况二、情况三相同的处理方式。
需要说明的是,表达式(6)、(8)计算系数K也可以采用其他与平滑历元数成线性或非线性的关系计算。系数K的作用是将第一、第二滤波模块在一个平滑时段内累计的伪距平滑值的系统偏差的差值在下一个平滑时段内逐历元补偿,使第三滤波模块输出的最终伪距平滑值在数值上连续且平滑。
图2为本申请实施例提供的GNSS中三路滤波器载波相位平滑伪距的示意图。如图2所示,包括测量值获取模块,第一滤波模块,第二滤波模块,第三滤波输出模块,其中:
测量值获取模块,用于获取所述GNSS接收机当前时刻的原始伪距、载波相位测量值;
第一滤波模块,用于所述第一滤波模块对参数进行检测并对当前时刻的原始伪距值进行平滑次数为n1的载波相位平滑处理,获得当前时刻第一滤波模块伪距平滑值;
第二滤波模块,用于所述第二滤波模块对参数进行检测并对当前时刻的原始伪距值进行平滑次数为n2的载波相位平滑处理,获得当前时刻第二滤波模块伪距平滑值;
第三滤波输出模块,用于所述第三滤波输出模块对参数进行检测并选择所述第一、第二滤波模块中平滑次数n1、n2中值较大的滤波模块平滑伪距值为输入量,对输入量补偿上相应的偏差部分后作为最终伪距平滑值输出。
如图2所示,所述装置还包括第一检测模块和第二检测模块,分别用于检测第一滤波模块和第二滤波模块是否需要初始化操作。
本申请实施例提供的装置,针对单频相位平滑伪距时由于平滑窗口时长限制导致滤波器复位的问题,以及双路滤波器选择输出较大平滑次数的平滑伪距值而导致滤波器切换从而改变导致信号连续跟踪时输出伪距值不连续问题,在不增大平滑伪距值噪声的同时,输出连续无分段偏移的伪距平滑值,为GNSS用户提供更优的伪距测量值及更稳定平滑的伪距定位结果。
图3为本申请实施例提供的GNSS载波相位的平滑处理方法的流程图。
如图3所示,所述方法包括:
步骤301、获取GNSS接收机在当前历元时刻的伪距测量值和载波相位测量值;
步骤302、对所述伪距观测值执行平滑次数为n1的载波相位平滑处理,得到第一伪距平滑值;以及,对所述伪距观测值执行平滑次数为n2的载波相位平滑处理,得到第二伪距平滑值;
步骤303、选择平滑次数n1、n2中数值大的平滑处理操作得到的伪距值为输入量,并利用预先获取的偏差值对所述输入量进行补偿操作,得到最终的伪距平滑值;
其中,n
1的初始值为1,n
2的初始值为
所述第一伪距平滑值、第二伪距平滑值的初始值均为当前历元时刻的原始伪距值,所述偏差值的初始值为0;
在每个历元时刻执行平滑处理后,n1、n2的数值均加1;
在每个历元时刻执行平滑处理后,n_1、n_2的数值均加1;当平滑次数n_1、n_2中一项的数值超过数值T时,则超过数值T的平滑次数的取值变为1,并作为新的初始值;超过数值T的平滑次数对应的伪距平滑值的初始值为当前历元时刻的原始伪距值;在平滑次数n1、n2中一项的数值超过数值T之后至再次出现平滑次数n1、n2中一项的数值超过数值T之前,偏差值取值保持不变,大小为平滑次数超过数值T的历元时刻的取值;
其中,T为平滑窗口的上限值,n1、n2和T为正整数。
在一个示例性实施例中,所述方法还包括:
对当前历元时刻的载波相位测量值进行周跳检测;
在载波存在周跳时,执行如下控制操作,包括:
平滑次数n1的取值为1,作为新的初始值;
所述第一伪距平滑值、第二伪距平滑值的取值均为当前历元时刻的原始伪距值,所述偏差值的取值为0。
在一个示例性实施例中,所述方法还包括:
计算在当前历元时刻的原始伪距值和当前历元时刻的第一伪距平滑值之间的第一差值;和/或,计算在当前历元时刻的原始伪距值和当前历元时刻的第二伪距平滑值之间的第二差值;
判断所述第一差值是否预先设置的第一阈值比较策略,得到第一判断结果;和/或,判断所述第二差值是否预先设置的第二阈值比较策略,得到第二判断结果;
在第一判断结果为所述第一差值不符合所述第一阈值比较策略时,控制平滑次数n
1变为1,并作为新的初始值;以及,控制所述第一伪距平滑值的取值恢复为当前历元时刻的原始伪距值;和/或,在第二判断结果为所述第二差值不符合所述第二阈值比较策略时,控制平滑次数n
2变为
并作为新的初始值;以及,控制第二伪距平滑值的取值恢复为当前历元时刻的原始伪距值。
在一个示例性实施例中,所述最终的伪距平滑值通过如下方式得到,包括:
其中,
为最终的伪距平滑值,
为平滑次数n
1、n
2中数值大平滑次数对应的伪距平滑值,系数K为随历元数增加而从1逐渐减小的值,
为偏差值。
在一个示例性实施例中,所述偏差值和所述系数K是通过如下方式得到的,包括:
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值同时被触发恢复初始值的操作,偏差值的取值恢复为0;
在当前历元i时刻,仅平滑次数n2和第二伪距平滑值被触发恢复初始值的操作,则偏差值为第二伪距值与第一伪距值的差值;从当前历元i+1时刻到平滑次数n1达到平滑窗口上限值T,K通过如下方式得到:K=(T-n1)/(T-N),其中N为临界点平滑历元数,取值为在历元i时刻平滑次数n1的取值;
在当前历元j时刻,仅平滑次数n1和第一伪距平滑值被触发恢复初始值的操作,则偏差值为第一伪距值与第二伪距值的差值;从当前历元j+1时刻到平滑次数n2达到平滑窗口上限值T,K通过如下方式得到:K=(T-n2)/(T-N),其中N为临界点平滑历元数,取值为在历元j时刻平滑次数n2的取值;
在平滑次数n1、平滑次数n2、第一伪距平滑值和第二伪距平滑值均未被触发恢复初始值的操作时,偏差值的取值保持不变,K按照前一历元时刻所使用的计算方式进行获取;
其中i,j均为正整数。
本申请实施例提供的方法,针对单频相位平滑伪距时由于平滑窗口时长限制导致滤波器复位的问题,以及双路滤波器选择输出较大平滑次数的平滑伪距值引起滤波器切换导致信号连续跟踪时输出伪距值不连续问题,在不增大平滑伪距值噪声的同时,输出连续无分段偏移的伪距平滑值,为GNSS用户提供更优的伪距测量值及更稳定平滑的伪距定位结果。
本申请实施例提供一种计算机存储介质,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述存储器中的计算机程序以实现如上文任一所述的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。