一种兼容gps和北斗2导航系统的卫星信号捕获方法

文档序号:6155546阅读:141来源:国知局
专利名称:一种兼容gps和北斗2导航系统的卫星信号捕获方法
技术领域
本发明涉及卫星导航技术领域的基带信号处理方法,具体涉及一种能够兼容GPS和北斗2卫星导航系统的卫星信号捕获方法。

背景技术
随着我国第二代北斗卫星导航系统(简称“北斗2”)的建设和发展,研制GPS/北斗2双制式的导航信号接收装置日益成为近年来卫星导航领域的研究热点。而这种导航信号接收装置的关键之一,就在于设计出一种能够兼容GPS和北斗2导航系统的卫星信号捕获方法。
从已公开的文献看,现有的GPS/北斗2兼容接收设备有两种,如附图1和附图2所示。观察附图1和附图2可以发现,尽管二者在捕获跟踪以后的处理流程有所不同,但两者的捕获跟踪模块的设计思路是完全相同的,即是两者都将北斗2捕获跟踪模块和GPS捕获跟踪模块从物理上分开,各自独立工作。北斗2捕获跟踪模块按北斗2卫星信号的特性进行设计,只能用于北斗2卫星的捕获和跟踪;GPS捕获跟踪模块则按GPS卫星信号特性进行设计,只能用于GPS卫星的捕获和跟踪。
可以看出,这种将北斗2捕获跟踪模块和GPS捕获跟踪模块分开的组合导航方案,其优点是设计较为简单,只需按各自系统的特点进行设计即可。但是,由于其中的各个通道已经固定设计为只能处理GPS信号和北斗2信号中的一种,因此,无法做到一个通道上,通过控制信号动态的控制该通道捕获GPS或者北斗2信号,这就使得该捕获方法灵活性不高、浪费资源。以一台由4个GPS捕获通道和4个北斗2捕获通道组成的接收设备为例,如果空中没有北斗2卫星,其对应的4个北斗2通道就浪费了,系统最多只能捕获到4颗GPS卫星,一旦有GPS卫星发生故障或其几何分布不佳,都难以完成定位导航。
具体就捕获方法而言,现有技术的北斗2通道和GPS通道分别按照其对应的卫星导航信号格式设计捕获方法。由于两个系统的导航定位基本原理相同,所以其捕获方法是类似的,如附图3所示,其处理流程依次包括如下步骤 1.设置捕获参数,具体包括捕获门限Tresh、帧长len、采样率fs、多普勒频率变化范围[-aKHz,+aKHz]、码相位捕获精度、频率捕获精度Δf、累加字宽度W、载波估计值fc、GPS的C/A码周期NG和码率fG_code、北斗2的C码周期NC和码率fC_code; 2.对输入信号做快速傅立叶变换(FFT)取一帧输入信号xs=[xs(0),xs(1),...,xs(n),...,xs(N-1)]T,其中,下标s用于区分是GPS还是北斗2的卫星导航信号,上标T表示转置运算(下同),常数N=帧长len×采样频率fs,对xs进行快速傅立叶变换(FFT),得到对应的频域信号Xs=[Xs(0),Xs(1),...,Xs(k),...,Xs(K-1)]T,其中,K=N; 3.产生本地载波信号先在步骤1设定的多普勒频率范围内,等间距取一系列频点f1,f2,...,fm,...,fM,其中,频点数M由帧长和多普勒频率范围共同决定,M=[10+a]×len+1,f1=fc-aKHz,f2=fc-(a-1)KHz,...,fM=fc+aKHz,本地载波信号bm(n)=exp(j2πfmn/fs),m=1,2,...,M; 4.产生码序列cs(n)按照GPS的C/A码生成的技术规范,或者北斗2的C码生成的技术规范,产生本地码序列cs(n); 5.产生本地射频信号将上述步骤3和步骤4得到的信号中的每个元素逐点对应相乘,得到本地射频信号lms(n)=cs(n)×bm(n),m=1,2,...,M,并对lms(n)做快速傅立叶变换(FFT),得到输出信号Lsm; 6.将步骤2得到的Xs和步骤4得到的Lsm中的任意一个取共轭后,与另一个中的每一个元素对应相乘,得到Rsm,对Rsm取共轭,然后进行快速傅立叶变换(FFT),得到rsm,m=1,2,...,M,对rsm中的每一个元素分别取模,得到rsm; 7.用rsm构造数据矩阵Ps∈RM×Ns,找出该矩阵中值最大的元素,运用预先设定的判决规则和捕获门限Tresh进行判决,如果判决结果是成功捕获,则输出捕获结果,否则转入步骤7; 8.判断是否所有卫星ID号都已经进行过捕获处理,如果是,输出捕获失败结论,即当前无法捕获到任意一颗卫星信号,如果不是,则找到一个尚未进行过捕获处理的卫星ID号,转到步骤4。
此外,在信号强度较弱时,为了提高捕获性能,现有技术还会在上述步骤1中增加非相干积分指示参数和非相关积分的累加次数NC_num,如果非相干积分指示参数指示要进行非相干积分,则在上述步骤6之前增加一步非相干积分处理步骤如下重复NC_num次执行上述步骤2到步骤5,每次执行所述步骤2之前,读取新的一帧输入信号xFs,并将每次执行完步骤5的结果进行累加,得到新的rsm。
此外,如果接收设备的射频前端没有设计为对这两种制式的信号进行分别处理,则为了提高捕获过程的输入信号质量,现有技术会在上述步骤2之前增加对输入信号的抗混叠滤波处理步骤。至于抗混叠滤波的滤波器设计以及具体的处理过程,与公开出版的信号处理教材上面介绍的方法没有区别。
现有的兼容GPS/北斗2的卫星信号捕获方法,无论在GPS通道还是北斗2通道,都是按照以上流程进行。但是由于GPS和北斗2输入信号的制式不同,因此,现有技术分别针对这两种不同制式的信号,设计了相互独立的捕获计算方法,比如FFT运算的具体算法,对于这两种不同的信号,是不能相互兼容的,码序列产生的方法,对于这两种不同的信号,也是不能相互兼容的。
真正意义上的GPS/北斗2兼容捕获方法,是设法将图1和图2中的两类捕获通道合二为一,如附图4所示,接收机的每一个捕获通道都既能处理北斗2信号,也能处理GPS信号。可以看出,由于进行了兼容设计,图4所示系统的每一个通道,都可以工作在“单GPS模式”、“单北斗2模式”或“北斗2+GPS模式”。要做到两类通道合二为一,关键点在于对现有的FFT运算方法和码序列产生的方法进行改进,使其既能够处理GPS信号,也能够处理北斗2信号。


