rtklib中載波相位差分算法詳解

1 準備知識

rtklib中相對定位部分使用擴展卡爾曼濾波實現。所以,要真正搞懂rtklib中載波相位差分定位的部分,最好先看一下kalman濾波的知識(當然點開這篇文章,想必對GNSS領域的domain knowledge是已經很熟悉的了_)。不需要很精通,以筆者10幾年斷斷續續卡爾曼濾波相關的工作經驗來看,我覺得卡爾曼濾波最好能理解以下內容

  • 會應用卡爾曼濾波五公式解決基本問題
  • 感性的認識到卡爾曼濾波的本質其實是模型與量測的加權
  • 能知道什麼是時間更新,什麼是量測更新
  • 給定狀態與量測能自己建立模型,即求AA陣和CC陣(有的書上叫FF陣和 HH 陣)

關於最後這一點,其實每個行業或者業務領域需要的domain knowledge千差萬別,有些很簡單比如估計個溫度,電量等等,稍微複雜一點的比如本篇文章中的ekf,當然這個複雜是相對的,其與組合導航領域的數據融合來說真是小巫見大巫了。

2 狀態向量與觀測向量的選取

卡爾曼濾波中第一步也是最重要的便是選擇狀態向量和觀測向量。只要這兩組向量確定出來了,那麼卡爾曼濾波模型就“基本”確定了。

2.1 狀態向量

量測向量xx的定義如下:
x=[rr,vr,B1,B2,B5] x=[\bold{r_r},\bold{v_r},\bold{B_1},\bold{B_2},\bold{B_5}]
其中,rr,vr\bold{r_r},\bold{v_r}分別爲三維位置向量和速度向量Bi\bold{B_i}是m維單差模糊度,m是觀測到的衛星個數。即:
Bi=[Brb,i1,Brb,i2,...,Brb,im] \bold{B_i}=[B_{rb,i}^1,B_{rb,i}^2,...,B_{rb,i}^m]
使用單差模糊度是爲了規避曆元間參考衛星可能改變的問題。

2.2 量測向量

量測向量yy的定義如下:
y=[ϕ1,ϕ2,ϕ5,P1,P2,P5] y=[\bold{\phi_{1},\phi_{2},\phi_{5},P_1,P_2,P_5}]
其中,ϕi,Pi\phi_{i},P_i分別爲雙差載波相位和雙差僞距。

3 定義卡爾曼濾波模型

3.1 時間更新模型

以下爲運動學方程,比較簡單,就是位置是上一時刻的位置加速度乘以時間間隔,速度認爲不變,單差模糊度恆定不變。
rr(k+1)=rr(k)+vr(k)dt\bold{r_r}(k+1) = \bold{r_r}(k)+\bold{v_r}(k)*dt
vr(k+1)=vr(k)\bold{v_r}(k+1) = \bold{v_r}(k)
Bi(k+1)=Bi(k)\bold{B_i}(k+1) = \bold{B_i}(k)

其中dtdt爲曆元間隔,通過以上關係我們很容易得到狀態轉移矩陣AA
A=[I3,3I3,3dt03,3m03,3I3,303,3m03m,303m,3I3m,3m] A=\begin{bmatrix} I_{3,3} & I_{3,3}*dt & 0_{3,3m} \\ 0_{3,3} & I_{3,3} & 0_{3,3m} \\ 0_{3m,3} & 0_{3m,3} & I_{3m,3m} \end{bmatrix}
從上面的結果可以看出A是一個常值矩陣,這個是很不錯的,這不僅省去了線性化的工作。更有意思的是如果量測矩陣也是一個常值矩陣,那麼這個系統就是一個線性定常系統,對於線性定常系統卡爾曼濾波的增益矩陣(通常記爲KK陣)無需在線計算,可以提前計算出來,系統中直接應用即可。

線性定常系統的KK陣最後收斂爲一個常值矩陣,不熟悉卡爾曼濾波的可以通過卡爾曼濾波五公式自己體會。

3.2 量測更新模型

