热度 17
2013-9-27 10:24
2197 次阅读|
1 个评论
关于卫星导航接收机经纬度坐标和 ECEF 坐标的转换公式的证明 扬州市途灵电子科技有限公司 王发强 看到一些资料要么有证明,要么没有证明。而有的证明的我个人觉得都较为繁琐,故我做了一些不同方法的尝试。说是不同方法但不是严格意义上的不同方法。另我们还在导航数据解调、校验、卫星轨道计算、接收机定位解算的最小二乘法、卡尔曼滤波法等等方面都做了简化算法,提高计算效率和定位精度。因为我们认为只有在数学上不断优化算法,然后再从数据结构和计算机算法上在不影响计算精度的情况下来优化我们计算机(单片机)层面的算法,才能大幅度提高计算机(或单片机)计算效率。我们将会陆续发布我们算法方面试验的情况。 图一、接收机在点P(x,y,z,)的三位示意图,其中AP在地球的法线,且与地球子 午线交于点N,与Y轴交于点A,延长线与Z轴交于点B.线段NP=h,线段NB= 。 注:由于不知如何画图,所以图形都使用复制、修改做的,故不清晰、不好看,望见谅。 图二、为图一沿子午线XP-N切开而得到的二维示意图。此时点P坐标为(x1,z)。 其中x1= ,z不变。点N设为(x0,z0),线段NP=h,线段||NB||= 方法一: 根据图二的椭圆方程为: z=b 则过N点椭圆切线的斜率为:K1=- 则线NB斜率为:K2=-1/K1= 则线NB的直线方程为:z-z0=K2(x-x0) 则点B的坐标为(即x=0): =z0-K2x0=z0- 则点A的坐标为(即z=0): = 又由椭圆方程知:z0= 所以得: = = =(1- )x0= .x0 则线段NB’的长度为:||NB’||=z0- = 则线段OA的长度为:||OA||= = .x0 由图二可得:||NB||=||NB’||/sin =||BB’||/cos = 又 所以 = 又 = 所以 = 所以 = = = 由图二三角形相似可得: = 所以得:||NA||= ||NB||= . =( ) 则由图一可得点P的ECEF坐标:X=||PB||cos .cos =( +h)cos Y=||PB||cos .sin =( +h)cos Z=||PA||sin = sin 方法二: 根据图二的椭圆方程为: z=b 则过N点椭圆切线的斜率为:K1=- 则线NB斜率为:K2=-1/K1= 则线NB的直线方程为:z-z0=K2(x-x0) 则点B的坐标为(即x=0): =z0-K2x0=z0- 则点A的坐标为(即z=0): = 又由椭圆方程知:z0= 所以得: = = =(1- )x0= .x0 则线段NB’的长度为:||NB’||=z0- = 则线段OA的长度为:||OA||= = .x0 由图二可得: =tan = = 又 所以 = 又 = 所以 = = = 由图二三角形相似可得: = 所以得:||NA||= ||NB||= . =( ) 则由图一可得点P的ECEF坐标:X=||PB||cos .cos =( +h)cos Y=||PB||cos .sin =( +h)cos Z=||PA||sin = sin 方法三: 根据图二的椭圆方程为: z=b 则过N点椭圆切线的斜率为:K1=- 则线NB斜率为:K2=-1/K1= 则线NB的直线方程为:z-z0=K2(x-x0) 则点B的坐标为(即x=0): =z0-K2x0=z0- 则点A的坐标为(即z=0): = 又由椭圆方程知:z0= 所以得: = = =(1- )x0= .x0 则线段NB’的长度为:||NB’||=z0- = 则线段OA的长度为:||OA||= = .x0 由线NB斜率又为:K2=tan = = 又 所以 = 又 = 所以 = = = 由图二三角形相似可得: = 所以得:||NA||= ||NB||= . =( ) 则由图一可得点P的ECEF坐标:X=||PB||cos .cos =( +h)cos Y=||PB||cos .sin =( +h)cos Z=||PA||sin = sin