张北帆
(上海理工大学 光电信息与计算机工程学院,上海 200093)
GPS卫星信号的捕获算法研究
张北帆
(上海理工大学 光电信息与计算机工程学院,上海 200093)
捕获能够帮助接收机初始化跟踪环路并开始跟踪信号,捕获的好坏对定位有较大影响。文中对L1频段的GPS信号进行定位研究,分别研究了传统的串行搜索卫星捕获过程,讨论了基于分段FFT的脉冲信号捕获算法。仿真结果表明,基于分段FFT的脉冲信号捕获算法在高信噪比时效果更好。
GPS卫星;C/A码;捕获算法;分段FFT算法
为了跟踪并解码 GPS 信号,获得导航定位信息,必须使用捕获算法来搜索信号的出现。由于卫星和用户之间的相对运动[1-3],导致用户接收到的载波频率不等于卫星的发射频率,这样,用户接收到的载波频率在发射的中心频率附近震荡。捕获的目的是从接收的信号中粗略估算出可见卫星的信号参数,用于帮助接收机初始化跟踪环路并开始跟踪信号。因为跟踪卫星需要已知接收信号的载波频率和C/A码相位[4-5]。
C/A码相位值是一种时间信息,所以码相位这一维又叫做时间维。所以对某个卫星信号的搜索是在一个由频率和时间组成的二维空间进行信号搜索。捕获算法一般采用基于FFT的快速捕获算法。
本设计采用的捕获方法是CDMA系统中常用的一种捕获算法,其框图如图2所示。这种方式是基于接收信号与本地产生伪码序列及本地载波的乘积。首先,接收信号首先与本地产生的伪码序列相乘;然后与本地产生载波相乘产生I支路信号、与本地产生载波的90°相移信号相乘产生正交Q支路路信号;当I、Q支路信号分别在C/A码周期的时间内积分后,平方相加;最后,判断相关值是否超过了预设门限,若超过,则转入跟踪过程[6-7]。GPS卫星信号捕获的过程如图1所示。
图1 GPS卫星捕获算法
1.1 产生伪码序列
出于对接收机性能的考虑,所有伪码的产生都是预先处理好的,而不是在每次捕获过程中即时产生。首先用C/A码产生器脱机产生32个可能的C/A码序列。这32个不同的C/A码序列和来自于GPS卫星的所有可能C/A码序列相同。然后,将输入信号与所有可能经过码偏移的C/A码相乘。并将这32个可能的C/A码以及所有经过码偏移的C/A码保存起来。如此便有了32 736个不同的C/A码
1 023×32=32 736
(1)
为产生的C/A码能和输入信号相乘,C/A码也要像接收到的GPS信号那样被抽样。本文因为采用的中频数据中信号是以38.192 MHz抽样的,所以C/A码也以这一频率抽样。抽样后的C/A码序列长度由原来的1 023变为38 192。
1.2 产生载波
捕获的第二步是与本地载波相乘。载波发生器需要产生相位差伪90°的两路载波信号,即余弦波和正弦波信号。采样频率为38.192 MHz,采样时间为1 ms。具体操作如下:
(1)在Matlab中产生一个长度为38 192的采样序列nn,对应于1 ms的时间;
(2)产生载波信号如式(2)所示,其中fc表示中频与现有频偏的和,ts为采样周期
carrier=exp(carrier=exp(j*2pi*fc*ts*nn))
(2)
(3)由此,产生正弦波信号如式(3)所示,余弦波信号如式(4)所示
cosine=real(carrier)
(3)
sine=imag(carrier)
(4)
图2两个波形的前20个采样点,其中采样频率fs为38.192 MHz,fc为9.548 MHz。
图2 本地产生的cosine与sine波形
1.3 积分与平方
串行搜索的最后一部分是余弦和正弦信号分别相乘后进行积分和平方[8],其中平方是为了获得信号功率。积分则是将对应于处理数据长度的所有38 192个点的值相加。如果本地伪码与接收信号伪码完全对齐,且本地载波频率与接收信号频率相匹配,则所得的输出值比不满足这些条件的结果要大得多。图3显示的是对应于一颗可见星的捕获结果。
图3 捕获后的输出信号
在对不可见卫星信号的捕获过程中,相关运算的结果都很小,这表示捕获捕获失败。而对可见星的捕获中,可以得到一个明显的相关峰输出。
基于分段FFT的脉冲信号捕获算法的核心思想是将若干毫秒输入信号按照一定的长度进行分段,段内做连续信号的捕获,将各分段的结果按照时间顺序排列,最后判决[9-10]。
基于分段FFT的脉冲信号捕获算法操作如下:(1)将输入信号y(t)以0.2 ms的长度分为10段,将采样点数补零至2n,并做FFT运算,求出Yn(k),1≤n≤10;(2)将本地信号l(t)补零后做FFT运算并取共轭,得到L(k);(3)将Yn(k)与L(k)点对点相乘,求出On(k);(4)对On(k)做IFFT运算,并组合成完整的o(t),找出峰值位置并计算两帧的跳时数。SNR=-15 dB时两种算法的仿真结果如图4所示。
图4 SNR为-20 dB时算法仿真结果
在图4中,可以找到3个明显的峰值。由于位于第6分段和第7分段的脉冲位置均处于该分段的后半段,故第2 ms的信号脉冲在第6分段和第7分段之间发生了隔断,需要修复隔断。而在未发生隔断的第1分段中,信号的峰均比为16.506 5,峰值所在位置可以直接作为码相位捕获结果。
当SNR=-20 dB时算法的仿真结果如图5所示。
图5 SNR为-20 dB时算法仿真结果
由图5可知,信噪比下降后,信号只能在分段1中被检测出一个脉冲,峰均比为7.947 2。本该处于第6分段与第7分段之间的另一信号脉冲由于发生了截断效应导致相关值降低,同时又被淹没在噪声中,故无法检测出脉冲截断,不能对其进行修复,导致此次捕获失败。
通过该仿真可知,若发生脉冲截断导致相关值的损失,则基于分段FFT的脉冲信号捕获算法在低信噪比的环境下容易捕获失败。
为了能够完成卫星定位,需要对卫星信号进行捕
获、追踪。捕获的目的是从接收的信号中粗略的估算出那些可见卫星的信号参数,用于帮助接收机初始化跟踪环路并开始跟踪信号。捕获给出了信号参数的粗略估计,而码跟踪和载波跟踪模块则将这些参数细化,跟踪之后即可解调出导航数据。本文针对GPS信号进行定位研究,研究了GPS卫星串行搜索捕获的流程,分别从载波和伪码序列的产生,到积分与平方的过程。然后研究了基于FFT的卫星信号捕获算法,通过该仿真可知,若发生脉冲截断导致相关值的损失,则基于分段FFT的脉冲信号捕获算法在低信噪比的环境下容易捕获失败。
[1] 谢刚.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[2] 刘基余.GPS卫星导航定位原理与方法[M].北京:科学出版社,2003.
[3] 孙慧萍,刘高辉.循环相关在 GPS 信号捕获中的应用[J].山西大同大学学报:自然科学版,2012,27(6):24-26.
[4] 胡辉,袁媛,路春.GPS 信号差分相干累积捕获技术[J].哈尔滨理工大学学报,2013,17(6):36-40.
[5] 徐晓舒,范金洋.GPS软件接收机捕获算法[J].中国惯性技术学报,2009(4):165-169.
[6] 刘俊成.GPS软件接收机关键技术研究[D].长沙:国防科学技术大学,2006.
[7] 梁林方.弱信号GPS接收机的捕获算法研究[D].成都:电子科技大学,2011.
[8] 李杨.GPS射频前端设计及GPS信号捕获方法研究[D].西安:西安理工大学,2008.
[9] 朱国纬.基于FPGA的Locata系统定位接收机设计[D].成都:西南交通大学,2015.
[10] Borre K.软件定义的GPS和伽利略接收机[M].北京:国防工业出版社,2009.
Research on the GPS Satellite Signal Acquisition Algorithm
ZHANG Beifan
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
The capture of the signal helps the receiver to initialize the tracking loop and start tracking of the signal. This paper discusses the localization of GPS signals of L1 band by the traditional serial search satellite acquisition process and by the subsection-FFT-based pulse signal acquisition algorithm, respectively. The simulation results show that the subsection-FFT-based pulse signal acquisition algorithm has better performance with a high signal-to-noise ratio.
GPS satellite; C/A code; acquisition algorithm; subsection FFT algorithm
2016- 05- 08
全国大学生科技创新重点基金资助项目(201310252012)
张北帆(1991-),男,硕士研究生。研究方向:通信及计算机技术应用。
10.16180/j.cnki.issn1007-7820.2017.02.008
TN967.1;P228.4
A
1007-7820(2017)02-030-03