当前位置:网站首页>Three methods of GNSS velocity calculation
Three methods of GNSS velocity calculation
2022-06-23 05:11:00 【Running Orange 】
List of articles
Position difference
Position difference is the simplest and crudest method of velocity estimation , We only need to know the position estimation of the two epochs r u ⃗ \vec{r_u} ru And epoch interval t k − t k − 1 t_k-t_{k-1} tk−tk−1 The speed of the receiver can be estimated by the following formula .
v u ⃗ = r u ⃗ ( t k ) − r u ⃗ ( t k − 1 ) t k − t k − 1 \vec{v_u}=\frac{\vec{r_u}(t_k)-\vec{r_u}(t_{k-1})}{t_k-t_{k-1}} vu=tk−tk−1ru(tk)−ru(tk−1)
Here's the picture , We go through P 2 P_2 P2 Point and P 1 P_1 P1 The position of the point can estimate the velocity , But the disadvantages of this method are also obvious ,
- We need to know Two Location information of epochs
- The result of the calculation is not the speed of the facts , But from P 1 P_1 P1 To P 2 P_2 P2 Average speed of , So this speed has a certain lag
- Therefore, this method should consider the dynamics of the carrier and the frequency of position output , Whether it meets the application scenario
- There's another problem , The velocity estimation and position estimation obtained by this method are not independent and uncorrelated

