Page1of14GPS接收机定位解算算法Page2of14RevisionHistoryVersionDateAuthorDescriptionPage3of14AbbreviationGPSGlobalPositionSystemECEFEarthCenterEarthFixPage4of14Directory1引言...................................................................................................................................52GPS定位原理...................................................................................................................63GPS卫星系统...................................................................................................................73.1GPS卫星位置计算...................................................................................................73.1.1卫星位置、速度计算.......................................................................................73.1.2卫星仰角、方位角计算...................................................................................93.2GPS卫星Doppler频移估算......................................................................................94接收机计算.....................................................................................................................114.1定位方程解算.........................................................................................................114.1.1参与定位卫星数为4.......................................................................................114.1.2参与定位卫星数大于4...................................................................................124.2坐标转换.................................................................................................................134.3接收机速度计算.....................................................................................................14Page5of141引言本文主要对GPS接收机位置、速度计算方法进行简单介绍。本文内容包括:GPS定位原理,GPS卫星位置、速度及Doppler频移计算,接收机位置、速度计算。Page6of142GPS定位原理GPS系统假设地球球心固定,采用以地球球心为原点的三维笛卡尔坐标系——ECEF坐标系。每颗GPS卫星不断向外广播自身的精确位置信息——星历信息。接收机接收到完整的星历信息后,便可以计算出GPS卫星在ECEF坐标系中的准确位置。接收机在ECEF坐标系中的位置,,uuuxyz是未知的;由于接收机与GPS系统的时钟不同步,因此又引入一个未知数utb。当接收机跟踪上至少4颗GPS卫星,并正确解调出导航bit,收齐星历,计算出卫星位置,,iiixyz便可以联立4个两点间距离方程,从而解算出接收机位置。utuuuiuiuiicbbbzzyyxx222在上式中,i称为伪距,因为它是接收机与GPS卫星间的真实距离加上钟差调整量所得到的。Page7of143GPS卫星系统3.1GPS卫星位置计算3.1.1卫星位置、速度计算GPS卫星位置是时间的函数,则GPS时间t时刻的卫星位置、速度的计算方法如下(未加特殊说明的参数均为星历参数):1.计算卫星运行的平均角速度(meanmotion)nnnsa3式中,μ为WGS-84坐标系的地球引力常数μ=3.986005×1020m3/s22.GPS卫星星历所给出的轨道参数时相对于参考历元toe的,所以为求得t时的轨道参数,首先应对t做归一化处理。如果t–toe302400,则t=t-604800如果t–toe-302400,则t=t+6048003.计算历元t的平近点角(meananomaly)MM=M+n×∆t4.计算偏近点角(eccentricanomaly)EE=M+es×sinE这是一个超越方程,程序中采用迭代法求解,令E0=M进行迭代。5.计算相对论时间修正项∆trEssFtraesin6.计算卫星时钟修正∆t∆t=af0+af1×(t-toc)+af2×(t-toc)2+∆tr-TGD7.计算修正后的时刻tt=t-∆t8.计算卫星的地心矢径rr=a×(1-e×cosE)9.计算真近点角(trueanomaly)fPage8of14eEEefcossin1tan2110.计算升交点角距(argumentoflatitude)φφ=ω+f11.计算二阶摄动修正项δu、δr、δiδu=Cus×sin(2φ)+Cuc×cos(2φ)δr=Crs×sin(2φ)+Crc×cos(2φ)δi=Cis×sin(2φ)+Cic×cos(2φ)式中,δu、δr、δi分别是升交点角距、卫星的地心矢距、轨道面倾角(inclination)的二阶摄动量。12.计算修正后的升交点角距φ,卫星矢径r,轨道面倾角i)(.0oeittiiirrru13.计算升交点(ascendingnode)和格林威治子午线(Greenwichmeridian)之间的交角Ωertttoeer)(.0式中,Ω为地球转角速率Ω=7.292115×10-5rad/s14.计算卫星在轨道直角坐标系中的坐标0sincos000rzyx15.计算卫星在ECEF坐标系中的坐标000cossin0sincoscoscossinsinsincossincoszyxzyxiiieriererierierer16.计算卫星速度Page9of14卫星坐标对时间求偏导,即可得卫星速度矢量的坐标。3.1.2卫星仰角、方位角计算为计算GPS卫星相对于接收机的仰角、方位角,必须建立站心坐标系:坐标系原点Or位于接收机,zr轴与Or点的地球法线相重合,xr轴垂直于zr轴指向地球的短轴,yr轴垂直于xrOrzr平面,符合左手法则。实际上,这是一个当地北东天坐标系,xr指北,yr指东,zr指天(相对于当地水平面)。1.接收机Or到卫星S的矢量OrS在ECEF坐标系中的表达为:EEEzryrxrzsysxszyx2.从而卫星S在站心坐标系中的坐标为:Erzyxzsysxssinsincoscoscos0cossincossinsincossin式中φ、λ分别是接收机的纬度、经度。3.进而可得卫星相对于接收机的方位角az、仰角el:22212211sintantansrzsrysrxsrzsrysrxsrzelsrxsryaz3.2GPS卫星Doppler频移估算由于GPS卫星相对接收机的运动,产生了Doppler效应,由Doppler效应原理cosvfdopp(3.1)3.1式中doppf:Doppler频移,单位HzPage10of14v:接收机相对于GPS卫星的速度矢量,单位m/s:v与接收机-卫星连线(line-of-sight)的夹角,单位rad:L1载波的波长,单位m在地固坐标系中(例如ECEF坐标系),设接收机-卫星连线为矢量l,则由3.1式可得llvfdoppcos(3.2)根据矢量点积的几何意义,可得llvfdopp(3.3)在地固坐标系中,接收机相对于地心的速度为Rv,卫星相对于地心的速度为Sv,则有SRvvv(3.4)所以llvvfSRdopp)((3.5)软件在估算Doppler频移时,首先根据保存的星历或历书,计算卫星位置及速度矢量,再结合接收机的历史位置、速度,代入3.5式计算即可。Page11of144接收机计算4.1定位方程解算如第2章所述,定位方程如下:utuuuiuiuiicbbbzzyyxx222(4.1)定位方程对时间t求偏导,将方程线性化:uuiuuiuuiuuiuuiuiuiuuiuuiuuiibbzzzyyyxxxbzzyyxxzzzyyyxxx222(4.2)4.1.1参与定位卫星数为4若只有4颗卫星参与定位,则4.2式用矩阵表示如下:uuuubzyx11114342413332312322211312114321(4.3)其中,uiuiiuiuiiuiuiibzzbyybxx321(4.4)从而,432114342413332312322211312111111uuuubzyx(4.5)2222uuuubzyxv(4.6)采用迭代的方法求解方程:1.i是利用导航bit接收、发送时间差得到的伪距。2.选取接收机历史位置作为初始值,如果是首次定位或历史位置失效,则选取坐标原点(地球球心)为初时值,即0000uuuuxyzb。Page12of143.将uuuuxyzb及卫星坐标代入4.1式,计算出'i,'i与i的差即为i。4.将'i、uuuuxyzb及卫星坐标代入4.4式,计算ij。5.将ij、i代入4.5式计算得到uuuuxyzb。6.将uuuuxyzb加上uuuuxyzb,得到新的uuuuxyzb。7