用MATLAB计算GPS卫星位置

高 新 技 术
G PS 定位的基本原理简单来说就是在WGS-84空间直角坐标系中,确定未知点与GPS卫星的空间几何关系。因此利用GPS进行导航和测量时,卫星是作为位置已知的高空观测目标。那么如何精确快速的解算出卫星在空间运行的轨迹即其轨道是实现未知点快速定位的关键。
1  标准格式RINEX格式简述
在进行G P S 数据处理时,由于接收机出自于不同厂家,所以厂家设计的数据格式也是五花八门的,但是在实际中,很
多时候需要把来自不同型号的接收机的数据放在一块进行处理,这就需要数据格式的统一,为了解决这种矛盾,R I N E X (英文全称为:The Receiver Independent Exchange Format)格式则应运而生,该格式存储数据的类型是文本文件,数据记录格式是独立于接收机的出自厂家和具体型号的。由此可见,其特点是:由于是通用格式,所以可将不同型号接收机收集的数据进行统一处理,并且大多数大型数据处理软件都能够识别处理,此外也适用于多种型号的接收机联合作业,通用性很强。
RINEX标准文件里不是单一的一个文件,而是包括如下几种类型的文件[1]。
(1)观测数据文件(),记录的是GPS观测值信息,(OBServation data,简写OBS,为接收机记录的伪距、相位观测值;O文件,如XG012191.10O)。
(2)导航电文文件(),记录的是GPS卫星星历信息(NAVavigation data,简写NAV ,记录实时发布的广播星历;N 文件,如XG012191.10N)。
(3)气象数据文件(),主要是在测站处所测定的气象数据(METerological data,简写MET,记录气象仪器观测的温、压、湿度状况;M文件,如XG012191.10M)。
(4)GLONASS导航电文文件(),记录的是地球同步卫星的导航电文。
由上述可见,R I N E X 文件的命名规则为(t指的是数据类型,不同的文件,t所代表的字母不同),其中文件名前四个字母(ssss)指的是测站名,一般是用字
用M A T L A B 计算G P S 卫星位置
罗利娟  杨乐
(西安翻译学院  陕西西安  710061)
摘 要:本文主要介绍了GPS测量数据的常用格式RINEX标准文件格式,并利用MATLAB工具计算出所观测卫星里的五颗卫星(14、20、29、31和32五颗)在283个历元的瞬时位置,即所观测时间段里五颗卫星在WGS-84坐标下的空间运行轨迹。关键词:RINEX标准文件  WGS-84下卫星位置  MATLAB工具中图分类号:P228.4文献标识码:A 文章编号:1672-3791(2013)07(c)-0005-05
表1 观测数据文件的头文件含义
表2 观测文件观测值部分说明
高 新 技 术
母和数字的组合来定义,方便识别,用户自己定义。紧跟着的三个字母(ddd)指的是
第一组数据的年积日(年积日是仅在一年中使用的连续计算日期的方法,是从当年
1月1日起开始计算的天数。例如:每年的1月1日为第1日,2月1日为第32日,以此类推)如219表示8月7号,年积日的计算可通过在网上下载软件进行快速计算,也可自己编一个小程序计算。f指的是观测当
天文件的观测序列号,其可以在0~9或A~Z中取值,如果文件序号取值为0,则其意味着今天一天观测的所有数据都放在该文件中,用户则不用在所有文件中一一去当天的某个文件,只需在此文件中进行查询即可。对于f的理解,还有一点需要注意,通
过下面的例子来进行说明:在某一天,用GPS测量进行某一项目的时候,共使用了3台GPS接收机,由于各种原因,用户分为三个时间段来进行:第一时间段,三台接收机全部启用;第二时间段,启用两台接收机;第三时间段,三台接收机又全部工作,那么在第一时间段,三台接收机所接收到的数据文件编号则都为1,在第二时间段,参与工作的两台接收机接收到的观测数据文件编号为2,在第三时间段,又是所有三台接收机参与观测,那么在该时间段,这三台接收机所对应的文件编号就为3。由此可见,文件序号的编排不是以某台接
收机在该天的观测时段为基础定义,而是用用户所进行的整体项目在该天的同步观测时段为基础的。RIN EX文件命名里的y y 指的是年的后两位数字,如对于2013年,则yy为13。
RIN EX文件命名里后一位o,n,m,g则标识的分别是观测数据文件、导航电文文件、气象数据文件以及GLON ASS导航电文文件。此标准文件是纯ASCll码文本文件,所有类型的文件都由两部分组成,文件头和数据记录。文件头和数据记录的区分界是EN D O F H EA DER ,文件头里每条记录占一行,列宽不超过80,并且第61~80列是对前面列数据记录内容的说明,称为标签。
数据记录里如果一行写不下,则在第二行
图1 XG032191.10O 的头文件
图2 XG 032191.10O 的部分数据记录
表3 G P
S 导航数据文件中数据记录部分说明
图3 导航数据的头文件
图4 14号卫星的导航数据
. All Rights Reserved.
高 新 技 术
继续数据的记录。
1.1GPS观测数据文件
G PS观测数据文件中储存的数据是与确定GP S整周未知数息息相关的信息,主要包括星历、卫星数、测站概略坐标、伪距信息、载波相位观测量信息等。下面分别通过表1和表2对GPS观测数据文件的文件头和数据记录里每个记录的含义进行详细说明,以便更清楚的看懂观测数据文件。
G PS观测数据文件的文件头里每个标签的含义如表1所示。
G PS观测数据文件里数据记录里每一行的含义如表2所示。
本文中所使用的算例里观测数据文件XG032191.10O的头文件和部分数据记录如图1与图2所示。
1.2导航数据文件
G PS导航文件也是计算卫星瞬时位置必不可少的文件,因为卫星星历、时钟改正、偏心率、轨道摄动改正、大气折射改正等导航信息是用户用来实时定位和精确导航的必备数据。
导航文件仍然包括头文件和数据记录
www.hnnn两部分,数据文件中数据之间是用空格或
回车符隔开的,因为有这样的规律,所以用
MA TLA B编程读取数据的时候就可利用这
点进行数据的获取的控制。
G PS导航数据文件的头文件不像观测
数据文件那样信息丰富,其仅仅只是对
RINEX版本号、观测类型、文件纲要名称、
文件机构名称、文件建立日期相关信息进
行说明,同观测文件一样,前60列是数据,
61~80是标签说明,并以E N D O F
H E A D E R作为文件头的结束标志。
G PS导航数据文件里的数据记录部分
相对较复杂,牵扯到的内容较多,其每一行水过滤板
每一项的含义如表3所示。(如图3,4)
2  卫星坐标的计算步骤
由于在GPS定位和导航的时候,用户都
是把GPS卫星的位置作为已知量来对待,并
且GP S定位所用的坐标系是世界大地坐标
系WGS-84。所以就先必须根据GP S接收机
观测的相应星历数据,解算出GP S卫星在
W GS-84坐标系中的瞬时位置。
为了后面计算方便,先对广播星历中
涉及到的计算卫星坐标的一些轨道参数进
行说明,如表4所示。
由于每隔两个小时,GP S接收机收到
的广播星历才更新一次,所以用户在根据
接收机收到的卫星导航电文汇总的广播
星历参数推算GP S的瞬时坐标的时候,一
定要选取与GP S卫星的瞬时坐标时刻最相
近的那组广播星历数据[2],否则误差将会
很大。
首先由已知的G P S接收机接受时刻的
钟面时
r
t,根据公式换算出GP S卫星发射
时刻的钟面时
线圈缠绕机
s
t[3]:
c
t
t
r
s
/
(1)
其中:
r机柜空调器
t可由观测文件直接读取, 为
伪距,是观测GPS卫星与观测GPS接收机之
间的距离(由于这个距离里含有电离层误
差、对流层误差等各种误差,不是GPS卫星
与GPS接收机之间的真实距离,所以称为伪
距),本次算例读取的是P2码伪距观测量,c 表4卫星星历的主要轨道参数
图5所选卫星的空间运行轨迹图
. All Rights Reserved.
为光速,值为3×108m/s 。
下面就是按照公式,读取相应的广播星历参数,计算观测时刻s t 的GPS卫星瞬时坐标:
(1)GPS卫星在空中运行的平均角速度n:
n a GM
n
3
)(              (2)
式中:G M 为地球引力常数,GM
2314/s m 103.986005 ;a 为卫星轨道长
半轴的平方根,Δn 为摄动改正数,这两个数值都可在导航电文中直接读取。
(2)归化时刻。
对观测时刻s t 进行卫星的钟差改正:
2
210')()(oe s oe s s t t a t t a a T T
t t            (3)
为求得观测时刻s t 所对应的轨道参
数,则需从导航电文中给出的对应于参考时刻oe t 的GPS卫星轨道参数推算而得。两个历元的时间差(归化时间)k t 计算如下:
oe
s k t t t                (4)其中:oe t 、a 0、a 1、a 2可直接从导航文件中读取,为已知量。
GPS卫星发射时刻的GPS标准时s t 计算方法如下:由具体事例可知,RINEX标准文
件里记录的观测时刻t是用年、月、日、时、分、秒表示的,然而GPS广播星历中的参考时刻t是用GPS秒表示的,因此我们需要一个转化过程,把时间单位进行统一,于是把民用日中的年月日时分秒根据相应的公式换算为GPS秒,首先将观测时刻里的时分秒化为实数时,即:
)3600(sec/)60(min/  H UT    (5)
然后将民用日的Y、M 、D 、U T 化为儒略日(不记年月,只记日的历法),即:
))
1(6001.30()25.365(    m INT y INT JD 5.1720981)24/(  UT D        (6)
式中:INT表示的是对括号里的值进行取整运算。对于y 、m 的取值遵循下面的规则:如果月的值不大于2,则y =Y -l ,m =M +12;否则y =Y ,m =M 。
最后把JD的值代入下列公式计算GPS 秒:
GPS周=INT((JD-2444244.5)/7)  (7)GPS秒=(JD-2444244.5-GPS周×7)×24×3600                        (8)
此外对于计算出来的k t 还应做如下处
理:t k 302400 s 时,k t =k t -604800s ;当
s t k 302400  s 时,k t =k t +604800s 。
(3)计算观测时刻卫星平近点角k M 。
k k nt M M  0                (9)
式中:
0M 为参考时刻的平近点角,在导航电文中直接读取;n为GPS卫星运行的平均角速度,在第一步已算出,k t 在第二步已算出。
(4)计算偏近点角k E :
k k k E e M E sin                (10)
式中各个字母的含义如下:
e 为卫星
轨道偏心率,在导航电文中直接读取;k
M 在第三步中已算出,k M 和k E 单位均为弧度,从该式中中可以看出,计算偏近点角必须采用迭代法。偏近点角k E 的初始值可取
k k M E  ,代入上式,计算出偏近点角1k E ,
再代入上式,计算出偏近点角2k E ,依次一直迭代,直至两次迭代结果之差
1210    E 时停止迭代,取该值为最终的
偏近点角k E 。
(5)相对论效应:
)sin(k r E a e F dT              (11)
其中2/2C GM F    ,C为光速。
r oe s oe s s dT t t a t t a a T        2210)()(  (12)
s k T toe t t    '1              (13)
当t k 3024001 s时,1k t =1k t -604800s;当3024001  k t s时,1k t =1k t +604800s。
由于相对论效应的影响,规划时间k
t 发生变化,于是需要把1k t 代到式(9)和式(10)中重新计算后续过程需要的k M 和k E 的值。
(6)真近点角k f :
cos sin 1arctan(2e
E E e f k k
k          (14)
在用MA TL AB 计算真近点角k f 时应注
意:式中的arctan函数应采用atan2函数。
(7)升交距角k  :
k k f                    (15)
其中:k f 已在上一步计算出来了, 为近地点角距,可在导航电文中直接读取。
(8)计算升交距角k  的摄动量u  、卫星失径r的摄动量r  、轨道倾角i的摄动量i  :
)2sin()2cos(k us k uc u C C        (16)
)2sin()2cos(k rs k rc r C C        (17))2sin()2cos(k is k ic i C C          (18)
其中:ic is rc rs uc us C C C C C C ,,,,,均可从导航电文直接读取,为已知量。
(9)计算经过摄动改正的升交距角k u 、卫星的地心距离k r 及轨道倾角k i :
u u k k                      (19)r E e a r k k    )cos 1(      (20)k i k t dt di i i )/(0            (21)
式中:0i 为参考时刻的轨道倾角,
)/(dt di 为轨道倾角变化率,均可从导航电
文直接读取,为已知量。
(10)计算卫星在轨道坐标系中的位置:
sin cos k k k k k k k z u r y u r x                (22)(11)计算卫星在世界大地坐标系中的
坐标修正后的升交点经度k  :
声音采集器oe e k e k t t
)(0        (23)其中:
为升交点赤经
变化率;0 为
参考时刻的升交点赤经;
0 均可从导航电文直接读取;e  为已知量,为地球自转速率,值是一个定数,2921151467
.7e  )/(105s rad  。
(12)最后将卫星在轨道坐标系的坐标经坐标转换,换算出卫星在WGS-84坐标系的瞬时位置:
k k k k k k k
k k k k k k k k i y i y x i y x Z Y X sin cos cos sin sin cos cos    (24)3  卫星坐标的计算实例
为了验证本文的计算卫星坐标的理论,本人经过实地设置观测点XG01和XG03,从8月7日1:37:00开始观测,8月7日2:47:30结束观测过程。数据格式为RINEX标准格式,无需转换。观测数据文件XG012191.10O里观测数据的读取、观测数据按照定义的卫星名存放,XG012191.10N里定义卫星名的相关的导航数据的读取和存放,GPS卫星瞬时位置的计算,以上的这些过程都在M A T L A B 环境中实现,图5就是在M A T L A B 环境里计算、绘制出的GPS卫星名为14、20、29、31和32在观测时间段的空间运行轨迹图。
4  结论
快速准确计算出G P S 卫星在W G S -84坐标系下的瞬时位置是GPS定位里很基础、很重要的问题,由文中描述可知,计算步骤比较繁琐,需要注意的细节也很多,牵扯到的符号也很多。从自己对实例的计算经历中来看,我觉得在使用卫星计算公式计算卫星瞬时坐标的时候特别要注意以下三个问题。
(1)由于每隔两个小时,GPS接收机收到的广播星历才更新一次,所以用户在根据接收机收到的卫星导航电文汇总的广播星历参数推算GP S的瞬时坐标的时候,一定要选取与GP S卫星的瞬时坐标时刻最相
(下转10页)
. All Rights Reserved.
S T M 32系列的一种。S T M 32是基于A R M Cortex-M3内核的32位处理器。其内部的数据路径、寄存器、存储器接口是32位的。采用了哈弗结构,拥有独立的指令总线和数据总线,取指与数据访问并行不悖。时钟频率达到72MHz,STM32F103RBT6具有低功耗、小体积、高效率、低成本等特点,它拥有强大的处理能力,在同类32位处理器中有很高的性价比。1.2无线模块
陆地声纳法采集到的数据发送到上位机是短距离传输,考虑到系统的低功耗及数据传输速率选择了NRF24L01无线模块,它是使用Nordic公司的nRF24l01芯片开发而成的,工作于2.4~2.5GHz ISM频段。工作电压为1.9~3.6V,有多达125个频道可供选择。可通过S PI 写入数据,最高可达10Mb/s,数据传输率最快可达2Mb/s,芯片能耗非常低,以-6dBm的功率发射时,工作电流只有9m A ,接收时工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便,它能够很好的满足本无线系统的要求。其与处理器的接口电路如图1。
2  软件设计
2.1ucos-ii 的移植
在对地震信号的无线采集过程中为了更加有效的采集信号,及时的与上位机进行通信,我们需要对地
震信号的采集与传输等多项任务进行合理的调度,有效实时的进行信号的采集与传输。传统的单片机开发工作中经常遇到程序跑飞或是陷入死循环。可以用看门狗来解决程序跑飞问题,而对于后一种情况,尤其是其中牵扯到复杂数学计算的话,只有设置断点,耗费大量时间来慢慢分析,这就会大大降低系统的效率。为了更好的管理这些任务,我们引入了 cos ii  操作系统, cos ii  是一种免
费、开放源代码、结构小巧、基于可抢占优先级调度的实时操作系统,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。并且用户与内核之间接口程序编译相对简单,在单片机系统中嵌入 cos ii  将增强系统的可靠性,并使得调试程序变得简单,可以把整个程序分成许多任务,每个任务相对独立,然后在每个任务中设置超时函数,时间用完以后,任务必须交出CPU的使用权。即使一个任务发生问题,也不会影响其他任务的运行。这样既提高了系统的可靠性,同时也使得调试程序变得容易。
cos ii  内核向S T M 32单片机上移植,只需要修改几个与处理器相关的文件,具体问题包括。
(1)设置OS_CPU.H中与处理器和编译器相关的代码,即定义与编译器相关的数据类型、堆栈类型、堆栈增长方向和SWI服务函数。
(2)OS_CPU_C.C文件中主要是任务堆栈初始化代码、软中断异常处理程序、开关中断和移植增加的特定函数。
(3)O S _C PU _A.A S M 文件主要包括软件中断的汇编接口、任务级任务切换函数O S _T A S K _S W 和中断级任务切换函数OSIntCtxSw以及启动最高优先级就绪任务函数。
2.2系统流程图
图2所示为系统程序流程图,程序开始工作后,首先对系统进行初始化设置,然后循环检测是否接收到开始采集信号,当接收到采集指令后,无线模块开始接收数据,同时扫描AD 输入,并将采集到的数据寄存在单片机RA M中,并且及时的将数据通过无线模块发送到上位机进行同信。
3  结语
使用STM32F104RBT6单片机作为核心
摄像机三脚架
控制器,保证了系统能够快速响应,利用其内部的A D 转换模块,大大简化了外部电路,UC OS-I I的植入更方便地对各项任务进行管理,从而更好的保证了通信的实时性。
参考文献
[1]钟世航,孙宏志,王荣.陆地声纳法[M].
北京:中国科学技术出版社,2012,4.[2]孙宏志.陆地声纳地震仪的制造技术研
究[C].中国地球物理学会第22届年会论文集,中国地球物理学会编.成都:四川科学技术出版社,2006.
[3]刘军.例说Stm32[M].北京:北京航空航
天大学出版社,2011.
[4]范书瑞.Cortex-M3嵌入式处理器原理
与应用[M ].北京:电子工业出版社,2011.
[5]Rompaey K,Bolsens I,De Man H.
Coware A Design Environment for Heterogenerous Hardware/Software Systems.In Proc.of the European De-sign Automation Conference,1996:252-257.
[6]Nordic Semiconductor ASA.Nrf24L01
product specification[R].2006.
近的那组广播星历数据,否则误差将会很大。
(2)由于GPS定位系统的高空动态性,又因为卫星的发射时刻可唯一表征该时刻GPS卫星的坐标,因此应先由接收机钟面时计算出公式中所需的GP S卫星发射时刻的钟面时。
(3)必须把GPS接收机的观测历元换算成GPS秒,方可进行下一步。
参考文献
[1]张妮,王标标.基于M a t l a b 读取标准
RINEX格式的GPS星历数据[J].电子设计工程,2010,18(8):23-25.
[2]王猛,张志伟.利用广播星历计算卫星
的瞬时坐标[J].城市勘测,2010,2:89-90.
[3]刘勤志,尹长林,易重海.计算GPS卫星
发射时刻的两种方法[J].长沙电力学院学报,2004,19(1):65.
[4]Robert S.Radovanovic.Adjustment of
Satellite-Based Ranging Observati- ons for precise Position and Deformation Monitoring,Ph.D.Dissertation,Depart-ment of Geomatics Englneering[J].Uni-versity ofCa1Gary,2002.
(上接8页)
. All Rights Reserved.

本文发布于:2024-09-22 01:16:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/193309.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   观测   文件   计算   导航   进行   接收机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议