发明内容
本发明的目的在于,提供一种兼容GPS和北斗2导航系统的卫星信号捕获方法,以便在捕获模式指示参数的控制下,既可用于捕获GPS卫星信号,也可用于捕获北斗2卫星信号,从而解决现有方案成本高、灵活性差,不同制式的捕获通道不能共享等问题。
为解决上述技术问题,本发明提出的一种兼容GPS和北斗2导航系统的卫星信号捕获方法,包括如下步骤 1、一种兼容GPS和北斗2导航系统的卫星信号捕获方法,包括如下步骤 步骤1设定捕获参数,包括捕获门限Tresh、帧长len、采样率fs、多普勒频率变化范围[-aKHz,+aKHz]、GPS码相位捕获精度、北斗2码相位捕获精度、频率捕获精度Δf、NCO累加字宽度W、载波估计值fc、需要进行捕获的GPS卫星ID号、需要进行捕获的北斗2卫星ID号、GPS的C/A码周期NG和码率fG_code、北斗2的C码周期NC和码率fC_code; 步骤2对输入信号xFs进行打包处理,对打包处理后的数据做FFT,得到本步骤的输出信号XsF; 步骤3产生本地载波信号bm(n); 步骤4产生码序列cs(n); 步骤5将步骤3产生的本地载波信号bm(n)和步骤4产生的码序列cs(n)中的每一个元素值对应相乘,得到本地射频信号lms(n),对lms(n)进行打包处理,对打包处理后的数据做FFT,得到Lsm; 步骤6将步骤2的输出信号XsF和步骤5的输出信号Lsm中的任意一个取共轭,然后与另一个信号中的每一个元素值对应相乘,得到本步骤的输出信号Rsm; 步骤7对步骤6输出的信号Rsm取共轭,然后做FFT得到rsm,对rsm中的每一个元素分别取模,得到rsm; 步骤8用rsm构造数据矩阵Ps,即Ps=[rs0,rs1,......rsm]T,搜索该矩阵中值最大的元素,运用预先设置的判决规则和捕获门限Tresh进行判决,如果判决结果是捕获成功,则输出判决结果,否则进入步骤9; 步骤9判断是否对所有卫星ID号都已经进行过捕获处理,如果是,输出捕获失败结论,如果不是,则找到尚未进行过捕获处理的卫星ID号,转到步骤4; 其特征是 所述步骤1设定的捕获参数中,还包括捕获模式指示参数,该参数的值为“GPS模式”和“北斗2模式”两个中的一个; 所述步骤2和步骤5中的打包处理,均依次按照如下步骤进行 1)计算频率控制字按照所述步骤1中设定的参数,GPS捕获的频率控制字为fG_ctl和北斗2捕获的频率控制字为fC_ctl,分别由下面两式计算得到 2).初始化累加字sumG=0,sumC=0,初始化控制信号chip_half=0,初始化输出结果num=0; 3).对于GPS模式和北斗2模式,分别运用下面的公式进行累加运算 sumG=sumG+fG_ctl or sumC=sumC+fC_ctl 同时将num值加1,即num=num+1; 4)判断sums>2W-1是否成立,如果不成立,则回到3)重复执行,如果成立,则进入步骤5; 5)判断chip_half=0是否成立,如果成立,则先输出num值,再将chip_half值置1,num值置0,并回到3)重复执行,如果不成立,则进入步骤6; 6)判断sums>2W是否成立,如果成立,则先输出num值,再将chip_half值置0,num值置0,并将sums重新赋值为sums=sums mod 2W,运算符mod表示求余数运算,如果不成立,则回到3)重复执行; 7).利用5)或6)中输出的num值,对输入数据帧进行打包处理,得到新的输入数据帧,所述步骤2的打包处理计算公式如下 所述步骤5的打包处理计算公式如下 其中,NS表示码周期,若为GPS模式,则NS=NG,若为北斗2模式,则NS=NC,numi表示5)或6)中第i次的累加计数输出num值,
8)对打包后得到的数据的末尾进行填零处理,使得填零以后的数据长度是比原序列长度大的所有2的整数次幂里面的最小值,GPS数据填零后的长度用HG表示,北斗2数据填零后的长度用HC表示; 所述步骤2、步骤5和步骤7中的FFT,均依次按照如下步骤进行 1)设定进行FFT运算的序列长度为HC; 2)根据所述步骤1中设定的捕获模式指示参数,若为北斗2模式,则将一个北斗2通道的一帧数据放入一个长度为HC的缓存,若为GPS模式,则将两个GPS通道的各一帧数据,依次放入一个长度为HC的缓存; 3)若为北斗2模式,则将该缓存中的HC点数据做位倒序,若为GPS模式,则分别将前HC/2点和后HC/2点做位倒序; 4)对3)中的数据按照HC点FFT运算规则开始FFT运算,若为北斗2模式,则以第log2Hc级输出结果为输出结果,若为GPS模式,则只进行前log2Hg级运算,作为输出结果; 所述步骤4依次按照如下步骤进行 1)设置GPS/北斗2兼容码发生器兼容码发生器由两个11位的移位寄存器组成,当捕获模式指示参数设置为GPS模式时,最后一位移位寄存器不工作,当捕获模式指示参数设置为北斗2模式时,最后一位移位寄存器要工作; 2)当捕获模式指示参数设置为GPS模式时,按照GPS的C/A码生成的技术规范,生成其C/A码,即码序列cs(n); 3)当捕获模式指示参数设置为北斗2模式时,按照北斗2的C码生成的技术规范,生成其C码,即码序列cs(n)。
所述步骤1的帧长len的取值范围介于1毫秒到10毫秒之间、采样率fs的取值范围是大于信号带宽的4倍、多普勒频率变化范围中的a=10、GPS码相位捕获精度等于0.488微秒,北斗2码相位捕获精度等于0.244微秒,频率捕获精度Δf等于帧长len的倒数、累加字宽度W的取值范围是8到32之间的整数、载波估计值fc由卫星信号发射频率和射频处理中的混频器参数决定、GPS的C/A码周期或长度NG为1023,码率fG_code=1.023MHz;北斗2的C码周期NC=2046,码率fC_code=2.046MHz。
所述步骤2之前,还包括对输入信号xFs进行抗混叠滤波处理的步骤,来提高输入信号的质量。
所述步骤1设定的捕获参数中,还包括非相干积分指示参数和非相干积分次数NC_num,非相干积分指示参数指示是否进行非相干积分,非相干积分次数NC_num的取值范围是20到60之间的整数,所述步骤8之前,还包括非相干积分处理步骤,该步骤的处理过程是重复NC_num次执行所述步骤2到步骤7,每次执行所述步骤2之前,读取新的一帧输入信号xFs,并将每次执行完步骤7的结果rsm进行累加,得到新的rsm。
如果所述步骤9的输出结果是捕获失败,则将所述步骤1中的捕获模式指示参数的值修改为与其当前值不同的另外一个值,然后重复执行所述步骤2到步骤9。
所述步骤8中的判决规则是,如果所述的矩阵中所有元素的最大值比该矩阵中所有元素的算术平均值大4dB以上,则认为捕获成功,否则认为捕获失败。
与现有技术相比,本发明提出的卫星信号捕获方法,与现有技术的处理流程相同,但是,对现有技术中的几个关键步骤作出了改进第一,增加了捕获模式指示参数,用于指示当前捕获过程是针对GPS信号还是北斗2信号,并且,该参数可以进行修改;第二,在对输入数据和本地射频信号做FFT之前,增加了打包处理,这样就减少了FFT运算的点数,降低了运算量,并且使打包以后的一帧GPS数据的长度刚好是一帧北斗2数据长度的一半;第三,改进了现有捕获方法中的FFT处理过程,利用打包以后的一帧GPS数据的长度刚好是一帧北斗2数据长度的一半这一点规律,本发明设计的FFT处理方法,能够兼容两种制式的信号的FFT运算,也就是说,在一套硬软件资源上,既可以计算GPS信号的FFT,也可以计算北斗2信号的FFT;第四,改进了现有捕获方法中的码序列产生方法,利用新增加的捕获模式指示参数,控制码序列发生器的最后一位移位寄存器的工作状态,在一套硬件平台上,既可以产生GPS的码序列,也可以产生北斗2的码序列。
由于有了上述区别于现有技术的技术特征,本发明提出的卫星导航信号捕获方法,在几乎不增加额外的资源开销的情况下,根据捕获模式指示参数给出的指示信息,既能够用于捕获GPS导航信号,也能够用于捕获北斗2导航信号。进而使得采用该捕获方法的接收机的每一个捕获通道,可以根据当前所处位置的信号质量和用户设置,灵活的工作在任意一种制式下。