Velocity estimation based on pseudo range rate
Is there a better way ? The Doppler shift received by the receiver can be expressed as the following formula .
D o p p l e r = f r − f t = − f t c [ ( v s − v u ) ∙ r s − r u ∣ ∣ r s − r u ∣ ∣ ] Doppler=f_r-f_t=-\frac{f_t}{c}[(v_s-v_u)\bullet\frac{r_s-r_u}{||r_s-r_u||}] Doppler=fr−ft=−cft[(vs−vu)∙∣∣rs−ru∣∣rs−ru]
among ∙ \bullet ∙ For point by point , We multiply both sides of the above formula by the wavelength of the carrier λ \lambda λ, So the formula above becomes ,
ρ ˙ = ( v s − v u ) ∙ E \dot{\rho}=(v_s-v_u)\bullet E ρ˙=(vs−vu)∙E
among E E E Is the line of sight vector r s − r u ∣ ∣ r s − r u ∣ ∣ \frac{r_s-r_u}{||r_s-r_u||} ∣∣rs−ru∣∣rs−ru, Consider the clock drift of the receiver δ t u ˙ \delta \dot{t_u} δtu˙ And measurement noise $\xi
$, The formula above can be completely written as ,
ρ ˙ = ( v s − v u ) ∙ E + c δ t u ˙ + ξ \dot{\rho}=(v_s-v_u)\bullet E+c \delta \dot{t_u}+\xi ρ˙=(vs−vu)∙E+cδtu˙+ξ
Here we can estimate the receiver speed , Let's look at it briefly rtklib Source code , A key behavior vs[j]=rs[j+3+i*6]-x[j];, From this we can roughly see rtklib This is the method used .
// The following code is located in pntpos.c Medium resdop function
/* LOS (line-of-sight) vector in ECEF */
cosel=cos(azel[1+i*2]);
a[0]=sin(azel[i*2])*cosel;
a[1]=cos(azel[i*2])*cosel;
a[2]=sin(azel[1+i*2]);
matmul("TN",3,1,3,1.0,E,a,0.0,e);
/* satellite velocity relative to receiver in ECEF */
for (j=0;j<3;j++) {
vs[j]=rs[j+3+i*6]-x[j];
}
There is also a problem with this method , Use this line of code vs[j]=rs[j+3+i*6]-x[j]; When calculating the pseudo range rate , Among them x For the unknown , So this method must be the same as solving the position , It needs to be iterated . We can look at the function of solving speed and verify .
// The following code comes from pntpos.c estvel function
for (i=0;i<MAXITR;i++) {
/* range rate residuals (m/s) */
if ((nv=resdop(obs,n,rs,dts,nav,sol->rr,x,azel,vsat,err,v,H))<4) {
break;
}
This for Loop is used to iteratively solve the speed ,MAXITR Is the maximum number of iterations .
Velocity estimation based on Doppler frequency shift
Can we not iterate ? The answer is yes .
First , The Doppler shift of a satellite can be written in the following form ,
d s = ρ s ˙ − v s ∙ E d_s=\dot{\rho_s}-v_s\bullet E ds=ρs˙−vs∙E
We bring it into the pseudo range rate formula ,
d s = − E ∙ v u + c δ t u ˙ + ξ d_s=-E\bullet v_u+c \delta \dot{t_u}+\xi ds=−E∙vu+cδtu˙+ξ
We have obtained the position of the satellite and receiver through position calculation , therefore E E E Known quantity , and d s d_s ds To measure , So let's put the observation equations of each satellite together , Then we get a linear constant equation , It can be solved directly by least square or Kalman filter .
d s 1 = − E 1 ∙ v u + c δ t u ˙ + ξ d s 2 = − E 2 ∙ v u + c δ t u ˙ + ξ . . . d s m = − E m ∙ v u + c δ t u ˙ + ξ d_{s1}=-E_1\bullet v_u+c \delta \dot{t_u}+\xi \\ d_{s2}=-E_2\bullet v_u+c \delta \dot{t_u}+\xi \\ ... \\ d_{sm}=-E_m\bullet v_u+c \delta \dot{t_u}+\xi ds1=−E1∙vu+cδtu˙+ξds2=−E2∙vu+cδtu˙+ξ...dsm=−Em∙vu+cδtu˙+ξ
Use rtklib Solve the velocity
First , We download rtklib The executable of ,
function rtkpost And input ephemeris file and observation file , Click on Execute
Okay , Solution complete !
边栏推荐
- QT elidedtext only works for Chinese conformity, but not for English
- rtklib新版本2.4.3 b34测试对比
- ICER skills 03design compile
- [graph theory] - bipartite graph
- How can mushrooms survive a five-year loss of 4.2 billion yuan?
- 618如何冲出重围?海尔智家:做好用户的数字化
- 985测试工程师被吊打,学历和经验到底谁更重要?
- 经济发展由新技术推动着来
- Cloud native database is in full swing, and the future can be expected
- Dolphin scheduler 2.0.5 task test (spark task) reported an error: container exited with a non zero exit code 1
猜你喜欢

BGP第二次试验

How can mushrooms survive a five-year loss of 4.2 billion yuan?

微信小程序:爱情保证书制作生成

618如何冲出重围?海尔智家:做好用户的数字化

功能测试人员如何做到花一个月的时间进阶自动化软件测试工程师

prometheus、influxdb2.2安装及flume_export下载编译使用
![[OFDM communication] simulation of OFDM multi-user resource allocation based on MATLAB [including Matlab source code 1902]](/img/ad/91a81c7f413484a86adcff8fc84e3b.jpg)
[OFDM communication] simulation of OFDM multi-user resource allocation based on MATLAB [including Matlab source code 1902]

微信小程序:拼图工具箱

Shadertoy基础教学02、画笑脸

微信小程序:微信也可以发闪照了闪照制作生成微信小程序源码下载,自定义闪照时间
随机推荐
Getting started with the shutter AppBar
go学习记录二(Window)
ICer技能02makefile脚本自跑vcs仿真
Thesis reading_ Relation extraction_ CASREL
BGP第二次试验
How can mushrooms survive a five-year loss of 4.2 billion yuan?
经济发展由新技术推动着来
HCIP 作业 BGP总结
GNSS速度解算的三种方法
BGP实验
超越芯片和AI,硬科技资本为什么越来越“硬核”?
Kail infiltration basic literacy basic command
飞桨框架v2.3发布高可复用算子库PHI!重构开发范式,降本增效
微信小程序:老年祝福短视频
Automatically add watermark to screenshot
UI automation positioning edge -xpath actual combat
百度飞桨“万有引力”2022首站落地苏州,全面启动中小企业赋能计划
Notepad++ find replace group replace retain
三层架构实验
微信小程序:拼图工具箱