第5章GPS卫星信号的捕获第5章GPS卫星信号的捕获5.1概述5.2GPS卫星信号的多普勒效应5.3GPS卫星信号捕获的考虑5.4GPS卫星信号的捕获方法5.5Matlab与Simulink仿真简介5.6GPS卫星信号捕获的例子5.7关于捕获的一些子程序第5章GPS卫星信号的捕获5.1概述为了跟踪和解码GPS信号,首先要捕获到GPS信号。将捕获到的GPS信号的必要参数立刻传递给跟踪过程,再通过跟踪过程便可得到卫星的导航电文。GPS卫星处于高速运动中,因此,其频率会产生多普勒频移。载波频率与C/A码的多普勒频移将在下面详细讲述。为覆盖高速卫星预期中的所有多普勒频率范围,捕获方法覆盖的频率范围必须在±10kHz之内。一旦捕获到GPS信号,立刻去测量两个重要参数:C/A码的起始点和载波频率(因为多普勒频移而变化)。接收机接收到的一系列数据往往包含多个卫星信号,每个信号具有不同的C/A码的不同起始点和不同的多普勒频率。第5章GPS卫星信号的捕获针对某个特定的卫星信号,捕获过程就是要找到C/A码的起始点,并利用找到的起始点展开C/A码频谱,一旦复现了C/A码的频谱,输出信号将变成连续波(ContinuousWave,CW),于是便得到其载波频率。也就是说,捕获过程就是要获得输入信号的C/A码的起始点和载波频率,然后传递给跟踪过程。捕获与跟踪过程所用到的数据都是从原始的卫星信号经过下变频器(即与中频混频)之后收集到的,其中频(IF)为21.25MHz,采样频率为5MHz,信号的中心频率为1.25MHz。这组数据来源于我们设计的卫星信号接收装置,但是用模拟仿真算法也可以产生类似的数据,以验证本章介绍的卫星信号的捕获算法。第5章GPS卫星信号的捕获5.2GPS卫星信号的多普勒效应GPS卫星绕地球旋转一周的时间是11h58min2.05s,从卫星轨道的近似半径可以求得卫星的角速度dθ/dt和运动速度vs:(5-1)4265601.458103874/ssrdvkmmsdt421.45810/11360058602.05dradsdt第5章GPS卫星信号的捕获这里rs表卫星轨道的平均半径。我们知道,一个太阳日和一个恒星日之间相差3min55.91s,在这段时间里,卫星大约运行了914km(3874m/s×235.91s),对应地球表面与卫星的最高点,相应的角度近似为0.045rad(914/20192)或2.6°。如果卫星接近地平线,相应的角度为0.035rad或者2°。因此我们可以看出,对于地球表面的固定一点,在每天的同一时间里,卫星位置大约改变2°~2.6°。第5章GPS卫星信号的捕获如图5-1所示,卫星在位置S处,用户在位置A处,相对用户的卫星角速度vd造成了多普勒频移,其中vd值为:(5-2)sindsvv根据卫星轨道速度,取水平方向的最大值,得到多普勒角速度的最大值为:m/h2078s/m9295602663683874sedmaxrrvvs(5-3)第5章GPS卫星信号的捕获图5-1卫星运动引起的多普勒频移第5章GPS卫星信号的捕获这个值与高速航空卫星的速度相等。由地面设施引起的多普勒频移通常非常小,即使它直接相对卫星运动引起了最大多普勒效应。对由C/A码调制过的频率L1(f=1575.42MHz),最大的频移为:81575.429294.9310rdmdrfvfkHzc(5-4)这里c是光速。因而,对于一固定观测器来说,最大的多普勒频移是±5kHz。第5章GPS卫星信号的捕获如果地面GPS接收设备高速移动,就要考虑进多普勒效应了。要单独产生一个±5kHz的频率范围,接收设备需以2078m/h的速度相对卫星运动,这个速度将包含最高速度的航空器。因而,在设计GPS接收机时,如果接收机用在低速设备,则认为载波频率的多普勒频移范围在±5kHz;相反地,如果用在高速设备,就要合理假定其多普勒频移的范围在±10kHz。这些值对于确定捕获过程的搜索频率范围是至关重要的。因此,就有了引言中我们提到的为覆盖高速卫星预期中的所有多普勒频率范围,捕获方法覆盖的频率范围必须在±10kHz之内之说。第5章GPS卫星信号的捕获由于C/A码频率非常低,所以C/A码上的多普勒频移也是非常小的。C/A码的频率是1.023MHz,比载波频率低1540(1575.42/1.023)倍。C/A码的多普勒频率为:681.023109293.2310chdcfvfHzc(5-5)如果接收机高速移动,这个值就得取双倍,为6.4Hz,得到的这个值对跟踪过程(BASS方法)来说是至关重要的,这点我们将在下一章讨论。在BASS跟踪过程中,输入信号与本地产生数据必须要紧密对齐,而C/A码的多普勒频移可能造成输入码与本地生成码的不对齐。第5章GPS卫星信号的捕获在数字化卫星信号中,如果数据用5MHz采样(称为采样频率),则每个采样之间相隔200ns(称为采样时间)。在跟踪过程中,我们期望本地生成信号与输入信号未对齐的长度在半个采样时间或近似100ns之内,若两个信号之间相差超过这个长度,跟踪将失锁,即失去跟踪灵敏性。C/A码的基波时间为977.5ns或1/1.023×106s,它移动一个周期需花费156.3ms(1/6.4)。对这句话的理解是:多普勒频移使C/A码的频率由1.023×106变为[JP2]1.023×106+6.4,即每秒内多变化了6.4个周期,则多变化一个周期的时间为(1/6.4)ms。第5章GPS卫星信号的捕获因此,它移动100ns的数据长度,近似花费16ms(100×156.3/977.5)。在高速导航器中,需每16ms选择一批数据,以保证输入信号与本地生成码更好地匹配。但是由于输入信号中有噪声,用1ms的数据可能不能非常精确地匹配,因而可以拓宽输入信号的调整时间,每20ms选择一批输入信号。对一个低速导航器来说,这个时间可拓宽到40ms。第5章GPS卫星信号的捕获从以上讨论我们知道,输入信号的调整取决于采样频率。采样频率高将缩短调整时间,因为采样时间变短,在半个周期内匹配输入码与本地生成码的时间变短。如果输入信号的强弱和跟踪灵敏度不成问题,则输入信号的调整时间可以拓宽。然而,输入信号与本地生成信号相离必须在半个基波或488.75ns(977.5/2)之内,这个时间看做是输入信号与本地生成信号相离允许的最大值。C/A码的多普勒频率是6.4Hz,调整时间可以拓宽到78.15ms(1/2×6.4)。第5章GPS卫星信号的捕获5.3GPS卫星信号捕获的考虑5.3.1捕获时的最大电文长度C/A码长1ms,那么至少要用1ms的电文来捕获,甚至只用1ms的电文来捕获时,都可能发生导航电文相位偏移。如果电文中有数据偏移,电文的下一个1ms将不会含有偏移。因此,为了保证捕获电文中不含有数据偏移,需要用两组连续的电文来捕获,这个电文最大长度是10ms。如果使用两组连续的10ms电文来捕获,就保证了在某一组电文中不含相位偏移。第5章GPS卫星信号的捕获限制电文长度的第二个因素是C/A码的多普勒效应。如果理想相关峰值是1,当C/A码超前或滞后1/2码时,相关的峰值将降为0.5,对应地,幅值下降6dB。如上节所讨论的,假定未对准的C/A码允许在半个基波(0.489μs)内,基波频率是1.023MHz,C/A码上预期的最大多普勒频移是6.4Hz,那么两个相差6.4Hz的频率交换半个基波需要78ms(1/2×6.4),这个数据远大于10ms。第5章GPS卫星信号的捕获5.3.2捕获中的频率步长捕获时的另一个考虑因素是捕获中剥离载波所需的频率。在前文曾提过,需被覆盖的多普勒频率范围是±10kHz,决定覆盖这20kHz范围的步进频率非常重要。步进频率的大小与捕获中的电文长度紧密相关。如果输入信号与本地混频信号相距1个周期,它们两者没有相关性;如果两者小于1个周期,则它们有部分相关性。随意选取两个信号允许的最大频率相离是0.5个周期,如果电文记录长度为1ms,一个1kHz的信号将在1ms内变换一个周期,为了保持1ms内的最大频率相离在0.5个周期,步进频率须为1kHz。在这种情况下,在输入信号与卷积信号之间最大限度的频率相离是500Hz/s或0.5Hz/ms,且输入信号刚好在两个频率点之间。如果电文记录长度为10ms,100Hz的搜索步进频率就可以满足要求。看待这个问题的一个简单方法是频率相离与电文长度成反向关系。第5章GPS卫星信号的捕获由以上的讨论可以得出如下结论:当捕获输入电文为1ms长时,步进频率是1kHz;当电文为10ms时,步进频率是100Hz。从这个简单的讨论可以明显看出,捕获中的操作执行次数与总的数据点并不是成线性比例关系,当电文长度从1ms上升到10ms时,电文长度上升10倍,频率点数目也上升了10倍,捕获所需的操作次数上升了不止10倍。因此,实际捕获时,如果强调捕获的速度的话,电文长度需保持在最小值。执行次数的增加,取决于实际捕获所用的方法,下面将讨论具体的捕获方法。第5章GPS卫星信号的捕获5.4GPS卫星信号的捕获方法5.4.1传统捕获方法捕获的基本思想就是展开输入信号,找到载波频率。如果相位正确的C/A码与输入信号相乘,输入信号将如图5-2中所示变成一个连续信号。图5-2中最上端是输入信号,这个信号是C/A码编码的射频信号相位,注意到射频信号与C/A码是任意选择的,它们并不代表卫星传输过来的真正的信号。中间的图表示C/A码,其值在±1之间。最下端的图是连续信号,代表输入信号与C/A码的乘积,其对应的频谱不再是扩频,而是一个连续信号,这个过程有时称做输入信号的C/A码剥离。第5章GPS卫星信号的捕获图5-2C/A编码的输入信号与本地C/A码相乘第5章GPS卫星信号的捕获一旦输入变成连续信号,通过傅立叶变换可以知晓其频率。如果输入电文长是1ms,则傅立叶变换的频率分辨率为1kHz。可以设置一个阈值,即一个门限来判断一个频率分量是否足够大。高于这个门限的最高频率分量就是我们要找的频率。如果用5MHz使输入信号数字化,1ms的电文将含有5000个数据点,一个5000点的FFT(快速傅立叶变换)将产生5000个频率分量。然而,5000个频率分量中只有前2500个频率分量包含有用信息,后2500个是前2500个频率分量的复共轭。频率分辨率是1kHz,因此,FFT覆盖的总频率范围是2.5MHz,是采样频率的一半。但我们感兴趣的频率范围只有20kHz,而非2.5MHz,因此,为了节省计算时间,可以用DFT(离散傅立叶)方法,只计算相隔1kHz的21个频率分量。第5章GPS卫星信号的捕获由于输入信号中C/A码的起始点还未知,因此,必须先找到这个点。为了找到这个点,我们产生本地的一个C/A码,将其数字化为5000个点,且与输入信号点对点相乘,对此乘积的结果进行FFT或DFT,可以找到其频率。为了搜索1ms的电文,输入电文与本地产生数字化的C/A码必须彼此相对移动5000次。如果使用FFT,需操作5000次,每次操作包含5000个点对点的乘积和一个5000点的FFT。由于只有2500个频率分量提供信息,其余2500个分量提供的是多余的信息,因此,输出的5000点数据每个含有2500个频率分量,这样,在频域共有1.25×107(5000×2500)个输出。在这1.25×107个输出中最高幅值如果大于预先设定的门限值,则该分量就是期望值。在如此多的数据中寻找最高频率分量也是非常费时的。由于在期望的20kHz的FFT输出中,只有21个频率分量是我们感兴趣的,总输出可以降低到105000(5000×21)个。通过这种方法,可200ns(1/5MHz)和1kHz的频率分辨率找出C/A码的起始点。第5章GPS卫星信号的捕获如果使用10ms的电文,因为信号只需要卷积1ms,因此需要5000次操作。每次操作包含50000个点对点乘积和50000次FFT,总共有1.25×108(5000×25000)个输出结果。如果在预期的20