利用MATLAB编制的GPS单点定位程序Word下载.doc
- 文档编号:15501998
- 上传时间:2022-11-02
- 格式:DOC
- 页数:12
- 大小:70KB
利用MATLAB编制的GPS单点定位程序Word下载.doc
《利用MATLAB编制的GPS单点定位程序Word下载.doc》由会员分享,可在线阅读,更多相关《利用MATLAB编制的GPS单点定位程序Word下载.doc(12页珍藏版)》请在冰豆网上搜索。
%.interval;
//intervalsoftwoadjacentepochs
%.SiteName;
//pointname
%.Ant_H;
//antennaheight
%.Ant_E;
//eastoffsetoftheantennacenter
%.Ant_N;
//northoffsetofthenantennacenter
%.TimeOB;
//firstepochtimeinmodifuiedJuliantime
%.TimeOE;
//lastepochtimeinmodifuiedJuliantime
%.SumOType;
//numberoftypesofobservables
%.SumOO[SumOType];
//typeofobservables0-L1,1-L2,2-C1,3-P1,4-P2,5-D1,6-D2,
%ObsODat:
astructurestoresobservablesbyoneandoneepoch
%.TimeOEpp[2];
//recievertimeofepoch
%.SatSum;
//numberofsatellites
%.SatCode[SatSum];
//satellites'
PRN
%.Obs_FreL1[SatSum];
%.Obs_FreL2[SatSum];
%.Obs_RangeC1[SatSum];
%.Obs_RangeP1[SatSum];
%.Obs_RangeP2[SatSum];
globalHeadODat;
globalObsODat;
[fname,fpath]=uigetfile('
*.*'
'
选择一个O文件'
);
O_filename=strcat(fpath,fname);
fid1=fopen(O_filename,'
rt'
if(fid1==-1)
msgbox('
fileinvalide'
warning'
warn'
return;
end
%将文件头数据存入结构体HeadODat中
t=0;
while(t<
100)
s=fgets(fid1);
t=t+1;
L=size(s,2);
ifL<
81
s(L+1:
81)='
'
;
end
instrS=s(61:
81);
%测站点近似坐标
ifstrncmp(instrS,'
APPROXPOSITIONXYZ'
19)
HeadODat.ApproXYZ=zeros(1,3);
HeadODat.ApproXYZ(1,1)=str2num(s(1:
14));
HeadODat.ApproXYZ(1,2)=str2num(s(15:
28));
HeadODat.ApproXYZ(1,3)=str2num(s(29:
42));
%历元间隔;
elseifstrncmp(instrS,'
INTERVAL'
8)
HeadODat.interval=str2num(s(5:
11));
%测站点号
MARKERNAME'
11)
HeadODat.SiteName=s(1:
4)
%天线中心改正
ANTENNA:
DELTAH/E/N'
20)
HeadODat.Ant_H=str2num(s(1:
HeadODat.Ant_E=str2num(s(15:
HeadODat.Ant_N=str2num(s(29:
%第一个历元时间
TIMEOFFIRSTOBS'
17)
year=str2num(s(1:
6));
month=str2num(s(7:
12));
day=str2num(s(13:
18));
hour=str2num(s(19:
24));
minute=str2num(s(25:
30));
second=str2num(s(31:
HeadODat.TimeOB=TimetoJD(year,month,day,hour,minute,second);
%最后一个历元时间
TIMEOFLASTOBS'
16)
HeadODat.TimeOE=TimetoJD(year,month,day,hour,minute,second);
%观测值类型
#/TYPESOFOBSERV'
HeadODat.SumOType=str2num(s(1:
HeadODat.SumOO=ones(1,HeadODat.SumOType)*-1;
fork=1:
HeadODat.SumOType
f=s(k*6+5:
k*6+6);
ifstrcmp(f,'
L1'
)
HeadODat.SumOO(1,k)=0;
elseifstrcmp(f,'
L2'
HeadODat.SumOO(1,k)=1;
C1'
HeadODat.SumOO(1,k)=2;
P1'
HeadODat.SumOO(1,k)=3;
P2'
HeadODat.SumOO(1,k)=4;
D1'
HeadODat.SumOO(1,k)=5;
D2'
HeadODat.SumOO(1,k)=6;
end
end
%头文件结束
ENDOFHEADER'
13)
break;
else
continue;
end
end
%观测数据结构体%观测数据结构
t=0;
while~feof(fid1)
%每个历元的第一行数据,时间和观测到的卫星号
year=str2num(s(1:
3));
month=str2num(s(4:
day=str2num(s(7:
9));
hour=str2num(s(10:
minute=str2num(s(13:
15));
second=str2num(s(16:
26));
%历元时间
ObsODat(t).TimeOEp=[year,month,day,hour,minute,second];
ObsODat(t).TimeOEpp=TimetoJD(year,month,day,hour,minute,second);
%该历元观测到的卫星数
ObsODat(t).SatSum=str2num(s(30:
32));
%该历元观测到的卫星号
ObsODat(t).SatCode=zero
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 MATLAB 编制 GPS 单点 定位 程序