GPS从入门到放弃(八) — GPS卫星速度解算

  • Post author:
  • Post category:其他




GPS从入门到放弃(八) — GPS卫星速度解算

在阅读这一篇强烈建议先阅读

GPS卫星位置解算

为了计算卫星速度,需要对卫星的位置求导。

计算各参变量对时间的导数如下:





M

˙

k

=

n

\dot{M}_k = n















M







˙















k




















=








n











E

˙

k

=

M

˙

k

1

e

cos

E

k

\dot{E}_k = \frac{\dot{M}_k}{1-e\cos E_k}















E







˙















k




















=



















1









e




cos





E










k







































M







˙















k













































ν

˙

k

=

1

e

2

E

˙

k

1

e

cos

E

k

\dot{\nu}_k = \frac{\sqrt{1-e^2}\dot{E}_k}{1-e\cos E_k}















ν







˙















k




















=



















1









e




cos





E










k






































1










e










2








































E







˙















k













































Φ

˙

k

=

ν

˙

k

\dot{\Phi}_k = \dot{\nu}_k















Φ







˙















k




















=

















ν







˙















k



























δ

u

˙

k

=

2

Φ

˙

k

(

C

u

s

cos

2

Φ

k

C

u

c

sin

2

Φ

k

)

\delta\dot{u}_k = 2\dot{\Phi}_k(C_{us}\cos2\Phi_k – C_{uc}\sin2\Phi_k)






δ











u







˙















k




















=








2











Φ







˙















k


















(



C











u


s





















cos




2



Φ










k






























C











u


c





















sin




2



Φ










k


















)











δ

r

˙

k

=

2

Φ

˙

k

(

C

r

s

cos

2

Φ

k

C

r

c

sin

2

Φ

k

)

\delta\dot{r}_k = 2\dot{\Phi}_k(C_{rs}\cos2\Phi_k – C_{rc}\sin2\Phi_k)






δ











r







˙















k




















=








2











Φ







˙















k


















(



C











r


s





















cos




2



Φ










k






























C











r


c





















sin




2



Φ










k


















)











δ

i

˙

k

=

2

Φ

˙

k

(

C

i

s

cos

2

Φ

k

C

i

c

sin

2

Φ

k

)

\delta\dot{i}_k = 2\dot{\Phi}_k(C_{is}\cos2\Phi_k – C_{ic}\sin2\Phi_k)






δ











i







˙















k




















=








2











Φ







˙















k


















(



C











i


s





















cos




2



Φ










k






























C











i


c





















sin




2



Φ










k


















)











Ω

˙

k

=

Ω

˙

Ω

˙

e

\dot{\Omega}_k = \dot{\Omega} – \dot{\Omega}_e















Ω







˙















k




















=
















Ω







˙



























Ω







˙















e



























i

˙

k

=

i

˙

+

δ

i

˙

k

\dot{i}_k = \dot{i} + \delta\dot{i}_k















i







˙















k




















=
















i







˙









+








δ











i







˙















k



























r

˙

k

=

A

e

E

˙

k

sin

E

k

+

δ

r

˙

k

\dot{r}_k = Ae\dot{E}_k\sin E_k + \delta\dot{r}_k















r







˙















k




















=








A


e











E







˙















k




















sin





E










k




















+








δ











r







˙















k



























u

˙

k

=

Φ

˙

k

+

δ

u

˙

k

\dot{u}_k = \dot{\Phi}_k + \delta\dot{u}_k















u







˙















k




















=

















Φ







˙















k




















+








δ











u







˙















k





















计算卫星在轨道平面内的速度和WGS-84坐标系中的速度如下:





x

˙

k

=

r

˙

k

cos

u

k

r

k

u

˙

k

sin

u

k

\dot{x}’_k = \dot{r}_k\cos u_k – r_k \dot{u}_k \sin u_k















x







˙















k































=

















r







˙















k




















cos





u










k






























r










k



























u







˙















k




















sin





u










k



























y

˙

k

=

r

˙

k

sin

u

k

+

r

k

u

˙

k

cos

u

k

\dot{y}’_k = \dot{r}_k\sin u_k + r_k \dot{u}_k \cos u_k















y







˙
























k































=

















r







˙















k




















sin





u










k




















+









r










k



























u







˙















k




















cos





u










k



























x

˙

k

=

y

k

Ω

˙

k

(

y

˙

k

cos

i

k

z

k

i

˙

k

)

sin

Ω

k

+

x

˙

k

cos

Ω

k

