您的当前位置:首页卫星导航实验报告

卫星导航实验报告

2022-02-26 来源:六九路网
电子科技犬学通信与信息工程学院

本科教学 卫星与导航系列实验 标准实验报告

课程名称:

定位与导航原理与应用 定位与导航工程

电子科技大学通信与信息工程学院

标准实验报告

实验名称:导航信号传输模型仿真

电子科技大学

实验报告

学生姓名:侯玉皓

学号:20120佃030016 提交日期:2015・6・24

得分

实时卫星位置、速度和时间解算(pvT解算)及结果分析

【实验目的】

1) 理解实时卫星位置解算在卫星导航解算过程中所起的作用,了解为完成 卫星位置解算

所需的条件;

2) 了解GPS时间、卫星的额定轨道周期的含义,了解星历的构成、周期 及应用条件;

3) 了解Doppler频移的成因、作用以及根据已知条件预测

的方法;

Doppler频移

4) 了解Doppler频移的变化范围及其与卫星仰角之间的关系; 5) 能够根据实验数据编写求解 Doppler频移的相关程序。

【实验原理】

实时卫星位置解算在整个导航解算过程中具有举足轻重的作用,通常我们为 了获得接收机的地理位置,需要对卫星发射导航电文时的时间及运行速度有所 了解,所以可以说,卫星的实时速度和时间是解算卫星实时位置的基础,而卫 星的实时位置又是解算接收机三维位置坐标的基础。可见卫星实时位置、时间 及速度在整个定位过程中的重要地位。一般来说要确定接收机的三维位置,需 要同时解算出至少四颗卫星的实时位置。

卫星某一时刻发出的信号可以分为三部分:载波(L1)、测距码(C⑷、导 航电文。

对GPS某颗卫星进行实时位置的解算,需要已知这颗卫星的星历和周内 时,这些信息都包含在速率为

50bps的导航电文中(图3.1中的数据码)。导航

电文通过测距码(C/A码)进行扩频,然后用扩频的信号去调制频率为L1的正弦 波载波,然后卫星将调制后的载波信号播发出去。其模型可以用如下公式表示:

SLi(t) =AP(R (t)㊉ Di (t)) cos(⑷ Lit + 屮 i) +Ac(Ci(t庖 Di (t)) sin(时 Lit +

(3.1)

屮i)

川儿

测距码数据码 载波

其中A和A;是调制幅度,P,C是精码和粗码,它们都是对数据码 D的扩 频码,数据码经过扩频后分为两路进行调制。在本地接收机收到卫星信号后, 通过剥离载波L1,还原其扩频之后的信号,然后按照导航电文的格式最终将数 据码编译成导航电文(数据码)

它可分为5个部分:

遥测字 导航电文前导+授权用户信息

交接字 由于P码数据长,不易捕获,需要C\\A码的辅助来捕获 数据块1钟修正参数、期龄、星期编号等

数据块2星历(在子帧2、3中),用于计算卫星位置

数据块3历书(子帧4、5中)提供卫星布局,健康状况等信息

本实验的一个重点在于通过导航电文来获取其卫星发射时间和星历从而得到 卫星的实时位置。

GPS1星在空间中的位置是时间t的函数,要计算卫星的位置首先要收集齐 时钟和星历参

数,然后需要确定卫星的发射时刻。导航信号的发射时刻可以通过 导航电文在每一子帧的的交接字中的周内时计数器(Z计数)得知,通过该计数 器可以得到估算的发射时刻 屯。同时在子帧1中包含钟改正参数 )

a,a1,a2来对 估算的时钟进行修正。

导航电文中的数据块2是卫星星历信息,数据块3是卫星的历书信息。星历 主要向用户提供有关计算卫星运行位置的信息,而历书主要向用户提供 GPS卫星

的概略星历及卫星的工作状态等。

在数据块2 (子帧2和3)中包含有许多重要星历参数。星历数据参数如 F表所示(一颗卫星):

表3.1星历数据参数

参数(子帧2中) 意义 参数(子帧 中) Gs 3 意义 轨道半径的正弦调 和修正幅度 Gc Q e 倾斜角的余弦调和 修正项幅度 在每星期历元轨道 平面上升点的经度 A n 计算值的平均移动 误 mo 参考时间的平近点 角 Cis 倾斜角的正弦调和 修正项的幅度 CUc 纬度辅角的余弦调 和修正项幅度 i o 参考时间的倾斜角 e CUs 离心率 Crc 轨道半径的正弦调 和修正项幅度 纬度辅角的正弦调 和修正项幅度 3 近地点的幅度 a t长半轴平方根 参考时间星历 Q IODE IDOT 赤径的速度 数据与星历发布号 倾斜角的速度 oe

后续导航解算单元根据导航电文中相应的参数进行卫星位置解算、各种实时 误差的消除、本地接收机位置解算以及定位精度因子( DOP的计算等工作。也 就是说,根据收到的导航电文,接收端就可以通过相关公式计算出发送电文时刻 卫星的大致位置,这对于解算出接收机的地理位置尤为重要。

卫星的角速度和切向速度可以通过卫星轨道模型来进行估计。

GPS!星的额

定轨道周期是半个恒星日,或者说11小时58分钟2.05秒;各轨道接近于圆形,

轨道半径(即从地球质心到卫星的额定距离)大约为 26560km由此可以计算得 到卫星的运行的角速度和切向速度(如图3.3 ):

3 =2n 心1*3600+58*60+2.05)

〜0.0001ad8 (3.2)

然后通过角速度 3和已知的轨道半径rs (26560km)计算切向速度

vs=rs* 3 心 26560km*0.0001458 〜3874m/s

3.3)

本实验的另一个重要内容是Doppler频移的预测,即通过对卫星进行相隔时 间为1s的多点测量(本实验给出了三点)进而估计Doppler频移。

Doppler频移产生原理:

由于卫星与接收机存在相对径向运动,因此信号接收频率会随这种相对运 动而发生偏移,称为

Doppler频移,其直接表现是接收机接收到的卫星信号不

在L1频点(1575.42MH9上,而是在其基础上叠加了一个大约为_5KHz到 +5KHz左右的频率偏移。

Doppler频移的存在给前端相关器进行频域搜索和卫星 信号捕获带来了诸多困难。如果事先能够估

算出

Doppler频偏,就会降低捕获

难度,缩短捕获时间,进而缩短接收机的启动时间。接收机的启动时间是衡量 接收机性能好坏的重要参数之一,而实现卫星信号的快速捕获,缩短接收机的 启动时间也是目前GNSS®域的热点问题。

Doppler频移的计算:

已知卫星位置和本地接收机的初始位置,根据空间两点间的距离公式,可 以得出卫星到接收机的距离 d。设某卫星在短时间t内经过点S、S2,接收机 到点S、9的距离分别为d1、d2,。在t相对较小(本实验取t=1s)的情况下,

-J _H

我们可近似认 竺一是卫星与接收机在t时间内的平均相对径向运动速度,再

t

将此速度转换为频率的形式就可以得到Doppler频移的估计值。

设本地接收机的初始位置为

R (xr,yr,zr),卫星所经历的空间两点的坐

标分别为S1 (x1,y1,z1)、S2 (x2,y2,z2),间隔时间为t,卫星与接收机 平均相对径向运动速度为 vd,光速为c, Doppler频移为fd,贝U Doppler频 移预测的具体公式如下所示:

d1 二冷(为一x) (y1 - yr) (z1 -xr)cb 二 J対一x) (y2 —

vd 22

222 2

y」 (乙一人)

i

22

伪距,

的径向速度。

LL

图3.1

其中,di,c2,d3为一颗卫星不同时刻到接收机的

v为两个时刻之间

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 频移的差异和同一时刻不同卫星仰角、坐标及 异;

11)

Doppler 频移差

重复步骤 2 到步骤 11,选择不同时间段进行记录、求解、分析。 【核心程序代码】

position

%%Find satellite's

%Restore semi-major a = eph(prn).sqrtA

axis

* eph(prn).sqrtA;

%Time correction tk = check_t(time %Initial mean motion n0

= sqrt(GM / a3);

A

- eph(prn).t_oe);

%Mean motion n = n0 + eph(prn).deltan;

%Mean anomaly

M = eph(prn).M_0 + n * tk;

%Reduce mean anomaly to between 0 and 360 deg M = rem(M + 2*gpsPi, 2*gpsPi);

%Initial guess of eccentric anomaly E = M;

for ii = 1:10

E_old = E;

E dE

eph(prn).e

=M+

= rem(E - E_old,

< 1.e-12

* sin(E); 2*gpsPi);

if abs(dE)

% Necessary break ; end

precision

is reached,

exit from the loop

end

