基于dsp的p码直接捕获方法

文档序号:6209336阅读:286来源:国知局
专利名称:基于dsp的p码直接捕获方法
技术领域
本发明属于卫星导航技术领域,特别涉及卫星导航系统中基于数字信号处理器(DSP, Digital Signal Processor)的P码快速直接捕获方法。
背景技术
北斗导航系统与全球定位系统(GPS, Global Positioning System) 一样,能为用户提供标准定位服务和精密定位服务,两种服务分别以C/Α码和P码为基础。在北斗导航系统中,二者速率相同(10.23M Chip/s),但精码周期非常长,具有很强的抗干扰,抗欺骗能力。通常P码捕获是通过C/Α码的锁定获取导航电文,然后利用导航电文中的转接字提供的信息捕获P码。但是,由于C/Α码的码长很短,极易受到干扰与欺骗,并且需要在得到某一帧的转接字之后才能开始对P码进行捕获,其捕获速度亦较慢(转接字出现间隔为0.6S)。而P码周期长达一周,具有与C/Α码相比强的多的抗干扰性能,在复杂地理或电磁环境下,针对北斗导航系统的P码直接捕获可以进一步提高定位授时精度和利用导航系统进行电子战,导航战的能力,具有很高的实用价值。近年来,对P码直接捕获技术的研究大致可以分为两类,一类是使用大规模并行相关器为基础的时域处理方法,以STS Y-EXPRESS ASIC为代表,另一类是基于FFT处理技术的各种频域处理方法,以XFAST为代表。基于并行相关器的P码捕获的核心思想是利用并行相关器同时对多个时频单元进行搜索,搜索之前,首先根据当前接收机的GPS系统时、位置信息和卫星位置来确定搜索时间与频率范围,然后根据AGC所确定的干扰情况和已定的捕获概率、虚警概率等来确定积分周期,也就确定了每次并行搜索所能覆盖的时频范围以及搜索次数。之后将接收机前端处理后的卫星信号与本地码在相关器中进行相关处理。将大于门限的峰值所对应的扩频码相位偏移以及多普勒频偏移交给跟踪模块。以STS Y-EXPRESS接收机为例,它同时能搜索32704个时频单元(511个时间单元和64个频率单元),搜索精度为1/2个码片,覆盖时间范围可达±12.5 μ S,频率覆盖范围可达±20kHz。为了提高抗干扰能力,Y-EXPRESS ASIC可以剥离GPS电文使相干积分时间超过20ms。并且利用FFT可以将相干积分周期扩展到200msο 在文献 “Wolfert R、Chen S、Kohli S, Direct P (Y) -code acquisition under ajamming environment,Proceedings of IEEE PLANS, Aprill998, 228-235”中对 Y-EXPRESS性能分析和仿真测试表明使用单一的Y-EXPRESS芯片进行P码直捕时,当J/S超过50dB,不确定度为± lms,频率搜索范围为±315kHz时,捕获时间是600s,而大部分军用接收机P码捕获时间要求在不确定度为±ls时小于等于60s,其捕获时间远远不能满足要求,只有增加并行相关器数量来增加并行度从而提高捕获效率。但这就会成倍的增加功耗和硬件资源开销。Lin M David等人提出的一种延迟相乘的P码直捕方法。这种方法首先根据频率搜索精度和频率不确定度将卫星信号和本地码信号分成M段,每一段有N点长数据,然后卫星信号与本地码对应段做相关运算,得到M点数据,再对该数据做FFT运算,然后与门限比较,若超过门限阈值,则捕获成功,否则移动一个采样点再重复以上处理。这种方法在码相位搜索上是一种串行搜索方式,通过对相关后的结果做FFT来实现频率并行搜索,搜索速度比较慢。扩展复制重叠捕获搜索技术(XFAST)不但利用了频域相关的优势,还利用了 P码的低互相关特性。为了提高不确定区间的搜索速率,XFAST法将本地不确定区间划分为M个子区间每段长为N,然后每段对应叠加,构造成一个母序列,最后与输入序列相关,从而使捕获速率加快了 M倍,但是大量叠加之后其信噪比降低极其严重,反而影响捕获性能。直接平均法是对卫星信号和本地码每N点取一次平均,得到一个新的采样点。再分别对他们做FFT运算,该方法与XFAST不同之处就在于每N点求一次平均得到一个新采样点而不是分段叠加,其码相位精度为N,然后再从这N个码相位中进行搜索。该方法能将运算量直接减少N倍,但是缺点是当码相位偏移为N/2时,其相关峰产生3dB损耗。由于以上P码串行捕获方法在捕获速度或性能上存在严重缺陷,大多数接收机都采用基于FPGA的P码并行捕获方法,但是由于FPGA的功耗过高,对于类似单兵手持型接收机的小型接收机,高功耗器件会减少接收机的待机能力。

