卫星位同步的确定方法、接收机和计算机可读存储介质与流程

文档序号:32902141发布日期:2023-01-13 01:56阅读:26来源:国知局
卫星位同步的确定方法、接收机和计算机可读存储介质与流程

1.本发明实施例涉及导航定位领域,特别涉及一种卫星位同步的确定方法、接收机和计算机可读存储介质。


背景技术:

2.随着移动技术的发展,全球卫星导航系统(global navigation satellite system,gnss)定位功能在手机、智能穿戴、智慧物流、共享单车、定位器等应用方面也得到了普及,成为市场产品中必备的一个功能。
3.位同步又称为比特同步,接收机通过位同步确定当前接收到的某卫星信号在卫星播发的电文数据比特中的位置,从而确定接收的某卫星信号电文比特起始边沿位置。位同步是完成卫星定位的关键步骤之一,一旦出现位同步错误,卫星信号观测量中的时间会出现毫秒级的偏差,在gnss定位中,1ms误差会导致300km的定位偏差,所以准确实现位同步对于gnss定位至关重要。


技术实现要素:

4.本发明实施方式的目的在于提供一种卫星位同步的确定方法、接收机和计算机可读存储介质,使得可以准确实现位同步,从而提高gnss定位的准确度。
5.为解决上述技术问题,本发明的实施方式提供了一种卫星位同步的确定方法,应用于接收机,包括:获取卫星播发的二进制数据流;通过长度为n的滑窗在所述二进制数据流中截取n位数据;所述滑窗每滑动到一个位置,获取所述滑窗内的所述n位数据对应的积分结果;其中,所述积分结果包括第一积分结果和第二积分结果,所述第一积分结果为所述n位数据与所述卫星对应的第一模式数据按位相乘后积分得到的结果,所述第一模式数据为n位的二进制数据,且前n/2位与后n/2位数据相同;所述第二积分结果为所述n位数据与所述卫星对应的第二模式数据按位相乘后积分得到的结果,所述第二模式数据为n位的二进制数据,且前n/2位与后n/2位数据互为相反数;根据所述积分结果,确定位同步是否成功。
6.本发明的实施方式还提供了一种接收机,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的卫星位同步的确定方法。
7.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的卫星位同步的确定方法。
8.本发明实施方式中,获取卫星播发的二进制数据流,采用长度为n的滑窗在二进制数据流中滑动;滑窗每滑动到一个位置,获取滑窗内的n位数据对应的积分结果;其中,积分结果包括第一积分结果和第二积分结果,第一积分结果为n位数据与卫星对应的第一模式数据按位相乘后积分得到的结果,第一模式数据为n位的二进制数据,且前n/2位与后n/2位
数据相同;第二积分结果为n位数据与卫星对应的第二模式数据按位相乘后积分得到的结果中,第二模式数据为n位的二进制数据,且前n/2位与后n/2位数据互为相反数;根据积分结果,确定位同步是否成功。本发明实施方式中对于滑窗内的n位数据进行两次积分,采用滑窗双积分的方法,可以克服噪声的影响,保证强信号下准确、快速的完成位同步,从而提高gnss定位的准确度。
9.另外,所述根据所述积分结果,确定位同步是否成功,包括:每获取到一个所述积分结果,判断当前获取的所述积分结果是否为已获取的各积分结果中的有效峰值;其中,所述有效峰值的绝对值大于预设阈值,在所述积分结果为第一积分结果的情况下,所述有效峰值为已获取的各第一积分结果中的峰值,在所述积分结果为第二积分结果的情况下,所述有效峰值为已获取的各第二积分结果中的峰值;记录所述有效峰值出现的第一次数;当所述第一次数大于第一预设次数时,确定位同步成功。
10.另外,所述每获取到一个所述积分结果,判断当前获取的所述积分结果是否为已获取的各积分结果中的有效峰值,包括:每获取到一个所述积分结果,将所述积分结果存储于数组内;其中,所述数组包括第一数组和第二数组,所述第一数组用于存储所述第一积分结果,所述第二数组用于存储所述第二积分结果;判断当前存入所述第一数组内的第一积分结果是否为所述第一数组内的有效峰值,或者判断当前存入所述第二数组内的第二积分结果是否为所述第二数组内的有效峰值。通过两个数组可以有序存储滑窗内的n位数据与两种模式数据按位相乘后积分的结果,便于在滑窗滑动的过程中准确找出有效峰值,从而便于进行后续位同步是否成功的判断。
11.另外,每个所述积分结果在所述数组中对应有编号,所述编号用于表征所述积分结果被存入所述数组的顺序;在所述确定位同步成功之后,还包括:确定所述最大积分结果对应的编号,并对所述最大积分结果对应的编号取模n/2之后得到整数k;将所述k作为数据比特边沿偏差。本发明实施方式提供了一种数据比特边沿偏差的确定方式,在准确确定位同步是否成功的同时,便于得到数据比特边沿偏差。
12.另外,在所述滑窗滑动的过程中,所述方法还包括:记录所述滑窗滑动的第二次数;当所述第二次数大于或等于第二预设次数时还未确定位同步成功,则确定位同步失败;当所述第二次数小于第二预设次数时还未确定位同步成功,则控制所述滑窗向后滑动一位。
13.另外,在所述确定位同步失败后,还包括:重置滑窗内的所述n位数据、所述滑窗滑动的第二次数、所述数组和所述第一次数,并重新开始卫星位同步的确定流程,直至位同步成功或者信号失锁,防止过长时间无法有效完成位同步。
14.另外,所述n=20n,所述n为大于或等于2的整数。n越大对于弱信号位同步的可靠性的提升帮助越大,位同步的灵敏度越高。
附图说明
15.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
16.图1是本发明实施方式中的卫星位同步的确定方法的一种流程图;
17.图2是本发明实施方式中的步骤102的实现方式的流程图;
18.图3是本发明实施方式中的步骤103的实现方式的流程图;
19.图4是本发明实施方式中的卫星位同步的确定方法的另一种流程图;
20.图5是本发明实施方式中的无噪声理想情况下220个stream unit在坐标系中的示意图;
21.图6是本发明实施方式中的理想情况下滑窗内40位数据与p0、p1按位相乘后积分的结果示意图;
22.图7是本发明实施方式中的理想情况下滑窗内40位数据分别与p0、p1按位相乘后积分的结果中的峰值坐标的示意图;
23.图8是本发明实施方式中的stream unit中出现了一些非正常跳变的示意图;
24.图9是本发明实施方式中的噪声干扰情况下220个stream unit在坐标系中的示意图;
25.图10是本发明实施方式中的噪声干扰情况下滑窗内40位数据分别与p0、p1按位相乘后积分的结果示意图;
26.图11是本发明实施方式中的噪声干扰情况下滑窗内40位数据分别与p0、p1按位相乘后积分的结果中的峰值坐标的示意图;
27.图12是本发明实施方式中的噪声干扰的情况下滑窗内60位数据与p0、p1按位相乘后积分的结果示意图;
28.图13是本发明实施方式中的噪声干扰情况下滑窗内60位数据分别与p0、p1按位相乘后积分的结果中的峰值坐标的示意图;
29.图14是本发明实施方式中的加大增加噪声干扰,载波环输出的220个stream unit中出现更多非正常跳变的示意图;
30.图15是本发明实施方式中的加大噪声干扰情况下220个stream unit在坐标系中的示意图;
31.图16是本发明实施方式中的加大噪声干扰情况下滑窗内40位数据与p0、p1按位相乘后积分的结果示意图;
32.图17是本发明实施方式中的加大噪声干扰情况下使用长度为60的pattern和滑窗内60位数据进行按位相乘积分的结果示意图;
33.图18是本发明实施方式中的接收机的结构示意图。
具体实施方式
34.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
35.位同步又称为比特同步,接收机通过位同步确定当前接收到的某卫星信号在卫星播发的电文数据比特中的位置,从而确定接收的某卫星信号电文比特起始边沿位置。当接收机开始跟踪卫星信号时,载波环会输出码率为1khz的二进制数据流stream单元(二进制
数据记录为1和-1),由于gps l1c/a信号和北斗d1信号的电文数据bit速率为50hz,一个电文数据bit包含20位stream单元。无噪声理想情况下,1位电文bit内的20位stream unit保持符号不变(全部为1或者全部为-1),当电文bit变化时,stream unit会在bit边界处发生跳变,位同步就是为了找到正确的电文bit边界在stream中的位置。
36.位同步是完成卫星定位的关键步骤之一,其作用如下:精确获取卫星信号发射时间中1~20ms部分,为提取伪距观测量打下基础;解调导航电文数据比特,获取卫星发射的导航电文;实现帧同步后,结合相位信息、位同步信息,组合出完整的卫星信号观测量,进行pvt解算;实现更长时间的相干积分,为跟踪环路提供更低的噪声和更高的灵敏度。一旦出现位同步错误,卫星信号观测量中的时间会出现毫秒级的偏差,在gnss定位中,1ms误差会导致300km的定位偏差,所以准确实现位同步对于gnss定位至关重要。
37.理想情况下,两个相邻的1毫秒宽的stream unit发生跳变时,意味着找到了电文bit边沿。但由于噪声无处不在,大多数实际场景下载波环无法全部正确地解调出stream unit的电平值,导致stream unit可能会在一个电文bit对应的20ms内发生一次或多次非正常跳变,如果仅从stream unit电平值发生跳变判断bit边沿,会导致位同步错误,尤其是在gnss信号较弱的情况下,stream unit电平值可能会出现多处非正常随机跳变,因此位同步算法必须克服噪声的影响。
38.本发明的实施方式涉及一种卫星位同步的确定方法,可以应用于各种卫星的位同步的确定,比如北斗卫星、gps卫星等。本实施方式中采用滑窗双积分的方法,可以克服噪声的影响,保证强信号下准确、快速的完成位同步,同时也能大幅提升弱信号位同步的可靠性,提高位同步的灵敏度。
39.本实施方式中的卫星位同步的确定方法的流程图如图1所示,包括:
40.步骤101:获取卫星播发的二进制数据流。
41.步骤102:采用长度为n的滑窗在二进制数据流中滑动,滑窗每滑动到一个位置,获取滑窗内的n位数据对应的积分结果。
42.步骤103:根据积分结果,确定位同步是否成功。
43.下面对本实施方式的卫星位同步的确定方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
44.在步骤101中,接收机可以从载波环中获取卫星播发的二进制数据流。载波环输出的二进制数据流可以记为stream,码率为1khz,stream的基本组成单位可以记为stream unit,1位单元持续1ms,值为-1或1。
45.在一些实施方式中,卫星播发的二进制数据流可以为北斗卫星播发的二进制数据流,正常情况下该二进制数据流可以表示为:{1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1}。
46.在一些实施方式中,卫星播发的二进制数据流可以为gps卫星播发的二进制数据流,正常情况下该二进制数据流可以表示为:{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}。
47.在步骤102中,积分结果包括第一积分结果和第二积分结果,第一积分结果为n位数据与卫星对应的第一模式数据按位相乘后积分得到的结果,第一模式数据为n位的二进制数据,且前n/2位与后n/2位数据相同;第二积分结果为n位数据与卫星对应的第二模式数
据按位相乘后积分得到的结果,第二模式数据为n位的二进制数据,且前n/2位与后n/2位数据互为相反数。其中,第一模式数据和第二模式数据用于检测bit边沿跳变。
48.本实施方式中滑窗的长度、第一模式数据的长度以及第二模式数据的长度均相同,本实施方式中长度可以理解为二进制数据的位数。n可以基于1位电文bit持续的时间t确定,比如n=tn,n为大于或等于2的偶数,比如t=20ms时,n可以取40,即n=2*20。然而,在具体实现中,n也可以大于40,本实施例对此不做具体限定。
49.在一些实施方式中,卫星播发的二进制数据流为北斗卫星播发的20ms的二进制数据流,该20ms的二进制数据流为如下20位数据:{1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1}。n=20*2=40,在上述条件下,第一模式数据用p0和第二模式数据用p1可以表示如下:
50.p0={1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1}
51.p1={1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,1,-1}。
52.在一些实施方式中,卫星播发的二进制数据流为全球定位系统(global positioning system,gps)卫星播发的20ms的二进制数据流,该20ms的二进制数据流为如下20位数据:{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}。n=20*2=40,在上述条件下,第一模式数据用p0和第二模式数据p1可以表示如下:
53.p0={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
54.p1={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}。
55.通过上述实施方式可以看出:p0的前20位和后20位的数据相同,即p0的第21位数据和第1位数据相同,p0的第22位数据和第2位数据相同,p0的第23位数据和第3位数据相同,p0的第40位数据和第20位数据相同。也就是说,p0的第i位数据与第i+n/2位数据相同,1≤i≤n/2。p1的前20位和后20位的数据互为相反数,即p1的第21位数据和第1位数据互为相反数,p1的第22位数据和第2位数据互为相反数,p1的第23位数据和第3位数据互为相反数,p1的第40位数据和第20位数据互为相反数。也就是说,p1的第i位数据与第i+n/2位数据互为相反数,或者说p1的第i+n/2位数据基于第i位数据取反得到,1≤i≤n/2。以t=20,n=40为例,p0和p1可以根据卫星播发的20ms的二进制数据流确定,比如p0和p1的前20位和卫星播发的20ms的二进制数据流内容相同。
56.在一些实施方式中,步骤102的实现方式可以如图2所示,包括:
57.步骤1021:滑窗每滑动到一个位置,获取滑窗内的n位数据。
58.步骤1022:将滑窗内的n位数据与卫星对应的第一模式数据p0按位相乘后积分得到第一积分结果。
59.步骤1023:将滑窗内的n位数据与卫星对应的第二模式数据p1按位相乘后积分得到第二积分结果。
60.上述的按位相乘后积分可以理解为:按位相乘后相加。为便于理解该按位相乘后积分的过程,下面以一个具体示例进行说明:
61.假设从载波环中获取卫星播发的二进制数据流stream为:
62.d={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
63.1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
[0064]-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
[0065]
d由40个1和20个-1组成,滑窗长度n(以40为例)与pattern(包括p0和p1)长度一致,使用滑窗截取d中1~40的数据后,得到滑窗内的40位数据如下:
[0066]
wd={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
[0067]
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
[0068]
p0和p1均为gps卫星对应的pattern的情况下,p0和p1分别可以表示如下:
[0069]
p0={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
[0070]
p1={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
[0071]
滑窗内的40位数据wd与p0按位相乘后积分得到的第一积分结果为40,wd与p1按位相乘后积分得到的第二积分结果为0。
[0072]
滑窗向后移动一位,得到当前滑窗内的40位数据,即截取d中的第2~41位的数据后如下:
[0073]
wd={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
[0074]
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1-1}
[0075]
当前滑窗内的40位数据与p0按位相乘后积分得到的第一积分结果为38,当前滑窗内的40位数据与p1按位相乘后积分得到的第二积分结果为2。
[0076]
依次类推,随着载波环收集stream数据的增加,滑窗不断向后移动,滑窗截取的n位数据与p0、p1相乘积分得到的第一积分结果和第二积分结果的数量会越来越多。
[0077]
在步骤103中,根据积分结果,确定位同步是否成功。其中,积分结果包括上述的第一积分结果和第二积分结果。
[0078]
本实施方式中,考虑到当发生电文bit跳变时,如果p0或p1完整对齐跳变的位置,积分结果将变成最大峰值(p0、p1长度为40时,该最大峰值理想情况为40)。当滑窗朝向发生bit跳变的方向移动时,通常一开始错位数量会逐渐减少,积分结果随之增加;当完全匹配时即p0或p1与滑窗内的40位数据完全相同,积分结果变为最大,形成峰值;随后滑窗远离bit跳变的位置,错位数量会逐渐增加,积分结果随之减小,此时找到的最大峰值就蕴含了位同步信息。因此,本实施方式中可以在获取的各个积分结果(即各个第一积分结果和第二积分结果)中确定最大峰值,即积分结果的最大值也可称为最大积分结果,结合最大积分结果确定位同步是否成功。
[0079]
在一些实施方式中,步骤103的实现方式可以参阅图3,包括:
[0080]
步骤1031:每获取到一个积分结果,判断当前获取的积分结果是否为已获取的各积分结果中的有效峰值。如果是,则进入步骤1032,否则继续执行步骤1031。
[0081]
步骤1032:记录有效峰值出现的第一次数。
[0082]
步骤1033:当第一次数大于第一预设次数时,确定位同步成功。
[0083]
在步骤1031中,有效峰值的绝对值大于预设阈值,在积分结果为第一积分结果的
情况下,有效峰值为已获取的各第一积分结果中的峰值,在积分结果为第二积分结果的情况下,有效峰值为已获取的各第二积分结果中的峰值。本实施方式中,滑窗每滑动一位,均会进行两次积分计算,得到两个积分结果,即上述的第一积分结果和第二积分结果,滑窗滑动的过程中,会计算得到若干个第一积分结果和若干个第二积分结果。如果当前获取的第一积分结果为已获取的各第一积分结果中的峰值,且该峰值的绝对值大于预设阈值,则该当前获取的第一积分结果为有效峰值。如果当前获取的第二积分结果为已获取的各第二积分结果中的峰值,且该峰值的绝对值大于预设阈值,则该当前获取的第二积分结果为有效峰值。如果当前获取的第一积分结果不是已获取的各第一积分结果中的峰值,并且当前获取的第二积分结果也不是已获取的各第二积分结果中的峰值,则继续执行步骤1031,针对新获取的积分结果进行判断。
[0084]
其中,预设阈值可以根据实际需要进行设置,其具体大小可以参考信号强度设置。
[0085]
在具体实现中,可以先判断当前获取的第一积分结果是否为已获取的各第一积分结果中的峰值,如果是,再判断该峰值的绝对值是否大于预设阈值,如果是,则确定当前获取的第一积分结果为有效峰值。对于当前获取的第二积分结果,进行与第一积分结果类似的判断,最终确定当前获取的第二积分结果是否为有效峰值。如果是执行步骤1032,如果否继续执行步骤1031,针对新获取的积分结果进行判断。
[0086]
在步骤1032中,记录有效峰值出现的第一次数。也就是说,每当步骤1031中确定出一个有效峰值,记录一次。比如,各第一积分结果中出现一次有效峰值,记录一次,各第二积分结果中出现一次有效峰值,再记录一次。
[0087]
在一些实施方式中,可以预先设置用于存储第一次数的数组bitpos,每出现一次有效峰值,数组bitpos中的值加1。
[0088]
在步骤1033中,当第一次数大于第一预设次数时,确定位同步成功。其中,第一预设次数可以根据实际需要进行设置,本实施方式对此不做具体限定。
[0089]
在一些实施方式中,步骤1031的实现方式可以为:每获取到一个积分结果,将积分结果存储于数组内;其中,数组包括第一数组和第二数组,第一数组用于存储第一积分结果,第二数组用于存储第二积分结果;判断当前存入第一数组内的第一积分结果是否为第一数组内的有效峰值,或者判断当前存入第二数组内的第二积分结果是否为第二数组内的有效峰值。
[0090]
比如,第一数组记为s0,第二数组记为s1。滑窗截取从载波环收集的stream数据后,与p0按位相乘再积分得到的第一积分结果存储在数组s0中。滑窗截取从载波环收集的stream数据后,与p1按位相乘再积分得到的第二积分结果存储在数组s1中。随着载波环持续提供stream进行滑窗相乘积分运算,s0和s1逐渐累计积分运算结果,即s0和s1中的积分结果数量逐渐增多。
[0091]
参考上述按位相乘后积分的具体示例,滑窗内的40位数据wd与p0按位相乘后积分得到的第一积分结果为40,wd与p1按位相乘后积分得到的第二积分结果为0。这两个值分别保存在s0和s1这两个数组中,得到s0={40}、s1={0}。滑窗向后移动一位后,滑窗内的40位数据wd与p0按位相乘后积分得到的第一积分结果为38,wd与p1按位相乘后积分得到的第二积分结果为2。这两个值分别保存在s0和s1这两个数组中,得到s0={40,38}、s1={0,2}。随着滑窗的移动,滑窗每向后移动一位,数组s0和s1中均会增加一个值。数组s0中每存入一个
第一积分结果,均会执行判断当前存入s0中的第一积分结果是否为s0内的有效峰值。数组s1中每存入一个第二积分结果,均会执行判断当前存入s1中的第二积分结果是否为s1内的有效峰值。
[0092]
在具体实现中,记录有效峰值出现的第一次数,可以理解为:记录s1中出现有效峰值的次数和s2中出现有效峰值的次数之和。
[0093]
在一些实施方式中,每个积分结果在数组中对应有编号,编号用于表征积分结果被存入数组的顺序;当第一次数大于第一预设次数时,卫星位同步的确定方法还包括:确定有效峰值对应的编号,并对有效峰值对应的编号取模n/2之后得到整数k;将k作为数据比特边沿偏差。比如,s1={0,2},假设2为当前s1中的有效峰值,s1中数值0对应的编号为1,数值2对应的编号为2,假设n=40,则可以对有效峰值对应的编号2取模20之后得到整数k。
[0094]
在一些实施方式中,在滑窗滑动的过程中,所述方法还包括:记录滑窗滑动的第二次数;当第二次数大于或等于第二预设次数时还未确定位同步成功,则确定位同步失败;当第二次数小于第二预设次数时还未确定位同步成功,则控制滑窗向后滑动一位。其中,第二预设次数可以根据实际需要进行设置,本实施方式对此不作具体限定。
[0095]
在一些实施方式中,在确定位同步失败后,还包括:重置滑窗内的n位数据、滑窗滑动的第二次数、数组和第一次数,并重新开始卫星位同步的确定流程,直至位同步成功或者信号失锁。其中,重置滑窗内的n位数据可以理解为:移动滑窗并重新截取n位数据。重置滑窗滑动的第二次数可以理解为将第二次数清0,即重新开始计算滑窗滑动的次数。重置数组可以理解为:清空数组。重置第一次数可以理解为将第一次数清0,即重新开始累计最大积分结果大于预设阈值的次数,信号失锁即为卫星信号失锁。
[0096]
本实施方式中,为防止过长时间无法有效完成位同步,预设滑动窗口次数阈值即第二预设次数wn。在滑动窗口次数即第二次数小于等于wn时,持续进行上述位同步过程;当滑动窗口次数大于等于wn时仍未完成位同步,即认为本次位同步失败,重置d、wcnt、s0、s1、bitpos,重新开始位同步,重复该过程直至位同步成功或者信号失锁。
[0097]
在一些实施方式中,为方便描述,做以下名词定义:
[0098]
stream:载波环输出的二进制数据流,码率为1khz。
[0099]
stream unit:stream的基本组成单位,1位单元持续1ms,值为-1或1。
[0100]
bit:导航电文数据bit,码率为50hz,1位电文bit持续20ms,由20位stream unit组成。
[0101]
window:滑窗,从stream中截取预设长度的单元,参与后续运算,每次滑窗向后滑动一个stream unit。
[0102]
pattern:检测bit边沿的模式定义,与滑窗截取的stream数据相乘积分。
[0103]
bitpos:含20个元素的数组,计数潜在可能的位同步位置信息。
[0104]
s0/s1:保存滑窗截取的stream与pattern按位相乘积分的结果,用于寻找峰值,即最大积分结果。
[0105]
峰值:s0、s1中某元素的值,该元素的值大于等于其前后元素的值。
[0106]
sn:有效峰值的预定阈值(具体值与信号强度有关)。
[0107]
有效峰值:s0、s1中大于等于sn的峰值。
[0108]
bn:记录位同步位置发生次数的预定阈值,当bitpos[k]大于等于bn时,k为位同步
结果。
[0109]
wn:滑动窗口次数的预定阈值,用于检测到长时间无法有效完成位同步时复位位同步算法。
[0110]
在上述各名词定义的基础上,卫星位同步的确定方法的流程图可以参阅图4,包括:
[0111]
步骤401:从载波环中获取stream数据。
[0112]
步骤402:判断滑窗滑动的次数wcnt是否小于滑窗阈值wn;如果是,则执行步骤403,否则执行步骤409。其中,滑窗滑动的次数wcnt与上述的第二次数含义相同,wn与上述的第二预设次数含义相同。
[0113]
步骤403:递增滑窗次数wcnt,基于滑窗从stream中提取滑窗内的数据wd。
[0114]
步骤404:wd分别与p0、p1按位相乘后积分后结果保存到数组s0和s1中。
[0115]
步骤405:判断s0和s1中是否存在新的峰值且大于或等于sn;如果是,则进入步骤406,否则进入步骤401。其中,该步骤也可以理解为判断s0和s1中是否存在新的有效峰值,sn即为上述的预设阈值。
[0116]
步骤406:将该峰值对应的下标模20后得到整数k,将bitpos[k]计数器值加1。其中,bitpos[k]可以理解为上述的用于存储第一次数的数组。20为1位电文bit持续的时间,当1位电文bit持续的时间不是20时,这里的20也可以为其他数值。峰值对应的下标可以理解为上述的峰值在数组中对应的编号。
[0117]
步骤407:判断bitpos[k]是否大于或等于bn;如果是,进入步骤408,否则进入步骤401。
[0118]
步骤408:位同步成功,确定k为电文bit边沿偏差。
[0119]
步骤409:重置d、wcnt、s0、s1、bitpos。
[0120]
为便于对本实施方式的理解,下面以具体示例进行说明:
[0121]
在一些实施方式中,无噪声理想情况相当于实际的强信号情况,设定wn=180,sn=20,bn=4,p0、p1长度为40,滑窗的长度为40,载波环输出如下220个stream unit,根据stream unit数据和位同步规则可知位置19为位同步位置,电文bit的起始位置为stream中位置索引模20后为19的位置,即第19、39、59
……
219等。
[0122]
d={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1}
[0123]
无噪声理想情况下该220个stream unit在坐标系中的示意图可以参阅图5。经过滑窗截取stream数据并与p0、p1按位相乘后积分,结果保存于s0、s1,如图6所示,图6为理想情况下滑窗内40位数据与p0、p1按位相乘后积分的结果示意图。从图6可看到,理想情况下图形比较规整,所有满足绝对值大于等于sn(20)的峰值均为有效峰值,坐标标识如图7,图7
为理想情况下滑窗内40位数据分别与p0、p1按位相乘后积分的结果中的峰值坐标的示意图。图7中,黑色方框为有效峰值点及其坐标,有效峰值出现在(19,40)、(39,-40)、(59,40)、(79,-40)、(99,-40)、(119,40)、(139,-40)、(159,40)、(179,-40),将其对应index坐标(即峰值对应的下标)模20后,均等于19,bitpos[19]被累计为9,大于等于位同步阈值bn(4),可以判定stream中位置19为电文bit的起始位置。其实,在获取到第4个有效峰值点(79,-40)时,bitpos[19]累计到4,此时bitpos[19]》=bn,已经可以判定位同步成功,无需进行后续滑窗积分处理了。
[0124]
在一些实施方式中,在原理想数据基础上,增加噪声干扰,相当于实际的中或弱信号情况,保持wn、sn、bn、p0/p1、滑窗长度不变,此时载波环输出220个stream unit中,位置19仍为真实位同步位置,由于噪声干扰,stream unit中出现了一些非正常跳变,参考图8,图8中下划线位置即为出现非正常跳变的位置。该220个stream unit的示意图可以参阅图9,图9为噪声干扰情况下220个stream unit在坐标系中的示意图。经过滑窗截取stream数据并与p0、p1按位相乘后积分,结果保存于s0、s1,如图10所示,图10为噪声干扰情况下滑窗内40位数据分别与p0、p1按位相乘后积分的结果示意图。从图10可看到,噪声情况下图形比较凌乱,所有满足绝对值大于等于sn(20)的峰值均为有效峰值,坐标标识如图11,图11为噪声干扰情况下滑窗内40位数据分别与p0、p1按位相乘后积分的结果中的峰值坐标的示意图。图11中,黑色方框为有效峰值点及其坐标,有效峰值出现在(19,22)、(39,-26)、(59,26)、(72,-20)、(79,-22)、(92,-20)、(99,-20)、(119,24)、(139,-20)、(159,24)、(179,-32),将其对应index坐标模20后,bitpos[19]被累计为9,bitpos[12]被累计为2,bitpos[19]大于等于bn(4),可以判定stream中位置19为电文bit的起始位置。其实在获取到第5个有效峰值点(79,-22)时,bitpos[19]累计到4,此时bitpos[19]》=bn,已经可以判定位同步成功,无需进行后续滑窗积分处理了。
[0125]
在一些实施方式中,针对弱信号,可以将pattern从40位增加到60位或者更多2位(20的倍数),滑窗的长度也增大到60或相应长度即可,算法处理流程不变。此时使用pattern检测连续3个数据bit翻转的情况,相当于增加了相关积分时间,可以进一步提升弱信号下位同步成功率。比如,p0和p1可以分别表示如下:
[0126]
p0={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
[0127]
p1={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
[0128]
使用上述噪声干扰例子中的stream,保持bn(==4)不变,设定wn=160、sn=30、p0/p1长度为60,滑窗长度为60,经过滑窗截取stream数据并与p0、p1相乘后积分,结果保存于s0、s1,如图12所示,图12为噪声干扰的情况下,滑窗内60位数据与p0、p1按位相乘后积分的结果示意图。从图12可看到,部分峰值数值大幅提高,所有满足绝对值大于等于sn(==30)的峰值均为有效峰值,坐标标识如图13。图13为噪声干扰情况下滑窗内60位数据分别与p0、p1按位相乘后积分的结果中的峰值坐标的示意图。图13中,黑色方框为有效峰值点及其坐标,有效峰值出现在(19,36)、(39,-38)、(99,-34)、(119,30)、(139,-38)、(159,38),将其对应index坐标模20后,bitpos[19]被累计为6,之前错误位置12被过滤掉了,统计到的位同
步位置更加准确,bitpos[19]大于等于bn(==4),可以判定stream中位置19为电文bit的起始位置。其实在获取到第4个有效峰值点(119,30)时,bitpos[19]累计到4,此时bitpos[19]》=bn,已经可以判定位同步成功,无需进行后续滑窗积分处理了。
[0129]
通过上述示例可以看出,同样噪声干扰下,pattern和滑窗的长度增大后,可以提高位同步的准确度。
[0130]
在一些实施方式中,进一步加大噪声干扰,相当于信号进一步变弱,观察增大后的pattern和滑窗对灵敏度的影响。在原有带噪声数据基础上,19仍为真实位同步位置,增加噪声干扰,载波环输出的220个stream unit中出现更多非正常跳变,参考图14,图14相比于图8增加的非正常跳变的位置即为图14中加粗且加下划线的位置。加大噪声干扰情况下该220个stream unit在坐标系中的示意图可以参阅图15。经长度为40的滑窗截取stream数据并与p0、p1按位相乘后积分,结果保存于s0、s1,如图16所示,图16为加大噪声干扰情况下滑窗内40位数据与p0、p1按位相乘后积分的结果示意图。从图16可看到,满足大于等于阈值sn(==20)条件的有效峰值有多个,如图16中方框中的点,除了模20后值为19的点外,还存在较多散列在其他位置的有效峰值点,这些有效峰值点都会对位同步的判断造成干扰,甚至误判。
[0131]
使用长度为60的pattern和滑窗内60位数据进行按位相乘积分的结果如图17所示:阈值sn增大到30,大量无效峰值被滤除,有效峰值的位置模20后全部都是19,避免或者减少了误判的可能性。
[0132]
因此,增加pattern和滑窗长度,可以有效提升位同步过程的灵敏度,但代价是需要更多的时间收集更长的stream unit,并等待出现连续3次bit跳变的场景,位同步时间会变长。
[0133]
由上分析可知,本发明实施方式可以在强、中信号下快速准确地完成位同步,在弱信号下通过增加pattern长度和滑窗长度提高位同步的准确度和灵敏度。
[0134]
通过上述各示例可以看出,本发明实施方式中的位同步的确定方法可以在强、中信号下快速准确地完成位同步,在弱信号下可以通过增加pattern长度和滑窗长度提高位同步的准确度和灵敏度,缩短首次定位时间并提高定位可靠性,提升用户体验。
[0135]
需要说明的是,本实施方式中的上述各示例均为为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
[0136]
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0137]
本发明实施方式涉及一种接收机,如图18所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述实施方式中的卫星位同步的确定方法。
[0138]
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是
本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
[0139]
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
[0140]
本发明实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0141]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1