混频前端抽取FFT伪码并行捕获算法
卢 迪, 郑世超
【摘 要】摘 要:为了更快、更准、更稳定的捕获到北斗卫星信号,文中提出了一种混频前端抽取FFT伪码并行捕获算法。相比传统FFT捕获算法,采用先对采样数据进行抽取,将FFT计算点数下降为原来的1/5;在平方检波前,再将做完IFFT的数据结果进行周期积分累加,通过判决得到相关峰值。该算法有效地减少了FFT的运算量,降低了系统复杂度,更缩短了信号捕获时间。而且相较于只进行抽取的FFT算法,捕获精度有明显提高。仿真实验验证了本算法的优越性。 【期刊名称】弹箭与制导学报 【年(卷),期】2017(037)005 【总页数】5
【关键词】关键词:北斗卫星导航系统;并行捕获;数据抽取;积分累加
0 引言
北斗卫星导航系统(beidou navigation satellite system,BDS)是中国自主建设、独立运行、世界上首个集定位、授时和报文通信为一体的卫星导航系统,是继美国GPS、俄罗斯格洛纳斯GLONASS、欧洲伽利略GALILEO之后,为全球用户提供全天候、全天时、高精度定位、导航和授时服务的国家重要空间基础设施。建设北斗卫星导航系统,对于提高我国国际地位,促进经济发展,保障国家安全等方面,都具有重大战略意义。
北斗卫星导航信号采用码分多址(CDMA)调制方式,不同的伪随机码对不同卫星的导航数据进行扩频调制[1]。为了跟踪并解码北斗信号,获得导航信息,首要任务是捕获信号。若要完成信号捕获,必须让接收机生成的伪随机码与卫星信号一
致,再调整其码相位和多普勒频率,直到与卫星信号一致。因此捕获过程可看作是对可见卫星信号的载波多普勒频率和码相位粗略估计值的二维搜索[2-4]。 传统的时域串行捕获算法是一种硬件实现容易但捕获速度最慢的搜索方法,不能够满足高动态下实时位置的解算,低信噪比情况下可能丢失数据。匹配滤波器捕获算法虽捕获速度较快,但其实现电路复杂,仅适用于短周期的PN码捕获。基于FFT的伪码并行捕获算法利用FFT进行频域分析,将传统的二维搜索变成一维搜索,使得捕获速度得以显著提高[5-7]。
1 基于FFT的伪码并行捕获原理
北斗卫星信号是扩频信号,只有利用扩频码良好的自相关特性和较差的互相关特性才能从噪声中提取出卫星信号。卫星信号经过天线、低噪声放大器、射频前端、AD采样后得到的数字中频信号表示如下: xk(n)=ACk(n)Dk(n)cos[2π(fc+fd)nT+φ]+e(n) (1)
式中:k表示卫星编号;A表示信号幅度;C(n)表示伪码;D(n)表示伪码上调制的数据码;fc表示载波中频;fd表示载波多普勒频率;T为采样时间;φ为输入载波与本地载波的相位差;e(n)是均值为0、方差为1的高斯白噪声。
传统的时域串行捕获算法如图1所示,其基本原理是:在确定的一段频率范围内,按照某种规则将频率划分为若干段,从第一频段开始,滑动本地伪码,依次做对应该频段的所有不同码相位的相关积分,然后调整到下一频段,搜索直至遍历了所有的频率和码相位为止,最后对所有相关积分结果做阈值判断[8]。如果相关峰值大于捕获门限,表示捕获到卫星,并记录下峰值所对应的频率和码相位。否则,表示当前接收到的卫星信号伪码和本地假设的卫星信号伪码不匹配,控制逻辑需改变
本地伪码进行再次搜索。
由于时域串行捕获算法的搜索时间长,因此引入了基于FFT的伪码并行捕获。该算法原理是建立在时域的卷积等效于其频域的傅里叶变换乘积的基础上[9],不过卫星信号捕获时用到的是相关运算,不是卷积运算,但该过程也可由傅里叶变换表示。
两个长度为N的有限序列x(n)与y(n)之间的相关表示为: (2)
而x(n)与y(n)的循环卷积表示为: ?y(n) (3) x(n)? (4) 因此:
rxy(m)=x(n)?y(-n) (5)
式中m取[0,1,2,…,N-1]。?表示循环卷积运算符。
因时域的卷积等效于频域的乘积,故对式(5)两边同时做FFT变换,可得: R(k)=X(k)Y*(k)=X*(K)Y(k) (6)
然后对上述结果进行傅里叶逆变换(IFFT): r(m)=IFFT(FFT(y(n))·CONJ(FFT(x(n))))
混频前端抽取FFT伪码并行捕获算法
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)