卫星导航定位算法及程序设计 GPS考题 中国矿业大学.docx
- 文档编号:30527492
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:18
- 大小:159.46KB
卫星导航定位算法及程序设计 GPS考题 中国矿业大学.docx
《卫星导航定位算法及程序设计 GPS考题 中国矿业大学.docx》由会员分享,可在线阅读,更多相关《卫星导航定位算法及程序设计 GPS考题 中国矿业大学.docx(18页珍藏版)》请在冰豆网上搜索。
卫星导航定位算法及程序设计GPS考题中国矿业大学
卫星与导航定位算法与程序设计试卷(考题预测)
姓名:
_______班级:
__________学号:
__________
考题预测
一、解答题(三道题15分)
1、请问MATLAB程序的开发过程主要有那几部分组成(主要流程)。
(第二章)
答案:
是
是
2、请对比说明面向过程与面向对象程序设计优缺点。
(第二章原则上是在B卷)
答案:
面向过程
面向对象
自顶向下
稳定性好
逐步求精
可重用性好
模块化设计
较易开发大型软件产品
结构化编码
可维护性好
3、请列举至少五种以上MATLAB工具箱的名称(回答出五个)。
(第二章)
答案:
、MATLABMainToolbox————MATLAB主工具箱
、ControlSystemToolbox————控制系统工具箱
、CommunicationToolbox————通讯工具箱
、FinancialToolbox————财政金融工具箱
、SystemIdentificationToolbox————系统辨识工具箱
、FuzzyLogicToolbox————模糊逻辑工具箱
、ImageProcessingToolbox————图像处理工具箱
Higher_OrderSpectralAnalysisToolbox————高阶谱分析工具箱
4、GPS高程测量的过程是什么?
(第九章,原则上是在B卷)
答案:
用GPS测量技术间接确定地面点的正常高时,首先直接测得测区内所有GPS点的大地高后,再在测区内选择数量和位置均能满足高程拟合需要的若干GPS点,用水准测量方法测取其正常高,并计算所有GPS点的大地高与正常高之差(高程异常),以此为基础利用平面或曲面拟合的方法进行高程拟合,即可获得测区内其他GPS点的正常高。
说明:
(GPS将h=H-ζ,大地高转换成正常高的关键就是求出GPS点上的高程异常值在利用GPS确定了高精度的大地高后,求正常高的过ζ。
因此,程实际上就是求高程异常的过程。
)
5、请简述NMEA通信协议的基本内容以及NMEA-0183的定义。
(第十章,原则上不考)
答案:
NMEA协议是为了在不同的GPS导航设备中建立统一的RTCM(海事无线电技术委员会)标准,他最初由美国海洋电子协会(NMEA___TheNationalMarineElectronicsAssociation)指定的。
NMEA协议有0180、0182和0183这3种,0183在前两种的基础上增加了GPS、测探仪、罗经方位系统等多种设备的借口和通信协议的定义。
NMEA-0183是一种数据标准,可以解决任意一台的GPS的接口问题。
补充:
1、主要的坐标系定义及其优缺点。
(原则上必须掌握)
2、主要的时间系统的定义。
(原则上必须掌握)
考题预测
二、写出程序运行结果(两道题8分)
1、已知A=[a,b,c;d,e,f;h,I,j],B=[l,m,n;x,y,z;q,o,p],请写出SUM(A),DIAG(A)的值。
(4分)
2、已知A=[a,b,c;d,e,f;h,I,j],B=[l,m,n;x,y,z;q,o,p],请写出A*B,A.*B,A\B,A/B,A.\B,A.^B的值。
(4分)
补充:
很有可能出题的地方时MATLAB的循环结构的考察。
考题预测
三、补充运算结果(两道题10分)
1、某程序的基本运算结果如图所示,请在该窗口的基础上绘制下边函数的图形。
(4分)
代码如下(原图形代码未给出):
x1=0:
1:
10*pi;%表示输入一个等差数列,公差为1,最小是为零,最大值为10*pi
x2=0:
0.01:
10*pi;
y1=sin(x1).*x1;%表示输入x1时,y的取值
y2=sin(x2).*x2;
plot(x1,y1)%二维空间函数
holdon%将原图像保留
subplot(2,2,1);plot(x2,y2)
2、MATLAB语句结构的应用,主要是if,else,elseif,endforend循环语句的运行结果(很有可能是第二章第七节内容)
例如:
n=4;
fori=1:
n
forj=1:
n
ifi==j
a(I,j)=2;
elseifmin([I,j])==1
a(I,j)=1;
else
a(i.j)=0;
end
end
end
disp(‘ThematrixAis’);disp(a)
考题预测
四、代码注释(一道题10分):
时空转换相关章节
Clc清屏
clearall清除工作空间
closeallclosealldeletesallfigureswhosehandlesarenothidden.
enu地平坐标系
orgxyz站心原点空间直角坐标系
xyzWGS84下的空间直角坐标系
llh1980年国家大地坐标系
注意:
在考本题的过程中,极有可能标注坐标系之间的转换函数,不过,万变不离其宗,记住根本就行。
考题预测
五、补充完整代码(一道题12分)伪距定位和DOP值计算章节
function[estusrH]=olspos(prvec,svxyzmat,initpos,tol)
%OLSPOSComputepositionfromsatellitepositionsandpseudorangesviaordinaryleastsquares.
%estusr=OLSPOS(prvec,svxyzmat,initpos,tol)
%INPUTS
%prvec=vectorof'measured'pseudorangesforsatellitesspecifiedinsvxyzmat
%svxyzmat(i,1:
3)=positionofsatelliteiinuserdefinedcartesiancoordinates.
%initpos=optionalargument.Initial'estimate'ofuserstate:
three-dimensionalpositionandclockoffset(inuserdefinedcoordinates).Usedtospeedupiterativesolution.Initialclockoffsetisoptionalwithdefaultvalue=0.tol=optionalargument.Tolerancevalueusedtodetermineconvergenceofiterativesolution.Defaultvalue=1e-3
%OUTPUTS
%estusr(1:
3)=estimateduserx,y,andzcoordinates
%estusr(4)=estimateduserclockoffset
%Note:
allfourelementsofestusrareinthesameunitsasthoseusedinprvec
%%%%%%%%%%%%%%%%%%%%%%考点一%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ifnargin<4,tol=1e-3;end
ifnargin<3,initpos=[0000];end
ifnargin<2,error('insufficientnumberofinputarguments'),end
[m,n]=size(initpos);
ifm>n,estusr=initpos';else,estusr=initpos;end
ifmax(size(estusr))<3,
error('mustdefineatleast3dimensionsinINITPOS')
end
%%%%%%%%%%%%%%%%%%%%%考点一%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ifmax(size(estusr))<4,estusr=[estusr0];end
numvis=max(size(svxyzmat));
beta=[1e91e91e91e9];
maxiter=10;
iter=0;
while((iter
forN=1:
numvis,
pr0=norm(svxyzmat(N,:
)-estusr(1:
3));
y(N,1)=prvec(N)-pr0-estusr(4);
end,
H=hmat(svxyzmat,estusr(1:
3));
beta=H\y;
estusr=estusr+beta';
iter=iter+1;
end
functionh=hmat(svmat,usrpos)
%%%%%%%%%%%%%%%%%%%%%考点二%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N=max(size(svmat));
ifN<4,
error('insufficientnumberofsatellites')
else
tmppos=usrpos;
[m,n]=size(tmppos);
%%%%%%%%%%%%%%%%%%%%%考点二%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ifm>n,tmppos=tmppos';end,
h=ones(N,4);
%linearexpansioninuserposition,theprecisiondependsontheusercoordinates
fori=1:
N,
tmpvec=tmppos-svmat(i,:
);
h(i,1:
3)=tmpvec./norm(tmpvec);
end,
end,
clearallcloseallclcformatlong
mpmat=mpgen(230,3600,1,54321);
usrllh=[39.53*pi/180151.1*pi/1800];%定义用户位置纬度经度高
usrxyz=llh2xyz(usrllh);%转换为wgs84坐标
loadgps;%加载GNSS星座
randn('state',9083247);
TotalVDOP=[];
fort=15000:
16000;%给定历元
[svxyzmat,svid]=gensv(usrxyz,t,15);%产生限定条件下的可见卫星位置及卫星编号
[prvec,adrvec]=genrng(1,usrxyz,svxyzmat,svid,t,[11011],[],mpmat);%模拟伪距及伪速率
[estusr,H]=olspos(prvec,svxyzmat);%startDOPvaluecalculation%空间直角坐标转换大地坐标
lat=usrllh
(1);lon=usrllh
(2);
Rt=[];Rt(1,1)=-sin(lon);
Rt(1,2)=cos(lon);Rt(1,3)=0;
Rt(2,1)=-sin(lat)*cos(lon);
Rt(2,2)=-sin(lat)*sin(lon);
Rt(2,3)=cos(lat);
Rt(3,1)=cos(lat)*cos(lon);
Rt(3,2)=cos(lat)*sin(lon);
Rt(3,3)=sin(lat);
%%%%%%%%%%%%%%%%%%%%%考点三%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算协因素阵
N=inv(H'*H);
N=N(1:
3,1:
3);
N=Rt*N*Rt';
DOP=sqrt(N(1,1)+N(2,2)+N(3,3));
HDOP=sqrt(N(1,1)+N(2,2));
VDOP=sqrt(N(3,3));
TotalVDOP=[TotalVDOPVDOP];
end
%%%%%%%%%%%%%%%%%%%%%考点三%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
skyplot(svxyzmat,svid,usrxyz)
subplot(122)
plot(TotalVDOP,'-*')
title('GPSDOPVALUECALCULATION')
ylabel('TIME(S)')
xlabel('DOPvalue')
disp('userposition')
estusr
%REALVALUEOFBASELINE=[2.000555546637404E-0011.998734104105978E-001
%9.991743662107913E-002]基线向量的真值
%REALVALUEOFAMBIGUITYN=[119231850]整周模糊度固定解真值
Clcclear
loadDATA;
A0=DATA(:
3:
11);%READOBSERVATIONEQUATIONCOEFFICIENT读取观测方程系数
L0=DATA(:
12);%READOBSERVATION读取观测值
P0=1/7*[654321
5108642
4812963
3691284
2468105
123456];
M=90;%EPOCH历元数
P=kron(eye(M),P0);%WEIGHTMATRIX权矩阵
%%%%%%%%%%%%%%%%%%%%%考点四%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%RESULTOFLS
A=A0(1:
6*M,:
);%OBSERVATIONEQUATIONCOEFFICIENTOFLS
L=L0(1:
6*M,:
);%OBSERVATIONOFLS
ATA=A'*P*A;
X=inv(ATA)*A'*P*L;%LS
%%%%%%%%%%%%%%%%%%%%%考点四%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=X(4:
9,:
);%AMBIGUITYFLOATSOLUTION整周模糊度浮点解
Qx=inv(ATA);
Qa=Qx(4:
9,4:
9);%COVARIANCEOFAMBIGUITYFLOATSOLUTION整周模糊度浮点解协方差
[afixed,norm1]=lambda1(a,Qa)%RESOLVEAMBIGUITYFIXEDSOLUTION
%%一次曲面多项式拟合
clc;clear;
ofile1='sznhd.txt';%%读取拟合点数据
[Pointnv1,Obs1,n]=readnhobs(ofile1);%%计算四个角点重心坐标
sumx=0;sumy=0;
x=0;y=0;
%%%%%%%%%%%%%%%%%%%%%考点五%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fori=1:
n
x=x+Obs1(i,1);
y=y+Obs1(i,2);
end
xz=x/n;
yz=y/n;%%X,Y坐标重心化
fori=1:
n
Obs1(i,1)=Obs1(i,1)-xz;
Obs1(i,2)=Obs1(i,2)-yz;
dh1ys(i,1)=Obs1(i,3)-Obs1(i,4);
end
%%%%%%%%%%%%%%%%%%%%%考点五%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%初始化
A0=[1;1;1];
A1=Obs1(1:
3,1);
A2=Obs1(1:
3,2);
fori=1:
3
A3(i,1)=Obs1(i,1)^2;
A4(i,1)=Obs1(i,2)^2;
A5(i,1)=Obs1(i,1)*Obs1(i,2);
End(后面部分省略)
考题预测
六、论述题(四道25分)
1、请简述RINEX文件的基本类型,并简要解释。
(第四章)
2、请简述卫星坐标计算算法的基本步骤。
(第五章)(只说明步骤,不要求公式)
答案:
(1)、计算卫星运行的平均角速度
,
.
(2)、计算归化时间
.其中,
最后将观测时刻转化为GPS时
(3)、观测时刻卫星平近点角的计算
.
(4)、计算偏近点角
.
(5)、真近点角
.
(6)、升交距角的计算
.
(7)、摄动改正项
的计算.
(8)、计算经过摄动改正的升交距角,卫星矢径和轨道倾角
.
(9)、计算卫星在轨道平面坐标系的坐标
.
(10)、观测时刻升交点精度的计算
.
(11)、计算卫星在地心固定坐标系中的直角坐标
其中,
(12)、卫星在协议地球坐标系中的坐标计算
,其中,
3、请简述整周模糊度的基本计算过程。
(第八章)
答案:
第一步:
不考虑整周模糊度α的整数要求而直接求解出满足
的浮点型加权最小二乘解
和
。
第二部:
以整数向量α与浮点数
之间的距离平方为目标函数,搜索整周模糊度α,使这一目标函数达到最小值。
第三步:
将整周模糊度最优整数解
代入
中,从而求解出基线向量的最优整数解
。
4、在GPS高程拟合时,还长对X,Y坐标进行重心化,请给出几种方法,并说明其目的。
(第九章)
答案:
(未知)
5、GPS高程是什么含义?
求各未知点的GPS高程有几种计算方法?
答案:
地面点的高程采用正常高系统。
地面点的正常高Hr是地面点沿铅垂线至似大地水准面的距离。
这种高程是通过水准测量来确定的。
这就有必要找出GPS点的大地高H84与正常高程Hr的关系,并用一定的方法将H84转换为Hr。
如图所示大地高与正常高之间的关系,其中,ζ表示似大地水准面至椭球面间的高差,叫做高程异常。
显然,如果知道了各GPS点的高程异常ζ值,则不难由各GPS点的大地高H84求得各GPS点的正常高Hr值。
如果同时知道了各GPS点的大地高H84和正常高Hr,则可以求得各点的高程异常ζ。
其中,
研究GPS高程的意义有两个方面,一是精确求定GPS点的正常高,一是求定高精度的似大地水准面的方法为GPS水准。
国内外有于GPS水准计算的各种方法主要有:
绘等值线图法;解析内插法(包括曲线内插法、样条函数法和Akima法);曲面拟合法(包括平面拟合法、多项式曲面拟合法、多面函数拟合法,非参数回归曲面拟合法和移动曲面法)等。
6、请简述TEQC的基本功能,并加以解释说明。
(第十二章)
答案:
(1)、格式转换:
可将许多不同厂家的GPS接收机观测(二进制)文件转换为RINEX文件,也可以在RINEX文件的不同格式之间转换;
(2)、数据编辑:
可用于RINEX文件字头块部分,也可进行数据文件的任意切割与合并、观测值类型的删减、卫星系统的选择及特定卫星的禁用;
(3)、质量检查:
可以反映出GPS数据的电离层延迟、多路径影响、接收机周跳、卫星信号信噪比等信息,并实现了可视化;
(4)、单点定位:
粗略计算出点位在WGS-84坐标系中的坐标和在大地坐标系中的坐标
考题预测
七、编写代码(两道题20分)
1、下边是所有时间转化的所有函数,请编写相关程序,完成所有函数的调用。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
closeall;
%Copyofline29intheRINEXfilesite247j.01o
%01949400.000000007G1G4G7G13G20G24G25
%Computesowforfirstepochinobservationfile
%公历是现在国际通用的历法,又称格里历,通称阳历。
“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用;
%阴历在天文学中主要指按月亮的月相周期来安排的历法。
以月球绕行地球一周(以太阳为参照物,实际月球运行超过一周)为一月,即以朔望月作为确定历月的基础,
%....一年为十二个历月的一种历法;
%我们日常使用的是世界时;
formatlong
fprintf('格里历时(GregorianCalendar)转换为儒略时(JulianDay)')
%jd=julday(2001,9,4,9.6667)
jd=julday(1980,1,6,0)%输入儒略日,JD为儒略日,不区分大小写
fprintf('儒略时转换为格里历时')
[y,m,d,h]=GreCal(jd)%儒略时转换为格里高利时
fprintf('儒略时转换为GPS周和周内秒')
[week,sow]=gps_time(jd)%;
fprintf('GPS时转换为儒略时')
JD=week*7+sow/86400+2444244.5
%2444244.5为1980年1月6日子夜对应的儒略日
%%%%%%%%%%%%%%%%%%%%相关说明%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算2011年7月4日0时0秒的年积日
%fprintf('年积日与格里历时间的相互转换');
%计算出当年1月1日的儒略日
%jd1=julday(2011,1,1,0);
%计算出日历时间的儒略日
%jd2=julday(2011,7,4,0)
%两个儒略日求差加1,得出年积日
%DOY=jd2-jd1+1
%年积日加JD1减1得儒略日
%JD2=jd1+DOY-1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2、请根据已给出的应用题,编写相关程序,并实现结果。
事例:
成功总是留给有准备的人!
环境与测绘学院张懂庆预测中国矿业大学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卫星导航定位算法及程序设计 GPS考题 中国矿业大学 卫星 导航 定位 算法 程序设计 GPS 考题 中国 矿业大学
![提示](https://static.bdocx.com/images/bang_tan.gif)