基于北斗卫星的信号实时并行快速捕获方法转让专利

申请号 : CN201210360519.1

文献号 : CN102901973B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾小波刘洁吴淑琴张筱南戚敏

申请人 : 郑州威科姆科技股份有限公司

摘要 :

本发明涉及一种基于北斗卫星的信号实时并行快速捕获方法;含有下列步骤:步骤1:接收北斗卫星信号,然后采用前端射频单元对接收到的卫星信号进行降频处理,再经AD转换和下变频处理,得到中频数字信号;步骤2:采用并行快速匹配滤波器对中频数字信号进行并行快速捕获:步骤2.1:产生本地C/A码;步骤2.2:生成本地载波;步骤2.3:将本地载波与中频数字信号对应点相乘;步骤2.4:将本地C/A码与步骤2.3的结果送入并行快速匹配滤波器的并行快速相关器中;步骤3:将步骤2.4的输出结果送入FFT模块进行功率谱分析;步骤4:把FFT模块的输出结果送入谱峰判决模块进行信号检测;本发明提供了一种捕获速度快、易于数字化实现的基于北斗卫星的信号实时并行快速捕获方法。

权利要求 :

1.一种基于北斗卫星的信号实时并行快速捕获方法,其特征是:含有下列步骤:

步骤1:首先采用北斗微带天线接收北斗卫星信号,然后采用前端射频单元对接收到的卫星信号进行降频处理,再经AD转换和下变频处理,得到中频数字信号;

步骤2:采用并行快速捕获算法来捕获北斗卫星信号中的有效可见卫星信号;具体操作时,采用并行快速匹配滤波器对步骤1所得的中频数字信号进行并行快速捕获;中频数字信号由以下式子来表示:其中,m为信号中包含的北斗卫星个数;对于第i颗卫星,Ai为振幅,Di(t)为导航数据,Ci(t)为C/A码,fi为载波频率,n(t)为噪声;

并行快速捕获的具体步骤如下:

步骤2.1:产生基于快速匹配滤波器的FPGA芯片的本地C/A码:首先根据码速率从系统时钟得到码时钟,在码时钟下依据移位寄存器方法产生本地C/A码,然后根据不同卫星的编号及抽头系数来产生不同卫星的本地C/A码;

步骤2.2:生成本地载波:根据载波频率,采用基于快速匹配滤波器的FPGA芯片的DDC控制器来生成本地载波;

步骤2.3:将本地载波与输入的中频数字信号对应点相乘,相乘后的信号表达式如下:其中,S(t)为中频数字信号,cos(2πfjt)为本地载波,fj为本地载波频率;

对该相乘后的信号进行低通滤波,使只有|fi-fj|足够小时通过,那么相乘后的信号S′(t)为:从上式可以看出, 为常数,S′(t)仅与C/A码Ci(t)有关;

步骤2.4:将步骤2.1产生的本地C/A码与步骤2.3中的信号S′(t)的结果送入并行快速匹配滤波器的并行快速相关器中,并行快速相关器的输出结果即为并行快速匹配滤波器的输出;

步骤3:将步骤2.4的输出结果送入FFT模块进行功率谱分析;

步骤4:把FFT模块的输出结果送入谱峰判决模块进行信号检测,由于对自相关函数求傅里叶变换得到的是功率谱函数,所以FFT模块输出的最大值点就是信号的多普勒频率偏移点;谱峰判决模块用来判断捕获完成情况,若有用信号功率大于预先设定的门限值,则捕获成功;

步骤2.4中,并行快速相关器的实现方法为:以静止的本地C/A码作为并行快速匹配滤波器的抽头系数,让进来的信号S′(t)的采样数据顺序滑过本地C/A码的序列,每来一个采样数据,与所有本地C/A码做相关运算,对每一个采样数据与本地C/A码的相关运算结果做累加,这样每一个时钟周期就产生一个相关值,当本地C/A码的序列和m颗卫星中的某一颗的C/A码的序列零相移的时刻,就会产生一个相关峰值,在一个码周期内就能够找到一个峰值:其中,Cj(t)为本地C/A码,根据C/A码的相关特性,当Cj(t)与m颗卫星中的某一颗的C/A码相同,且相位也相同时,就能解扩信号。

