发明内容
本发明的目的在于提供一种改进的导航卫星信号跟踪方法,该方法能够对具有较大噪声的微弱GPS信号进行准确判断和跟踪,减小误判对跟踪结果的影响。
本发明的目的可通过以下的技术措施来实现:
一种改进的导航卫星信号跟踪方法,包括以下步骤:
(1)GPS接收机接收卫星信号数据,对进行相关器积分之后的信号数据进行导航电文剥离;
(2)对导航电文剥离后的数据进行快速傅立叶变换;
(3)提取信号谱峰值同时判断该谱峰值是否有效,并计算新的载波频率值fL;
(4)对新的载波频率值进行滤波得到修正的跟踪信号。
所述步骤(1)中导航电文剥离的过程为:首先完成导航数据的帧同步,然后读入对应帧中各个比特的符号,最后把符号分别与I和Q分量相乘。
所述步骤(2)中判断谱峰值是否有效的过程为:设置一个判决门限,当频谱峰值大于此门限时,则该谱峰值有效。
所述判决门限的选取采用概率和数理统计方法获得,或者采用比较峰值能量和频谱均值能量的大小来获得。
所述步骤(2)中提取信号谱峰值的范围为频谱中的第1~13点之间和第116~128点之间。
所述步骤(3)中计算新的载波频率值fL的过程为:当通过门限的最大的频率点n在1~13之间且谱峰值有效,则频率变化量是n×0.39;当通过门限的最大的频率点n在116~128之间且谱峰值有效,则频率变化量是(n-128)×0.39;否则当谱峰值为无效,则将频率变化量设置为0;则新的载波频率值fL为现有的载波频率加上频率变化量的值。
所述步骤(4)中对频率值采用卡尔曼滤波器Kalman进行滤波。
所述Kalman滤波器的状态转移矩阵和观测矩阵分别为:
其中,Ts表示频率更新的时间间隔。
本发明方法相比现有技术具有以下的有益效果:
1、与传统Costas锁相环相比,本方法可以实现较长时间的相干积分,避免了锁相环方法使用长积分时间时的跟踪效果恶化的问题;
2、与已有的基于FFT的跟踪方法相比,本方法主要通过三种策略联合使用减少频域峰值误判后对后续跟踪的影响:1)、增加判定门限;2)、限制频率选择范围;3)、对更新的频率值使用滤波。特别是其中的滤波方法,由于考虑了频率总体的变化趋势,所以可以有效增强原有跟踪方法的性能。
具体实施方式
为了能够跟踪微弱GPS信号,就需要延长接收机的积分时间,而为了避免积分时间延长对PLL带来的负面影响,需要使用基于离散傅立叶变化(DFT)或快速傅立叶变换(FFT)的频域跟踪方法代替原有的PLL。如背景技术所述,频域跟踪方法在噪声较大时存在误判的问题,而且一次误判往往会造成致命后果,所以需要一种方法,利用一段时间内载波频率变化的总体趋势,避免少数误判对跟踪结果的影响。因此,本发明通过对已有的频域跟踪方法的改进,实现在微弱信号下更稳定的载波信号跟踪。
如图2所示,本发明方法的实现主要包括以下步骤:
(1)GPS接收机接收卫星信号数据,对进行相关器积分之后的信号数据进行导航电文剥离;
由于调制有导航电文,会改变积分结果的正负号,所以需要去除导航电文的影响。因为导航电文前三子帧每2小时更新一次,后二子帧每几个月更新一次,因此可利用此重复性剥离调制在载波中的导航电文。导航电文的来源可以通过辅助方式从通信网络下载,也可以利用接收机已经保存的数据。由于值调制在载波中的导航电文中采用二进制编码方式,利用这些数据就可以知道每帧中每个比特是+1还是-1。
因此,导航电文剥离的过程为:首先完成导航数据的帧同步,然后读入对应帧中各个比特的符号,最后把符号分别与I和Q分量相乘就完成了导航电文剥离。
由于导航电文的存在,使得相干积分累加的时间不能超过20ms,剥离导航电文后,就可以进行任意长时间的积分运算。剥离导航电文后的数据则可以进一步进行积分累加操作,直到完成时间长度为Ts秒长的相干积分。即:先进行20ms内的相干积分,然后剥离导航电文,之后可以进一步进行超过20ms的相干积分。
对于上面积分得到的值,可以认为就是对信号中低频部分在Ts时间间隔的采样值。后面确定频率变化量时,这个Ts值的倒数就是经过快速傅立叶变换后每个频率点间隔表示的频率大小。
(2)对导航电文剥离后的数据进行快速傅立叶变换;跟踪过程中的积分时间与每个比特同步,也就是20ms,这样相当于采样周期为20ms,对应频率范围是50Hz。假设采用128点的FFT,可以获得约0.39Hz的频率分辨率,其中,傅立叶变换的点数不还可以选择64点或256点等等,目前选择128点可以得到较好的结果。图3就是经过傅立叶变换后的频谱图。
(3)提取信号谱峰值同时判断该谱峰值是否有效,并计算新的载波频率值fL;提取信号谱峰值的范围为频谱中的第1~13点之间和第116~128点之间,该范围大小由实际操作的经验决定。判断谱峰值是否有效的过程为:设置一个判决门限,当频谱峰值大于此门限时,则该谱峰值有效。
判决门限的选取采用概率和数理统计方法获得,或者采用比较峰值能量和频谱均值能量的大小来获得。
计算新的载波频率值fL的过程为:当通过门限的最大的频率点n在1~13之间且谱峰值有效,则频率变化量是n×0.39;当通过门限的最大的频率点n在116~128之间且谱峰值有效,则频率变化量是(n-128)×0.39;否则当谱峰值为无效,则将频率变化量设置为0;则新的载波频率值fL为现有的载波频率加上频率变化量的值。
频谱中的峰值对应的频率,就是频率差值fL-fc,但如前文所述,如果信号中的噪声较大时,要正确提取谱峰值较为困难,所以可以设置一个判决门限,当频谱峰值大于此门限时,才认为是有效的。门限的选取可以通过概率和数理统计的方法,也可以简单的比较峰值能量和频谱均值能量的大小。
当接收机静止时,卫星运动造成的多普勒变化率最大不超过1Hz/s,平均多普勒变化率为0.54Hz/s,而当接收机处于低速运动状态,多普勒变化率也不会太大。这里主要考虑室内情况的运用,故可以认为接收机处于低动态。假设积分时间内频率变化不超过5Hz,那么频率选择的范围就是频谱中的第1~13点和第116~128点。通过这样的限制,可以避免选择到噪声引起的,处在频谱中间部分的峰值,减少误判的可能。
(4)对频率值fL进行卡尔曼滤波得到修正的跟踪信号。
假设当前GPS接收机接收的某路卫星信号为:
r(t)=AD(t)c(t)cosθ+n(t)
式中A表示GPS信号振幅;n(t)表示功率为σ2的加性高斯白噪声;D(t)表示卫星电文数据;c(t)表示C/A码。接收机基带的输入信号为数字中频信号,r(t)离散化表示为r(kTs),Ts表示采样间隔。如图2所示,积分之前的P路信号可表示为I(kTs)和Q(kTs),当P路本地码与接收到的GPS C/A码对齐时可得:
f
c表示中频载波,
表示多普勒变化率(Hz/s),f
L表示本地复现载波。由于较长的积分时间相当于进行了低通滤波,所以上式中只包含了低频信号。显然只需要通过快速傅立叶变换(FFT)就可以将频率差信息f
L-f
c提取出来。
通过前面的操作,已经通过对频域的分析得到了一个载波频率的变化量,但仍然不能保证在弱信号的情况下,得到的频率是正确的。需要注意到的一个事实是:接收机和卫星的相对运动是连续的,频率的变化也一定是连续的,如果计算结果出现大的突变则肯定存在噪声引起的误差。这样就可以对前面选取的频率进行滤波,使频率的变化结果更加平滑。
卡尔曼滤波器(Kalman Filter)是一种比较理想的选择。将频率的变化率考虑进来,就可以得到频率变化的动态模型。由于噪声干扰的存在,可能在跟踪过程中选择了错误的频谱峰值,得到错误的频率变化。对于与频率的整体变化趋势差别较大的变化,滤波器会对其进行修正,相当于滤除了其中包含的噪声。
下面根据实际采集的数据来说明本发明方法的有益效果。首先配置工作环境,将采集工具放置于室外空旷处,采集信号的中频为4.092MHz,采样频率为16.368MHz,2bit量化。算法实现的工具为Matlab 7.0软件。具体的信号处理跟踪过程如下:对采集到的信号加入噪声,使锁相环无法正确跟踪,随后再用本方法尝试跟踪。具体操作过程如下:
1、输入信号与本地复现的载波信号相乘,然后与本地复现的C/A码进行同相位的相关运算,以比特同步后的20ms为周期,得到2个积分结果,分别是与输入信号同相和反相的分量,记为Ip和Qp。这里Ip和Qp可以看作共同表示积分结果,因为它们是积分结果正交分解后的两个值。
2、利用本地保存的星历数据对Ip和Qp进行符号剥离,得到一个复数值M1=Ip+jQp。首先完成帧同步,然后将解调出来的导航电文(其中有星历数据)与本地保存的星历数据进行比对,对应上之后才可以用于导航电文的剥离。剥离过程就是乘以电文中的+1或-1。
3、经过128个20ms,可以得到128个复数值的序列M1……M128,对此序列进行128点FFT运算,得到128点的频域分布。这里就是说,进行连续128个分别长20ms的相干积分(总耗时2.56s),得到128个积分结果,对这128个结果组成的序列进行FFT运算得到一个频域分布。
4、使用比较峰值能量和频谱均值能量的大小的方法进行判决,在频谱中的第1~13点和第116~128点中寻找幅值最大的一个量,用此量除以其他频谱分量的平均值,门限值选择为3,得到的比值如果大于3,则认为此分量代表有效的频率变化,否则认为频率没有变化(即变化量为0)。
5、将频率变化量加上原频率作为新的频率观测值带入Kalman滤波器,计算出经过滤波的新频率。Kalman滤波器的状态转移矩阵和观测矩阵分别为:
Ts表示频率更新的时间间隔,也就是相干积分时间。
***误差和观测误差矩阵分别为:
这是Kalman滤波操作中必须用到的矩阵,确定这些矩阵和输入量后,按照固定的运算步骤,就可以完成滤波了。QX和RX分别表示频率的***噪声方程和观测噪声方差,Qx和Rx分别表示频率变化率的***噪声方程和观测噪声方差。
***的状态向量选择为其中x表示频率,表示频率变化率。其中,状态向量(对应的还有观测向量)与前面的矩阵一样,是Kalman滤波中固定要求的元素,描述要进行滤波的***中的某些状态量。
图4显示了采用传统Costas锁相环的跟踪结果与本发明方法的跟踪结果对比示意。可以看出,如果没有滤波,约在23s时发生频率判断出错,并会导致后面的跟踪结果完全错误。可见通过滤波后对跟踪的稳定性有很大帮助。
本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本发明内容所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。