北斗并行频率捕获算法研究与分析
2014-10-17陈伟强苏凯雄
陈伟强++苏凯雄
摘 要: 采用FFT并行频率搜索的北斗二代卫星信号捕获算法,分析了并行频率捕获原理,利用Matlab对设计的捕获模型进行仿真,通过对比分析得到不同的FFT点数、子相关器个数及抽头设置等参数设置对捕获速度、频率搜索范围及灵敏度等性能的影响。在实际设计中考虑到资源消耗和性能的平衡,给出改进后的捕获系统的FPGA实现方案。改进传统的相关器结构,采用同一相关器分段积分方式模拟多个子相关器,减少硬件资源开销,提高了相关器使用效率。
关键词: 北斗; 捕获系统; FFT; 并行频率搜索
中图分类号: TN967?34 文献标识码: A 文章编号: 1004?373X(2014)19?0075?04
Study and analysis on parallel frequency acquisition algorithm of Compass
CHEN Wei?qiang, SU Kai?xiong
(Institute of Physics and Information Engineering, Fuzhou University, Fuzhou 350002, China)
Abstract: The principle of parallel frequency acquisition is analyzed with Compass?2 satellite signal acquisition algorithm of FFT parallel frequency search. The designed acquisition model was simulated with Matlab. The influence of the different parameter settings of FFT spot number, sub?correlator number and tapping winning on acquisition speed, frequency search range and sensitivity performance were obtained by comparison and analysis. The balance of resource consumption and performance were considered in the actual design. The FPGA implementation scheme of the improved acquire system is given in this paper. Structure of the traditional correlator was improved, in which the multiple sub?correlators are simulated with the subsection integral mode of a same correlator to reduce the spending of hardware resource and improve the efficiency of the correlator.
Keywords: Compass; acquisition system; FFT; parallel frequency searching
0 引 言
由于卫星和接收机存在相对运动,接收机收到的卫星信号中会有一个多普勒频率偏移量。对于传统的顺序搜索的捕获方法而言,由于多普勒频偏是未知的,需要对每一个多普勒频移步进进行码相位搜索,这就是所谓的二维搜索。假设多普勒频率搜索范围为±10 kHz,搜索步进为500 Hz,这就意味着对一颗卫星的信号完成一次完整的搜索需要41次的频率搜索[1],对于北斗二代B1频点I支路信号而言,测距码长为2 046,设步进[12]码片,在每次频率搜索中又需要进行4 092次的测距码相位搜索。由此可见,如果要确认一颗卫星的信号不存在,需要花费41×4 092个单位时间,考虑到存在虚警概率,一次完整的搜索往往花费3~4 min。而采用FFT并行频率搜索,只需要对每个码相位进行一次频率搜索就可以确定多普勒频率偏移量[2],此外,采用子相关器分段积分形式可减少FFT模块收集数据的时间开销,大大缩短信号捕获所花费的时间。
1 捕获原理
1.1 捕获框架
并行频率捕获算法针对于一个码相位进行相关运算,相关器采用多个子相关器集的结构,将输出数据合理组合得到分段相关积分值后进行FFT变换,确认测距码相位是否对齐并估计多普勒频偏。
如图1所示为单个通道的并行频率捕获框图结构,输入中频信号通过与本机产生的正弦和余弦信号混频分别得到I,Q两个支路信号,再和产生的测距码进行相关运算,测距码周期为1 ms,则设积分时间为[1m] ms,之后送入[M]级的寄存器中[3]。
在一个测距码周期中相关积分值分别存放在[m]个寄存器中,每个寄存器相当于一个子相关器,本文中称该寄存器为子相关器,其原理框图如图2所示。
在每次输入一个数据后,寄存器中所有数据右移一位,根据不同的参数设置输出端口OUTi的抽头位置对连续的几个子相关器求和。输出[n]个抽头(不足[n]个用零作为输出补足)后送入[n]点的FFT模块进行FFT变换。在完成一次变换后对FFT输出数据求模,找到幅值最大的输出值和对应的[k]值,将最大值与设定的阈值进行对比,若小于阈值则认为测距码相位未对齐,控制测距码发生器延时[12]个测距码相位;如果模值大于阈值则认为捕获到卫星信号且当前码相位就是卫星信号测距码相位,并利用[k]值计算出多普勒频移后控制载波NCO进行精确捕获。
1.2 子相关器原理
北斗B1频点I支路信号在加入多普勒频移[fd]后形如式(1):
[SjIt=AICjItDjItcos2πfc+fjdt+φj] (1)
式中:[A]为幅度;[D(t)]为数据码;[C(t)]为测距码;[fc]为载波中心频率1 561.098 MHz,[φ]为初始相位,不同卫星信号用上标[j]区分。
经过下变频后,若不考虑初始相位,并在测距码周期内数据码不会发生跳变,则信号变为:
[Ijt=ACjICjIt-τcos2πfjdt] (2)
根据测距码的自相关特性得知,当[τ]不为0时,相关积分输出值很小认为无信号。当[τ]=0时,表示测距码同步,此时可以忽略测距码的影响,针对一颗卫星分析,相关积分结果为:
[0TItdt=Asin2πfdT2πfd=ATsinc2Tfd] (3)
根据式(3)可以看出,积分器结果是与[fd]相关的sinc函数有关,随着[fd]增大,积分器输出总体呈减小趋势,且当积分时间[T*fd]为0.5的整数倍时,积分器值为零。因此时域捕获的频率搜索范围很小,只能对某一频率附近几百Hz的范围搜索。若[T]为测距码周期1 ms,多普勒频偏在每个0.5 kHz的整数倍附近时,会使积分结果抵消;若减小积分时间,使[T=TM,]在不考虑式(3)中分母[fd]的影响,则同样出现上述现象的频率间隔变成[M*]0.5 kHz。
那么,在1 ms的积分时间中分出[M]个区间,则每个区间积分时间大大缩短,使信号无法从噪声中分辨出来,因此提出通过不同抽头对子相关器求和的结构。如图2中所示,设[M]值为8,抽头数[X=3,]则可以设OUT1的抽头为子相关器1~子相关器3,OUT2的抽头为子相关器2~子相关器4,OUT8的抽头为子相关器7、子相关器8和子相关器1。如此设置即可保证积分器的一定幅值又使每个输出都存在一个固定的间隔,可作为FFT模块的输入数据。
1.3 频率并行搜索原理
同样考虑测距码已经同步的情况下,不考虑数据跳变,采样率[fs,]测距码周期内采样点数[L,]子相关器级数为[M,]每段积分时间为[1M] ms,采用[N]点FFT变换,第[k]点的归一化模值结果为[4?6]:
[Fk=sinπLfdTsMLsinπfdTM?sinπfdLTs-πkMNMsinπfdLTsM-πkN] (4)
对FFT输出模值进行对比,当其大小超过预设的门限值后,说明当前的测距码相位和卫星信号的测距码相位是对齐的,同时记录[k]值,用公式(5)值估计卫星的多普勒频移[7]。
[fd=kMNLTs] (5)
当[k][∈][[0,N2]]区间内,直接代入公式(5)计算多普勒频移;当 [k∈(N2,N)]区间内,将[k=k-N]代入式(5)。由此可见,对于该系统的最大频率搜索范围是[8]:
[fd∈-M2LTs,M2LTs=-M2T,M2T] (6)
2 仿真与性能分析
2.1 子相关器性能
利用Matlab软件,建立传统的分段积分模型和图1中相关器模型,前者[M]值为8,不采用抽头方式直接选取对应的[M]作为FFT输入;后者设置[M]值为8,抽头数[X=3,]抽头方式如1.2节所述。设置[fd=1 kHz,]FFT点数[N=1 024。]如图3所示的FFT输出模值,传统的相关器模型和改进后的相关器模型在多普勒频移点都有峰值输出,但改进后的峰值更加明显的区别于其余[k]值所对应的输出,这将有利于阈值设定,降低虚警概率。
2.2 频率分辨率分析
由公式(5)得出该捕获系统的多普勒频率估计值的分辨率如公式(7),其频率步进与积分分段数[M]成正比,与总积分时间[T]和FFT点数成反比。
[Δf=MNLTs=MNT] (7)
在[fd=]1 kHz,[T=]1 ms的情况下,分别对以下三组数据仿真:
(1) [N=]1 024,[M=]8,[Δf]=7.812 5 Hz;
(2) [N=]256,[M=]8,[Δf]=31.25 Hz;
(3) [N=]1 024,[M=]16,[Δf]=15.625 Hz。
仿真结果如图4所示,第一组数据对应峰值在[k=]124处,分辨率约为8.0 Hz;第二组数据对应的峰值在[k=]32处,分辨率约为31.25 Hz;第三组数据峰值在[k=]63处,分辨率约为15.87 Hz。和[Δf]的理论计算值基本吻合。
2.3 频率搜索范围分析
根据1.3节中的结论,多普勒频移搜素范围跟子相关器数量[M]有关,当总积分时间为1 ms时,搜索范围为±M kHz。设置参数[M=]8,[N=]1 024,理论搜索范围为±4 kHz。使[fd]以50 Hz的步进从0~10 kHz递增,记录FFT输出模值的最大值,归一化后如图5所示,当[fd]大于4 kHz后输出模值都较小,基本符合理论计算,认为该参数下的截止频率为±4 kHz。此外,从图中可以看出在带内,输出的最大模值也会因[fd]的不同呈现波动,这种被称为扇贝损失的现象使得某些频点的峰值受到抑制,造成信号漏补。为减小该损失的影响,可以通过加窗等方式进行弥补[9?10],有兴趣的读者可查阅相关资料,本文不再说明。
3 关键模块的FPGA实现
捕获系统采用多通道并行处理方式,每个通道原理框图如图1所示,分为载波模块,测距码生成模块,混频模块,相关器模块和FFT模块及其控制模块。
3.1 多级子相关器设计
上一节中提到的由多个子相关器组成的相关器结构,在具体实现中每个通道都大量使用相关器,造成硬件开销的成倍增长。考虑到资源因素,在设计中采用一个传统相关器对总积分时间[T]分成[M]次积分,每次输出结果输送给对应时刻的寄存器中。而FFT的输入端根据选择不同抽头的组合实现图1的结构。图6为[M=8,][X=2]子相关器的部分RTL图,积分区间被分为八段,结果分别放在sub框内对应寄存器中,8个OUT端口分别连接2个sub寄存器作为FFT的输入信号。
3.2 捕获控制模块
用Quartus Ⅱ 11.0中的FFT变换IP核来完成该系统中的FFT运算。考虑到硬件资源消耗和时间开销,参数设置为256点。需加入控制模块对FFT变换后的数据分析和处理。首先从FFT模块中读出所有[k]值对应的实部和虚部输出,计算模值后对比找出该轮中的最大值并记录对应[k]值。完成一次变换后,将记录的数据与预设的阈值对比,确定是否存在信号,若超过阈值则通过[k]值计算出[fd]值并控制载波NCO调整本机载波频率。需要注意的是,FFT模块中的输出为倒序输出,计算[fd]时要调整[k]值。
4 结 语
采用多级子相关形式分段积分,减少了由于多普勒频移造成积分时间内相关能量相互抵消的可能性。不同段内的相关结果通过抽头重新组合,提高了抗噪声性能,充分利用相关器节约硬件资源,减少数据采集的时间开销。利用FFT变换只需要执行一次计算就可以完成对设置的范围内所有频率的搜索。采用这种方法可以减少北斗接收机捕获过程中对多普勒频移搜索所花费的时间,从而有效提高北斗接收机性能。
参考文献
[1] 谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[2] 邓洪高,王靖,纪元法,等.一种快速FFT捕获算法及其FPGA实现研究[J].电视技术,2012,36(15):100?103.
[3] LIU Gao?hui, CAO Jia?kun. Acquisition method and performance of high dynamic GPS signal [J]. Computer Engineering and Applications, 2010, 46(7): 142?144.
[4] ZHENG Yong?zhi, ZHANG Yong?xue. An improved segmented match filters with FFT approach for GNSS signal acquisition [C]// 2nd International Conference on Computer Technology and Development. [S.l.]: [s.n.], 2010: 425?428.
[5] QIU Lei, LI Lei. GPS signal acquisition based on FFT [C]// 2010 Second International Conference on Information Technology and Computer. Kiev, Ukraine: IEEE, 2010: 110?113.
[6] 王凯.BD?2卫星信号快速捕获技术研究[D].西安:西安电子科技大学,2013.
[7] LI Chuan?jun, YANG Shu?xing, JI Zhen. Performance analysis of fast GPS signal acquisition based on PMF and Window FFT [J].北京理工大学学报(英文版),2012,21(3):5?8.
[8] 李菊,陈禾,金俊坤,等.基于FFT的两种伪码快速捕获方案的研究与实现[J].电子与信息学报,2006,28(10):1778?1781.
[9] 齐华,蒋邦英,冀乐,等.PMF?FFT扇贝损失补偿方法的仿真与分析[J].中国新技术新产品,2011(4):56?57.
[10] 方科.基于PMF?FFT的扩频信号多通道并行捕获[J].通信技术,2013(7):16?18.
3.2 捕获控制模块
用Quartus Ⅱ 11.0中的FFT变换IP核来完成该系统中的FFT运算。考虑到硬件资源消耗和时间开销,参数设置为256点。需加入控制模块对FFT变换后的数据分析和处理。首先从FFT模块中读出所有[k]值对应的实部和虚部输出,计算模值后对比找出该轮中的最大值并记录对应[k]值。完成一次变换后,将记录的数据与预设的阈值对比,确定是否存在信号,若超过阈值则通过[k]值计算出[fd]值并控制载波NCO调整本机载波频率。需要注意的是,FFT模块中的输出为倒序输出,计算[fd]时要调整[k]值。
4 结 语
采用多级子相关形式分段积分,减少了由于多普勒频移造成积分时间内相关能量相互抵消的可能性。不同段内的相关结果通过抽头重新组合,提高了抗噪声性能,充分利用相关器节约硬件资源,减少数据采集的时间开销。利用FFT变换只需要执行一次计算就可以完成对设置的范围内所有频率的搜索。采用这种方法可以减少北斗接收机捕获过程中对多普勒频移搜索所花费的时间,从而有效提高北斗接收机性能。
参考文献
[1] 谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[2] 邓洪高,王靖,纪元法,等.一种快速FFT捕获算法及其FPGA实现研究[J].电视技术,2012,36(15):100?103.
[3] LIU Gao?hui, CAO Jia?kun. Acquisition method and performance of high dynamic GPS signal [J]. Computer Engineering and Applications, 2010, 46(7): 142?144.
[4] ZHENG Yong?zhi, ZHANG Yong?xue. An improved segmented match filters with FFT approach for GNSS signal acquisition [C]// 2nd International Conference on Computer Technology and Development. [S.l.]: [s.n.], 2010: 425?428.
[5] QIU Lei, LI Lei. GPS signal acquisition based on FFT [C]// 2010 Second International Conference on Information Technology and Computer. Kiev, Ukraine: IEEE, 2010: 110?113.
[6] 王凯.BD?2卫星信号快速捕获技术研究[D].西安:西安电子科技大学,2013.
[7] LI Chuan?jun, YANG Shu?xing, JI Zhen. Performance analysis of fast GPS signal acquisition based on PMF and Window FFT [J].北京理工大学学报(英文版),2012,21(3):5?8.
[8] 李菊,陈禾,金俊坤,等.基于FFT的两种伪码快速捕获方案的研究与实现[J].电子与信息学报,2006,28(10):1778?1781.
[9] 齐华,蒋邦英,冀乐,等.PMF?FFT扇贝损失补偿方法的仿真与分析[J].中国新技术新产品,2011(4):56?57.
[10] 方科.基于PMF?FFT的扩频信号多通道并行捕获[J].通信技术,2013(7):16?18.
3.2 捕获控制模块
用Quartus Ⅱ 11.0中的FFT变换IP核来完成该系统中的FFT运算。考虑到硬件资源消耗和时间开销,参数设置为256点。需加入控制模块对FFT变换后的数据分析和处理。首先从FFT模块中读出所有[k]值对应的实部和虚部输出,计算模值后对比找出该轮中的最大值并记录对应[k]值。完成一次变换后,将记录的数据与预设的阈值对比,确定是否存在信号,若超过阈值则通过[k]值计算出[fd]值并控制载波NCO调整本机载波频率。需要注意的是,FFT模块中的输出为倒序输出,计算[fd]时要调整[k]值。
4 结 语
采用多级子相关形式分段积分,减少了由于多普勒频移造成积分时间内相关能量相互抵消的可能性。不同段内的相关结果通过抽头重新组合,提高了抗噪声性能,充分利用相关器节约硬件资源,减少数据采集的时间开销。利用FFT变换只需要执行一次计算就可以完成对设置的范围内所有频率的搜索。采用这种方法可以减少北斗接收机捕获过程中对多普勒频移搜索所花费的时间,从而有效提高北斗接收机性能。
参考文献
[1] 谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[2] 邓洪高,王靖,纪元法,等.一种快速FFT捕获算法及其FPGA实现研究[J].电视技术,2012,36(15):100?103.
[3] LIU Gao?hui, CAO Jia?kun. Acquisition method and performance of high dynamic GPS signal [J]. Computer Engineering and Applications, 2010, 46(7): 142?144.
[4] ZHENG Yong?zhi, ZHANG Yong?xue. An improved segmented match filters with FFT approach for GNSS signal acquisition [C]// 2nd International Conference on Computer Technology and Development. [S.l.]: [s.n.], 2010: 425?428.
[5] QIU Lei, LI Lei. GPS signal acquisition based on FFT [C]// 2010 Second International Conference on Information Technology and Computer. Kiev, Ukraine: IEEE, 2010: 110?113.
[6] 王凯.BD?2卫星信号快速捕获技术研究[D].西安:西安电子科技大学,2013.
[7] LI Chuan?jun, YANG Shu?xing, JI Zhen. Performance analysis of fast GPS signal acquisition based on PMF and Window FFT [J].北京理工大学学报(英文版),2012,21(3):5?8.
[8] 李菊,陈禾,金俊坤,等.基于FFT的两种伪码快速捕获方案的研究与实现[J].电子与信息学报,2006,28(10):1778?1781.
[9] 齐华,蒋邦英,冀乐,等.PMF?FFT扇贝损失补偿方法的仿真与分析[J].中国新技术新产品,2011(4):56?57.
[10] 方科.基于PMF?FFT的扩频信号多通道并行捕获[J].通信技术,2013(7):16?18.