量測模型略複雜,從下邊的式子可以容易看出是非線性的,所以系統並不是線性定常系統。
ϕrbjk=ρrbjk+λ(BrbjBrbk)\phi_{rb}^{jk}=\rho_{rb}^{jk}+\lambda(B_{rb}^j-B_{rb}^k)
Prbjk=ρrbjkP_{rb}^{jk}=\rho_{rb}^{jk}
若記y=h(x)y=h(x),則我們需要求解h的雅克比矩陣。
觀測模型可以通過matlab或者python的sympy推導出來,以下以四顆衛星爲例給出結果。
[rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs2(rxxs2)2+(ryys2)2+(rzzs2)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys2(rxxs2)2+(ryys2)2+(rzzs2)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs2(rxxs2)2+(ryys2)2+(rzzs2)2000l1l10000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs3(rxxs3)2+(ryys3)2+(rzzs3)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys3(rxxs3)2+(ryys3)2+(rzzs3)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs3(rxxs3)2+(ryys3)2+(rzzs3)2000l10l1000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs4(rxxs4)2+(ryys4)2+(rzzs4)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys4(rxxs4)2+(ryys4)2+(rzzs4)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs4(rxxs4)2+(ryys4)2+(rzzs4)2000l100l100000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs2(rxxs2)2+(ryys2)2+(rzzs2)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys2(rxxs2)2+(ryys2)2+(rzzs2)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs2(rxxs2)2+(ryys2)2+(rzzs2)20000000l2l2000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs3(rxxs3)2+(ryys3)2+(rzzs3)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys3(rxxs3)2+(ryys3)2+(rzzs3)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs3(rxxs3)2+(ryys3)2+(rzzs3)20000000l20l200000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs4(rxxs4)2+(ryys4)2+(rzzs4)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys4(rxxs4)2+(ryys4)2+(rzzs4)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs4(rxxs4)2+(ryys4)2+(rzzs4)20000000l200l20000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs2(rxxs2)2+(ryys2)2+(rzzs2)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys2(rxxs2)2+(ryys2)2+(rzzs2)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs2(rxxs2)2+(ryys2)2+(rzzs2)200000000000l5l500rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs3(rxxs3)2+(ryys3)2+(rzzs3)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys3(rxxs3)2+(ryys3)2+(rzzs3)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs3(rxxs3)2+(ryys3)2+(rzzs3)200000000000l50l50rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs4(rxxs4)2+(ryys4)2+(rzzs4)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys4(rxxs4)2+(ryys4)2+(rzzs4)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs4(rxxs4)2+(ryys4)2+(rzzs4)200000000000l500l5rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs2(rxxs2)2+(ryys2)2+(rzzs2)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys2(rxxs2)2+(ryys2)2+(rzzs2)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs2(rxxs2)2+(ryys2)2+(rzzs2)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs3(rxxs3)2+(ryys3)2+(rzzs3)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys3(rxxs3)2+(ryys3)2+(rzzs3)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs3(rxxs3)2+(ryys3)2+(rzzs3)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs4(rxxs4)2+(ryys4)2+(rzzs4)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys4(rxxs4)2+(ryys4)2+(rzzs4)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs4(rxxs4)2+(ryys4)2+(rzzs4)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs2(rxxs2)2+(ryys2)2+(rzzs2)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys2(rxxs2)2+(ryys2)2+(rzzs2)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs2(rxxs2)2+(ryys2)2+(rzzs2)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs3(rxxs3)2+(ryys3)2+(rzzs3)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys3(rxxs3)2+(ryys3)2+(rzzs3)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs3(rxxs3)2+(ryys3)2+(rzzs3)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs4(rxxs4)2+(ryys4)2+(rzzs4)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys4(rxxs4)2+(ryys4)2+(rzzs4)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs4(rxxs4)2+(ryys4)2+(rzzs4)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs2(rxxs2)2+(ryys2)2+(rzzs2)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys2(rxxs2)2+(ryys2)2+(rzzs2)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs2(rxxs2)2+(ryys2)2+(rzzs2)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs3(rxxs3)2+(ryys3)2+(rzzs3)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys3(rxxs3)2+(ryys3)2+(rzzs3)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs3(rxxs3)2+(ryys3)2+(rzzs3)2000000000000000rxxs1(rxxs1)2+(ryys1)2+(rzzs1)2rxxs4(rxxs4)2+(ryys4)2+(rzzs4)2ryys1(rxxs1)2+(ryys1)2+(rzzs1)2ryys4(rxxs4)2+(ryys4)2+(rzzs4)2rzzs1(rxxs1)2+(ryys1)2+(rzzs1)2rzzs4(rxxs4)2+(ryys4)2+(rzzs4)2000000000000000] \left[\begin{array}{cccccccccccccccccc}\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & 0 & 0 & 0 & l_{1} & - l_{1} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & 0 & 0 & 0 & l_{1} & 0 & - l_{1} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & 0 & 0 & 0 & l_{1} & 0 & 0 & - l_{1} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & l_{2} & - l_{2} & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & l_{2} & 0 & - l_{2} & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & l_{2} & 0 & 0 & - l_{2} & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & l_{5} & - l_{5} & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & l_{5} & 0 & - l_{5} & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & l_{5} & 0 & 0 & - l_{5}\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{2}}{\sqrt{\left(rx - xs_{2}\right)^{2} + \left(ry - ys_{2}\right)^{2} + \left(rz - zs_{2}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{3}}{\sqrt{\left(rx - xs_{3}\right)^{2} + \left(ry - ys_{3}\right)^{2} + \left(rz - zs_{3}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\frac{rx - xs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rx - xs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{ry - ys_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{ry - ys_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & \frac{rz - zs_{1}}{\sqrt{\left(rx - xs_{1}\right)^{2} + \left(ry - ys_{1}\right)^{2} + \left(rz - zs_{1}\right)^{2}}} - \frac{rz - zs_{4}}{\sqrt{\left(rx - xs_{4}\right)^{2} + \left(ry - ys_{4}\right)^{2} + \left(rz - zs_{4}\right)^{2}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{array}\right]

可以抽象成以下形式,
C=C=
[DE0λ1D00DE00λ2D0DE000λ5DDE0000DE0000DE0000] \begin{bmatrix} -DE & 0 & \lambda_1D & 0 & 0 \\ -DE & 0 & 0 & \lambda_2D & 0 \\ -DE & 0 & 0 & 0 & \lambda_5D \\ -DE & 0 & 0 & 0 & 0 \\ -DE & 0 & 0 & 0 & 0 \\ -DE & 0 & 0 & 0 & 0 \end{bmatrix}
其中,
D=D=
[110...0101...0...............100...1] \begin{bmatrix} 1 & -1 & 0 & ... & 0 \\ 1 & 0 & -1 & ... & 0 \\ ... & ... & ... & ... & ... \\ 1 & 0 & 0 & ... & -1 \end{bmatrix}

4 小結

到此,想必您對rtkpos的關鍵算法已經“很”瞭解了,當然其中還有很多細節,比如共視星選取,周跳探測,不同動態模型下的F陣或者A陣選取,Q陣和R陣的確定,整週模糊度的確定算法等,這些細節將會接下來結合代碼詳細講解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章