GNSS卫星的捕获方法及装置、存储介质、终端与流程

文档序号:15925137发布日期:2018-11-14 01:03阅读:443来源:国知局
本发明涉及卫星通信
技术领域
:,具体地涉及一种gnss卫星的捕获方法及装置、存储介质、终端。
背景技术
:随着全球导航卫星系统(globalnavigationsatellitesystem,简称gnss)的快速发展和普及,搭载有gnss接收机的手机等电子设备可以基于所述gnss方便、快捷的进行精准定位。例如,所述gnss接收机可以接收所述gnss中至少四颗gnss卫星发射的无线测距信号来实现对自身的实时定位、授时、导航等功能。而为了实现上述功能,所述gnss接收机需要能够捕获并跟踪上所述gnss中至少四个gnss卫星的卫星信号,从而对其自身进行定位。例如,所述gnss接收机可以是gps(全球定位系统,globalpositioningsystem,简称gps)接收机,其在完成定位之前需要对粗测距码(c/a码,以下记作ca码)进行捕获。现有的捕获方法包括串行二维搜索、并行搜索、快速傅里叶变换(fastfouriertransformation,简称fft)算法以及基于(部分)匹配滤波器(partialmatchedfilter,简称pmf)和快速傅里叶变换相结合的捕获方法(以下简称pmf-fft,也可记作pmf+fft)。其中,就算法的复杂度而言,所述pmf-fft方法在上述几种捕获方法中复杂度最低。但是,现有的基于匹配滤波器组的计算量仍然偏大,尤其在相干合并次数较多的时候,其复杂度明显抬升,不利于gnss接收机对gnss卫星的快速捕获。技术实现要素:本发明解决的技术问题是如何以更低的系统复杂度和功耗精准快速的捕获gnss卫星。为解决上述技术问题,本发明实施例提供一种gnss卫星的捕获方法,包括:接收所述gnss卫星在当前的预设周期内发送的ca码序列;基于预设频率样本集合对第一序列进行频率转换并折叠,以获取至少一个折叠后的序列,其中,所述第一序列为所述ca码序列中非整千赫兹的频偏对应的序列,所述至少一个折叠后的序列的数据长度小于所述第一序列的数据长度,所述至少一个折叠后的序列与所述预设频率样本集合包括的频率样本一一对应;对第二序列进行预设次数的循环移位,以获得至少一个循环移位后的序列,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列,所述循环移位后的序列的数量等于所述预设次数;对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理,并将相关结果进行时频逆变换及求模平方后存储至由码相位和频率定义的二维空间;与上一个预设周期的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。可选的,所述基于预设频率样本集合对所述第一序列进行频率转换并折叠,以获取至少一个折叠后的序列包括:提取所述第一序列中小于一千赫兹的频偏对应的序列并分割成至少一个数据块;对于所述预设频率样本集合包括的每一个频率样本,将所述至少一个数据块中每一数据与所述数据所在相位对应的频率旋转因子相乘,以获得与所述频率样本对应的频率转换后的至少一个数据块,其中,所述频率旋转因子根据所述频率样本查表确定;对于所述频率转换后的至少一个数据块,将所述至少一个数据块中相同相位上的数据累和,获得所述折叠后的序列,所述折叠后的序列的数据长度等于所述数据块的数据长度,不同的频率样本对应不同的折叠后的序列。可选的,所述预设频率样本集合包括的频率样本的数量是根据所述数据块的数量确定的。可选的,所述预设频率样本集合包括多个频率样本,所述基于预设频率样本集合对所述第一序列进行频率转换并折叠包括:使用所述预设频率样本集合中的各个频率样本分别对所述第一序列进行频率转换并折叠,且至少一部分频率样本对所述第一序列的频率转换并折叠的过程是并行执行的。可选的,所述本地ca码序列选自:预先存储的gnss卫星集合中各个gnss卫星的ca码序列。可选的,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列是指:对所述本地ca码序列中整千赫兹的频偏对应的序列进行时频变换及共轭处理,以获得所述第二序列。可选的,所述预设次数是根据捕获所述gnss卫星时搜索频率的范围确定的。可选的,对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理包括:对所述至少一个折叠后的序列分别进行时频变换;对于经时频变换的所述至少一个折叠后的序列中的每一个序列,将所述序列中的数据与所述至少一个循环移位后的序列中的数据按相位对应点乘,以获得所述相关结果。本发明实施例还提供一种gnss卫星的捕获装置,包括:接收模块,用于接收所述gnss卫星在当前的预设周期内发送的ca码序列;第一处理模块,用于基于预设频率样本集合对第一序列进行频率转换并折叠,以获取至少一个折叠后的序列,其中,所述第一序列为所述ca码序列中非整千赫兹的频偏对应的序列,所述至少一个折叠后的序列的数据长度小于所述第一序列的数据长度,所述至少一个折叠后的序列与所述预设频率样本集合包括的频率样本一一对应;第二处理模块,用于对第二序列进行预设次数的循环移位,以获得至少一个循环移位后的序列,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列,所述循环移位后的序列的数量等于所述预设次数;第三处理模块,对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理,并将相关结果进行时频逆变换及求模平方后存储至由码相位和频率定义的二维空间;第四处理模块,用于与上一个预设周期的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。可选的,所述第一处理模块包括:提取分割子模块,用于提取所述第一序列中小于一千赫兹的频偏对应的序列并分割成至少一个数据块;第一处理子模块,对于所述预设频率样本集合包括的每一个频率样本,将所述至少一个数据块中每一数据与所述数据所在相位对应的频率旋转因子相乘,以获得与所述频率样本对应的频率转换后的至少一个数据块,其中,所述频率旋转因子根据所述频率样本查表确定;累和子模块,对于所述频率转换后的至少一个数据块,将所述至少一个数据块中相同相位上的数据累和,获得所述折叠后的序列,所述折叠后的序列的数据长度等于所述数据块的数据长度,不同的频率样本对应不同的折叠后的序列。可选的,所述预设频率样本集合包括的频率样本的数量是根据所述数据块的数量确定的。可选的,所述预设频率样本集合包括多个频率样本,所述第一处理模块包括:并行处理子模块,所述并行处理子模块使用所述预设频率样本集合中的各个频率样本分别对所述第一序列进行频率转换并折叠,且至少一部分频率样本对所述第一序列的频率转换并折叠的过程是并行执行的。可选的,所述本地ca码序列选自:预先存储的gnss卫星集合中各个gnss卫星的ca码序列。可选的,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列是指:所述第二处理模块对所述本地ca码序列中整千赫兹的频偏对应的序列进行时频变换及共轭处理,以获得所述第二序列。可选的,所述预设次数是根据捕获所述gnss卫星时搜索频率的范围确定的。可选的,所述第三处理模块包括:时频变换子模块,用于对所述至少一个折叠后的序列分别进行时频变换;第二处理子模块,对于经时频变换的所述至少一个折叠后的序列中的每一个序列,将所述序列中的数据与所述至少一个循环移位后的序列中的数据按相位对应点乘,以获得所述相关结果。本发明实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述捕获方法的步骤。本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述捕获方法的步骤。与现有技术相比,本发明实施例的技术方案具有以下有益效果:对于接收到的所述gnss卫星在当前的预设周期内发送的ca码序列,基于预设频率样本集合对第一序列进行频率转换并折叠,以获取至少一个折叠后的序列,其中,所述第一序列为所述ca码序列中非整千赫兹的频偏对应的序列;另一方面,对第二序列进行预设次数的循环移位,以获得至少一个循环移位后的序列,其中,所述第二序列为本次ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列;在对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理,并将相关结果进行时频逆变换及求模平方后存储至由码相位和频率定义的二维空间;再与上一个预设周期的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。较之现有采用pmf-fft方法同时完成码域和多普勒域的二维搜索的技术方案,本发明实施例的技术方案将接收到的ca码序列按照频偏提取出所述第一序列,并通过频率变换和折叠将时频变换之前的数据进行合并,极大地减少了时频变换的次数,有效降低了捕获gnss卫星时的计算量以及计算复杂度。进一步,对于接收到的ca码中整千赫兹的频偏对应的序列,则基于本地ca码序列进行滑动相关处理后,再进行预设次数的循环移位,从而与经时频变换后的所述至少一个折叠后的序列进行相关处理,最终获得存储至所述二维空间的相关结果。进一步,提取所述第一序列中小于一千赫兹的频偏对应的序列并分割成至少一个数据块,对于所述预设频率样本集合包括的每一个频率样本,将所述至少一个数据快中每一数据与所述数据所在相位对应的频率旋转因子相乘,以获得与所述频率样本对应的频率转换后的至少一个数据快,对于所述频率转换后的至少一个数据块,将所述至少一个数据块中相同相位上的数据累和,获得所述折叠后的序列。本领域技术人员理解,由于所述折叠后的序列的数据长度等于所述数据块的数据长度,不同的频率样本对应不同的折叠后的序列,使得基于本步骤的频率转换和折叠处理获得所述至少一个折叠后的序列的数据长度小于所述第一序列的数据长度,从而将多次pmf+fft过程降低为1次时频变换,极大地减少了计算量,进而有效提高了对gnss卫星的捕获速度。附图说明图1是现有的接收机在捕获gnss卫星时进行二维搜索的原理示意图;图2是现有的一种采用pmf-fft方法进行卫星捕获的原理示意图;图3是本发明第一实施例的一种gnss卫星的捕获方法的流程图;图4是本发明第一实施例中步骤s102的一种具体实施方式的流程图;图5是本发明实施例中第一序列和频率旋转因子的波形示意图;图6采用本发明实施例获取至少一个折叠后的序列的原理示意图;图7是采用本发明实施例接收到的序列的波形示意图;图8是采用本发明实施例得到的二维空间的示意图图9是采用本发明实施例捕获gnss卫星的一个典型应用场景的逻辑框图;图10是采用本发明实施例捕获gnss卫星的另一个典型应用场景的逻辑框图;图11是本发明第二实施例的一种gnss卫星的捕获装置的结构示意图。具体实施方式本领域技术人员理解,如
背景技术
:所言,现有的gps接收机在ca码捕获阶段需要进行码域和多普勒域的二维搜索,如图1所示,在二维的搜索结果中找到峰值(即图1示出的“捕获”处)后进行一系列逻辑判断后决定所述gps接收机是否进入跟踪状态。例如,现有技术可以通过同步控制逻辑调整ca码发生器生成的ca码相位,以及载波数字控制振荡器(numericallycontrolledoscillator,简称nco)生成的频率,从而完成二维搜索,但这种gnss卫星捕获的算法复杂度很高。进一步地,由于前述搜索过程中的相关可以通过时频变换和时频逆变换来等效实现,例如,可以通过快速傅立叶变换(fastfouriertransform,简称fft)和快速傅里叶逆变换(inversefastfouriertransform,简称ifft)运算来等效实现所述相关。因此,现有技术提出了一种简化的gnss卫星捕获方法,可以同时完成频率和码相位的二维搜索。例如,现有技术可以通过匹配滤波器(partialmatchedfilter,简称pmf)和快速傅里叶变换的模式,将本地生成的ca码分为多段,并将每次匹配滤波器组的输出序列送入n-点快速傅里叶变换,根据所述快速傅里叶变换输出结果的峰值同时得到所述码相位和多普勒的二维搜索结果。对应参考图1,当所述码相位对齐时,当前所述快速傅里叶变换的输出序列中最大值对应的即为所述多普勒结果。但是,现有技术在采用pmf-fft进行gnss卫星捕获时,采用的所述匹配滤波器组的计算量仍然偏大,特别是在相干合并次数较多的时候,运算复杂度明显抬升。图2示出了现有的一种采用pmf-fft方法进行卫星捕获的原理示意图。其中,匹配滤波器(以下简称pmf)的分段数为p段,相关结果补零到k点后进行k点快速傅里叶变换(即k点fft)。对应的fft的每个输出结果的频率间隔为1000/(k/p)hz。在一个典型的应用场景中,所述多普勒搜索范围可以是±5khz,即总共11khz的多普勒搜索范围,则需要进行的多普勒搜索次数为11k/p次。继续参考图2,可以将相关结果进行lms的相干累和,以提高信噪比。同时,为了保证lms的相干增益,对应快速傅里叶变换的每个输出序列的频率间隔最小应为500/lhz(即确保所述lms的最大相位差为500/l/2×l/1000×2×π=π/2)。在实际应用中,如果所述输出序列的间隔缩小一倍,对应输出序列的数量会扩大一倍,相干合并性能能够进一步提升。继续参考图2,将l个快速傅里叶变换的结果按照前述最小频率间隔(500/lhz)进行相干合并。这个合并过程可以通过2×l点快速傅里叶变换(即2×l点fft)完成。通过重复指示上述过程,可以获得不同频率的相关结果。进一步地,通过接收序列完成一个码片周期的滑动,即可得到不同码相位的相关结果,进而在这个二维相关结果的基础上结合图1进行峰值搜索和判断。由此可见,上述基于pmf-fft进行卫星捕获的技术方案将pmf的结果进行fft运算,虽然能够在降低fft的运算点数的同时,完成码域和多普勒域的二维并行搜索,但整体计算过程需要重复多次,计算量仍然较大,不利于接收机快速、低功耗的捕获gnss卫星。为了解决这一技术问题,本发明实施例的技术方案对于接收到的所述gnss卫星在当前的预设周期内发送的ca码序列,基于预设频率样本集合对第一序列进行频率转换并折叠,以获取至少一个折叠后的序列,其中,所述第一序列为所述ca码序列中非整千赫兹的频偏对应的序列;另一方面,对第二序列进行预设次数的循环移位,以获得至少一个循环移位后的序列,其中,所述第二序列为本次cs码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列;在对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理,并将相关结果进行时频逆变换及求模平方后存储至由码相位和频率定义的二维空间;再与上一个预设周期的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。其中,整千赫兹的频偏指的是频偏中为1khz的整数倍的那一部分,非整千赫兹的频偏指的是频偏中不足1khz的那一部分。例如,对于1.6khz的频偏,所述非整千赫兹的频偏指的是所述1.6khz的频偏中600hz的那一部分频偏,所述整千赫兹的频偏指的是所述1.6khz的频偏中1khz的那一部分频偏;又例如,对于2khz的频偏就只对应整千赫兹的频偏。本领域技术人员理解,本发明实施例的技术方案将接收到的ca码序列按照频偏提取出所述第一序列,并通过频率变换和折叠将时频变换之前的数据进行合并,通过折叠fft的方式,可以将l次pmf+fft过程降低为1次,极大地减少了时频变换的次数,有效降低了捕获gnss卫星时的计算量以及计算复杂度。进一步,对于接收到的ca码中整千赫兹的频偏对应的序列,则基于本地ca码序列进行滑动相关处理后,再进行预设次数的循环移位,从而与经时频变换后的所述至少一个折叠后的序列进行相关处理,最终获得存储至所述二维空间的相关结果。为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。图3是本发明第一实施例的一种gnss卫星的捕获方法的流程图。其中,所述gnss卫星可以是全球导航卫星系统(globalnavigationsatellitesystem,简称gnss)连接的gnss卫星集合中的卫星,也可以是其他导航系统(如北斗卫星导航系统)连接的卫星。具体地,在本实施例中,首先执行步骤s101,接收所述gnss卫星在当前的预设周期内发送的ca码序列。然后执行步骤s102,基于预设频率样本集合对第一序列进行频率转换(也可称为频率变换)并折叠,以获取至少一个折叠后的序列,其中,所述第一序列为所述ca码序列中非整千赫兹(hz)的频偏对应的序列,所述至少一个折叠后的序列的数据长度小于所述第一序列的数据长度,所述至少一个折叠后的序列与所述预设频率样本集合包括的频率样本一一对应。接下来执行步骤s103,对第二序列进行预设次数的循环移位,以获得至少一个循环移位后的序列,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列,所述循环移位后的序列的数量等于所述预设次数。然后执行步骤s104,对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理,并将相关结果进行时频逆变换及求模平方后存储至由码相位和频率定义的二维空间。最后执行步骤s105,与上一个预设周期的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。进一步地,所述预设周期可以是所述ca码的码周期的长度。例如,对于全球定位系统(globalpositioningsystem,简称gps)和北斗卫星导航系统中的卫星发送的ca码,所述预设周期可以是1ms;又例如,对于其他导航系统(如伽利略卫星导航系统),所述预设周期可以是4ms。进一步地,所述ca码可以是粗测距码。进一步地,所述第一序列可以是所述ca码序列中小于1千赫兹的频偏对应的序列;还可以是所述ca序列中大于1千赫兹但非整千赫兹的频偏对应的序列。例如,所述ca码序列中500hz的频偏对应的序列可以包括于所述第一序列,所述ca码序列中1.6khz的频偏对应的序列也可以包括于所述第一序列,所述ca码序列中2khz的频偏对应的序列则不可以包括于所述第一序列。进一步地,所述步骤s102可以包括图4示出的三个子步骤:首先,执行子步骤s1021,提取所述第一序列中小于一千赫兹的频偏对应的序列并分割成至少一个数据块;然后执行子步骤s1022,对于所述预设频率样本集合包括的每一个频率样本,将所述至少一个数据块中每一数据与所述数据所在相位对应的频率旋转因子相乘,以获得与所述频率样本对应的频率转换后的至少一个数据块,其中,所述频率旋转因子根据所述频率样本查表确定;最后执行子步骤s1023,对于所述频率转换后的至少一个数据块,将所述至少一个数据块中相同相位上的数据累和,获得所述折叠后的序列,所述折叠后的序列的数据长度等于所述数据块的数据长度,不同的频率样本对应不同的折叠后的序列。进一步地,所述数据块可以包括单位时间(如1ms)内采集到的数据。优选地,所述单位时间可以与所述码周期相等。进一步地,在所述步骤s1021中,对于所述第一序列中小于1千赫兹的频偏对应的序列,可以直接将所述序列分割成所述至少一个数据块;而对于所述第一序列中大于1千赫兹但非整千赫兹的频偏对应的序列,则可以将所述序列中小于1千赫兹的频偏对应的序列提取出来分割成所述至少一个数据快。例如,对于1.6khz的频偏对应的序列,可以将其中600hz的频偏对应的序列提取出来作为所述第一序列并分割成所述至少一个数据块,所述1.6khz的频偏对应的序列中,除所述600hz的频偏对应的序列之外的1khz的频偏对应的序列则不采用所述步骤s1021至步骤s1023的技术方案进行处理。进一步地,所述数据块的数量可以记作l。优选地,对于所述至少一个数据块中的每一个数据块,所述数据块的长度可以相同,以下记作n,即每一个数据块均包括n个数据。进一步地,所述预设频率样本集合可以包括一个或多个本次捕获gnss卫星时需要搜索的频率样本。在一个优选例中,所述预设频率样本集合包括的频率样本的数量是根据所述数据块的数量确定的。例如,对于所述第一序列中1khz以下的频偏,可以预先确定所述预设频率样本集合的工作范围为2ahz(如±500hz,其中a=500),相应的频率间隔最大值为相应的需要搜索的频率样本(也可称为频点,可以记作bin)的数量为个。在实际应用中,在从所述预设频率样本集合中选择确定需要配置的频率后,即从所述预设频率样本集合中选定一个频率样本后,可以查找显示查找表(look-up-table,简称lut),从而确定与所述至少一个数据块中每一数据所在相位对应的频率旋转因子。其中,所述显示查找表中存储有0~π/2相位对应的正弦值。或者,在选定所述频率样本后,也可以采用数字控制振荡器(numericallycontrolledoscillator,简称nco),通过数字下变频的方式来确定与所述至少一个数据块中每一数据所在相位对应的频率旋转因子,本领域技术人员还可根据实际需要变化出更多实施例,在此不予赘述。例如,将所述第一序列记作s(n),本次选择的频率样本为2ahz,则所述步骤s1022对所述第一序列s(n)中数据s(1)(也可称为样点s(1))的处理可以表示为公式:其中,所述fs为采样率,所述j为虚部。相似的,所述步骤s1022对所述第一序列s(n)中数据s(2)(也可称为样点s(2))的处理可以表示为公式:相似的,所述步骤s1022对所述第一序列s(n)中数据s(3)(也可称为样点s(3))的处理可以表示为公式:相似的,所述步骤s1022对所述第一序列s(n)中数据s(n)(也可称为样点s(n))的处理可以表示为公式:为了方便表述,记作s(n)的所述第一序列可以是已经执行所述步骤s1021后的序列,即所述s(n)也可以是所述至少一个数据块的线性集合。本领域技术人员理解,所述步骤s1022进行频率转换(也可称为频率变换)的意义在于,确保所述频率转换后的至少一个数据块在累和时,起始和终止位置的数据(即第一个和最后一个位置上的ca码)的相位差异在π/2甚至更小以内,以使得所述频率转换后的至少一个数据块在累和时增益基本没有损失。否则,参照图5示出的所述第一序列s(n)和频率旋转因子p(n),若不进行频率转换,而是直接累和图5所示的数据块1和数据块2(即直接将所述数据块1和数据块2中相同相位上的数据累和),由于所述数据块1和数据块2的相位差异为π,累和后数据能量消失,造成了增益损失。因而,需要将所述第一序列s(n)与所述频率旋转因子p(n)按相位相乘,即所述第一序列s(n)中每一数据与所述数据所在相位对应的频率旋转因子p(n)相乘,以获得所述频率转换后的至少一个数据块。优选地,所述频率间隔越小,所述预设频率样本集合中包括的频率样本数量越多,累和后损失的增益也越小。例如,当所述频率间隔为时,对应的频率样本数量为2l个,可以确保累和后的相位差在π/2以内;又例如,当所述频率间隔为时,对应的频率样本数量为4l个,可以确保累和后的相位差在±2π/8以内,损失的增益在1db以内;又例如,当所述频率间隔为时,对应的频率样本数量为8l个,可以确保累和后的相位差在±2π/16以内,损失的增益在0.3db以内。在一个典型的应用场景中,参考图6示出的原理示意图,在接收到所述gnss卫星发送的ca码后,将所述ca码中非整千赫兹的频偏对应的序列作为所述第一序列,并从所述第一序列中提取小于一千赫兹的频偏对应的序列为所述第一序列s(n),将所述第一序列s(n)分割成l个数据块,当从所述预设频率样本集合中选定一个频率样本后,可以确定与所述频率样本相对应的频率旋转因子p(n),将所述第一序列s(n)和频率旋转因子p(n)相乘可以获得频率转换后的l个数据块组成的序列y(n)(以下简称序列y(n)),所述序列y(n)同样包括l个数据块,将数据块1至数据块l中相同相位处的数据分别累加,例如,y(0)+y(n)+…+y((l-1)n),获得长度为n的序列y(n),所述序列y(n)即为所述折叠后的序列。进一步地,遍历所述预设频率样本集合,通过重复执行(例如,串行执行)所述步骤s1022和步骤s1023,以获取与所述预设频率样本集合中每一个频率样本对应的频率转换后的至少一个数据块,进而获取与所述每一个频率样本对应的折叠后的序列。在一个变化例中,还可以通过增加转换资源的方式来多路并行执行所述步骤s1022和步骤s1023,例如,从所述预设频率样本集合中选定多个频率样本,使用所述预设频率样本集合中的各个频率样本分别对所述第一序列进行频率转换并折叠,且至少一部分频率样本对所述第一序列的频率转换并折叠的过程是并行执行的。进一步地,所述本地ca码序列可以选自预先存储的gnss卫星集合中各个gnss卫星的ca码序列。在一个优选例中,接收机本地预先存储有各个gnss卫星的ca码序列,当本次需要捕获gnss卫星时,所述接收机可以根据历史捕获情况确定当前希望捕获哪颗卫星。例如,所述接收机历史最近一次捕获的是3号gnss卫星,则本次也优先考虑捕获所述3号gnss卫星,并将预存的所述3号gnss卫星的ca码序列作为所述本地ca码序列;或者,若所述接收机历史未进行过gnss卫星捕获,则可以按照所述gnss卫星集合中存储各个gnss卫星的ca码序列的存储顺序,依序进行捕获,例如,先将1号gnss卫星的ca码序列作为所述本地ca码序列,若执行本发明实施例的技术方案未能捕获所述1号gnss卫星,则再将所述gnss卫星集合中的2号gnss卫星的ca码序列作为所述本地ca码序列,以此类推,直至捕获gnss卫星。进一步地,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列可以是指:对所述本地ca码序列中整千赫兹的频偏对应的序列进行时频变换及共轭处理,以获得所述第二序列。优选地,所述时频变换可以是快速傅里叶变换。进一步地,所述预设次数是根据捕获所述gnss卫星时搜索频率的范围确定的。优选地,每次循环移位的移动间隔可以根据所述码周期确定,所以,对于ca码周期为1ms的gps接收机而言,一次循环移位就是1khz。例如,当所述接收机配置的频率搜索范围是±5khz,并且当前的频率样本为125hz时,所述预设次数的循环移位可以是{-5,-4,-3,-2,-1,0,1,2,3,4}这10组;又例如,当所述频率搜索范围是±5khz,但当前的频率样本为-125hz时,所述预设次数的循环移位可以是{-4,-3,-2,-1,0,1,2,3,4,5}。优选地,如果所述接收机配置的频率搜索范围的周期更大,则所述预设次数也会相应扩大。例如,当所述频率搜索范围为±8khz,并且所述当前的频率样本为125hz时,所述预设次数的循环移位就应该是{-8,-7,…,-4,-3,-2,-1,0,1,2,3,4,…,7}这16组。进一步地,所述循环移位的移动方法可以是,对于所述第二序列[a1,a2,…,an],进行n点fft变换以及共轭处理后,得到序列[b1,b1,…,bn],如果循环移位为1,则所述序列变成循环移位后的序列[bn,b1,b2,…,b(n-1)]。更进一步地,本领域技术人员可以参考现有技术中关于循环移位的相关操作,在此不予赘述。进一步地,所述步骤s104可以包括步骤:对所述至少一个折叠后的序列分别进行时频变换(例如,快速傅里叶变换),对于经时频变换的所述至少一个折叠后的序列中的每一个序列,将所述序列中的数据与所述至少一个循环移位后的序列中的数据按相位对应点乘,以获得所述相关结果。进一步地,所述时频逆变换可以是快速傅里叶逆变换。进一步地,所述求模平方用于将用复数表示的数据转换为实数。进一步地,所述相关结果可以对应存储至图1示出的二维空间中,以便与上一个预设周期的相关结果进行非相干累和,进而捕获所述gnss卫星。在一个典型的应用场景中,所述二维空间的获得可以参考图7和图8示出的示意图。具体地,在本应用场景中,以4个数据块累和为例。本领域技术人员理解,要满足图7所示的四个数据块累和,理论上,需要的频率间隔最大值为500/l=125hz。这样,所述预设频率样本集合中相邻两个频率样本的频率间隔可以为125hz。(优选地,所述频率间隔可以更小,这样性能损失更小,但是复杂度也会对应提升,本领域技术人员可以根据实际需要变化出更多实施例,在此不予赘述。)对应的需要进行搜索的频率样本有2×l个,对应的所述预设频率样本集合为{-375hz,-250hz,-125hz,0hz,125hz,250hz,375hz,500hz}。进一步地,对于超过1khz的频偏,其中整千赫兹的频偏可以由本地ca码序列经滑动相关处理后循环移位完成。假设接收机的频率搜索范围确定为±5khz,本次搜索时的配置一个频率样本后(例如,125hz),本地ca码序列经滑动相关处理出来的结果进行{-5,-4,-3,-2,-1,0,1,2,3,4}循环移位后,与接收到的ca码序列经频率转换和折叠处理后,再经时频变换处理的结果对应点乘后分别进行时频逆变换(共10次),此时组合出来的频率有{-4875hz,-3875hz,-2875hz,-1875hz,-875hz,125hz,1125hz,2125hz,3125hz,4125hz},如图8所示二维空间中的粗线箭头部分。进一步从所述预设频率样本集合中选定新的频率样本,如配置250hz,同样可以得到频率{-4750hz,-3750hz,-2750hz,-1750hz,-750hz,250hz,1250hz,2250hz,3250hz,4250hz}。最后,将所述预设频率样本集合中所有的频率样本全部遍历完成后,就可以得到从-5khz到5khz,以125hz(即a/l赫兹)为步长的全部相关结果。由上,采用第一实施例的方案,在进行时频变换之前先对接收到的数据(即所述ca码)按照码周期的长度进行时域上的折叠,以减少计算量,有效降低了捕获gnss卫星时的计算量以及计算复杂度。进一步,对于接收到的ca码中整千赫兹的频偏对应的序列,则基于本地ca码序列进行滑动相关处理后,再进行预设次数的循环移位,从而与经时频变换后的所述至少一个折叠后的序列进行相关处理,最终获得存储至所述二维空间的相关结果。本领域技术人员理解,由于所述折叠后的序列的数据长度等于所述数据块的数据长度,不同的频率样本对应不同的折叠后的序列,使得基于本步骤的频率转换和折叠处理获得所述至少一个折叠后的序列的数据长度小于所述第一序列的数据长度,从而将多次pmf+fft过程降低为1次时频变换,极大地减少了计算量,进而有效提高了对gnss卫星的捕获速度。图9是采用本发明实施例捕获gnss卫星的一个典型应用场景的逻辑框图。具体地,在本应用场景中,按码周期(如1ms)接收所述gnss卫星发送的卫星信号,所述卫星信号包括所述ca码序列和噪声,所述卫星信号经射频、下变频、模数(analog-to-digital,简称ad)采样后得到数字信号的序列,将所述数字信号的序列中非整千赫兹的频偏对应的序列作为第一序列,并且从所述第一序列中提取小于一千赫兹的频偏对应的序列作为第一序列s(n)。进一步地,根据频率样本确定对应的频率旋转因子p(n),所述频率旋转因子p(n)和第一序列s(n)的数据长度均为ln,将两者对应相乘后获得频率转换后的序列y(n)。优选地,所述频率转换后的序列y(n)包括l个数据块,每个所述数据块的数据长度为n,所述l个数据块的总数据长度(即所述频率转换后的序列y(n)的数据长度)仍为ln。进一步地,将所述l个数据块中相同相位上的数据累和,获得折叠后的序列y(n)。优选地,所述折叠后的序列y(n)的数据长度为n。进一步地,对所述折叠后的序列y(n)进行时频变换(例如,快速傅里叶变换,以下简称fft),以获得时频变换后的接收序列。另一方面,取本地ca码序列中整千赫兹的频偏对应的序列ca(n)进行滑动相关处理(例如,进行fft和共轭处理),然后对相关处理后的序列进行预设次数的循环移位,获得至少一个循环移位后的序列。其中,所述至少一个循环移位后的序列的数量等于进行循环移位的次数(即所述预设次数)。在本应用场景中,可以按{-5,-4,-3,-2,-1,0,1,2,3,4}进行了10组循环移位,获得10组循环移位后的序列。进一步地,依次将所述时频变换后的接收序列与所述10组循环移位后的序列分别进行对应点乘并进行时频逆变换(例如快速傅里叶逆变换,以下简称ifft)。在本应用场景中,由于存在10组循环移位后的序列,所以需要进行10次时频逆变换。进一步地,当所述预设频率样本集合中的所有频率样本都遍历完成后,所述二维存储空间存满,与上一个预设周期(例如,码周期)的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。在一个变化例中,也可以取下一个预设周期中接收到的卫星信号重复上述操作,将获得的相关结果与当前的预设周期获得的相关结果进行非相干累和。图10是采用本发明实施例捕获gnss卫星的另一个典型应用场景的逻辑框图。具体地,本应用场景与上述图9所示的应用场景的整体执行逻辑相类似,两者区别在于,以预设频率样本集合{-375hz,-250hz,-125hz,0hz,125hz,250hz,375hz,500hz}为例,在本应用场景中,可以由上述图9所述的依次串行处理变为本应用场景中的并行处理,即可以并行的基于所述预设频率样本集合包括的多个频率样本对所述至少一个数据块进行频率转换和折叠,从而提高处理速度。优选地,对于图10示出的所述频率旋转因子pm(n),当m=1时,即为上述图9所示的频率旋转因子p1(n),所述p1(n)可以是频率配置为-375hz时从显示查找表中查找获得的正弦波形。进一步地,为了更直观的描述采用本发明实施例的技术方案能够极大的减少计算量,接下来以相干合并的频率样本的频率间隔为62.5hz为例,对采用现有的pmf-fft方法与本发明实施例的技术方案进行gnss卫星捕获时的复杂度进行对比。首先采用现有的pmf-fft的方法进行卫星捕获:具体地,匹配滤波器每半码片输出一个相关结果,假设分段数为128。然后补零为512点后进行快速傅里叶变换(以下简称fft)。对应的fft的每个频点的频率间隔为1khz/(512/128)=250hz。在实际应用中,所述频点的频率间隔的选取可以综合考虑所述接收机的性能和复杂度。一般而言,频率间隔越小,性能损失越小,对应的复杂度则会上升。在本对比场景中,考虑所述接收机的频率搜索范围为±5khz,即所述接收机需要进行共11khz的多普勒搜索,对应的有效多普勒检测数量为41次。在搜索过程中,所述匹配滤波器进行半码片滑动,得到不同码相位的相关结果,当所述匹配滤波器滑动一个完整周期(例如,1ms)后,进行码相位和频率的二维峰值搜索。在实际应用中,可以将有效多普勒检测的相关结果(41个值)进行8ms相干累和,以提高信噪比。所述相干累和过程通过16点fft(补8个0)来完成,对应fft每个频点的频率间隔为125hz/(16/8)=62.5hz。取fft输出结果0周围共4个频率样本(0hz/62.5hz/125hz/187.5hz)即可。基于上述处理过程,最终可以得到2046×161个二维数据,分别代表码相位和频率,所述接收机据此进行峰值检测和判断即可完成卫星捕获。基于上述采用现有的pmf-fft进行卫星捕获的技术方案,以8ms相干累和过程来运算量(仅统计复数乘的运算量):首先,分段匹配滤波器的相关过程可以通过加法实现,可以忽略其计算复杂度;512点fft的复杂度为512×9,则8ms相干累和过程的总运算量为:512×9×2046×8次;相干合并(即相干累和)过程中,16点fft的复杂度为16×4,本过程的总运算量为:16×4×2046×161次;忽略其他小量,采用现有的pmf-fft捕获卫星的运算复杂度总计约:512×9×2046×8+16×4×2046×161=47168×2046次复数乘。如果采用本发明实施例的技术方案进行卫星捕获:所述频率间隔仍取62.5hz,因此共需要16组频率旋转因子(即所述预设频率样本集合包括16个频率样本),对应的计算量为2048×16×8个复数乘;将所述至少一个数据块包括的每组数据块进行累和,复杂度忽略不计;进行16次2048点fft,复杂度为2048×11×16;本地ca码序列循环移位11次后做乘法,复杂度为2048×11×16;11×16次快速傅里叶逆变换(ifft)的复杂度为2048×11×11×16;采用本发明实施例的技术方案捕获卫星的运算复杂度总计约:2048×16×8+2048×11×16+2048×11×16+2048×11×11×16=2048×2416次复数乘。本领域技术人员理解,相较于现有采用pmf-fft的技术方案,采用本发明实施例的技术方案后,运算复杂度下降了2048×2416/(47168×2046)=5.13%,能够明显提升接收机对gnss卫星的捕获速度。图11是本发明第二实施例的一种gnss卫星的捕获装置的结构示意图。本领域技术人员理解,本实施例所述捕获装置4用于实施上述图3至图10所示实施例中所述的方法技术方案。具体地,在本实施例中,所述捕获装置4包括接收模块41,用于接收所述gnss卫星在当前的预设周期内发送的ca码序列;第一处理模块42,用于基于预设频率样本集合对第一序列进行频率转换并折叠,以获取至少一个折叠后的序列,其中,所述第一序列为所述ca码序列中非整千赫兹的频偏对应的序列,所述至少一个折叠后的序列的数据长度小于所述第一序列的数据长度,所述至少一个折叠后的序列与所述预设频率样本集合包括的频率样本一一对应;第二处理模块43,用于对第二序列进行预设次数的循环移位,以获得至少一个循环移位后的序列,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列,所述循环移位后的序列的数量等于所述预设次数;第三处理模块44,对所述至少一个折叠后的序列进行时频变换后,与所述至少一个循环移位后的序列进行相关处理,并将相关结果进行时频逆变换及求模平方后存储至由码相位和频率定义的二维空间;第四处理模块45,用于与上一个预设周期的相关结果进行非相干累和,以基于所述二维空间捕获所述gnss卫星。进一步地,所述第一处理模块42包括提取分割子模块421,用于提取所述第一序列中小于一千赫兹的频偏对应的序列并分割成至少一个数据块;第一处理子模块422,对于所述预设频率样本集合包括的每一个频率样本,将所述至少一个数据块中每一数据与所述数据所在相位对应的频率旋转因子相乘,以获得与所述频率样本对应的频率转换后的至少一个数据块,其中,所述频率旋转因子根据所述频率样本查表确定;累和子模块423,对于所述频率转换后的至少一个数据块,将所述至少一个数据块中相同相位上的数据累和,获得所述折叠后的序列,所述折叠后的序列的数据长度等于所述数据块的数据长度,不同的频率样本对应不同的折叠后的序列。优选地,所述预设频率样本集合包括的频率样本的数量是根据所述数据块的数量确定的。优选地,所述预设频率样本集合包括多个频率样本,所述第一处理模块42包括并行处理子模块424,所述并行处理子模块424使用所述预设频率样本集合中的各个频率样本分别对所述第一序列进行频率转换并折叠,且至少一部分频率样本对所述第一序列的频率转换并折叠的过程是并行执行的。优选地,所述本地ca码序列选自:预先存储的gnss卫星集合中各个gnss卫星的ca码序列。优选地,所述第二序列为本地ca码序列中整千赫兹的频偏对应的序列经滑动相关处理得到的序列是指:所述第二处理模块43对所述本地ca码序列中整千赫兹的频偏对应的序列进行时频变换及共轭处理,以获得所述第二序列。优选地,所述预设次数是根据捕获所述gnss卫星时搜索频率的范围确定的。进一步地,所述第三处理模块44包括时频变换子模块441,用于对所述至少一个折叠后的序列分别进行时频变换;第二处理子模块442,对于经时频变换的所述至少一个折叠后的序列中的每一个序列,将所述序列中的数据与所述至少一个循环移位后的序列中的数据按相位对应点乘,以获得所述相关结果。关于所述捕获装置4的工作原理、工作方式的更多内容,可以参照图3至图10中的相关描述,这里不再赘述。进一步地,本发明实施例还公开了一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述图3至图10所示实施例中所述的方法技术方案。优选地,所述存储介质可以包括计算机可读存储介质。所述存储介质可以包括rom、ram、磁盘或光盘等。进一步地,本发明实施例还公开了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述图3至图10所示实施例中所述的方法技术方案。优选地,所述终端可以是gnss接收机。虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1