%Reduce eccentric %Compute angle phi E = rem(E + 2*gpsPi, %Compute relativistic dtr = F * eph(prn).e

anomaly

%Calculate the true nu = atan2(sqrt(1 phi = nu + eph(prn).omega;

%Reduce phi to between 0 and 360 deg phi = rem(phi, 2*gpsPi);

-eph(pr n).e\"2)

*

sin(E), cos(E)-eph(prn).e);

2*gpsPi); correction term * eph(prn).sqrtA

* sin(E);

%?a ????DT?y??

anomaly

to between 0

and 360 deg

%Correct argument of latitude u = phi + ...

eph(prn).C_uc eph(prn).C_us %Correct radius

* cos(2*phi) * sin(2*phi);

+ ...

r = a * (1 - eph(prn).e*cos(E))

eph(prn).C_rc eph(prn).C_rs %Correct

inclination

* cos(2*phi) * sin(2*phi);

+ ... + ...

i = eph(prn).i_0

eph(prn).C_ic

eph(prn).C_is

+ eph(prn).iDot * cos(2*phi) * sin(2*phi);

* tk + + ...

%Compute the angle meridian

Omega = eph(prn).omega_

between the

ascending

node and the Greenwich

- Omegae_dot)*tk

0 + (eph(prn).omegaDot

Omegae_dot * eph(prn).t_oe;

%Reduce to between 0 and 360

Omega = rem(Omega + 2*gpsPi, 2*gpsPi);

deg

satPositi on s(1, cos(i)*s in(O mega);

satPositi on s(2, cos(i)*cos(Omega);

satNr)

=cos(u)*r

* cos(Omega)

-si n(u)*r

*

*

satNr)

=cos(u)*r

* sin(Omega)

+ si n(u)*r

satPositi on s(3, satNr) = sin( u)*r * sin (i);

【结果记录与分析】

1、按附表格式整理实验数据,并整理所编程序。(以一颗卫星为例)

附表 卫星时间 卫星序号:10 仰角 Doppler 频移 解算坐标 ECEF坐标 308640 6898114.36508 3 10231973.0569 76 11426817.7119 68 308641 6899460.24136 3 10232948.9802 43 11424268.2304 51 308642 6890805.43593 0 10233924.7603 54 11421718.2432 99 -6898114.840231 69.366891 ° 4.83618554272 5942 KHz 10231973.400231 11426816.812402 -6899460.726453 69. 366891 ° 4.83619712366 3138 KHz 10232949.326035 11424267.987032 -6890805.874032 69. 366891 ° 4.83620870561 0145 KHz 10233924.785343 11421718.207653 11小时58 分后的坐标 X:-6898413.749678 Y:10229384.563445 ECEF 位 Z:11423157.630254 置坐标 2、对同一时刻不同卫星的 Doppler频移进行比较,根据实际数据得出卫星仰 角Doppler频移之

间的关系。

附表二

GPS时间 308641 可视卫星序号 仰角 Doppler 频移 4.83619712366313 8 KHz 10 69. 366891 ° 308641 20 32 16.607849 ° 4.89378916956809 1 KHz 308641 44.365742 ° 4.86989712466363 8 KHz 由上表可得:卫星的仰角越大,其多普勒频移越小。

3、比较并分析不同时刻同一卫星的仰角、

异附表三 ECEF坐标以及Doppler频移的差

GPS世 间 卫星序号 ECEF坐标 仰角 Doppler 频移 308641 10 -6898413.749678 10229384.563445 11423157.630254 69. 366891 ° 4.83619712366 3138 KHz 308642 10 -6898413.209384 10229384.048932 11423157.103970 69. 366891 ° 4.83620870561 0145 KHz 由上表分析得出什么结论?

答:在时间相差很近的两个时刻里,卫星的坐标,仰角以及多普勒频移变 化都很小,几乎不变化。仰角越大,多普勒频移越小。

4、比较当前时刻卫星的 ECEF坐标及由当前星历推算出的该卫星在 11小时

58分后的ECEF坐标,思考二者为何只是大致相同而不是绝对一致 当前时刻与11小时58分后2

号卫星的位置信息由下表给出:

GPS世 间 卫星序号 ECEF坐标 仰角 308641 10 X:-6898413.749678 Y:10229384.563445 Z:11423157.630254 13.058204 ° 351721 10 X:-6898413.034178 Y:10229384.984645 Z:11423157.204354 13.058204 °

分析其原因可能是:

可能是卫星的严格周期为11小时58分2秒,而不是简单的11小时58分; 可能是因为接收机的计时误差;可能因为电离层、对流层误差导致。 【意见与建议】

对本实验过程及方法、手段的改进建议:

希望可以把那款软件拷下来,这样方便学生在寝室调整代码。

因篇幅问题不能全部显示,请点此查看更多更全内容