提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
从事卫星导航基带处理的童鞋都知道,跟踪环路属于整个卫星导航信号处理中的精华之中的精华。接收机通过跟踪环在本地能够准确的复现接收到的信号的载波和伪码,是后续能够正确定位解算的关键步骤。整个跟踪环路将分成三小节,数字锁频环、数字锁相环和码环。其中数字锁频环和锁相环属于载波跟踪环。笔者所做的《从零开始研发GPS接收机》的工作中所使用的跟踪环路也将会在这里提到
《从零开始研发GPS接收机》记录了笔者实现一个硬件接收机的全过程,可通过公众号找到。
为什么要码环
导航信号在捕获成功之后,得到了粗略的码相位值,这个码相位值与真正的码相位可能有半码片的精度差别。随着多普勒的影响,精度会越来越差直到滑动到一个码片的差别之后,相关峰完全消失。在这期间,需要有码环来精准跟踪码相位。码相位是否精准影响各个卫星发射时间的计算,进而影响各个卫星伪距的计算,最终影响到的是单点定位的精度。
码环工作原理
前面我们讲了自相关和互相关,以GPS信号为例,其自相关性能和互相关性能都非常好。
自相关表现在:只有码元对齐才有明显的峰值
互相关表现在:不同组的码元进行相关是不会出现明显的峰值的
因此,通过这种相关特性很容易识别信号中是否包含一组特定的码元。
关于粗同步,就是捕获的码相位精度,初同步需要将码元的位置误差限定在【-1,1】码元内。否则就无法进行下一步的码元精同步。
超前-滞后门同步器
超前—滞后符号同步算法利用的是信号波形的对称性,即经过匹配滤波器或相关器的输出信号是对称的,如下图所示。对于下图所示的矩形脉冲,匹配滤波器的输出在t=T时达到最大值。只要采样值在峰值上,就一定能保证符号同步。
在噪声存在的情况下,如果没有在峰值点对信号采样,而在t=T-△时早采样,在t=T+△时迟采样。那么由于自相关函数相对于最佳采样时刻t=T是偶函数,早采样值得绝对值和迟采样值的绝对值就相等。在这种情况下,适当的采样时刻应该是在t=T-△和t=T+△之间的中点上。这一条件构成了超前—滞后门同步器的基础。
下图是其功能的实现结构
鉴别器
下面介绍两种鉴相器
(1)非相干超前减滞后幅值法:它简称前减后幅值法,码环前减后幅值鉴别器法的计算公式为:
上式假定了接收机得到的自相关幅值的最大值为1;否则,我们可对上式进行单位化,得到如下更为常用的鉴别公式
(2) 非相干超前减滞后功率法:它是将超前支路与滞后支路上的非相干积分功率相减,即
相应地,其单位化后的计算公式为:
因为在非相干超前减滞后幅值法中的自相关幅值E和L需要经过开根号才能求得,而这种非相干超前减滞后法却可以免去开根号运算,所以后者的计算量比前者有所减少;然而,由于自相关幅值曲线与功率曲线不相重合,因而非相干超前减滞后功率法会产生一定的鉴相误差。考虑到码环鉴别器的基本思路是让码环朝着使超前支路功率与滞后支路功率相等的方向上调节复制码相位,这种鉴相法最终也会使码环达到稳态。
对于第一种方法需要开根号,不过开根号也有近似的计算方法。
可以用以下的Robertson近似计算法来替代:
而上式也可以等价地表达成
matlab程序
模拟一个接收信号,接收信号为GPS L1CA码,码速率为1.023Mbps,采样率为4.1e6Hz,1ms的积分时间
clc;clear all;close all
SampleClk = 4.1e6;
PointNum = SampleClk*4;
caCode = prn_GPS_L1CA_Gen(1);
CodeRate = 1.023e6;
CodeLen = 1023;
indexInt = 0;
index = CodeRate/SampleClk*[1:PointNum]+0;
indexInt = mod(floor(index),CodeLen) + 1;
SampleCode = caCode(indexInt);
signal0 = SampleCode ;
%以下为付费程序
dll_err 表示接收码元与本地码元的频率误差
获取完整程序
见公众号