\dot{x}_k = -y_k\dot{\Omega}_k – (\dot{y}’_k\cos i_k – z_k\dot{i}_k)\sin\Omega_k + \dot{x}’_k\cos\Omega_k















x







˙















k




















=












y










k



























Ω







˙















k





























(











y







˙
























k































cos





i










k






























z










k



























i







˙















k


















)




sin





Ω










k




















+

















x







˙















k































cos





Ω










k



























y

˙

k

=

x

k

Ω

˙

k

+

(

y

˙

k

cos

i

k

z

k

i

˙

k

)

cos

Ω

k

+

x

˙

k

sin

Ω

k

\dot{y}_k = x_k\dot{\Omega}_k + (\dot{y}’_k\cos i_k – z_k\dot{i}_k)\cos\Omega_k + \dot{x}’_k\sin\Omega_k















y







˙
























k




















=









x










k



























Ω







˙















k




















+








(











y







˙
























k































cos





i










k






























z










k



























i







˙















k


















)




cos





Ω










k




















+

















x







˙















k































sin





Ω










k



























z

˙

k

=

y

˙

k

sin

i

k

+

y

k

i

˙

k

cos

i

k

\dot{z}_k = \dot{y}’_k\sin i_k + y’_k\dot{i}_k\cos i_k















z







˙















k




















=

















y







˙
























k































sin





i










k




















+









y










k






































i







˙















k




















cos





i










k





















在之前的位置解算的过程中,我们已经求得了很多中间变量,利用以上公式,即可求得卫星速度。

代码如下:

M_k_Dot = n
E_k_Dot = M_k_Dot/(1-e*math.cos(E_k))
nu_k_Dot = math.sqrt(1-e**2)*E_k_Dot/(1-e*math.cos(E_k))
Phi_k_Dot = nu_k_Dot
delta_u_k_Dot = 2*Phi_k_Dot*(Cus*math.cos(2*Phi_k) - Cuc*math.sin(2*Phi_k))
delta_r_k_Dot = 2*Phi_k_Dot*(Crs*math.cos(2*Phi_k) - Crc*math.sin(2*Phi_k))
delta_i_k_Dot = 2*Phi_k_Dot*(Cis*math.cos(2*Phi_k) - Cic*math.sin(2*Phi_k))
Omega_k_Dot = Omega_Dot - Omega_e_Dot
i_k_Dot = i_Dot + delta_i_k_Dot
r_k_Dot = A*e*E_k_Dot*math.sin(E_k) + delta_r_k_Dot
u_k_Dot = Phi_k_Dot + delta_u_k_Dot


x_p_k_Dot = r_k_Dot*math.cos(u_k) - r_k*u_k_Dot*math.sin(u_k)
y_p_k_Dot = r_k_Dot*math.sin(u_k) + r_k*u_k_Dot*math.cos(u_k)

x_k_Dot = -y_k*Omega_k_Dot - (y_p_k_Dot*math.cos(i_k) - z_k*i_k_Dot)*math.sin(Omega_k) + x_p_k_Dot*math.cos(Omega_k)
y_k_Dot = x_k*Omega_k_Dot + (y_p_k_Dot*math.cos(i_k) - z_k*i_k_Dot)*math.cos(Omega_k) + x_p_k_Dot*math.sin(Omega_k)
z_k_Dot = y_p_k_Dot*math.sin(i_k) + y_p_k*i_k_Dot*math.cos(i_k)

print("x_k_Dot={}".format(x_k_Dot))
print("y_k_Dot={}".format(y_k_Dot))
print("z_k_Dot={}".format(z_k_Dot))



GPS卫星位置解算

中的数据进行解算,可以得到卫星在WGS-84坐标系中的速度为:





[

x

˙

k

y

˙

k

z

˙

k

]

=

[

1088.4093298528

2189.0005213284817

1527.1796186285617

]

(

/

)

\left[ \begin{array}{r} \dot{x}_k \\ \dot{y}_k \\ \dot{z}_k \end{array} \right]= \left[ \begin{array}{c} 1088.4093298528 \\ 2189.0005213284817 \\ -1527.1796186285617 \end{array} \right](米/秒)

































































x







˙















k

































y







˙
























k

































z







˙















k













































































=


























































1


0


8


8


.


4


0


9


3


2


9


8


5


2


8








2


1


8


9


.


0


0


0


5


2


1


3


2


8


4


8


1


7











1


5


2


7


.


1


7


9


6


1


8


6


2


8


5


6


1


7





























































(





/





)







版权声明:本文为tyst08原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。