一种基于自调整卡尔曼滤波的多普勒辅助载波相位平滑伪距方法与流程

文档序号:12115125阅读:430来源:国知局
一种基于自调整卡尔曼滤波的多普勒辅助载波相位平滑伪距方法与流程
本发明涉及全球卫星导航系统伪距单点定位领域,特别是一种基于自调整卡尔曼滤波的多普勒辅助载波相位平滑伪距方法。
背景技术
:从全球导航定位系统(GlobalNavigationSatelliteSystem,GNSS)接收机的基带信号中可以获得码伪距、载波相位以及多普勒频移观测量。码伪距在过去一直被视为GNSS接收机最主要的基本距离测量值,在同一时刻利用至少4颗不同可见卫星的伪距测量值,接收机就可以实现三维绝对定位、测速和定时;但由于其包含钟差、电离层延时等各种误差,观测噪声大,多路径干扰对其影响也更大,精度为m级。作为另一个基本距离测量值,载波相位测量值非常平滑,精度很高,达到cm甚至mm级,但会受到周跳的影响,存在整周模糊度问题,它与码伪距具有明显区别,又呈现互补特性。而多普勒频移为载波相位的时间差分值,精度较高,可达到cm级,且不存在周跳。已有技术提出基于Hatch滤波的载波相位平滑码伪距方法,即用两次测量的载波相位差计算两次测量之间的伪距变化量,再用这个伪距变化量去平滑测量的码伪距。虽然该方法在工程上被广泛应用,但其存在如下问题:一、如果平滑时使用的码伪距初始值误差较大,那么此后的平滑过程中将很难消除此误差,这样即使码伪距得到了平滑,精度也不高;二、在“城市峡谷”等复杂的接收环境中,信号容易被遮挡,GNSS接收机载波跟踪环路容易产生信号失锁和相位失周等现象,导致载波相位测量值发生较大变化,从而使该方法的应用受到限制。三、理论上随着观测历元的增加和平滑过程的推进,平滑后的码伪距精度逐渐接近载波相位的精度,但是由于电离层对码伪距和载波相位的影响是反向的,当平滑处理周期数逐渐增大或电离层发生扰动时,会发生单频伪距平滑值发散的情况。虽然现有技术提出了采用卡尔曼滤波器作为载波相位平滑码伪距的工具,但传统的卡尔曼滤波器的量测噪声方差为常值,在动态GNSS定位中,不能很好地适合环境的变化,从而也达不到理想的平滑效果。技术实现要素:本发明的目的是针对现有技术的不足,提供一种基于自调整卡尔曼滤波的多普勒辅助载波相位平滑伪距方法。本发明解决其技术问题所采用的技术方案,对于每一颗卫星,均包括以下步骤:(1)设定一个窗口长度N,利用求平均的方法,计算第N-1个历元tN-1的码伪距估计值(1-1)接收机第一次接收到码伪距测量值ρ的历元时刻记作t0;当到达第N-1个历元tN-1时,通过t0至tN-1的多普勒频移测量值对相应时刻的码伪距测量值ρ进行修正;对于t0至tN-1,依次依照下式计算出tN-1的码伪距估计值其中:ti为第i个历元,ρ(ti)为第i个历元的码伪距测量值,D(ti)为多普勒频移测量值,λ为卫星信号的载波波长;(1-2)用下式对进行求平均,可以得到利用多普勒频移推算的tN-1的码伪距值(2)建立平滑码伪距的卡尔曼滤波模型:状态方程:观测方程:其中:估计参数为k时刻平滑后的码伪距,作为状态向量;观测值yk为k时刻的码伪距测量值,y作为观测向量;所述k时刻自滤波开始起算,k作为第k步滤波运算;控制输入uk,k-1由k-1时刻至k时刻的载波相位变化量或多普勒频移测量值决定,u作为输入向量;w、v为满足正态分布的白噪声,均值为0,wk-1为k-1时刻的过程噪声向量,方差记为Qk-1;vk为k时刻的观测噪声向量,方差记为Rk;A为由k-1时刻至k时刻的状态转移矩阵;B为k-1时刻输入向量与状态向量之间的关系矩阵;C为k时刻观测向量与状态向量之间的关系矩阵;为滤波初始时刻的码伪距,即步骤(1)中的码伪距值的初始方差P0=R0;A、B、C均为常系数;上述向量及矩阵的维数均为1;优选的,A、B、C的取值均为1。(3)卡尔曼滤波过程:在tN-1时刻开始执行卡尔曼滤波,包括以下两个过程:①预测过程其中,为的一步预测值,P~为的误差的协方差,P为的误差的协方差。本发明方案中,上式可简化为:②校正过程其中:K为权重值。本发明方案中,上式可简化为:优选的,上述技术方案的步骤(2)中:控制输入uk,k-1的取值方法如下:利用多普勒频移进行周跳检测,即若则认为该时刻发生周跳,其中:φk为第k时刻的载波相位测量值,Dk为第k时刻的多普勒频移测量值,Δt为相邻两个时刻的时间间隔,CSThrd为设定的检测周跳的阈值。若检测到该时刻发生周跳,此时使用多普勒频移来对码伪距进行平滑,即若检测到该时刻未发生周跳,将使用测距精度最高的载波相位来对码伪距进行平滑,即uk,k-1=λ(φk-φk-1)优选的,考虑到载波相位和多普勒频移的测距精度的不同,根据周跳检测的结果,过程噪声方差Qk-1设定方法如下:优选的,考虑到多路径干扰对码伪距的精度影响更大,而接收机接收卫星信号的环境从良好到存在多路径干扰的过程中,卫星信噪比处于急剧的下降状态;且受到多路径干扰的过程中,卫星信噪比处于起伏波动的状态。因此,本方案利用卫星信噪比下降率DropRate(SNR)以及信噪比标准差Std(SNR),来判断多路径干扰的存在,k时刻的DropRate(SNR)和Std(SNR)的计算方式分别如下:其中,(SNR)k为k时刻的信噪比测量值,单位dB;M为统计卫星信噪比下降率使用的连续时刻个数;其中,M′为统计卫星信噪比标准差使用的连续时刻个数,μ为M′个时刻内所有信噪比测量值的平均值;则k时刻的卡尔曼滤波器观测噪声的方差Rk的取值方法如下:Rk=RBasic×{(1+k1×max(DropRateThrd-DropRate(SNR)k,0)+k2×max(Std(SNR)k-StdThrd,0))}其中,RBasic=(1)2为码伪距的噪声方差的常规值;k1、k2分别为设定的卫星信噪比下降率和标准差的权重系数;DropRateThrd为接收机接收卫星信号的环境从良好到存在多路径干扰时的卫星信噪比下降率的阈值;StdThrd为受到多路径干扰的过程中,卫星信噪比处于起伏波动的状态时的卫星信噪比标准差的阈值。有益效果:本发明方案解决了码伪距精度低的问题,消除了周跳对载波相位平滑码伪距的影响,减轻了接收机噪声以及多路径干扰的影响,即使在复杂的环境下也能得到精度较高的伪距,从而提高单点定位精度,且不仅限于静态定位场合;另外,由于本发明方案中的卡尔曼滤波算法采用的是标量的运算形式,计算量较小,因此可以应用于实时单点定位。附图说明图1:本发明平滑码伪距算法框图图2:不同算法的伪距精度对比图具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。结合图1,给出本发明一种基于自调整卡尔曼滤波的多普勒辅助载波相位平滑伪距方法的最优实施例:使用自主搭建的基站采集数据进行测试,数据时长为24小时,历元间隔为1s,数据采集的时间为2016年5月17日。对于每一颗卫星,均包括以下步骤:(1)设定一个窗口长度N,利用求平均的方法,计算第N-1个历元tN-1的码伪距估计值下面以某颗卫星为例具体说明计算方法:(1-1)接收机第一次接收到码伪距测量值ρ的历元时刻记作t0;当到达第N-1个历元tN-1时,通过t0至tN-1的多普勒频移测量值对相应时刻的码伪距测量值ρ进行修正;对于t0至tN-1,依次按照下式计算出tN-1的码伪距估计值其中:ti为第i个历元,ρ(ti)为第i个历元的码伪距测量值,D(ti)为第i个历元的多普勒频移测量值,λ为卫星信号的载波波长(本实施例中,仅研究单频观测量,λ为L1载波的波长,即λ=0.1903m);本实施例中,设定窗口长度N=8,对于t0至t7,接收机接收到的码伪距测量值ρ(ti)和多普勒频移测量值D(ti)以及代入上式解得的见表1;表1(1-2)用下式对进行求平均,可以得到利用多普勒频移推算的t7的码伪距值将(1-1)中数值代入上式,即可解得为21757917.464m;(2)建立平滑码伪距的卡尔曼滤波模型:状态方程:观测方程:其中:估计参数为k时刻平滑后的码伪距,作为状态向量;观测值yk为k时刻的码伪距测量值,y作为观测向量;所述k时刻自滤波开始起算,k作为第k步滤波运算;控制输入uk,k-1由k-1时刻至k时刻的载波相位变化量或多普勒频移测量值决定,u作为输入向量;w、v为满足正态分布的白噪声,均值为0,wk-1为k-1时刻的过程噪声向量,方差记为Qk-1;vk为k-1时刻的观测噪声向量,方差记为Rk-1;A为由k-1时刻至k时刻的状态转移矩阵;B为k-1时刻输入向量与状态向量之间的关系矩阵;C为k时刻观测向量与状态向量之间的关系矩阵;为滤波初始时刻的码伪距,即步骤(1)中的本实施例中已求得为21757917.464m;的初始方差P0=R0;本实施例中,上述向量及矩阵的维数均为1;且A、B、C均为常系数,其值均为1;本实施例中,由步骤(1)可知,在t7时刻开始执行卡尔曼滤波;这里以k=100时刻为例,来说明卡尔曼滤波的实现:技术方案的步骤(2)中控制输入u100,99的取值方法如下:利用多普勒频移进行周跳检测,即若则认为该时刻发生周跳,其中:k=100时刻的载波相位测量值φ100为111122494.262周,k=99时刻的载波相位测量值为111119979.727周,k=100时刻的多普勒频移测量值D100为-2511.758Hz,第k=99时刻的多普勒频移测量值D99为-2514.281Hz,两个时刻的时间间隔Δt为1s,设定的检测周跳的阈值CSThrd为1.1周,代入上式,结果如下:依此,判断k=100时刻发生周跳,将使用多普勒频移来对码伪距进行平滑,即本实施例中,考虑到载波相位和多普勒频移的测距精度的不同,根据周跳检测的结果,,过程噪声方差Q99设定方法如下:因此,过程噪声方差Q99设定为(0.05)2;进一步的,本实施例考虑到多路径干扰对码伪距的精度影响更大,而接收机接收卫星信号的环境从良好到存在多路径干扰的过程中,卫星信噪比处于急剧的下降状态;且受到多路径干扰的过程中,卫星信噪比处于起伏波动的状态。因此,本方案利用卫星信噪比下降率DropRate(SNR)以及信噪比标准差Std(SNR),来判断多路径干扰的存在,k时刻的DropRate(SNR)和Std(SNR)的计算方式分别如下:其中,(SNR)k为k时刻的信噪比测量值;M为统计卫星信噪比下降率使用的连续时刻个数(本实施例中为20);其中,M′为统计卫星信噪比标准差使用的连续时刻个数(本实施例中为20),μ为M′个时刻内所有信噪比测量值的平均值;在k=100时刻,计算DropRate(SNR)100和Std(SNR)100所需的信噪比数据见表2;表2:k81828384858687888990(SNR)k/dB50505049494949494848k919293949596979899100(SNR)k/dB48484847474747474747解得DropRate(SNR)100为0.15;Std(SNR)100为1.078dB。在本实施例中,k=100时刻的卡尔曼滤波器观测噪声的方差R100的取值方法如下:R100=RBasic×{(1+k1×max(DropRateThrd-DropRate(SNR)100,0)+k2×max(Std(SNR)100-StdThrd,0))}其中,RBasic=(1)2为码伪距的基本噪声方差;k1、k2分别为设定的卫星信噪比下降率和标准差的权重系数(本实施例中分别为10/5);DropRateThrd为接收机接收卫星信号的环境从良好到存在多路径干扰时的卫星信噪比下降率的阈值(本实施例中为0.1);StdThrd为受到多路径干扰的过程中,卫星信噪比处于起伏波动的状态时的卫星信噪比标准差的阈值(本实施例中为2.0dB);代入DropRate(SNR)100和Std(SNR)100,解得R100=1.5。(3)卡尔曼滤波过程:本实施例中,在t7时刻开始执行卡尔曼滤波,包括以下两个过程:①预测过程其中,为的一步预测值,P~为的误差的协方差,P为的误差的协方差。本发明方案中,上式可简化为:②校正过程其中:K为权重值。本发明方案中,上式可简化为:由此可见,只须提供P0,Q0,R0,u1,0,y1(实施例中已举例给出各参数的获取方法),即可展开上述卡尔曼滤波过程。对本实施例所用数据进行算法仿真,截取其中的30个历元进行比较,结果如图2所示,其中X坐标表示历元数,Y坐标表示两个相邻时刻的伪距差(由于伪距的数值太大,故使用相邻时刻的伪距差进行比较平滑的性能)。可以看出,本发明所提的这种平滑伪距算法是十分有效的,其平滑精度优于传统载波相位平滑伪距算法,且平滑后的伪距精度明显优于波动程度较大的未经过平滑的码伪距;通过本发明方案的这种平滑伪距算法,能够得到精度较高的伪距,从而提高单点定位精度,且不仅限于静态定位场合。以上所述实施例仅表达了本发明最优的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1