卫星导航实验报告.docx
- 文档编号:12029670
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:14
- 大小:52.40KB
卫星导航实验报告.docx
《卫星导航实验报告.docx》由会员分享,可在线阅读,更多相关《卫星导航实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
卫星导航实验报告
电子科技大学通信与信息工程学院
本科教学
卫星与导航系列实验
标准实验报告
课程名称:
●定位与导航原理与应用
●定位与导航工程
电子科技大学教务处制表
电子科技大学通信与信息工程学院
标准实验报告
实验名称:
导航信号传输模型仿真
电子科技大学教务处制表
电子科技大学
实验报告
学生姓名:
侯玉皓学号:
2012019030016提交日期:
2015.6.24
得分
项目名称:
实时卫星位置、速度和时间解算(PVT解算)及结果分析
【实验目的】
1)理解实时卫星位置解算在卫星导航解算过程中所起的作用,了解为完成卫星位置解算所需的条件;
2)了解GPS时间、卫星的额定轨道周期的含义,了解星历的构成、周期及应用条件;
3)了解Doppler频移的成因、作用以及根据已知条件预测Doppler频移的方法;
4)了解Doppler频移的变化范围及其与卫星仰角之间的关系;
5)能够根据实验数据编写求解Doppler频移的相关程序。
【实验原理】
实时卫星位置解算在整个导航解算过程中具有举足轻重的作用,通常我们为了获得接收机的地理位置,需要对卫星发射导航电文时的时间及运行速度有所了解,所以可以说,卫星的实时速度和时间是解算卫星实时位置的基础,而卫星的实时位置又是解算接收机三维位置坐标的基础。
可见卫星实时位置、时间及速度在整个定位过程中的重要地位。
一般来说要确定接收机的三维位置,需要同时解算出至少四颗卫星的实时位置。
卫星某一时刻发出的信号可以分为三部分:
载波(L1)、测距码(C\A)、导航电文。
对GPS某颗卫星进行实时位置的解算,需要已知这颗卫星的星历和周内时,这些信息都包含在速率为50bps的导航电文中(图3.1中的数据码)。
导航电文通过测距码(C/A码)进行扩频,然后用扩频的信号去调制频率为L1的正弦波载波,然后卫星将调制后的载波信号播发出去。
其模型可以用如下公式表示:
(3.1)
其中
和
是调制幅度,
是精码和粗码,它们都是对数据码
的扩频码,数据码经过扩频后分为两路进行调制。
在本地接收机收到卫星信号后,通过剥离载波L1,还原其扩频之后的信号,然后按照导航电文的格式最终将数据码编译成导航电文(数据码)。
它可分为5个部分:
●遥测字导航电文前导+授权用户信息
●交接字由于P码数据长,不易捕获,需要C\A码的辅助来捕获
●数据块1钟修正参数、期龄、星期编号等
●数据块2星历(在子帧2、3中),用于计算卫星位置
●数据块3历书(子帧4、5中)提供卫星布局,健康状况等信息
本实验的一个重点在于通过导航电文来获取其卫星发射时间和星历从而得到卫星的实时位置。
GPS卫星在空间中的位置是时间t的函数,要计算卫星的位置首先要收集齐时钟和星历参数,然后需要确定卫星的发射时刻。
导航信号的发射时刻可以通过导航电文在每一子帧的的交接字中的周内时计数器(Z计数)得知,通过该计数器可以得到估算的发射时刻
。
同时在子帧1中包含钟改正参数
来对估算的时钟进行修正。
导航电文中的数据块2是卫星星历信息,数据块3是卫星的历书信息。
星历主要向用户提供有关计算卫星运行位置的信息,而历书主要向用户提供GPS卫星的概略星历及卫星的工作状态等。
在数据块2(子帧2和3)中包含有许多重要星历参数。
星历数据参数如下表所示(一颗卫星):
表3.1星历数据参数
参数(子帧2中)
意义
参数(子帧3中)
意义
轨道半径的正弦调和修正幅度
倾斜角的余弦调和修正项幅度
Δn
计算值的平均移动误差
Ωe
在每星期历元轨道平面上升点的经度
参考时间的平近点角
倾斜角的正弦调和修正项的幅度
纬度辅角的余弦调和修正项幅度
参考时间的倾斜角
离心率
轨道半径的正弦调和修正项幅度
纬度辅角的正弦调和修正项幅度
近地点的幅度
长半轴平方根
Ω
赤径的速度
参考时间星历
IODE
数据与星历发布号
IDOT
倾斜角的速度
后续导航解算单元根据导航电文中相应的参数进行卫星位置解算、各种实时误差的消除、本地接收机位置解算以及定位精度因子(DOP)的计算等工作。
也就是说,根据收到的导航电文,接收端就可以通过相关公式计算出发送电文时刻卫星的大致位置,这对于解算出接收机的地理位置尤为重要。
卫星的角速度和切向速度可以通过卫星轨道模型来进行估计。
GPS卫星的额定轨道周期是半个恒星日,或者说11小时58分钟2.05秒;各轨道接近于圆形,轨道半径(即从地球质心到卫星的额定距离)大约为26560km。
由此可以计算得到卫星的运行的角速度和切向速度(如图3.3):
ω=2π/(11*3600+58*60+2.05)≈0.0001458rad/s(3.2)
然后通过角速度ω和已知的轨道半径rs(26560km)计算切向速度
vs=rs*ω≈26560km*0.0001458≈3874m/s(3.3)
本实验的另一个重要内容是Doppler频移的预测,即通过对卫星进行相隔时间为1s的多点测量(本实验给出了三点),进而估计Doppler频移。
●Doppler频移产生原理:
由于卫星与接收机存在相对径向运动,因此信号接收频率会随这种相对运动而发生偏移,称为Doppler频移,其直接表现是接收机接收到的卫星信号不在L1频点(1575.42MHz)上,而是在其基础上叠加了一个大约为-5KHz到+5KHz左右的频率偏移。
Doppler频移的存在给前端相关器进行频域搜索和卫星信号捕获带来了诸多困难。
如果事先能够估算出Doppler频偏,就会降低捕获难度,缩短捕获时间,进而缩短接收机的启动时间。
接收机的启动时间是衡量接收机性能好坏的重要参数之一,而实现卫星信号的快速捕获,缩短接收机的启动时间也是目前GNSS领域的热点问题。
●Doppler频移的计算:
已知卫星位置和本地接收机的初始位置,根据空间两点间的距离公式,可以得出卫星到接收机的距离d。
设某卫星在短时间t内经过点S1、S2,接收机到点S1、S2的距离分别为d1、d2,。
在t相对较小(本实验取t=1s)的情况下,我们可近似认
是卫星与接收机在t时间内的平均相对径向运动速度,再将此速度转换为频率的形式就可以得到Doppler频移的估计值。
设本地接收机的初始位置为R(xr,yr,zr),卫星所经历的空间两点的坐标分别为S1(x1,y1,z1)、S2(x2,y2,z2),间隔时间为t,卫星与接收机平均相对径向运动速度为vd,光速为c,Doppler频移为fd,则Doppler频移预测的具体公式如下所示:
图3.1
其中,
为一颗卫星不同时刻到接收机的伪距,
为两个时刻之间的径向速度。
Doppler频移与卫星的仰角有关,卫星仰角越大,Doppler频移越小。
当卫星的仰角为90度(即卫星在接收机正上方的天顶上)时,理论上Doppler频移为零。
本实验根据卫星位置和本地接收机的初始位置算出卫星的仰角,来验证Doppler频移同卫星仰角之间的关系.
【实验步骤】
1)查阅资料建立相应模型,在C/C++或者Matlab平台上根据星历数据及其定义实现对卫星实时位置的解算;
2)运行主程序以取得可视卫星的实时导航数据(如GPS时间、各颗卫星的星历等)。
将实验平台仪器的USB端口接入电脑,待驱动安装成功后,打开实验一程序;
3)在“选择GPS时刻”列表框的下拉菜单中,任意选择一个GPS时刻。
(注:
北斗和GPS系统由于存在系统时差而具有不同的周内时。
这里的GPS时刻,对于GPS卫星指其系统周内时,对于北斗卫星则表示将北斗的周内时加上系统时差换算之后的GPS系统周内时);
4)在“所选时刻可视卫星星历”列表框中出现所选时刻天空中所有可视卫星的星历信息,如图3.6所示。
选定一颗卫星,将“所选时刻可视卫星星历”中该卫星对应的参数输入到1)中的解算代码中,计算卫星位置。
5)在“选择卫星号”列表框的下拉菜单中,出现所选时刻天空中所有可视卫星的序号。
北斗卫星的编号从101开始,即北斗1号星的编号为101。
选择与4)中对应的卫星序号,在“卫星位置信息”中会列出所选时刻该卫星的实时位置如图3.7。
对比该位置与之前代码解算的结果。
并将其记录在表格中(表格一);
6)在“卫星位置信息”列表框中同时会出现所选卫星在所选GPS时刻一秒和两秒后的所对应的ECEF坐标系下的三维坐标以及接收机在ECEF坐标系下的初始位置坐标,这些数据用于求解Doppler频移,根据附表记录其值(表格一);
7)在“卫星位置信息”列表框中还会出现该卫星在11小时58分后的ECEF位置坐标,这是根据卫星在所选GPS时刻的星历数据推算出来的,用以验证卫星的额定轨道周期。
根据附表记录其值(表格一);
8)根据步骤6)记录的数据,在C/C++或Matlab环境下编写代码,实现对Doppler频移估值的求解,将所得数据记录在附表中(表格一);
9)重复前面实验,记录并解算出所选时刻天空中所有可视卫星的相关数据,按附表格式将所得数据记录下来(表格二);
10)重复前面实验,比较并分析不同时刻同一卫星的仰角、ECEF坐标系下的坐标以及Doppler频移的差异和同一时刻不同卫星仰角、坐标及Doppler频移差异;
11)重复步骤2到步骤11,选择不同时间段进行记录、求解、分析。
【核心程序代码】
%%Findsatellite'sposition----------------------------------------------
%Restoresemi-majoraxis
a=eph(prn).sqrtA*eph(prn).sqrtA;
%Timecorrection
tk=check_t(time-eph(prn).t_oe);
%Initialmeanmotion
n0=sqrt(GM/a^3);
%Meanmotion
n=n0+eph(prn).deltan;
%Meananomaly
M=eph(prn).M_0+n*tk;
%Reducemeananomalytobetween0and360deg
M=rem(M+2*gpsPi,2*gpsPi);
%Initialguessofeccentricanomaly
E=M;
%---Iterativelycomputeeccentricanomaly----------------------------
forii=1:
10
E_old=E;
E=M+eph(prn).e*sin(E);
dE=rem(E-E_old,2*gpsPi);
ifabs(dE)<1.e-12
%Necessaryprecisionisreached,exitfromtheloop
break;
end
end
%Reduceeccentricanomalytobetween0and360deg
E=rem(E+2*gpsPi,2*gpsPi);
%Computerelativisticcorrectionterm
dtr=F*eph(prn).e*eph(prn).sqrtA*sin(E);%Ïà¶ÔÂÛÐÞÕýÏî
%Calculatethetrueanomaly
nu=atan2(sqrt(1-eph(prn).e^2)*sin(E),cos(E)-eph(prn).e);
%Computeanglephi
phi=nu+eph(prn).omega;
%Reducephitobetween0and360deg
phi=rem(phi,2*gpsPi);
%Correctargumentoflatitude
u=phi+...
eph(prn).C_uc*cos(2*phi)+...
eph(prn).C_us*sin(2*phi);
%Correctradius
r=a*(1-eph(prn).e*cos(E))+...
eph(prn).C_rc*cos(2*phi)+...
eph(prn).C_rs*sin(2*phi);
%Correctinclination
i=eph(prn).i_0+eph(prn).iDot*tk+...
eph(prn).C_ic*cos(2*phi)+...
eph(prn).C_is*sin(2*phi);
%ComputetheanglebetweentheascendingnodeandtheGreenwichmeridian
Omega=eph(prn).omega_0+(eph(prn).omegaDot-Omegae_dot)*tk-...
Omegae_dot*eph(prn).t_oe;
%Reducetobetween0and360deg
Omega=rem(Omega+2*gpsPi,2*gpsPi);
%---Computesatellitecoordinates------------------------------------
satPositions(1,satNr)=cos(u)*r*cos(Omega)-sin(u)*r*cos(i)*sin(Omega);
satPositions(2,satNr)=cos(u)*r*sin(Omega)+sin(u)*r*cos(i)*cos(Omega);
satPositions(3,satNr)=sin(u)*r*sin(i);
【结果记录与分析】
1、按附表格式整理实验数据,并整理所编程序。
(以一颗卫星为例)
附表一
卫星时间
卫星序号:
10
仰角
Doppler频移
解算坐标
ECEF坐标
308640
-6898114.365083
-6898114.840231
69.366891°
4.836185542725942KHz
10231973.056976
10231973.400231
11426817.711968
11426816.812402
308641
-6899460.241363
-6899460.726453
69.366891°
4.836197123663138KHz
10232948.980243
10232949.326035
11424268.230451
11424267.987032
308642
-6890805.435930
-6890805.874032
69.366891°
4.836208705610145KHz
10233924.760354
10233924.785343
11421718.243299
11421718.207653
11小时58分后的坐标ECEF位置坐标
X:
-6898413.749678
Y:
10229384.563445
Z:
11423157.630254
2、对同一时刻不同卫星的Doppler频移进行比较,根据实际数据得出卫星仰角Doppler频移之间的关系。
附表二
GPS时间
可视卫星序号
仰角
Doppler频移
308641
10
69.366891°
4.836197123663138KHz
308641
20
16.607849°
4.893789169568091KHz
308641
32
44.365742°
4.869897124663638KHz
由上表可得:
卫星的仰角越大,其多普勒频移越小。
3、比较并分析不同时刻同一卫星的仰角、ECEF坐标以及Doppler频移的差异。
附表三
GPS世间
卫星序号
ECEF坐标
仰角
Doppler频移
308641
10
-6898413.749678
69.366891°
4.836197123663138KHz
10229384.563445
11423157.630254
308642
10
-6898413.209384
69.366891°
4.836208705610145KHz
10229384.048932
11423157.103970
由上表分析得出什么结论?
答:
在时间相差很近的两个时刻里,卫星的坐标,仰角以及多普勒频移变化都很小,几乎不变化。
仰角越大,多普勒频移越小。
4、比较当前时刻卫星的ECEF坐标及由当前星历推算出的该卫星在11小时58分后的ECEF坐标,思考二者为何只是大致相同而不是绝对一致。
当前时刻与11小时58分后2号卫星的位置信息由下表给出:
GPS世间
卫星序号
ECEF坐标
仰角
308641
10
X:
-6898413.749678
13.058204°
Y:
10229384.563445
Z:
11423157.630254
351721
10
X:
-6898413.034178
13.058204°
Y:
10229384.984645
Z:
11423157.204354
分析其原因可能是:
可能是卫星的严格周期为11小时58分2秒,而不是简单的11小时58分;
可能是因为接收机的计时误差;可能因为电离层、对流层误差导致。
【意见与建议】
对本实验过程及方法、手段的改进建议:
希望可以把那款软件拷下来,这样方便学生在寝室调整代码。
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卫星 导航 实验 报告