CN102156287B - 用于gps软件接收机的初始定位方法 - Google Patents

用于gps软件接收机的初始定位方法 Download PDF

Info

Publication number
CN102156287B
CN102156287B CN2011100653019A CN201110065301A CN102156287B CN 102156287 B CN102156287 B CN 102156287B CN 2011100653019 A CN2011100653019 A CN 2011100653019A CN 201110065301 A CN201110065301 A CN 201110065301A CN 102156287 B CN102156287 B CN 102156287B
Authority
CN
China
Prior art keywords
data
frame
sub
initial
subframe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2011100653019A
Other languages
English (en)
Other versions
CN102156287A (zh
Inventor
姚相振
覃新贤
崔绍龙
方金云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2011100653019A priority Critical patent/CN102156287B/zh
Publication of CN102156287A publication Critical patent/CN102156287A/zh
Application granted granted Critical
Publication of CN102156287B publication Critical patent/CN102156287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

本发明提供一种用于GPS软件接收机的初始定位方法,预先跟踪处理两个子帧长度的数据,从中提取出初始帧号;根据初始帧号有选择地处理接下来的导航数据,舍弃与初始定位无关的帧,从而大大减少了跟踪阶段的数据处理量和资源开销,提高了初始定位的效率、缩短冷启动时间。

Description

用于GPS软件接收机的初始定位方法
技术领域
本发明涉及全球导航卫星系统GNS S(Global Navigation Satellite System)软件导航接收机,尤其涉及用于GPS软件接收机的初始定位方法。
背景技术
随着嵌入式移动平台存储和运算能力的迅速提高,为GPS软件接收机便携化提供了巨大的发展空间,但由于基带处理中大量复杂运算的存在,软件接收机的实时化仍是目前面临的最大挑战。在整个软件接收机基带信号处理中,耗时最大以及消耗资源最多的环节是卫星信号的跟踪操作,目前提高跟踪操作效率的方法主要有几种,一种是针对于降低GPS接收机测量中的热噪声误差和动态应力误差,以提高跟踪结果的准确性,另外的方法几乎都是针对加快跟踪速度的,包括多核多线程的并行算法,以及其它形式的并行模式,这些处理方法的问题在于应用在性能高的PC机上效果比较好,但是对于资源和运算能力都比较差的嵌入式设备则效果不好,尤其是现在主流的嵌入式设备还都是单核,不支持多核或者多线程任务。
针对嵌入式平台上的实时化导航,如何提高跟踪阶段的效率、快速完成GPS接收机的初始定位,缩短冷启动时间TTFF(Time To First Fix)是GPS软件接收机实现实时化的重要任务。接收机进行的初始定位的快慢也是衡量一个接收机性能的关键指标。
在GPS接收机中为了完成初始定位,必须获得4颗以上的卫星星历数据,而这些包含卫星轨道位置数据的星历分布在导航数据的前三个子帧当中,为了接收1、2、3子帧的完整数据,传统的方法是完整跟踪解调全部5个子帧,由于接收机开始接收的随机性以及跟踪环路的锁定时间的随机性,考虑到首个子帧的不完整性,实际必须跟踪6个子帧才能确保其中包含完整的1、2、3子帧数据,这无疑加重了跟踪环路的处理量和运算时间,增加了资源开销,不适合在嵌入式平台上实现快速冷启动。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种可以用于GPS软件接收机的快速初始定位方法,减少跟踪环路的处理量和运算时间,提高卫星跟踪阶段的效率,缩短冷启动时间。
本发明的目的是通过以下技术方案实现的:
本发明提出了一种GPS软件接收机的初始定位方法,包括以下步骤:
步骤1,预先跟踪解调两个子帧长度的导航数据,根据导航数据的电文格式从中提取出初始帧的帧号;
步骤2,根据所述初始帧的帧号,从步骤1解调的导航数据及后续的导航数据中挑选出第1子帧、第2子帧和第3子帧,跳过与初始定位无关的帧;
步骤3,根据所述第1、2、3子帧的数据来计算GPS软件接收机的位置。
在上述方法中,所述步骤1和步骤2中所处理的导航数据是由跟踪环路输出的1KHz的数据。
在上述方法中,所述步骤1包括以下步骤:
(11)跟踪解调两个子帧长度的导航数据;
(12)匹配前导码,并检测与该前导码所处位置相隔一个子帧长度处的数据,再次匹配前导码;如果匹配成功,则执行(13)步,否则从该前导码所处位置后开始重新寻找前导码;
(13)根据子帧交接字的最后两位校验位进行校验;如果成功则执行第(14)步,否则该前导码所处位置后开始执行第(12)(13)步;
(14)提取帧号,如果所取帧号在1至5之间,则将该帧号设为初始帧号;否则从帧号所处位置后开始执行第(12)(13)(14)步。
在上述方法中,所述步骤2包括以下步骤:
如果初始帧号为1时,读取完整的当前帧,并跟踪解调后续2个子帧长度的数据;
如果初始帧号为2时,读取完整的当前帧,并跟踪解调后续1个子帧长度的数据,然后跳过2个子帧,跟踪解调后续1个子帧长度的数据;
如果初始帧号为3时,读取完整的当前帧,跳过2个子帧,跟踪解调后续2个子帧长度的数据;
如果初始帧号为4时,跳过当前帧以及下一子帧,跟踪解调后续3个子帧长度的数据;
如果初始帧号为5时,跳过当前帧,跟踪解调后续的3个子帧长度的数据;
在上述方法中,在步骤2中,当出现跳帧情况时,在跟踪解调后续数据之前,先预读一小部分数据进行跟踪,所述小部分数据可以是500比特。
在上述方法中,所述步骤3包括以下步骤:
将所述初始帧的交接字中的周时间计数乘以6再减去6秒,作为所述步骤2所选出的第1子帧中的周时间计数;
根据所选择的3个子帧中的数据来计算GPS软件接收机的位置。
在上述方法中,所述位同步包括以下步骤:
a跟踪一段数据,从第一个数据跳变位开始记录;
b如果该跳变位后面的一段数据中隔20ms的整倍数的位置同样出现跳变位则计数加一;
c重复上述步骤b,直至计数等于m,其中m为大于1的正整数;
d选择此跳变位作为数据的比特起始位,执行校验过程,如果出现差错则计数清0,返回执行步骤a,b直至计数等于m+1时,执行d。
在上述方法中,m初始值可以为3。
不同于现有技术只是降低跟踪环路的运算复杂度,而没有减少处理的数据量,本发明提供的方法是从原始导航数据源出发来减少跟踪环路的数据处理量,通过先跟踪并解调两个子帧长度的导航数据来确定初始帧的帧号,然后根据初始帧号有选择地处理接下来的导航数据,舍弃与初始定位无关的帧,从而大大减少了跟踪阶段的数据处理量,所以能显著缩短冷启动的平均时间,另外,由于读入数据的减少,也大幅度的减少了内存开销。实验结果验证了该方法的可行性,减少了跟踪阶段的处理时间以及资源开销,大幅提高了初始定位效率,为后期的嵌入式平台上的实时化导航奠定了基础。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是为根据本发明实施例的GPS导航数据子帧前两个字码遥测字和交接字的示意图;
图2是为根据本发明实施例的错过第一子帧的帧头,检测到第二子帧的起始端的示意图;
图3是为根据本发明实施例的检测到第一子帧和第二子帧的起始端的示意图;
图4是为根据本发明实施例的GPS软件接收机的性能效率的示意图;
图5是为根据本发明实施例的GPS软件接收机的资源效率的示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了更好地理解本发明,下面简单介绍几个基本的概念:
GPS软件接收机定位的基本工作过程包括由GPS天线接收到从GPS卫星上发射的GPS信号;经射频前端将其下变频到中频,经模数转换以及采样后得到中频数字基带信号;然后对基带信号进行信号捕获、跟踪、数据解调(包括位同步和帧同步),得到导航电文数据,根据GPS电文数据格式获取星历数据,进一步计算GPS软件接收机的位置。
导航数据的解调,是将数据从接收信号中分离、提取出来的过程。这个过程包括数据解调、位同步、帧同步、校验等。当C/A码跟踪环路锁定时,从同相臂的瞬时支路就可以解调出包含完整数据的二进制码流。这个二进制码流就是最原始的卫星导航数据。
位同步,对上述从跟踪环路输出的最原始的卫星导航数据进行两个方面的处理:找到数据跳变起始端,以及把1KHZ数据转为50Hz数据。在跟踪环锁定的状态下,环路的输出为1bit/ms。而导航数据的比特长度是20ms,因此每20个输出数据要转化为1个导航数据,也就是完成从1KHz的数据变换到50Hz的数据。要完成正确的转换,关键问题是找到每个导航数据的比特的正确的起始和结束边界。采用过零检测法,利用导航数据是每20ms才可能发生一次跳变的规律,寻找比特跳变的位置,可以很容易找到所有的跳变位置。当跟踪环此毫秒输出大于零则转化为1,否则转化为0,然后比较前后两个值的差,如果不相等则判断数据跳变位发生,这样1000bit/s的跟踪输出就可以转化为50bit/s的导航电文,即数据跳变位之后连续20个输出点作为1个值代替。把跟踪环路的输出值转换为0和1的序列。当然,20ms的间隔只是数据位跳变的理论值,在信噪比差的情况下总会有些偏差,造成误码。因此在用过零检测法判断出整段数据所有的数据位跳变位置后,还需要采用概率统计的方法进行处理,以获得适当的误码容限。根据数据跳变周期等固定规律对这些数据的跳变位置进行二次判断,最终决定出概率最大的数据位跳变位置。
帧同步,是在位同步之后,找到GPS导航数据的子帧起点。GPS导航数据有其固定的电文格式:五个导航数据子帧组成一个完整的导航页,5个子帧,每子帧10个字,每字30bit,每子帧300bit,共1500bit。所有子帧的前两个字都是相同的,分别是遥测字TLM和交接字HOW;
图1是GPS导航数据子帧前两个字码:遥测字TLM(telemetry)和交接字HOW(hand over word)的示意图;每个导航字包含30比特的二进制数据,如图1所示,TLM字的开头是一个8位的前导码,接下来是16位的保留位和6位的奇偶校验位。前导码的格式将会用来匹配导航数据以检测子帧的开始,即10001011,如果多个连续子帧都能匹配该前导码,就说明找到了子帧的起点,这个过程就是帧同步。由于锁相环具有180度的相位翻转,因此前导码可能翻转成01110100,所以帧的起始可能是正常的前导码,也可能是翻转的前导码。
HOW字被分为四部分:前17比特是周时间计数TOW(truncated timeof week),它提供了以6秒为单位的时间计数;接下来的两比特(18,19)是旗帜位,对于卫星001配置(block II卫星)第18位是一个警报位,第19位是反欺骗位,大多数block I卫星都是实验型的,所有在轨卫星都来自block II,当第18位等于1的时候意味着卫星用户的位置精度可能尚不如子帧1预示的准确,第19位等于1意味着反欺骗模式打开;接下来的三位(20-22)是子帧ID,它们的值分别是1,2,3,4,5(001,010,011,100,101)以用来标示是第几帧数据,这些数据将会用来做子帧匹配;最后的八位(23-30)将会用来做奇偶校验。
根据帧同步头的特殊标志,加上子帧长度校验和子帧的奇偶校验,就可以完成帧同步过程。首先查找帧开头的前导码(10001011),该码是典型的巴克码。因为还没有做奇偶校验,因此相反极性的前导码(01110100)也需要被检测,根据子帧的固定长度,连续查找相隔此长度的数据,以确定帧同步的正确性。
奇偶校验,帧同步完成以后需要做奇偶校验:一个导航字有30个位,其中6位是奇偶校验位,这些奇偶校验位用来做奇偶校验以更正导航数据的极性。如果奇偶校验失败的话,导航数据将不能被使用,为了做奇偶校验,将使用8个奇偶校验位,额外的这2位来自上一个导航字的最后2位。
以Di代表从接收机得到的导航字的一个位,i=1,2,3,...,24代表导航数据,i=25,26...,30代表奇偶校验位,经过一系列特定的模二加运算得到一组新的Di,i=1,2,3...,30,D25到D30为奇偶校验数据。
在GPS中接收机中,由于载波采用BPSK调制,相干解调的结果会造成载波相位的模糊,使得导航数据极性的不确定性,为了纠正这种不确定性,在奇偶校验的过程中,根据前一个字的D30位来确定后一个字前24位的极性,如果前一个字的D30位是1,那么接下来的24位就要转换极性,如果是0,则保留原来的极性。为了把模二加运算转换为乘法运算,将0转化为1,将1转化为-1,这样可以扩展到多个输入的情况,等计算完成以后再将1和-1转化为0和1,完成数据的预处理。
在GPS接收机中,为了完成初始定位,必须获得4颗以上的卫星星历数据,而这些数据分布在卫星发射的导航数据的前三个子帧中,为了接收1,2,3子帧的完整数据,传统方法要完整跟踪和解调6个子帧长度的数据才能进行接下列的位置解算,这无疑加重了跟踪环路的处理量,增加了接收机进行初始定位的时间消耗,因为在一个完整的导航数据页中,单纯依靠前三帧的数据就可以进行初始位置解算,后面两帧导航数据提供了卫星历书信息,用来做下阶段卫星可视预测的。而且接收机进行初始定位的快慢也是衡量一个接收机性能的关键指标。
因此,在本发明的实施例中提供了一种用于GPS软件接收机的快速初始定位方法,首先,预先跟踪解调两个子帧长度的导航数据,并根据导航数据的电文格式从中提取出初始帧的帧号;然后,根据所述初始帧的帧号,有选择地从上述解调的导航数据及后续的导航数据中挑选出第1子帧、第2子帧和第3子帧,同时舍弃与初始定位无关的帧;最后根据所挑选的第1、2、3子帧的数据来计算GPS软件接收机的位置。
下面对本发明提供的GPS软件接收机初始定位方法的一个优先实施例进行详细的描述:
1,以最小代价抽取初始帧号
要保证一次性读取出子帧帧号,至少要跟踪并解调一个完整子帧长度的信号,在传统帧同步的过程中,为了确定子帧的起始端需要做多帧等间隔的比对,以确定起始端。而在本发明的实施例中采取的方法是首先跟踪解调两个子帧长度的导航数据,接着进行两个子帧的起始端比对,即匹配前导码,并检测与该前导码所处位置相隔一个子帧长度处的数据,再次匹配前导码;如果匹配不成功,则从该前导码所处位置后开始重新匹配前导码,寻找子帧的起始端;如果匹配成功,则通过奇偶校验位进行附加判断,如果校验错误则从该前导码所处位置后重新匹配前导码,如果校验正确,则提取帧号;如果所取帧号在1至5之间,则将该帧号设为初始帧号,将该子帧的起始端设置为有效数据的起始端,否则从帧号所处位置后重新匹配前导码,寻找子帧的起始端。具体过程如下所述:
首先,从跟踪解调两个子帧长度的导航数据,并从中寻找子帧的起始端。为了提高灵敏度,在本发明的实施例中,在位同步过程中只进行导航数据的起始比特位的定位,并不进行1KHz的数据到50Hz的数据的转换,而是等提取出所需的前三个子帧后再进行数据的转换。因此,在帧同步过程中所处理的导航数据是由跟踪环路输出的并经由位同步找到导航数据起始比特位的1KHz原始数据源。初始跟踪解调的两个子帧长度数据,在原始的1KHz导航数据下为12000位数据。在本实施例中原始的1KHz导航数据也可以称为原始数据。这样在对1KHz原始导航数据进行帧起始位置的判断,也就是匹配前导码的过程中,前导码(10001011)或(01110100)的每位将被拉长至20倍长度,形成一个160位的前导码,然后跟1KHz原始导航数据做对比,对应位置相同则计数加一,计算出累加和,当累加和大于某个阈值的时候则可判定为匹配成功,如果未达到阈值则移到下一位继续进行相同操作,直到前导码匹配成功,这样就找到了子帧的起始端。本实验在进行大量实验后选取阈值为153,这样做的效果使得一些信噪比比较低的导航信号同样可以匹配成功以进行后续操作,提高了灵敏度。
然后,检测与该前导码所处位置相隔一个子帧长度处的数据,再次执行上述匹配前导码的过程,如果没有匹配成功,则从该前导码所处位置后开始重新匹配前导码;如果匹配成功,则根据子帧中HOW字的最后两位校验位总是0进行二次判断,如果校验错误,则从该子帧的前导码所处的位置后开始重新匹配前导码;如果校验成功,接着抽取帧号进行再次判断,帧号转化为十进制应为1到5之间,如果帧号正确则将该帧设置为初始帧号,并将该子帧的起始端记录为有效数据的起始端,否则从帧号所处位置后开始重新执行上述步骤,这样在保证了帧同步正确性的前提下进行了开销较小的两帧数据处理。
此处介绍的实施例是本发明的一个优先实施例,其中采用1KHz的原始数据的目的主要是为了灵敏度,本领域普通技术人员应该理解是否进行1KHz到50Hz的数据转换并不影响本发明的实质内容。在本发明的其他一些实施例中的初始定位方法可直接采用由传统位同步过程所输出的50Hz数据。
2,初始帧号提取后的自适应选帧方法
在提取出初始帧号后,要根据初始帧号来制定后续的选帧方法,如果初始帧号为1时,读取完整的当前帧,并跟踪解调后续2个子帧长度的数据;如果初始帧号为2时,读取完整的当前帧,并跟踪解调后续1个子帧长度的数据,然后跳过2个子帧,跟踪解调后续1个子帧长度的数据;如果初始帧号为3时,读取完整的当前帧,跳过2个子帧,跟踪解调后续2个子帧长度的数据;如果初始帧号为4时,跳过当前帧以及下一子帧,跟踪解调后续3个子帧长度的数据;如果初始帧号为5时,跳过当前帧,跟踪解调后续的3个子帧长度的数据。
在本实施例中,针对1KHz导航数据具体而言,如图2和图3所示,在提取出初始帧的帧号后可能会出现两种情况:其中,最左端的黑色部分则表示锁定子帧起始端前的数据,剩余部分的左端代表一个子帧的头部,这些数据在下一步解算过程中将被抛弃。第一种情况如图2所示,接收机接收数据的时刻已经错过了第一个子帧的帧头,无法获得子帧起始端,从而使得这个子帧成为报废数据,当接收的数据的开头错过了子帧帧号的位置则后面的大部分数据都将被抛弃,接下来程序检测到第二个帧的起始端,此时因为数据长度原因从此处开始保存数据进行后续处理;第二种情况如图3所示,接收机程序很快检测到了第一个子帧的起始端(X子帧起始端),开始保存数据,接着又检测到第二个帧的起始端(X+1子帧起始端),在这种情况下丢弃的数据很少,处理效率比较高。如图1所示,帧号在交接字HOW的第20,21,22位,也就是一个子帧的第50、51、52位,对应于原始的1KHz导航数据的1000至1040位。一个子帧的长度对应于原始数据的长度为6000位(10字×30位×20),因此当返回的有效数据起始端位置(X子帧起始端)大于5000(6000-1000)时属于第一种情况,此时只能通过奇偶校验位的特定位置以及帧号十进制数的范围来确定子帧的起始端,当小于5000时属于第二种情况。然后,结合这两种情况和获得的帧号制定接下来的选帧方法,以便舍弃与初始定位无关的帧,从而大幅减少跟踪阶段的数据处理量,详细步骤如下:
Figure GDA0000086804420000101
在上面的方法中,通过当前时刻接收机接收到初始帧号制定了后续数据的处理方法,但是在上述跳帧读取的情况下在处理后面的有效数据之前还需要做一些细节上的处理,在跳帧的时候应该考虑到跟踪环路锁定延迟的问题,跟踪环路只有在锁定后才会保持稳定状态,而在此之前的状态比较紊乱,此时的输出不能作为解调数据使用,因此在跳帧的时候应在下一整页开始前预读取一小部分数据进行跟踪,从而避开跟踪环路的捕获阶段,保证跟踪环路能正确清晰的跟踪输出下一整页的数据。例如,出现跳帧情况时可以预先读取500位数据来进行跟踪,以保证跟踪环路在跟踪到有效数据时保持稳定输出。
3,根据所选择的第1,2,3子帧的数据,计算GPS软件接收机的初始位置
先分别分析一下第1,2,3子帧用于用户位置计算的数据:
第1帧的数据包括以下参数:周数,测距精度,卫星健康状态字,电离层延迟参数,L2的调制波类型,卫星时钟修正参数:toc,af0,af1,af2
第2,3帧的数据包含信号传送卫星的星历,这些数据提供卫星轨道十分精确的信息:
开普勒轨道6参数:
M0:参考时刻toe的平近角点
Figure GDA0000086804420000111
卫星椭圆轨道的半长轴的平方根
es:卫星椭圆轨道的偏心率
i0:参考时刻toe的轨道倾角
Ω0:参考时刻toe的轨道升交点准精度
ω:轨道近地点角距
摄动轨道9参数:
Δn:平均角速度的修正
Ω:升交点赤经变化率
i:轨道倾角变化率
Crs:升交角距的余弦调和项改正的幅度
Cus:升交角距的正弦调和项改正的幅度
Cic:轨道倾角的余弦调和项改正的幅度
Cis:轨道倾角的正弦调和项改正的幅度
Crc:轨道半轴的余弦调和项改正的幅度
Crs:轨道半轴的正弦调和项改正的幅度
在计算之前应该考虑所提取的第1,2,3子帧的数据有可能不是在同一个完整页里面,因此应考虑其可能造成的影响,在第1子帧中,除了周时间计数TOW外别的参数在相邻的两个整页之间可以视为没有变化,而TOW的值是可以推算出来,TOW在某一个子帧里面的值表示的含义是下一子帧发射的时刻,它的单位1代表6秒,因此,在计算伪距的时候以解调出来的初始帧的TOW值乘以6,然后再减去6秒,就是当前子帧被发射时刻的时间参数。
在第2、3子帧中主要包含的是卫星轨道信息,通过对大量数据的前后页的同号子帧进行对比,以及使用相邻页的子帧组合成完整的前三帧数据进行定位,得到的结果均与使用同一页中的前三帧相同,因此,在后续的帧组合过程中只要处理好TOW值,就可以计算出准确的伪距离。
在本发明的一些实施例中,位同步还可以采用下面的方法来寻找数据的比特起始位:跟踪一段数据,从第一个数据跳变位开始记录,如果该跳变位后面的一段数据中隔20ms的整倍数的位置同样出现跳变位则计数加一;在此段数据中计数没有加到三则选取下一个跳变位继续循环计数,等到计数达到三的时候暂且认为此位就是数据的比特起始位,如果在后面的校验过程中出现差错则返回该程序继续循环查找,此时,本次循环的累加器必须加一达到四才能跳出程序继续运行,以此反复执行,每次累加器上限都加一,直到校验成功。在传统的现有技术中都是在间隔20ms整倍数的位置发现三个跳变位就认为是找到了数据跳变起始端,但是如果信噪比很差的话就可能出现误判,造成后面的结果错误。因此在本发明实施例的位同步方法中,如果出现错误返回来再次检测的时候要连续找到4个跳变点,以增加判断的准确性,因为刚才找到3个跳变点的结果是错的,这样在低信噪比环境中也能够快速准确的实现位同步。
4,方法分析与测试结果
在本发明实施例中提供的GPS软件接收机的初始定位方法,从要处理的导航数据源出发来减少数据量以及计算量,因此效率的提高是可以预先粗略的计算出来的。在上述实施例中,接收机接收到的导航数据的起始点是完全随机的,因此有效数据起始端BeginIndex的取值是0到6000的平均分布,为了计算该方法的平均效率,取其平均值:3000;在Case 1-5的Else情况下,由于对其它的奇偶校验位进行了检测,使得在程序中出现重新检测的几率几乎是零,在大量的实验中未出现重新检测的情况,因此,对于Case 1,处理的总数据量为:12000+6000+BeginIndex=21000;对于Case 2,处理的总数据量为:12000+BeginIndex+500+6000=21500;对于Case 3,处理的总数据量为:12000+500+6000×2=24500;对于Case 4,处理的总数据量为:12000+500+6000×3=30500;对于Case 4,处理的总数据量为:12000+500+6000×3=30500;这五种情况出现的概率是一样的,因此平均处理的数据量为(21000+21500+24500+30500+30500)/5=25600。
现有通用的办法是处理全部6帧数据,每帧6000位,共36000位,与之相比,在本发明实施例中提供的初始定位方法的处理效率理论提高了28.89%。在该方法中还进行了一些判断和附加策略,这些操作会耗掉一小部分时间,本方案在对大量数据进行试验后对结果取了平均。另外,对于内存的开销实现了很大程度的削减,为了提高接收机跟踪阶段的效率,现有技术往往采用一次性把6个子帧的数据读取到内存,这样虽然能有效的减少内存读写次数,但是对于内存的最大容量提出了很高的要求,因为对于6个子帧的原始导航数据,其容量在大约为200兆字节,在本发明实施例中提供的方法把跟踪阶段分割为两部分处理,首先处理12000位数据,接下来再处理后续的数据,可以有效的利用内存的动态分配,这样在损失一小部分时间的条件下大大降低了内存的最大开销值,内存削减的理论值为1-(12000+12000+12000+18500+18500)/5/36000=59.44%。
图4是性能效率示意图,图5是资源效率示意图,发明人在实验中使用了两种数据,一种是仿真数据,采样率为4.096MHz,一种是从RF前端获取的真实导航数据,采样率为5.714MHz。仿真数据可以人为的确定接收数据的起始端,本实验取导航数据整页位置的平均分布点作为起始端来验证该方法,在对大量的真实数据测试后得到的结果与使用仿真数据基本吻合,实际测试的时间开削减少了平均28.6%,与理论值的差值主要表现在该方法判断策略的开销以及增加的内存读取开销;最大内存开销削减了平均59.3%,与理论值基本吻合。
在软件GPS接收机中计算量最大以及消耗资源最多的就是跟踪阶段,如何提高跟踪阶段的效率、缩短冷启动时间成为软件接收机实现实时化的重要任务,本发明实施例提供的初始定位方法从接收机的实际应用模式出发,以提高接收机初始定位的效率为目的,首先通过预处理一段导航数据来判断初始帧的帧号,然后根据初始帧号,有选择地处理接下来的导航数据,舍弃与初始定位无关的帧,从而大大减少了跟踪阶段的数据处理量,提高了初始定位的效率。另外,由于读入数据的减少,也大幅度的减少了内存开销。实验结果验证了该方法的可行性,减少了跟踪阶段的处理时间以及资源开销,大幅提高了初始定位效率,为后期的嵌入式平台上的实时化导航奠定了基础。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

Claims (8)

1.一种用于GPS软件接收机的初始定位方法,包括以下步骤:
步骤1,预先跟踪解调两个子帧长度的导航数据,根据导航数据的电文格式从中提取出初始帧的帧号;
步骤2,根据所述初始帧的帧号,从步骤1解调的导航数据及后续的导航数据中挑选出第1子帧、第2子帧和第3子帧,跳过与初始定位无关的帧;
步骤3,根据所述第1、2、3子帧的数据来计算GPS软件接收机的位置。
2.根据权利要求1所述的初始定位方法,其特征在于在所述步骤1和步骤2中所处理的导航数据是由跟踪环路输出的1KHz的数据。
3.根据权利要求1或2所述的初始定位方法,其特征在于所述步骤1包括以下步骤:
(11)跟踪解调两个子帧长度的导航数据;
(12)匹配前导码,以找到子帧的起始端,然后检测与该前导码所处位置相隔一个子帧长度处的数据,再次匹配前导码;如果再次匹配成功,则执行(13)步,否则从该前导码所处位置后开始重新寻找前导码;
(13)根据所述子帧的交接字的最后两位校验位进行校验;如果成功则执行第(14)步,否则该前导码所处位置后开始执行第(12)(13)步;
(14)提取帧号,如果所取帧号在1至5之间,则将该帧号设为初始帧号;否则从帧号所处位置后开始执行第(12)(13)(14)步。
4.根据权利要求3所述的初始定位方法,其特征在于所述步骤2包括以下步骤:
如果初始帧号为1时,读取完整的当前帧,并跟踪解调后续2个子帧长度的数据;
如果初始帧号为2时,读取完整的当前帧,并跟踪解调后续1个子帧长度的数据,然后跳过2个子帧,跟踪解调后续1个子帧长度的数据;
如果初始帧号为3时,读取完整的当前帧,跳过2个子帧,跟踪解调后续2个子帧长度的数据;
如果初始帧号为4时,跳过当前帧以及下一子帧,跟踪解调后续3个子帧长度的数据; 
如果初始帧号为5时,跳过当前帧,跟踪解调后续的3个子帧长度的数据。
5.根据权利要求4所述的初始定位方法,其特征在于在步骤2中,当出现跳帧情况时,在跟踪解调后续数据之前,先预读一小部分数据进行跟踪,所述小部分数据为500比特。
6.根据权利要求5所述的初始定位方法,其特征在于所述步骤3包括以下步骤:
将所述初始帧的交接字中的周时间计数乘以6再减去6秒,作为所述步骤2所选出的第1子帧中的周时间计数;
根据所选择的3个子帧中的数据来计算GPS软件接收机的位置。
7.根据权利要求3所述的初始定位方法,所述跟踪解调包括位同步和帧同步,其特征在于在所述位同步包括以下步骤:
a跟踪一段数据,从第一个数据跳变位开始记录;
b如果该跳变位后面的一段数据中隔20ms的整倍数的位置同样出现跳变位则计数加一;
c重复上述步骤b,直至计数等于m,其中m为大于1的正整数;
d选择此跳变位作为数据的比特起始位,执行校验过程,如果出现差错则计数清0,返回执行步骤a,b直至计数等于m+1时,执行d。
8.根据权利要求7所述的初始定位方法,其特征在于在所述m初始值为3。 
CN2011100653019A 2011-03-17 2011-03-17 用于gps软件接收机的初始定位方法 Active CN102156287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100653019A CN102156287B (zh) 2011-03-17 2011-03-17 用于gps软件接收机的初始定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100653019A CN102156287B (zh) 2011-03-17 2011-03-17 用于gps软件接收机的初始定位方法

Publications (2)

Publication Number Publication Date
CN102156287A CN102156287A (zh) 2011-08-17
CN102156287B true CN102156287B (zh) 2012-10-31

Family

ID=44437852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100653019A Active CN102156287B (zh) 2011-03-17 2011-03-17 用于gps软件接收机的初始定位方法

Country Status (1)

Country Link
CN (1) CN102156287B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102565822B (zh) * 2011-10-09 2014-01-08 中国科学院计算技术研究所 对gps l5信号的捕获方法及装置
CN103091686A (zh) * 2011-10-31 2013-05-08 北京大学 一种兼容北斗卫星导航系统和gps的位同步方法及装置
CN102621563B (zh) * 2012-03-20 2013-09-18 东南大学 一种基于fpga的gps软件接收机信号跟踪方法及其系统
CN105527634B (zh) * 2014-09-29 2018-11-13 安凯(广州)微电子技术有限公司 一种卫星导航电文处理方法及gps接收机
CN104601175A (zh) * 2014-12-01 2015-05-06 江西洪都航空工业集团有限责任公司 一种脉冲编码调制遥测数据跳点处理方法
CN107437978B (zh) * 2016-05-27 2020-11-27 上海复旦微电子集团股份有限公司 数据处理方法及接收机
CN108627861B (zh) * 2017-03-24 2021-07-27 展讯通信(上海)有限公司 Bds非geo卫星b1信号的捕获方法、位同步方法及装置
CN109782307B (zh) * 2018-09-28 2020-10-30 和芯星通科技(北京)有限公司 一种载波相位的极性判定方法及装置
CN110516817A (zh) * 2019-09-03 2019-11-29 北京华捷艾米科技有限公司 一种模型训练数据加载方法及装置
CN110794430A (zh) * 2019-09-27 2020-02-14 北京遥测技术研究所 一种gps-l1c或bds-b1c频点卫星导航接收机冷启动方法
CN110794426B (zh) * 2019-10-21 2021-11-16 泰斗微电子科技有限公司 接收机的冷启动控制方法、装置、终端设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420259A (zh) * 2007-10-22 2009-04-29 那微微电子科技(上海)有限公司 帧同步方法和装置
CN101487884A (zh) * 2009-02-27 2009-07-22 中国科学院国家授时中心 超宽带室内导航定位系统信息帧生成方法
CN101594180A (zh) * 2009-06-30 2009-12-02 北京华力创通科技股份有限公司 接收机的电文的位同步和帧同步实现方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8116354B2 (en) * 2008-06-13 2012-02-14 Mediatek Inc. Sync detection device and method for GNSS

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420259A (zh) * 2007-10-22 2009-04-29 那微微电子科技(上海)有限公司 帧同步方法和装置
CN101487884A (zh) * 2009-02-27 2009-07-22 中国科学院国家授时中心 超宽带室内导航定位系统信息帧生成方法
CN101594180A (zh) * 2009-06-30 2009-12-02 北京华力创通科技股份有限公司 接收机的电文的位同步和帧同步实现方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GPS接收机快速热启动的分析与设计;秦奋等;《现代电子技术》;20090101(第01期);全文 *
GPS软件接收机导航电文提取的研究;田炳丽等;《通信技术》;20090310;第42卷(第03期);全文 *
田炳丽等.GPS软件接收机导航电文提取的研究.《通信技术》.2009,第42卷(第03期),全文.
秦奋等.GPS接收机快速热启动的分析与设计.《现代电子技术》.2009,(第01期),全文.

Also Published As

Publication number Publication date
CN102156287A (zh) 2011-08-17

Similar Documents

Publication Publication Date Title
CN102156287B (zh) 用于gps软件接收机的初始定位方法
CN104570022B (zh) 一种基于dsp的多系统兼容gnss接收机及其接收系统
CN101013153B (zh) 管理定位卫星信号的方法及系统
Yuan et al. An interactive-voting based map matching algorithm
CN101458321B (zh) 基于pc机的gps/caps双模软件接收机
EP3039452B1 (en) Cloud-offloaded global satellite positioning
CN101963669A (zh) 用于在定位系统中弱数据帧同步的方法和装置
TWI425238B (zh) 全球導航衛星系統(gnss)接收器的定位方法
CN105527629A (zh) 一种北斗卫星导航系统性能监测装置及其监测方法
CN101971046A (zh) 导航数据获取和信号后处理
CN106850177A (zh) 一种基于精密单点定位的实时时间传递方法
CN105842712A (zh) 一种全球定位系统启动方法及用户终端
CN101937089B (zh) 用于在定位系统中弱数据位同步的方法和装置
CN101526598A (zh) Gps快速热启动方法
CN103499825A (zh) 一种高轨航天器bds弱信号快速捕获方法
JP2010197189A (ja) 時刻決定方法及び時刻決定装置
CN103176189A (zh) 高灵敏度卫星导航接收机的远近效应抑制器及其方法
CN105301619A (zh) 大规模gnss网数据整体快速处理方法及系统
CN105388504A (zh) 北斗与gps公用频点实时信号接收处理系统数据处理方法
CN101630000B (zh) 一种评估干扰信号对gps性能影响的系统
CN205809307U (zh) 北斗二代与gps公用频点的实时信号接收处理系统
US10466364B2 (en) Methods and devices for validating the synchronization between a geolocalizing receptor and an emitting satellite
US20120027133A1 (en) Demodulation of data collected prior to bit edge detection
CN101614804A (zh) 弱信号下gps导航电文数据位同步的方法及装置
TWI524081B (zh) 星曆收集裝置、方法及接收機

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant