关于卫星导航接收机经纬度坐标和ECEF坐标的转换公式的几种证明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于卫星导航接收机经纬度坐标和ECEF
坐标的转换公式的证明
扬州市途灵电子科技有限公司王发强
看到一些资料要么有证明,要么没有证明。
而有的证明的我个人觉得都较为繁琐,故我做了一些不同方法的尝试。
说是不同方法但不是严格意义上的不同方法。
另我们还在导航数据解调、校验、卫星轨道计算、接收机定位解算的最小二乘法、卡尔曼滤波法等等方面都做了简化算法,提高计算效率和定位精度。
因为我们认为只有在数学上不断优化算法,然后再从数据结构和计算机算法上在不影响计算精度的情况下来优化我们计算机(单片机)层面的算法,才能大幅度提高计算机(或单片机)计算效率。
我们将会陆续发布我们算法方面试验的情况。
图一、接收机在点P(x,y,z,)的三位示意图,其中AP在地球的法线,且与地球子
R 午线交于点N,与Y轴交于点A,延长线与Z轴交于点B.线段NP=h,线段NB=。
N
注:由于不知如何画图,所以图形都使用复制、修改做的,故不清晰、不好看,望见谅。
图二、为图一沿子午线XP-N 切开而得到的二维示意图。
此时点P 坐标为(x1,z )。
其中x1=22y x +,z 不变。
点N 设为(x0,z0),线段NP=h ,线段||NB||=
N R 方法一: 根据图二的椭圆方程为:
12222=+b z a x z=b ⇒221a x − 则过N 点椭圆切线的斜率为:K1=-2
200
x a a bx − 则线NB 斜率为:K2=-1/K1=0
.02
2x b x a a − 则线NB 的直线方程为:z-z0=K2(x-x0)
则点B 的坐标为(即x=0):=z0-K2x0=z0-
b z 220x a b a − 则点A 的坐标为(即z=0):=
a x 200.2K z x K − 又由椭圆方程知:z0=220x a a
b − 所以得:=a x 0
.0002
22222x b x a a x a a b x a b a −−−−=a a b b a x b ⎟⎠⎞⎜⎝⎛−0.=(1-22a b )x0=.x0 2e
则线段NB’的长度为:||NB’||=z0- =b z 220x a b
a − 则线段OA 的长度为:||OA||==.x0
a x 2e 由图二可得:||NB||=||NB’||/sin ϕ=||BB’||/cos ϕ⇒N R 2
=ϕ22222sin .)0(b x a a − 又 所以=)1(222e a b −=N R 2
ϕ222
2sin )1(0e x a −− 又 =N R 2
ϕ22
cos 0x 所以 ϕ2222sin )1(0e x a −−=ϕ
22
cos 0x ⇒)sin .1(0cos 22222ϕϕe x a −= 所以 =N R 2
ϕ22cos 0x =)sin .1(222ϕe a −⇒N R =ϕ22sin .1e a − 由图二三角形相似可得:'NBB NAH Δ≅Δ⇒||'||||||||||||||BB AH NB NA ==||
'||||||||||BB OA OH − 所以得:||NA||=||'||||||||||BB OA OH −||NB||=0
0.02x x e x −.=() N R 21e −N R 则由图一可得点P 的ECEF 坐标:X=||PB||cos ϕ.cos λ=(+h)cos N R λϕcos Y=||PB||cos ϕ.sin λ=(+h)cos N R λϕsin Z=||PA||sin ϕ=[(1-)+h]sin N R 2e ϕ 方法二:
根据图二的椭圆方程为:
12222=+b z a x z=b ⇒221a x − 则过N 点椭圆切线的斜率为:K1=-2
200
x a a bx − 则线NB 斜率为:K2=-1/K1=0
.02
2x b x a a − 则线NB 的直线方程为:z-z0=K2(x-x0)
则点B 的坐标为(即x=0):=z0-K2x0=z0-
b z 220x a b a − 则点A 的坐标为(即z=0):=
a x 200.2K z x K − 又由椭圆方程知:z0=220x a a
b − 所以得:=a x 0
.0002
22222x b x a a x a a b x a b a −−−−=a a b b a x b ⎟⎠⎞⎜⎝⎛−0.=(1-22a b )x0=.x0 2e 则线段NB’的长度为:||NB’||=z0- =b z 220x a b
a − 则线段OA 的长度为:||OA||==.x0
a x 2e 由图二可得:||'||||'||BB NB =tan ϕ⇒0022x x a
b a −=ϕϕcos sin ⇒ϕ22)222sin .0(b x a a −=ϕ
22cos 0x 又 )1(222e a b −=所以 ϕ2222sin )1(0e x a −−=ϕ
22
cos 0x ⇒)sin .1(0cos 22222ϕϕe x a −= 又 =N R 2
ϕ22
cos 0x 所以 =N R 2
ϕ22cos 0x =)sin .1(222ϕe a −⇒N R =ϕ22sin .1e a − 由图二三角形相似可得:
'NBB NAH Δ≅Δ⇒||'||||||||||||||BB AH NB NA ==||
'||||||||||BB OA OH − 所以得:||NA||=||'||||||||||BB OA OH −||NB||=0
0.02x x e x −.=() N R 21e −N R 则由图一可得点P 的ECEF 坐标:X=||PB||cos ϕ.cos λ=(+h)cos N R λϕcos Y=||PB||cos ϕ.sin λ=(+h)cos N R λϕsin Z=||PA||sin ϕ=[(1-)+h]sin N R 2e ϕ 方法三:
根据图二的椭圆方程为:
12222=+b z a x z=b ⇒221a x − 则过N 点椭圆切线的斜率为:K1=-2
200
x a a bx − 则线NB 斜率为:K2=-1/K1=0
.02
2x b x a a − 则线NB 的直线方程为:z-z0=K2(x-x0)
则点B 的坐标为(即x=0):=z0-K2x0=z0-
b z 220x a b a − 则点A 的坐标为(即z=0):=
a x 200.2K z x K − 又由椭圆方程知:z0=220x a a
b − 所以得:=a x 0
.0002
22222x b x a a x a a b x a b a −−−−=a a b b a x b ⎟⎠⎞⎜⎝⎛−0.=(1-22a b )x0=.x0 2e 则线段NB’的长度为:||NB’||=z0- =b z 220x a b
a − 则线段OA 的长度为:||OA||==.x0
a x 2e 由线NB 斜率又为:K2=tan ϕ⇒0.022x
b x a a −=ϕϕcos sin ⇒ϕ22)222sin .0(b x a a −=ϕ22
cos 0x 又 )1(222e a b −=所以 ϕ2222sin )1(0e x a −−=ϕ
22
cos 0x ⇒)sin .1(0cos 22222ϕϕe x a −= 又 =N R 2
ϕ22
cos 0x 所以 =N R 2
ϕ22cos 0x =)sin .1(222ϕe a −⇒N R =ϕ22sin .1e a − 由图二三角形相似可得:'NBB NAH Δ≅Δ⇒||'||||||||||||||BB AH NB NA ==||
'||||||||||BB OA OH − 所以得:||NA||=||'||||||||||BB OA OH −||NB||=0
0.02x x e x −.=() N R 21e −N R
则由图一可得点P 的ECEF 坐标:X=||PB||cos ϕ.cos λ=(+h)cos N R λϕcos Y=||PB||cos ϕ.sin λ=(+h)cos N R λϕsin Z=||PA||sin ϕ=[(1-)+h]sin N R 2e ϕ。