2.根据权利要求1所述的基于北斗卫星的信号实时并行快速捕获方法,其特征是:所述步骤1中:北斗微带天线接收北斗卫星B1频点的射频信号,经过下变频处理后,信号的频率从1561.098MHz降到了1MHz~99MHz范围内。

3.根据权利要求1所述的基于北斗卫星的信号实时并行快速捕获方法,其特征是:所述步骤2中:采用Xilinx的Spartan6芯片实现并行快速匹配滤波器的电路,采用VHDL语言实现并行快速匹配滤波器的算法的功能仿真。

4.根据权利要求1所述的基于北斗卫星的信号实时并行快速捕获方法,其特征是:所述步骤2.2中:DDC控制器可以通过采样IP核来实现生成本地载波,也可以通过采样VHDL代码来实现生成本地载波。

5.根据权利要求1所述的基于北斗卫星的信号实时并行快速捕获方法,其特征是:所述对每一个采样数据与本地C/A码的相关运算结果做累加的方法为:当第一个采样数据过来的时候,分别与M个本地C/A码做相关运算,运算结果为Q11,Q12,Q13……Q1M-1,Q1M,当第二个采样数据过来的时候,也分别与M个本地C/A码做相关运算,运算结果为Q21,Q22,Q23……Q2M-1,Q2M,依次类推,当第M个采样数据过来的时候,分别与M个本地C/A码做相关运算,运算结果为QM1,QM2,QM3……QMM-1,QMM;然后将相关运算结果的阵列的斜对角线上的数值进行累加,累加算法为:QR1=Q11+Q22+…+QMM

QR2=Q21+Q32+…+QMM-1+Q1M

QR3=Q31+Q42+…+QMM-2+Q1M-1+Q2M

…………

QRM=QM1+Q12+…+Q(M-1)M。

6.根据权利要求1所述的基于北斗卫星的信号实时并行快速捕获方法,其特征是:所述步骤3中:为了方便做FFT运算,如果并行快速匹配滤波器输出的数据点数不是2的整数次幂,则用零补齐。

说明书 :

基于北斗卫星的信号实时并行快速捕获方法

