基于FPGA的GPS信号快速捕获方法实现.doc
文本预览下载声明
基于FPGA的GPS信号快速捕获方法实现
基于FPGA的GPS信号快速捕获方法实现
刘亿民,宋学瑞
(中南大学信息科学与工程学院.湖南长沙410083)
摘要:介绍了一种基于平均相关器的GPS信号快速捕获算法,通过VHDL语言描述在
FPGA上实现了该算法.平均相关器是一种将输入的5000点GPS样本信号平均化为1024点样
本,然后通过FFT方法实现GPS信号快速捕获的基带相关器.这种相关器可以一步搜索到所有
可能的码相位偏移,大大提高了捕获速度,比较好地满足了实时处理的要求.
关键字:GPS,FPGA;捕获;采样平均
中图分类号:P228文献标识码:A文献标识码:1008~9268(2006)06—0042—05
1引言
捕获卫星信号的时间是评价GPS接收机的主
要性能指标,一种实现快速捕获的方法是使用基于
快速傅立叶变换的相关器,这种方法可以一步搜索
到所有可能的码移,从而加快捕获速度Ⅲ.C/A码
周期为lms,如果中频采样频率为5MHz,即每lms
有5000个样本,进行5000点的FFT相关函数计算
将导致计算量巨大,设计复杂,接收机成本增高等问
题[2].如果能在不降低信号信噪比的情况下,将每
毫秒5000点的中频采样数据下采样到每毫秒1024
点,就可解决上述问题.通过1024点的FFT模块
进行频域软件信号处理是硬件实现C/A码捕获的
主要思想L3].
2GPS信号捕获
GPS接收机在接收GPS卫星信号时,先将L波
段的载频下变频至中频信号,再进行解扩,解调等处
理.在解扩解调之前,GPS接收机必须搜索载波频
率偏移和C/A码码移,即进行c/A码捕获,然后进
行卫星信号的跟踪和锁定].
当在GPS接收机中采用基于FFT的快速码并
行相关检测技术时,相应的自相关函数可以用下式
来表示:
L
R~m-]=:xEn]?CAE(n+)]
===
]oCA[-]一厂(扛[])?
,*(C[))
式中,R[]表示得到的自相关序列,xEn~l表示输入
的采样数据;CAEn-I表示本地C/A码;L为C/A码
的长度,m为本地码的码移数,⑧表示卷积;,表示
傅立叶变换;f*(CAEn-])表示本地c/A码序列傅
立叶变换的共轭;厂表示反傅立叶变换
5000点FFT对于硬件实现来说是非常昂贵的,
这可能是频域处理接收机目前并不是很流行的原因
之一Xilinx公司已经开发出处理1024点的H
模块.该模块可以进行复数FFT变换,XN—RE,XN
_
IM分别表示输入数据的实部和虚部,XKRE,XK_
IM分别表示输出数据的实部和虚部,FWDINV引
脚的配置决定FFT或IFI变换模式,ART为启
动信号,其他引脚都可以根据用户的需要来配置和
使用.该模块的详细操作时序如图1所示.按照时
序图规定的时序关系将相应的信号分别送入FFT
模块,就可以方便的实现信号的处理.
原始C/A码的码率为每毫秒1023点,如果接
收到的信号可以被恢复到与C/A码同样的速率,那
么就可以使用1024点的FFT模块来计算.一种使
用1024点FFT模块计算平均相关的方法是通过改
良C/A码,重新调节接收序列和本地C/A码序列
至1024个样本每毫秒以适应FFT模块的大小.将
来自接收机前端的以5000Msps的采样速率采样并
收稿日期:2oo6一o8~15
基金项目:国家863项目(2O01AA613O50),国家自然科学基金地理空间信息工程国家测绘局重点实验室
项目(B2531,200604)
42GNSSWorldofChina/2006.6
量化后的信号下采样至1024点每毫秒,同时将本地
C/A码也做同样的处理,就可将改进的两路码序列
进行相关处理.两个改进的码序列代替了原始C/A
)口1一re
xn一¨’
枷jnda
rid
bI-斜
~lv
珂L
xn.-n
姗Jnd
码序列,直接送入1024点的FFT模块,从而高效率
地完成相关处理.
幽1FFr模块的操作时序
GPS信号C/A码的周期是lms,中频采样信号
频率是5MHz,5000个采样数据点覆盖了lms的时
域,也就是说5000个采样数据点代表一个完整的
C/A码序列,每个码元由4个或5个采样数据点代
表.其中,5个采样数据对应一个c/A码码元的情
况占绝大多数.可以通过一定数量的5个采样数据
的集合和一定数量的4个采样数据的集合来将5000
点的采样数据平均化成1024点,但是这时所得到的
码序列不一定能很好地近似表达一个C/A码,除非
原先的5000个采样数据中的第一个采样数据正好
对应于C/A码第一个码片的第一个采样值,但这种
概率非常小,尤其是在冷启动的情况下因为没有
足够的信息来决定哪4个或6个点组成一组并被平
均(除非有一种方法可以知道样本和码元的相对位
显示全部