发明内容
本发明的目的是为了解决上述现有的利用FPGA实现P码并行捕获方法时功耗过高的问题,提出了一种基于DSP的P码直接捕获方法。为了实现上述目的,本发明的技术方案是:一种基于DSP的P码快速直接捕获方法,具体包括如下步骤:S1.接收到的经过Α/D变换后的卫星信号输入至第一块DSP中,然后进行I/Q分离,下变频、下采样,将采样得到的序列a存入第一块DSP的内部RAM中;S2.在第二块DSP中根据本地时钟提供的时间信息,确定当前时间可捕获卫星的个数和卫星号以及对应可捕获卫星中卫星号最小的P码序列不确定度范围,成本地P码b,将其存入外部RAM ;S3.将采样得到的序列a从第一块DSP的内部RAM取出,本地P码b从第二块DSP的外部RAM中取出,对其分别进行叠加和平均操作,得到A,B,叠加和平均操作的具体过程如下:S31.将采样得到的序列a与本地P码b按N点一段进行分段,其中,序列a分为M段,序列b分为K段,将序列a偏移N点得到a’,将序列b偏移N/2、N点分别得到b’、b”,将a与a’叠加得到序列C,将b、b’、b’、b’ ’叠加再平均得到序列d ;S32.将叠加后的两路信号序列c和序列d每段求平均形成一个新的采样点,平均之后得到M个点的Α/D输入信号A和K个点的本地码L ;S33.将长度为K的本地码L按照每段M点分割为J段,之后将所有段叠加形成本地码B ;S4.在第一块DSP中,将步骤S32得到的A进行补零,然后取共轭,做FFT运算,在第二块DSP中,对将步骤S33得到的B进行补零,然后做FFT运算,将第二块DSP中的运算结果输入至第一块DSP,然后将其与第一块DSP中的运算结果相乘后做IFFT ;S5.将IFFT结果与门限值进行比较,若超过门限值,则对超过门限的N/2个码相位进一步精确搜索,之后,将该星转入跟踪模块并判断是否完成所有可捕获卫星的搜索,若还有可捕获卫星未搜索,则开始捕获下一颗卫星,若全部搜索完成,则捕获完成,第二块DSP转入导航数据定位解算;S6.若未超过门限值,则按照不确定度范围偏移一个码片后重新生成本地P码,重复步骤S3-S5。本发明的有益效果:本发明通过采用两块DSP实现P码快速直接捕获,一块DSP负责Α/D输入信号的处理,另外一块DSP负责本地生成P码的处理,与FPGA相比,降低了系统功耗,有利于系统的便携式小型化设计的实现,另外在捕获阶段通过步骤S31可以消除相关峰产生的3dB的损耗,其原理是通过对输入信号a和本地码b做偏移叠加操作,消除码偏移对相关峰值损耗,通过步骤S32,S33可以看出,由于平均与叠加操作的目的都是减小采样点从而减少运算量,但是由于P码互相关性的影响会引入少量噪声,因此该方法是以引入噪声为代价减少捕获运算量从而减少捕获时间,本方法又通过将叠加次数和平均点数减少进而减少引入噪声,从而提高捕获概率。