[0001] (一)、技术领域:本发明涉及一种卫星信号的接收方法,特别涉及一种基于北斗卫星的信号实时并行快速捕获方法。
[0002] (二)、背景技术:北斗卫星导航定位系统﹝BeiDou(COMPASS)Navigation SatelliteSystem﹞是中国自主研发、独立运行的全球卫星导航系统,与美国GPS、俄罗斯GLONASS、欧盟伽利略系统并称全球四大卫星导航系统。美国GPS系统应用最广泛,俄罗斯GLONASS、中国北斗卫星导航系统已经投入运行,欧洲“伽利略”导航系统正在建设中。北斗卫星导航定位系统是继美国GPS、俄罗斯GLONASS之后第三个成熟的卫星导航系统。北斗接收机的主要任务是接收北斗卫星发射的信号,并进行处理,获取导航电文和观测量。想要完成这些任务,首先需要进行的是卫星信号的捕获。导航卫星信号捕获是对接收信号载波频率和伪码相位的一个二维搜索过程,当本地参考序列与卫星信号达到粗同步并且频率也近似相等时,会产生相关峰值,依此来判断是否完成了捕获。
[0003] 卫星信号捕获的主要方法有串行捕获、并行捕获和匹配滤波器捕获。串行捕获是指在捕获伪码的过程中,每次滑动一个扩频码元相位进行相关运算,直到得到设定的相关值,则捕获成功转而进入码跟踪,此方法硬件实现简单,在扩频通信系统中得到了广泛的应用,但是捕获时间长,实时性差;并行捕获则对每种相位均设置了相关器,同时做相关运算,将与设定的相关值相同的相位作为捕获成功的相位,和串行捕获相比,并行捕获的捕获时间大大缩短了,但对硬件资源要求较多,实现起来较复杂;匹配滤波器捕获是利用匹配滤波的原理对整个扩频码元进行匹配相关以实现伪码的捕获,捕获时间短且易于实现。(三)、发明内容:
[0004] 本发明要解决的技术问题是:针对现有技术不足,提供一种捕获速度快、易于数字化实现的基于北斗卫星的信号实时并行快速捕获方法。
[0005] 本发明的技术方案:
[0006] 一种基于北斗卫星的信号实时并行快速捕获方法,含有下列步骤:
[0007] 步骤1:首先采用北斗微带天线接收北斗卫星信号,然后采用前端射频单元对接收到的卫星信号进行降频处理,再经AD转换和下变频处理,得到中频数字信号;
[0008] 步骤2:采用并行快速捕获算法来捕获北斗卫星信号中的有效可见卫星信号;具体操作时,采用并行快速匹配滤波器对步骤1所得的中频数字信号进行并行快速捕获;中频数字信号由以下式子来表示:
[0009]
[0010] 其中,m为信号中包含的北斗卫星个数;对于第i颗卫星,Ai为振幅,Di(t)为导航数据,Ci(t)为C/A码,fi为载波频率,n(t)为噪声;
[0011] 并行快速捕获的具体步骤如下:
[0012] 步骤2.1:产生基于快速匹配滤波器的FPGA芯片的本地C/A码:首先根据码速率从系统时钟得到码时钟,在码时钟下依据移位寄存器方法产生本地C/A码,然后根据不同卫星的编号及抽头系数来产生不同卫星的本地C/A码;
[0013] 步骤2.2:生成本地载波:根据载波频率,采用基于快速匹配滤波器的FPGA芯片的DDC控制器来生成本地载波;
[0014] 步骤2.3:将本地载波与输入的中频数字信号对应点相乘,相乘后的信号表达式如下:
[0015]
[0016] 其中,S(t)为中频数字信号,cos(2πfjt)为本地载波,fj为本地载波频率;
[0017] 对该相乘后的信号进行低通滤波,使只有|fi-fj|足够小时通过,那么相乘后的信号S′(t)为:
[0018]
[0019] 从上式可以看出, 为常数,S′(t)仅与C/A码Ci(t)有关;
[0020] 步骤2.4:将步骤2.1产生的本地C/A码与步骤2.3中的信号S′(t)的结果送入并行快速匹配滤波器的并行快速相关器中,并行快速相关器的输出结果即为并行快速匹配滤波器的输出;
[0021] 步骤3:将步骤2.4的输出结果送入FFT模块进行功率谱分析;
[0022] 步骤4:把FFT模块的输出结果送入谱峰判决模块进行信号检测,由于对自相关函数求傅里叶变换得到的是功率谱函数,所以FFT模块输出的最大值点就是信号的多普勒频率偏移点;谱峰判决模块用来判断捕获完成情况,若有用信号功率大于预先设定的门限值,则捕获成功。
[0023] 步骤1中:北斗微带天线接收北斗卫星B1频点的射频信号,经过下变频处理后,信号的频率从1561.098MHz降到了1MHz~99MHz范围内,以使数字处理器可以处理。
[0024] 步骤2中:采用Xilinx的Spartan6芯片实现并行快速匹配滤波器的电路,采用VHDL语言实现并行快速匹配滤波器的算法的功能仿真。
[0025] 步骤2.2中:DDC控制器可以通过采样IP核来实现生成本地载波,也可以通过采样VHDL代码来实现生成本地载波。
[0026] 步骤2.4中,并行快速相关器的实现方法为:以静止的本地C/A码作为并行快速匹配滤波器的抽头系数,让进来的信号S′(t)的采样数据顺序滑过本地C/A码的序列,每来一个采样数据,与所有本地C/A码做相关运算,对每一个采样数据与本地C/A码的相关运算结果做累加,这样每一个时钟周期就产生一个相关值,当本地C/A码的序列和m颗卫星中的某一颗的C/A码的序列零相移的时刻,就会产生一个相关峰值,在一个码周期内就能够找到一个峰值:
[0027]
[0028] 其中,Cj(t)为本地C/A码,根据C/A码的相关特性,当Cj(t)与m颗卫星中的某一颗的C/A码相同,且相位也相同时,就能解扩信号。
[0029] 对每一个采样数据与本地C/A码的相关运算结果做累加的方法为:当第一个采样数据过来的时候,分别与M个本地C/A码做相关运算,运算结果为Q11,Q12,Q13……Q1M-1,Q1M,当第二个采样数据过来的时候,也分别与M个本地C/A码做相关运算,运算结果为Q21,Q22,Q23……Q2M-1,Q2M,依次类推,当第M个采样数据过来的时候,分别与M个本地C/A码做相关运算,运算结果为QM1,QM2,QM3……QMM-1,QMM;然后将相关运算结果的阵列的斜对角线上的数值进行累加,累加算法为:
[0030] QR1=Q11+Q22+…+QMM
[0031] QR2=Q21+Q32+…+QMM-1+Q1M
[0032] QR3=Q31+Q42+…+QMM-2+Q1M-1+Q2M
[0033] …………
[0034] QRM=QM1+Q12+…+Q(M-1)M。
[0035] 步骤3中:为了方便做FFT运算,如果并行快速匹配滤波器输出的数据点数不是2的整数次幂,则用零补齐。
[0036] 本发明的有益效果:
[0037] 1.本发明有效地结合了串行捕获与并行捕获的优点,在减少硬件资源的同时实现了信号的快速捕获,本发明捕获速度快、易于数字化实现,较好地解决了动态长码捕获中载波频偏干扰和运算量过大的问题。
[0038] 2.本发明通过并行快速匹配滤波器进行相关运算,可以在一个扩频码周期后将所有可能的码片偏差位置下的相关结果全部计算出来,极大的提高了捕获的搜索速度;进行相关运算时,运算结果不保存,运算完之后将结果阵列的斜对角线上的数值进行累加,累加结果就是并行快速匹配滤波器的输出结果,这样可减少数据的存储,解决了数据量大、存储困难的问题。(四)、附图说明:
[0039] 图1为基于北斗卫星的信号实时并行快速捕获方法的原理框图之一;
[0040] 图2为基于北斗卫星的信号实时并行快速捕获方法的原理框图之二;
[0041] 图3为并行快速相关器的实现方法示意图;
[0042] 图4为基于北斗卫星的信号实时并行快速捕获程序流程图。(五)、具体实施方式:
[0043] 参见图1~图4,基于北斗卫星的信号实时并行快速捕获方法含有下列步骤:
[0044] 步骤1:首先采用北斗微带天线接收北斗卫星信号,然后采用前端射频单元对接收到的卫星信号进行降频处理,再经AD转换和下变频处理,得到中频数字信号;
[0045] 步骤2:采用并行快速捕获算法来捕获北斗卫星信号中的有效可见卫星信号;具体操作时,采用并行快速匹配滤波器对步骤1所得的中频数字信号进行并行快速捕获;中频数字信号由以下式子来表示:
[0046]
[0047] 其中,m为信号中包含的北斗卫星个数;对于第i颗卫星,Ai为振幅,Di(t)为导航数据,Ci(t)为C/A码,fi为载波频率,n(t)为噪声;
[0048] 并行快速捕获的具体步骤如下:
[0049] 步骤2.1:产生基于快速匹配滤波器的FPGA芯片的本地C/A码:首先根据码速率从系统时钟得到码时钟,在码时钟下依据移位寄存器方法产生本地C/A码,然后根据不同卫星的编号及抽头系数来产生不同卫星的本地C/A码;
[0050] 步骤2.2:生成本地载波:根据载波频率,采用基于快速匹配滤波器的FPGA芯片的DDC控制器来生成本地载波;
[0051] 步骤2.3:将本地载波与输入的中频数字信号对应点相乘,相乘后的信号表达式如下:
[0052]
[0053] 其中,S(t)为中频数字信号,cos(2πfjt)为本地载波,fj为本地载波频率;
[0054] 对该相乘后的信号进行低通滤波,使只有|fi-fj|足够小时通过,那么相乘后的信号S′(t)为:
[0055]
[0056] 从上式可以看出, 为常数,S′(t)仅与C/A码Ci(t)有关;
[0057] 步骤2.4:将步骤2.1产生的本地C/A码与步骤2.3中的信号S′(t)的结果送入并行快速匹配滤波器的并行快速相关器中,并行快速相关器的输出结果即为并行快速匹配滤波器的输出;
[0058] 步骤3:将步骤2.4的输出结果送入FFT模块进行功率谱分析;
[0059] 步骤4:把FFT模块的输出结果送入谱峰判决模块进行信号检测,由于对自相关函数求傅里叶变换得到的是功率谱函数,所以FFT模块输出的最大值点就是信号的多普勒频率偏移点;谱峰判决模块用来判断捕获完成情况,若有用信号功率大于预先设定的门限值,则捕获成功。
[0060] 步骤1中:北斗微带天线接收北斗卫星B1频点的射频信号,经过下变频处理后,信号的频率从1561.098MHz降到了1MHz~99MHz范围内,以使数字处理器可以处理。
[0061] 步骤2中:采用Xilinx的Spartan6芯片实现并行快速匹配滤波器的电路,采用VHDL语言实现并行快速匹配滤波器的算法的功能仿真。
[0062] 步骤2.2中:DDC控制器可以通过采样IP核来实现生成本地载波,也可以通过采样VHDL代码来实现生成本地载波。
[0063] 步骤2.4中,并行快速相关器的实现方法为:以静止的本地C/A码作为并行快速匹配滤波器的抽头系数,让进来的信号S′(t)的采样数据顺序滑过本地C/A码的序列,每来一个采样数据,与所有本地C/A码做相关运算,对每一个采样数据与本地C/A码的相关运算结果做累加,这样每一个时钟周期就产生一个相关值,当本地C/A码的序列和m颗卫星中的某一颗的C/A码的序列零相移的时刻,就会产生一个相关峰值,在一个码周期内就能够找到一个峰值:
[0064]
[0065] 其中,Cj(t)为本地C/A码,根据C/A码的相关特性,当Cj(t)与m颗卫星中的某一颗的C/A码相同,且相位也相同时,就能解扩信号。
[0066] 对每一个采样数据与本地C/A码的相关运算结果做累加的方法为:当第一个采样数据过来的时候,分别与M个本地C/A码做相关运算,运算结果为Q11,Q12,Q13……Q1M-1,Q1M,当第二个采样数据过来的时候,也分别与M个本地C/A码做相关运算,运算结果为Q21,Q22,Q23……Q2M-1,Q2M,依次类推,当第M个采样数据过来的时候,分别与M个本地C/A码做相关运算,运算结果为QM1,QM2,QM3……QMM-1,QMM;然后将相关运算结果的阵列的斜对角线上的数值进行累加,累加算法为:
[0067] QR1=Q11+Q22+…+QMM
[0068] QR2=Q21+Q32+…+QMM-1+Q1M
[0069] QR3=Q31+Q42+…+QMM-2+Q1M-1+Q2M
[0070] …………
[0071] QRM=QM1+Q12+…+Q(M-1)M。
[0072] 步骤3中:为了方便做FFT运算,如果并行快速匹配滤波器输出的数据点数不是2的整数次幂,则用零补齐。
[0073] 下面对本发明做进一步详细的描述:
[0074] 北斗卫星导航定位系统发射的调制波包含C/A码和载波信息,C/A码为粗捕获码,该码的码速率、码长及码元周期固定,载波中心频率已知。北斗信号实时并行快速捕获方法主要利用C/A码和载波以及多普勒频移信息来完成。本发明将中频数字信号与载波NCO产生的本地载波做混频处理,经过低通滤波剥离出不需要的载波信号,转换为基带信号,本地C/A码与基带信号送入并行快速匹配滤波器,每接收到一个基带数据,分别与一个码周期内的所有C/A码做并行快速相关,将部分相关值做累加运算,分别输出I、Q支路信号信息;然后调用并行快速匹配滤波器来解扩信号,根据C/A码的相关特性,当本地C/A码与m颗卫星中的某一颗的C/A码相同,且相位也相同时,就会出现相关峰;相位的对齐需要调用FFT模块来完成,由于对自相关函数求傅里叶变换得到的是功率谱函数,所以FFT模块输出的最大值点就是信号的多普勒频率偏移点;最后调用谱峰判决模块来判断捕获完成情况,若有用信号功率大于预先设定的门限值,则捕获成功。
[0075] 基于北斗卫星的信号实时并行快速捕获程序流程如下(如图4):
[0076] S401首先FPGA芯片完成硬件配置、初始化等,进入S402;
[0077] S402射频前端电路输出的中频数字信号通过与载波NCO产生的本地载波做混频处理,经过低通滤波剥离出不需要的载波信号,转换为基带信号;
[0078] S403产生本地C/A码,进入S404;
[0079] S404并行快速捕获滤波器进行相关运算,运算结束进入S405;
[0080] S405对相关结果进行FFT运算,运算结束进入S406;
[0081] S406谱峰判决,如果有相关峰值出现则程序流程结束,如果没有相关峰值出现,则进行下一轮的捕获;
[0082] S407程序流程结束。