周跳探测之MW组合

 MW组合(Melbourne-Wunnema,MW),该方法使用了双频的伪距和载波相位观测值,通过构建载波相位值的宽巷组合和伪距值的窄巷组合完成对周跳的探测。
这里的宽巷即指由传统的L1、L2双频相位测量经过选取系数对为(1,-1)进行组合获得具体公式如下:

                                                ​​​​​​​        ​​​​​​​        \varphi_w=\varphi_1-\varphi_2 \tag{1}

其中φ即为载波相位观测值。

在宽巷组合下其载波波长λ、频率f、整数未知模糊度N为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​       ​​​​​​​   \lambda_w=\frac{c}{f_1-f_2}\tag{2}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​          f_w=\frac{c}{\lambda_w}\tag{3}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​      N_w=N_1-N_2\tag{4}

而窄巷组合的组合系数为(1,1)其公式为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​\varphi_n=\varphi_1+\varphi_2\tag{5}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         \lambda_n=\frac{c}{f_1+f_2}\tag{6}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         f_n=\frac{c}{\lambda_n}\tag{7}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​     N_n=N_1-N_2\tag{8}

MW组合首先对载波相位进行宽巷组合的计算,对伪距进行窄巷组合的计算,最后使两者相减进而可获得MW组合观测模型:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        L_{MW}=\frac{f_1L_1-f_2L_2}{f_1-f_2}-\frac{f_1p_1+f_2p_2}{f_1+f_2}\tag{9}

其中,L_{MW}为MW组合的组合观测值,L1、L2可根据载波相位观测值求得即L=\lambda\varphi,P为两个频点的伪距观测值。

 根据式(2)式(9)该MW组合模型下的模糊度可由下式求得:

   ​​​​​​​        ​​​​​​​        N_{MW}=\frac{L_{MW}}{\lambda_{MW}}=N_i-N_j=\varphi_i-\varphi_j-\frac{f_i-f_j}{f_i+f_j}(\frac{p_i}{\lambda_i}+\frac{p_j}{\lambda_j})\tag{10}

 其中\lambda_{MW}=\frac{c}{f_i-f_j}为宽巷组合波长

MW组合消除了大部分的误差,如卫星钟和接收机钟差、卫星至接收机的几何距离,同时也消除了绝大部分的电离层延迟,为了更好的消除剩余误差产生的影响对所获得的模糊度值进行历元间的求差,此值即为MW组合的周跳检验量:

\Delta N_{MW}=N_{MW}(t+1)-N_{MW}(t)=\Delta N_i-\Delta N_j\tag{11}

下面是计算\Delta N_{MW}的matlab简要代码

function delta_N_MW=caculNMW(obs)
c=299792458;%光速
f1=1575420000;%L1频率
f2=1227600000;%L2频率
L1=obs.L1*c/f1;
L2=obs.L2*c/f2;
L_MW=(f1*L1-f2*L2)/(f1-f2)-(f1*obs.c1+f2*obs.p2)/(f1+f2);
lambda_MW=c/(f1-f2);
N_MW=L_MW/lambda_MW;
delta_N_MW=N_MW(t+1)-N_MW(t);
end

在获得了MW组合的周跳检验量后需要设置一个阈值来对其进行检验,对此我们将首先计算出前i个历元的平均周跳检验量及其均方根,计算这两个值将采用递推的方法,递推公式如下所示:

\bar{\Delta N_{MW}}(i)=\ \bar{\Delta N_{MW}}(i-1)+\frac{\Delta N_{MW}(i)-\bar\Delta N_{MW}(i-1)}{i}\tag{12}​​​​​​​

\sigma_i^2=\sigma_{i-1}^2+\frac{​{(\Delta N_{MW}(i)-\bar{\Delta N_{MW}}(i-1))}^2-\sigma_{i-1}^2}{i}\tag{13}

下为求解伪代码:

function [junzhi,fangcha] = cacul_fanggen(D_MW)
    junzhi=zeros(size(D_MW,1),1);
    fangcha=zeros(size(D_MW,1),1);
    for i=1:size(D_MW,1)
        if i == 1
            junzhi(1,1)=D_MW(1,1);
        else
        junzhi(i,1)=junzhi(i-1)+(D_MW(i,1)-D_MW(i-1,1))/i;
        end
    end
    for j=1:size(D_MW,1)
        if j == 1
            fangcha(1,1) = 0;
        else
            fangcha(j,1)=fangcha(j-1,1)+((D_MW(j,1)-junzhi(j-1,1))*(D_MW(j,1)-junzhi(j-1,1))-fangcha(j-1,1))/j;
        end
    end

end

根据所求的\bar{\Delta N_{MW}}(i)\sigma_i^2可以对公式(11)所得值进行约束,当式(11)所得值同时满足下述两式时便可认为这一历元含有周跳

\left|\Delta N_{MW}(i)-\bar{\Delta N_{MW}}(i-1)\right|>4\sigma_{i-1}\tag{14}

\left|\Delta N_{MW}(i)-\bar{\Delta N_{MW}}(i+1)\right|\le1\tag{15}

从式(11)可以看出当∆N1=∆N2时即在同一历元上两个频率发生相同的周跳时,MW组合将无法检测出周跳。

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值