卫星导航GPS典型例题编程报告_第1页
卫星导航GPS典型例题编程报告_第2页
卫星导航GPS典型例题编程报告_第3页
卫星导航GPS典型例题编程报告_第4页
卫星导航GPS典型例题编程报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GPSMatlab编程报告一、通过星历计算卫星坐标(修正)1、算法流程n=0,a=a3(1)计算GPS卫星运行的平均速度nn=n+An0(2)计算归化时间AtAt=ttoe计算计算观测历元t的平近点角MM=M+nAt0计算偏近点角E利用不动点迭代法求解此方程:E=M+esinE得出E不动点迭代法的迭代公式为:x=p(x)k=0,1,2.k+ik计算卫星的地心矢径r0r=a(1-ecosE)06)计算真近点角ff=2*arctan(fE)tanHi-e2丿)计算升交点角距。o%=+f(8)计算摄动改正项:3,3,3uri3=Csin29+Ccos2申uus0uc03=Csin29+Ccos29r

2、rs0rc03=Csin29+Ccos29iis0ic0(9)计算经过摄动改正的升交点角距9,卫星矢径r,和轨道面倾角i申=申+50ur=r+50ri=i+5+iAt0计算观测历元t的升交点经度o,kO=O+(O-co)At-cotk0ieieoe计算卫星在轨道平面坐标系中的位置(x,y,z)000(x)cosQ0y=rsin申00丿012)计算卫星在地固坐标系下的坐标(x,y,z)%当前时间(接收到卫星信号时间)%按参考时间计算的升交点经度%非GEO卫星%GEO卫星%长半轴平方根%偏心率%近地点角距%参考时间的平近点角%卫星平均运动速度与计算值之差%轨道倾角变化率%升交点经度变化率%纬度幅角