图1是本发明方法的信号分段前后N/2点叠加示意图。图2是本发明方法的本地码J段叠加示意图。图3是本发明的P码的捕获的处理流程示意图。图4是利用本发明方法的导航系统定位接收机系统内部结构及连接关系示意图。
具体实施例方式下面结合附图和具体的实施例对本发明作进一步的阐述。由于P码的捕获需要处理的信号有两个,Α/D输入信号和本地生成P码。由于DSP是串行处理器件,若仅仅使用一块单核DSP,必须先处理其中一个信号再处理另一个,这样的结构会影响信号处理的实时性,本发明的方法就是基于以上考虑而设计的,采用两块DSP联合去完成P码的捕获。这里的两块DSP可以是两块单核高性能DSP,也可以是一块多核DSP。本实施例采用一块多核DSPTI C6000系列高性能信号处理器,其单核主频可达到IGHz以上,为处理P码直捕的巨大运算量提供了有力保证。本实施例中DSP主要负责以下功能:I/Q分离,下变频、下采样、数据存储、本地码生成、重叠平均FFT处理、频偏搜索、门限检测。P码的捕获的处理流程如图3所示,具体如下:S1.接收到的经过Α/D变换后的卫星信号输入至DSP核I中,然后进行I/Q分离,下变频、下采样,将采样得到的序列a存入核I的内部RAM中;S2.在DSP核2中根据本地时钟提供的时间信息,确定当前时间可捕获卫星的个数和卫星号以及对应可捕获卫星中卫星号最小的P码序列不确定度范围,之后,生成本地P码b,将其存入外部RAM。具体的,这里可以通过精密测距码芯片(PRM)生成本地P码b。S3.将采样得到的序列a从DSP核I的内部RAM取出,本地P码b从外部RAM中取出,对其分别进行叠加和平均操作,得到A,B,叠加和平均操作的具体过程如下:S31.如图1所示,将采样得到的序列a与本地P码b按N点一段进行分段,其中,序列a分为M段,序列b分为K段,将序列a偏移N点得到a’,将序列b偏移N/2、N点分别得到b’、b’ ’,将a与a’叠加得到序列C,将b、b’、b’、b’ ’叠加再平均得到序列d ;本领域的技术人员应该意识到,这里的N可以根据实际情况进行选择。S32.将叠加后的两路信号序列c和序列d每段求平均形成一个新的采样点,平均之后得到M个点的Α/D输入信号A和K个点的本地码L ;S33.如图2所示,将长度为K的本地码L按照每段M点分割为J段,之后将所有段叠加形成本地码B ;S4.在DSP核I 中,将步骤S32得到的A进行补零,然后取共轭,做FFT运算,在DSP核2中,将步骤S33得到的B进行补零,然后做FFT运算,将DSP核2中的运算结果输入至DSP核I,然后将其与DSP核I中的运算结果相乘后做IFFT ;S5.将IFFT结果与门限值进行比较。若超过门限值,则对超过门限的N/2个码的相位进一步精确搜索。之后,将该星转入跟踪模块并判断是否所有可捕获卫星搜索完成,若还有可捕获卫星未搜索,则开始捕获下一颗卫星,若全部搜索完成,则捕获完成,DSP转入导航数据定位解算。S6.若未超过门限值,则按照不确定度范围偏移一个码片后重新生成本地P码,重复步骤S3-S5。具体的,可以通过控制PRM按照不确定度范围偏移一个码片后重新生成本地P码。从前面背景技术的方法介绍可以看出,本发明的方法在捕获阶段通过步骤S31消除相关峰产生的3dB的损耗,其原理可由式(I)看出,同过对输入信号a和本地码b做偏移叠加操作,可以完全消除码偏移对相关峰值损耗,通过步骤S32,S33可以看出,由于平均与叠加操作的目的都是减小采样点从而减少运算量,但是由于P码互相关性的影响会引入少量噪声,重复捕获3次后若还未超过门限阈值,则放弃捕获该星,转而捕获其他可见星。
Corpeak=Hiax { Σ [ (xm+xm+N) X (y0+yN/2+yN/2+yN) /4]}=max { Σ [xmy0+2 +ΧωΥΝ+Χω+ΝΥο+Χω+ΝΥΝ] /4}=max { Σ [ (xmy0+xm+Ny0) +2 (xmyN/2+Xm+NyN/2) + (Χπ,+νΥο+Χπ,+νΥν) ] /4}式(I)=max{ Σ [x0y0+2x0y0+x0y0] /4}=max { Σ x0y0}利用本发明方法的导航系统定位接收机系统内部结构及连接关系如图4所示,首先天线接收信号进入前置放大器放大信号,然后下变频,模数转换,之后进入DSP进行P码捕获,捕获完成之后将已捕获卫星送入跟踪模块进行载波同步和P码相位同步。由于定位解算需要最少4颗卫星,跟踪模块必须至少同时跟踪卫星的卫星数为4,所以使用FPGA利用其并行处理的优势建立此跟踪模块,当卫星数为4颗以上时进行定位解算,由DSP核2负责此模块,并以一定时间间隔对失锁卫星重捕,定位解算完成之后,将结果输入至用户接口供用户使用。综上所述,本发明中的P码直接捕获方法,采用多核DSP代替普遍采用的FPGA来降低接收机功耗及硬件资源,并改进重叠平均补零算法适应该平台,因此基本不会增加捕获时间。此方法特别适用于手持式导航定位接收机。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
权利要求
1.一种基于DSP的P码直接捕获方法,具体包括包括如下步骤: .51.接收到的经过Α/D变换后的卫星信号输入至第一块DSP中,然后进行I/Q分离,下变频、下采样,将采样得到的序列a存入第一块DSP的内部RAM中; .52.在第二块DSP中根据本地时钟提供的时间信息,确定当前时间可捕获卫星的个数和卫星号以及对应可捕获卫星中卫星号最小的P码序列不确定度范围,成本地P码b,将其存入外部RAM ; . 53.将采样得到的序列a从第一块DSP的内部RAM取出,本地P码b从第二块DSP的外部RAM中取出,对其分别进行叠加和平均操作,得到A,B,叠加和平均操作的具体过程如下: . 531.将采样得到的序列a与本地P码b按N点一段进行分段,其中,序列a分为M段,序列b分为K段,将序列a偏移N点得到a’,将序列b偏移N/2、N点分别得到b’、b’ ’,将a与a’叠加得到序列C,将b、b’、b’、b’ ’叠加再平均得到序列d ; .532.将叠加后的两路信号序列c和序列d每段求平均形成一个新的采样点,平均之后得到M个点的Α/D输入信号A和K个点的本地码L ; .533.将长度为K的本地码L按照每段M点分割为J段,之后将所有段叠加形成本地码B ; . 54.在第一块DSP中,将步骤S32得到的A进行补零,然后取共轭,做FFT运算,在第二块DSP中,对将步骤S33得到的B进行补零,然后做FFT运算,将第二块DSP中的运算结果输入至第一块DSP,然后将其与第一块DSP中的运算结果相乘后做IFFT ; .55.将IFFT结果与门限值进行比较,若超过门限值,则对超过门限的N/2个码相位进一步精确搜索,之后,将该星转入跟踪模块并判断是否完成所有可捕获卫星的搜索,若还有可捕获卫星未搜索,则开始捕获下一颗卫星,若全部搜索完成,则捕获完成,第二块DSP转入导航数据定位解算; .56.若未超过门限值,则按照不确定度范围偏移一个码片后重新生成本地P码,重复步骤S3-S5。
全文摘要
本发明公开了一种基于DSP的P码直接捕获方法。针对现有的利用FPGA实现P码并行捕获方法时功耗过高的问题,本发明通过两块DSP实现P码的直接捕获,一块DSP负责A/D输入信号的处理,另外一块DSP负责本地生成P码的处理,通过两块DSP的协调处理进行P码的直接捕获,完成导航数据定位解算,与单独的与FPGA相比,降低了系统功耗,有利于系统的便携式小型化设计的实现;同时通过叠加和平均消除了相关峰产生的3dB的损耗,由于平均与叠加操作的目的都是减小采样点从而减少运算量,但相应的会引入少量噪声,本发明又通过将减少叠加次数和平均点数减少引入的噪声,从而提高捕获概率。
文档编号G01S19/30GK103163535SQ201310082218
公开日2013年6月19日 申请日期2013年3月15日 优先权日2013年3月15日
发明者陈红光, 张旭东, 曹玉玺, 张纪超, 梁淏翔 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1