图1为现有的一种兼容GPS/北斗2的导航信号接收处理流程图; 图2为现有的另一种兼容GPS/北斗2的导航信号接收处理流程图; 图3为现有的单模式卫星导航信号捕获方法流程图,其中,实线表示捕获过程的数据流向,虚线表示捕获流程初始化时,向各步骤输入必须的捕获参数; 图4为应用本发明的GPS/北斗2兼容卫星导航信号接收机的处理流程图; 图5为本发明提出的捕获方法的总体流程图,其中,实线表示捕获过程的数据流向,虚线表示捕获流程初始化时,向各步骤输入必须的捕获参数; 图6为数据打包处理过程中的计数流程图; 图7为本发明的FFT运算过程中数据缓存区的安排示意图; 图8为本发明的FFT运算过程中FFT单元的兼容设计示意图(以8个点的输入信号为例); 图9为本发明的GPS/北斗2兼容码序列发生器;
具体实施例方式 下面结合附图,具体说明本发明的技术方案。
本发明对实现该方法的硬件平台没有特殊限制。其输入信号为射频前端提供的中频数字信号,对信号的强度没有特殊限制,一般大于-159dBm即可,对其采样位数也没有具体限制,一般为2到4比特。其射频前端可以是GPS专用射频前端加北斗2专用射频前端,也可以是能够同时处理GPS和北斗2射频信号的一个通用前端。对并行捕获的通道个数无特殊限制,一般在8到16范围之内。
下面以1个北斗2通道捕获为例,结合附图5进行说明。如果有多个并行捕获通道,则其他各个并行捕获通道的捕获方法,与下面描述的方法完全相同。
由前面的描述可知,采用本发明提出的捕获方法后,1个北斗2通道可同时对2颗GPS卫星进行捕获,或者对1颗北斗2卫星进行捕获。射频前端假定为能够同时处理GPS和北斗2射频信号的一个通用前端。
在进行捕获之前,将工作模式指示参数设为“GPS模式”。在此基础上,不失一般性,设置捕获参数如下系统采样率fs=16.3676MHz,GPS信号中频fGI=1.366MHz,北斗2信号中频fCI=4.724MHz,帧长len=1毫秒,码相位捕获精度设为半码片,即chip/2,频率捕获精度Δf=1KHz,NCO的累加字宽度W=8,GPS的C/A码周期NG=1023,码率fG_code=1.023MHz,北斗2的C码周期NC=2046,码率fC_code=2.046MHz。
首先,对一组尚未进行过捕获处理的GPS卫星进行捕获。
第一步对输入信号进行抗混叠滤波处理。
使用窗函数法(对窗的类型没有特殊限制)设计FIR数字滤波器的系数h=[h(0),h(1),...,h(L-1)]T,其中,L=64表示滤波器阶数;滤波器类型带通;通带中心频率fGI=1.366MHz;带宽2.046MHz;并对输入信号xs(n)进行抗混叠滤波,得到xFs(n),即 第二步对输入数据xFs(n)进行打包处理,组成数据帧xFs。
频率控制字fG_ctl为 其中0x10表示16进制数10。
按照图6的方法计算每次数据打包的累加次数num,这里应该等于7或8,并按照该结果对输入数据进行打包,得到数据帧xFs=[xFs(0),xFs(1),...,xFs(2045)]。
第三步将xFs序列末尾填零扩展成长度为2048的序列,进行2048点的位倒序。
利用附图8中的兼容FFT计算方法进行FFT计算,在完成第11级计算后,输出结果XFs=[XFs(0),XFs(1),...,XFs(2047)]。
对XFs取共轭,得到XFs*=[XFs*(0),XFs*(1),...,XFs*(2047)]。
然后将XFs*复制到缓存的后半段备用,即BUF_XFS=[XFs*(0),XFs*(1),...,XFs*(2045),XFs*(0),XFs*(1),...,XFs*(2047)]。
第四步产生一组本地载波信号bm(n)=exp(j2πfmn/fs),m=1,2,...,20。
根据NCO累加字宽度W=8,制作一个长度为64的正弦相位幅度表TLB=[T(0),T(1),...,T(63)]。
利用载波估计值fGI=1.366MHz和频率分辨率Δf=1KHz,产生一组频点,即f1=1366-10KHz,f2=1366-9KHz,...,f20=1366+10KHz。
在每一个频点fm,m=1,2,...,20,计算对应的频率控制字fm_ctl为 利用该频率控制字进行累加,并查找对应的相位幅度表TLB,产生本地载波bm(n)=exp(j2πfmn/fs)。
第五步分别产生这两颗卫星的C/A码序列。
对附图9中的参数做如下设置,使其工作在GPS模式时钟设为1.023MHz,两个移位寄存器长度均设为10,G1对应的反馈抽头参数为[2,9],G1从9号寄存器输出,G2对应的反馈抽头参数设定为[1,2,5,7,8,9],G2的输出位置根据GPS技术规范上面的卫星ID号与G2输出位置对应关系表进行设置,G1和G2的初始值均设置为全1。
产生该卫星的C/A码序列cG_ID1(n),n=1,2,...,1023。
设置另一GPS卫星ID号和初始状态,产生该卫星的C/A码序列cG_ID2(n),n=1,2,...,1023。
设置码NCO的频率控制字fG ctl为 使用fG_ctl进行累加,当累加值超过28=256后,根据cG_ID1(n)和cG_ID2(n)进行码片切换,产生本地码序列cG1(n)和cG2(n)。
第六步将cG1(n)、cG2(n)与各组本地载波信号bm(n),m=1,2,...,20,逐点对应相乘,得到lsm1(n)=cG1(n)×bm(n),lsm2(n)=cG2(n)×bm(n)。
对lsm1(n)和lsm2(n)进行数据打包,利用图6的方法计算每次数据打包的累加次数num,这里应该等于7或8,并按照该结果对输入数据进行打包,结果依然记为lsm1(n)和lsm2(n),得到本地数据帧lsm1=[lsm1(0),lsm1(1),...,lsm1(2045)],lsm2=[lsm2(0),lsm2(1),...,lsm2(2045)]。
将lsm1和lsm2填零至2048点后,按照附图7所示,依次存入缓存中,即BUF_LSm=[lsm1(0),lsm1(1),...,lsm1(2047),lsm2(0),lsm2(1),...,lsm2(2047)]。
第七步对BUF_LSm的数据进行FFT运算,m=1,2,...,20。
对BUF_LSm的前后两部分分别进行2048点的位倒序,结果仍然存储在BUF_LSm中。
在附图8所示的兼容FFT单元中对BUF_LSm中的数据进行4096点的FFT计算,输出第11级的计算结果,仍然存储在BUF_LSm中,即BUF_LSm=[Lsm1(0),Lsm1(1),...,Lsm1(2047),Lsm2(0),Lsm2(1),...,Lsm2(2047)]。
第八步将BUF_LSm中的数据和BUF_XFS中的数据对应相乘,m=1,2,...,20,这里可以并行执行以提高速度。最后得到BUF_RSm=[Rsm1(0),Rsm1(1),...,Rsm1(2047),Rsm2(0),Rsm2(1),...,Rsm2(2047)],其中,Rsmi(k)=Lsmi(k)×XFs*(k),i=1,2,m=1,2,...,20。
BUF_RSm可以是和BUF_LSm或BUF_XFS相同的存储空间,也可以另外开辟存储空间,后者便于整个流程的流水实现。
第九步对BUF_RSm中的数据先取共轭,再进行FFT运算,m=1,2,...,20。
对BUF_RSm中的数据取共轭,得到BUF_RSm=[Rsm1*(0),Rsm1*(1),...,Rsm1*(2047),Rsm2*(0),Rsm2*(1),...,Rsm2*(2047)]。
在附图8所示的兼容FFT单元中对BUF_RSm中的数据进行4096点的FFT计算,输出第11级的计算结果,仍然存储在BUF_RSm中。
对FFT运算的结果中的每一个元素分别取模,得到rsm。
第十步进行NC_num=40次非相关积分。
初始化非相干积分累计值rsm=
∈C1×4096,m=1,2,...,M。
取下一帧输入数据,重复执行第一步到第九步,每次执行完毕后,在rsm上对BUF_RSm进行累加,即rsm=rsm+BUF_RSm,m=1,2,...,M。
以上过程重复40次,最终得到数据矩阵rs为 第十步对rs中的数据进行峰值搜索。
对|rs1|和|rs2|的各行进行2048点的峰值搜索,分别得到每行的最大值|rs1m(k1m)|和|rs2m(k2m)|,m=1,2,...,M。
对|rs1m(k1m)|和|rs2m(k2m)|,m=1,2,...,M,分别进行比较,找到最大值|rs1ma(k1ma)|和|rs2mb(k2mb)|。
第十一步如果|rs1ma(k1ma)|或|rs2mb(k2mb)|大于捕获门限Tresh,或者,如果|rs1ma(k1ma)|或|rs2mb(k2mb)|大于该矩阵中所有元素的算术平均值4dB以上,则认为对相应ID号的GPS卫星信号捕获成功,其多普勒频率由ma或mb决定,码相位由k1ma或k2mb决定;否则认为对这两颗卫星的捕获失败,转入第十二步。
第十二步判断是否所有GPS卫星ID都已经进行过捕获,如果是,输出所有GPS卫星捕获失败的结论,转入第十三步,如果不是,则找出两个尚未进行过捕获的GPS卫星的ID号,转入第五步。
下面是对北斗2卫星进行捕获的过程。
第十三步使用窗函数法(对窗的类型没有特殊限制)设计FIR数字滤波器的系数h=[h(0),h(1),...,h(L-1)]T,其中,L=64表示滤波器阶数;滤波器类型带通;通带中心频率fGI=4.724MHz;带宽4.092MHz;并对输入信号xs(n)进行抗混叠滤波,得到xFs(n),即 第十四步将工作模式指示参数设为“北斗2模式”,对输入数据xFs(n)进行打包处理,组成数据帧xFs。
频率控制字fC_ctl为 其中0x20表示十六进制数20。
按照图6的方法计算每次数据打包的累加次数num,这里应该等于3或4,并按照该结果对输入数据进行打包,得到数据帧xFs=[xFs(0),xFs(1),...,xFs(4091)]。
第十五步设定FFT计算长度为4096,将xFs序列末尾填零扩展成长度为4096的序列,进行4096点的位倒序。
利用附图7中的兼容FFT计算单元进行FFT计算,在完成第12级计算后,输出结果XFs=[XFs(0),XFs(1),...,XFs(4095)]。
对XFs取共轭,得到XFs*=[XFs*(0),XFs*(1),...,XFs*(4095)]。
然后将XFs*复制到缓存BUF_XFS中备用,注意,这里的BUF_XFS=[XFs*(0),XFs*(1),...,XFs*(4095)]。
第十六步产生一组本地载波信号bm(n)=exp(j2πfmn/fs),m=1,2,...,20。
根据码NCO累加字宽度W=8,制作一个长度为64的正弦相位幅度表TLB=[T(0),T(1),...,T(63)]。
利用载波估计值fGI=4.724MHz和频率分辨率Δf=1KHz,产生一组频点,即f1=4724-10KHz,f2=4724-9KHz,...,f20=4724+10KHz。
在每一个频点fm,m=1,2,...,20,计算对应的频率控制字fm_ctl为 利用该频率控制字进行累加,并查找对应的相位-幅度表TLB,产生本地载波bm(n)=exp(j2πfmn/fs)。
第十七步对应设定的北斗2卫星ID号,产生该卫星的C码序列。
对附图9中的参数进行设置,使其工作在北斗2模式,具体设置的参数有时钟设为2.046MHz,两个移位寄存器长度均设为11,G1从10号寄存器输出,对应的反馈抽头参数为
,G2对应的反馈抽头参数设定为
,G2的输出抽头位置根据当前处理的北斗2卫星ID号来决定,比如,ID=1的卫星,该输出抽头为