3、的余弦调和改正项的振幅%纬度幅角的正弦调和改正项的振幅%轨道倾角的余弦调和改正项的振幅%轨道倾角的正弦调和改正项的振幅%轨道半径的余弦调和改正项的振幅%轨道半径的正弦调和改正项的振幅(xrx)rx-cosO-y-cosi-sinO00k0ky=R(-Q)R(i)y=x-sinO+y-cosi-cosOzkx00k0keps)%不动点迭代法E0=E;E=M+(Ecc)*sin(E0);tol=abs(E-E0);end%5、计算卫星的地心矢径r0r0=a*(1-Ecc*cos(E);%6、计算真近点角f%f=2*atan(sqrt(1+Ecc)/(1-Ecc)*tan(E/2);f=atan(s

4、qrt(l-Ec2)*sin(E)/(cos(E)-Ecc);%7、计算升交点角距Phi0Phi0=Small_Omega+f;%8、计算摄动改正项:Delta_u,Delta_r,Delta_iDelta_u=C_us*sin(2*Phi0)+C_uc*cos(2*Phi0);Delta_r=C_rs*sin(2*Phi0)+C_rc*cos(2*Phi0);Delta_i=C_is*sin(2*Phi0)+C_ic*cos(2*Phi0);%9、计算经过摄动改正的升交点角距Phi,卫星矢径r,和轨道面倾角IPhi=Phi0+Delta_u;r=r0+Delta_r;I=I0+Delta_i

5、+I_Dot*Delta_t;%10、计算观测历元t的升交点经度OmegakOmegak=Omega0+(Omega_dot-omegae)*Delta_t-omegae*Toe;%11、计算卫星在轨道平面坐标系中的位置x0=r*cos(Phi);y0=r*sin(Phi);z0=0;%12、计算卫星在地固坐标系下的坐标x=x0*cos(Omegak)-y0*cos(I)*sin(Omegak);y=x0*sin(Omegak)+y0*cos(I)*cos(Omegak);z=y0*sin(I)+z0*cos(I);%输出卫星坐标fprintf(修正后)卫星在地固坐标系中的坐标:nX=%.10

6、fY=%.10fZ=%.10fn,x,y,z);%老师给的结果:卫星位置:X=7073881.4181256806Y=23901970.8378255780Z=-32955601.5025106560X=7073881.4181256806;Y=23901970.837825578;Z=-32955601.5025106560;%修正后的,非GEOfprintf(与老师的结果的偏差为:nD_X=%.10fD_Y=%.10fD_Z=%.10fn,x-X,y-Y,z-Z);3、程序运行结果(修正后)卫星在地固坐标系中的坐标:X=7073887.5144389411Y=23901969.049612

7、1940Z=-32955601.4908931700与老师的结果的偏差为:D_X=6.0963132605D_Y=-1.7882133834D_Z=0.0116174854二、已知4颗卫星坐标及测得的伪距(已改正)求接收机位置1、原理及算法不考虑电离层延迟和对流层延迟的因素时,由4颗卫星在地心坐标系中的坐标及对应的伪距即可计算出接收机的位置,按如下四元二次方程组求解四个未知数:R=R+c-At:i0pi=一xX+(y一yX+(z一z)2+cAti=1,2,3,4iii0其中,R为已改正的伪距,R为卫星与接收机之间实际的距离,(x,y,z)分别为4iiii颗卫星的坐标,(x,y,z)为接收机在地

8、心坐标系中的坐标,At为接收机时钟与卫星时钟的0偏差值。采用Newton迭代法求解此四元二次非线性方程组,其算法为:将上述方程组写成如下形式四元方程组:f(x,y,z,A)=0f(x,y,z,A)=0f3(x,y,z,At0)=0f(x,y,z,At)=040记向量X=(x,y,z,At)t,F=(f,f,f,fX,则上式化为:F(X)=001234若给出此方程组的一个初值X(k)=(x(k),y(k),z(k),At(k),将函数F(X)的分量f(X)在0iX(k)处Taylor展开,并取线性部分,则可表示为:F(X人FQ)+人-X(k)再由F(X)=0,可认为:1)FfQ(k)Xx-X(k

9、)=-FQ(k)其中Jacobi矩阵为:药比af2比afT比afj比7ayaf2ayafTayafjayafTaxaf2axafTaxafjax=(X-MaAMaA-MaAMaA则(1)方程组的解为:X(k+1)=X(k)Fk=0,1,2,2)利用(2)式进行迭代运算即可解出满足一定精度要求的近似解。若考虑地球自转影响,需要确定地球的自转角速度O以及发射信号瞬时到接收信号瞬e时经历的时间At,从而计算出卫星信号传输时间内地球自转过的角度Ap=QAt,然后利e用旋转矩阵I将上述计算得到的坐标值(x,y,z)做一旋转变换,得出考虑地球自转影响时接收机位置(x,y,z),其旋转操作如下:rrrxry

10、rr厂cosApsinApsinApcosAp01丿其中卫星信号传输总时间At可由最大伪距除以光速得到:At=max(R)/c,(c为光速)。i2、Matlab源程序functionReceiver_Position%本程序求解已知4颗卫星坐标及测得的伪距时接收机的位置坐标XYZ,需要求解四元二次非线性方程组%利用Newton法求解此非线性方程组clear;tic;c=2.99792458e8;%光速omegae=7.2921151467e-5;%地球自转角速度x0=0;0;0;0;%取初始值tol=1.0e-6;%计算精度x1=x0-inv(df(x0)*fc(x0);%计算第一个迭代值n=

11、1;while(norm(x1-x0)=tol)&nv108)%牛顿迭代计算x0=x1;x1=x0-inv(df(x0)*fc(x0);%迭代公式n=n+1;endT=toc;fprintf(接收机坐标为:X=%.10fY=%.10fZ=%.10fn,x1(1),x1(2),x1(3);%老师的计算结果:x=1725670.7674292959y=-2116958.3717429629z=3129817.7967605507x=1725670.7674292959;y=-2116958.3717429629;z=3129817.7967605507;fprintf(与老师的结果的偏差为:D_X

12、=%.10fD_Y=%.10fD_Z=%.10fn,x1(1)-x,x1(2)-y,x1(3)-z);fprintf(迭代次数为:n=%in,n);fprintf(计算时间为:T=%fsn,T);fprintf(计算精度为:tol=%fnn,tol);%考虑地球自转因素R=2.4310764064e+007,2.2914600784e+007,2.0628809405e+007,2.3422377972e+007;%伪距D_t=max(R)/c;%取最大的伪距除以光速得到卫星信号传输时间D_phi=omegae*D_t;%发射信号瞬时到接收信号瞬时,地球偏转的角度I=cos(D_phi),si

13、n(D_phi),0;-sin(D_phi),cos(D_phi),0;0,0,1;%旋转矩阵xr=I*x1(1);x1(2);x1(3);%旋转后坐标%老师的计算结果:x=1725657.493646610y=-2116969.3298358698z=3129817.4224583404x=1725657.4936462610;y=-2116969.3298358698;z=3129817.4224583404;fprintf(考虑地球自转因素时:n接收机坐标为:X=%.10fY=%.10fZ=%.10fn,xr(l),xr(2),xr(3);fprintf(与老师的结果的偏差为:D_X=%

14、.10fD_Y=%.10fD_Z=%.10fn,xr(1)-x,xr(2)-y,xr(3)-z);end%原方程组functionY=fc(X)c=2.99792458e8;%光速%4颗卫星在WGS-84坐标系中的的X坐标,Y坐标,Z坐标以及接收机测得的对应改正后的伪距x=1.4832308660e+007,-1.5799854050e+007,1.984818910e+006,-1.2480273190e+007;y=2.0466715890e+007,-1.3301129170e+007,-1.1867672960e+007,-2.3382560530e+007;z=7.428634750

15、e+006,1.7133838240e+007,2.3716920130e+007,3.278472680e+006;R=2.4310764064e+007,2.2914600784e+007,2.0628809405e+007,2.3422377972e+007;Y=(x-X(1).A2+(y-X)42+(z-X(3).a2-(R-c*X(4).a2;%原方程组(矩阵表示)end%Jacobi矩阵functionY=df(X)c=2.99792458e8;%光速%4颗卫星在WGS-84坐标系中的的X坐标,Y坐标,Z坐标以及接收机测得的对应改正后的伪距x=1.4832308660e+007,-

16、1.5799854050e+007,1.984818910e+006,-1.2480273190e+007;y=2.0466715890e+007,-1.3301129170e+007,-1.1867672960e+007,-2.3382560530e+007;z=7.428634750e+006,1.7133838240e+007,2.3716920130e+007,3.278472680e+006;R=2.4310764064e+007,2.2914600784e+007,2.0628809405e+007,2.3422377972e+007;%Y=-2*(x-X(1)-2*(y-X(2)

17、-2*(z-X(3)+2*c*(R-c*X(4);Y=-2*(x(1)-X(1),-2*(y(1)-X(2),-2*(z(1)-X(3),2*c*(R(1)-c*X(4);-2*(x(2)-X(1),-2*(y(2)-X(2),-2*(z(2)-X(3),2*c*(R(2)-c*X(4);-2*(x(3)-X(1),-2*(y(3)-X(2),-2*(z(3)-X(3),2*c*(R(3)-c*X(4);-2*(x(4)-X(1),-2*(y(4)-X(2),-2*(z(4)-X(3),2*c*(R(4)-c*X(4);%Jacobi矩阵EndD_Z=-0.0000000033D_Z=0.37430220703、程序运行结果接收机坐标为:X

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论