设置北斗2卫星ID号和初始状态,产生该卫星的C/A码序列cG_ID(n),n=1,2,...,2046。
设置码NCO的频率控制字fC_tcl为 使用fC_ctl进行累加,当累加值超过28=256后,根据cC_ID(n)和进行码片切换,产生本地码序列cC(n)。
第十八步将cC(n)与各组本地载波信号bm(n),m=1,2,...,20,对应相乘,得到lsm(n)=cC(n)×bm(n)。
对lsm(n)进行数据打包,利用图6的方法计算每次数据打包的累加次数num,这里应该等于3或4,并按照该结果对输入数据进行打包,结果依然记为lsm(n),得到本地数据帧lsm=[lsm(0),lsm(1),...,lsm1(4091)]。
将lsm填零至4096点后,依次存入缓存中,即BUF_LSm=[lsm(0),lsm(1),...,lsm1(4095)]。
第十九步对BUF LSm的数据进行FFT运算,m=1,2,...,20。
对BUF_LSm的数据进行4096点的位倒序,结果仍然存储在BUF_LSm中。
在附图8所示的兼容FFT单元中对BUF_LSm中的数据进行4096点的FFT计算,输出第12级的计算结果,仍然存储在BUF_LSm中,即BUF_LSm=[Lsm(0),Lsm(1),...,Lsm(4095)]。
第二十步将BUF_LSm中的数据和BUF_XFS中的数据逐点对应相乘,m=1,2,...,20,这里可以并行执行以提高速度。最后得到BUF_RSm=[Rsm(0),Rsm(1),...,Rsm(4095)],其中,Rsm(k)=Lsm(k)×XFs*(k),m=1,2,...,20。
BUF_RSm可以是和BUF_LSm或BUF_XFS相同的存储空间,也可以另外开辟存储空间,后者便于整个流程的流水实现。
第二十一步对BUF_RSm中的数据先取共轭,再进行FFT运算,m=1,2,...,20。
对BUF_RSm中的数据取共轭,得到BUF_RSm=[Rsm*(0),Rsm*(1),...,Rsm*(4095)]。
在附图8所示的兼容FFT单元中对BUF_RSm中的数据进行4096点的FFT计算,输出第12级的计算结果,仍然存储在BUF_RSm中。
对FFT运算得到的4096点数据,逐个取模,得到rsm。
第二十二步进行NC_num=40次非相关积分。
初始化非相干积分累计值rsm=
∈C1×4096,m=1,2,...,M。
取下一帧输入数据,重复执行第十三步到第二十一步,每次执行完毕,都得到BUF_RSm=[rm(0),rsm(1),...,rsm(4095)],m=1,2,...,M。
在rsm上对BUF_RSm进行累加,即rsm=rsm+BUF_RSm,m=1,2,...,M。
以上过程重复40次,最终得到数据矩阵rs为 第二十三步对rs中的数据进行峰值搜索。
对rs的各行进行4096点的峰值搜索,得到每行的最大值|rsm(kx)|,m=1,2,...,M。
对|rsm(km)|,m=1,2,...,M,进行比较,找到最大值|rsm0(Km0)|。
第二十四步如果|rsm0(km0)|>捕获门限Thresh,或者如果|rsm0(km0)|大于该矩阵中所有元素的算术平均值的4dB以上,则认为对相应ID号的北斗2卫星信号捕获成功,其多普勒频率由m0决定,码相位由km0决定;否则认为对该北斗2卫星的捕获失败,转入第二十五步。
第二十五步判断是否所有北斗2卫星都已经进行过捕获,如果是,则输出全部北斗2卫星捕获失败结论,如果不是,则找到一个尚未进行捕获的北斗2卫星的ID号,转入第十七步。
权利要求
1、一种兼容GPS和北斗2导航系统的卫星信号捕获方法,包括如下步骤
步骤1设定捕获参数,包括捕获门限Tresh、帧长len、采样率fs、多普勒频率变化范围[-aKHz,+aKHz]、GPS码相位捕获精度、北斗2码相位捕获精度、频率捕获精度Δf、NCO累加字宽度W、载波估计值fc、需要进行捕获的GPS卫星ID号、需要进行捕获的北斗2卫星ID号、GPS的C/A码周期NG和码率fG_code、北斗2的C码周期NC和码率fC_code;
步骤2对输入信号xFs进行打包处理,对打包处理后的数据做FFT,得到本步骤的输出信号XsF;
步骤3产生本地载波信号bm(n);
步骤4产生码序列cs(n);
步骤5将步骤3产生的本地载波信号bm(n)和步骤4产生的码序列cs(n)中的每一个元素值对应相乘,得到本地射频信号lms(n),对lms(n)进行打包处理,对打包处理后的数据做FFT,得到Lsm;
步骤6将步骤2的输出信号XsF和步骤5的输出信号Lsm中的任意一个取共轭,然后与另一个信号中的每一个元素值对应相乘,得到本步骤的输出信号Rsm;
步骤7对步骤6输出的信号Rsm取共轭,然后做FFT得到rsm,对rsm中的每一个元素分别取模,得到rsm;
步骤8用rsm构造数据矩阵Ps,即Ps=[rs0,rs1,......rsm]T,搜索该矩阵中所有元素的最大值,运用预先设置的判决规则和捕获门限Tresh进行判决,如果判决结果是捕获成功,则输出判决结果,否则进入步骤9;
步骤9判断是否对所有卫星ID号都已经进行过捕获处理,如果是,输出捕获失败结论,如果不是,则找到尚未进行过捕获处理的卫星ID号,转到步骤4;
其特征是
所述步骤1设定的捕获参数中,还包括捕获模式指示参数,该参数的值为“GPS模式”和“北斗2模式”两个中的一个;
所述步骤2和步骤5中的打包处理,均依次按照如下步骤进行
1)计算频率控制字按照所述步骤1中设定的参数,GPS捕获的频率控制字为fG_ctl和北斗2捕获的频率控制字为fC_ctl,分别由下面两式计算得到
2).初始化累加字sumG=0,sumC=0,初始化控制信号chip_half=0,初始化输出结果num=0;
3).对于GPS模式和北斗2模式,分别运用下面的公式进行累加运算
sumG=sumG+fG_ctl or sumC=sumC+fC_ctl
同时将num值加1,即num=num+1;
4)判断sums>2W-1是否成立,如果不成立,则回到3)重复执行,如果成立,则进入步骤5;
5)判断chip_half=0是否成立,如果成立,则先输出num值,再将chip_half值置1,num值置0,并回到3)重复执行,如果不成立,则进入步骤6;
6)判断sums>2W是否成立,如果成立,则先输出num值,再将chip_half值置0,num值置0,并将sums重新赋值为sums=sums mod 2W,运算符mod表示求余数运算,如果不成立,则回到3)重复执行;
7).利用5)或6)中输出的num值,对输入数据帧进行打包处理,得到新的输入数据帧,所述步骤2的打包处理计算公式如下
所述步骤5的打包处理计算公式如下
其中,NS表示码周期,若为GPS模式,则NS=NG,若为北斗2模式,则NS=NC,numi表示5)或6)中第i次的累加计数输出num值,
8)对打包后得到的数据的末尾进行填零处理,使得填零以后的数据长度是比原序列长度大的所有2的整数次幂里面的最小值,GPS数据填零后的长度用HG表示,北斗2数据填零后的长度用HC表示;
所述步骤2、步骤5和步骤7中的FFT,均依次按照如下步骤进行
1)设定进行FFT运算的序列长度为HC;
2)根据所述步骤1中设定的捕获模式指示参数,若为北斗2模式,则将一个北斗2通道的一帧数据放入一个长度为HC的缓存,若为GPS模式,则将两个GPS通道的各一帧数据,依次放入一个长度为HC的缓存;
3)若为北斗2模式,则将该缓存中的HC点数据做位倒序,若为GPS模式,则分别将前HC/2点和后HC/2点做位倒序;
4)对3)中的数据按照HC点FFT运算规则开始FFT运算,若为北斗2模式,则以第log2Hc级输出结果为输出结果,若为GPS模式,则只进行前log2Hg级运算,作为输出结果;
所述步骤4依次按照如下步骤进行
1)设置GPS/北斗2兼容码发生器兼容码发生器由两个11位的移位寄存器组成,当捕获模式指示参数设置为GPS模式时,最后一位移位寄存器不工作,当捕获模式指示参数设置为北斗2模式时,最后一位移位寄存器要工作;
2)当捕获模式指示参数设置为GPS模式时,按照GPS的C/A码生成的技术规范,生成其C/A码,即码序列cs(n);
3)当捕获模式指示参数设置为北斗2模式时,按照北斗2的C码生成的技术规范,生成其C码,即码序列cs(n)。
2、根据权利要求1所述的一种兼容GPS和北斗2导航系统的卫星信号捕获方法,其特征是所述步骤1的帧长len的取值范围介于1毫秒到10毫秒之间、采样率fs的取值范围是大于信号带宽的4倍、多普勒频率变化范围中的a=10、GPS码相位捕获精度等于0.488微秒,北斗2码相位捕获精度等于0.244微秒,频率捕获精度Δf等于帧长len的倒数、累加字宽度W的取值范围是8到32之间的整数、载波估计值fc由卫星信号发射频率和射频处理中的混频器参数决定、GPS的C/A码周期或长度NG为1023,码率fG_code=1.023MHz;北斗2的C码周期NC=2046,码率fC_code=2.046MHz。
3、根据权利要求1所述的一种兼容GPS和北斗2导航系统的卫星信号捕获方法,其特征是在所述步骤2之前,还包括对输入信号xFs进行抗混叠滤波处理的步骤。
4、根据权利要求1所述的一种兼容GPS和北斗2导航系统的卫星信号捕获方法,其特征是所述步骤1设定的捕获参数中,还包括非相干积分指示参数和非相干积分次数NC_num,非相干积分指示参数指示是否进行非相干积分,非相干积分次数NC_num的取值范围是20到60之间的整数,所述步骤8之前,还包括非相干积分处理步骤,该步骤的处理过程是重复NC_num次执行所述步骤2到步骤7,每次执行所述步骤2之前,读取新的一帧输入信号xFs,并将每次执行完步骤7的结果rsm进行累加,得到新的rsm。
5、根据权利要求1所述的一种兼容GPS和北斗2导航系统的卫星信号捕获方法,其特征是如果步骤9的输出结果是捕获失败,则将所述步骤1中的捕获模式指示参数的值修改为与其当前值不同的另外一个值,然后重复执行所述步骤2到步骤9。
6、根据权利要求1所述的一种兼容GPS和北斗2导航系统的卫星信号捕获方法,其特征是所述步骤8中的判决规则是,如果所述的矩阵中所有元素的最大值比该矩阵中所有元素的算术平均值大4dB以上,则认为捕获成功,否则认为捕获失败。
全文摘要
本发明涉及卫星导航技术领域的基带信号处理方法,具体涉及一种能够兼容GPS和北斗2卫星导航系统的卫星信号捕获方法。本发明包括对输入信号做打包处理并进行FFT,产生本地载波信号和本地码序列,产生本地射频信号,对射频信号做打包处理并做FFT,将FFT运算后的输入信号和射频信号对应相乘,对相乘后的结果取共轭并做FFT,用取共轭得到的信号构建数据矩阵并对矩阵中各个元素取模,最后应用判决规则对数据矩阵进行判决得出捕获结论。本发明提出的捕获方法,在不增加资源开销的情况下,既能够捕获GPS卫星信号,也能够捕获北斗2卫星信号,可用于GPS/北斗2双模式的卫星导航信号接收装置。
文档编号G01S5/02GK101639529SQ20091016433
公开日2010年2月3日 申请日期2009年9月2日 优先权日2009年9月2日
发明者林静然, 李玉柏, 陈永刚, 峰 高, 易清明 申请人:东莞市泰斗微电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1