基于MAX2769的GPS软件接收机

2012-07-04 08:03王玉娥
关键词:伪码伪距接收机

王玉娥

(北京东方新星石化工程股份有限公司,北京100070)

全球定位系统(GPS)是一种广泛应用于军用和民用的卫星导航定位系统。在该系统中,最重要的部分是接收机,传统的GPS接收机主要采用专用集成电路(ASIC)对信号进行处理和快速微处理器进行计算。但是不同于微处理器,ASIC的算法不易改变。当需要改变算法时,ASIC就必须由制造商重新设计,代价高昂。随着GPS技术的发展,例如,当增添L5波段信号,或者对于能够兼容多种卫星导航和定位系统的特殊用途的接收机,中频数字信号处理算法往往需要改变。而硬件接收机的专用芯片是不能满足这些要求的[1]。

软件无线电由于其灵活性和多功能性被广泛应用于GPS软件接收机的设计[2]。按照应用软件来说,接收机可以作为一个具有先进算法的单一系统接收机或者各种系统组合的接收机。应用算法可以增强接收机在信号处理和定位的能力[3]。

本文主要介绍了基于MAX2769射频前端的GPS软件接收机的硬件和软件设计。射频前端将接收到的卫星信号下变频为中频数字信号,然后通过数据采集板将中频数据传输到PC端,最后在PC上通过软件对基带信号进行解码。

1 射频前端架构

由于接收信号的模拟特性,对于处理真实信号的软件接收机通常包括一个处理模拟信号的部分,称为射频前端。射频前端输出的信号被转换为数字形式,并能够在可编程数字信号处理器中处理,例如DSP、FPGA和PC等。射频前端的性能在很大程度上决定了软件接收机的性能。

GPS软件接收机的射频前端首先用低噪声放大器(LNA)将接收到的微弱信号进行放大,然后通过一或两个混频器将输入信号与本地振荡器信号进行混合,将信号下变频到较低的中频(IF)。最后通过模数转换器(ADC)将模拟中频信号转换成数字中频信号[4]。

MAX2769的直接下变频结构具有内部滤波器,无需外部滤波元件。该芯片提供了两个放大器:其中一个可配合无源天线使用;另一个可配合有源天线使用。无需外部放大器。在第一级放大器输出与混频器输入之间通过耦合电容连接,并提供了RF信号引出端。集成参考时钟振荡器可以使用温补晶振(TCXO),无需调节外部负载电容进行器件匹配。在晶体和晶体/参考输入之间连接一个串联电容,通过内部SPI接口可对频率进行微调[5]。

MAX2769设置为从ADC输出2位CMOS值,通过3线SPI接口,包括SDATA,SCLK和CS/对寄存器进行编程配置。

为了通过标准的USB2.0接口,将射频前端输出的数据传输到PC端,选择一个中频信号采集板。利用输入的数据,基带处理软件程序计算出位置的初步信息,并随后进行跟踪。

2 信号捕获

捕获的主要目的是确定可见卫星,获得每颗卫星的载波频率和码相位的粗略值。通过32个不同的PRN序列来识别不同的卫星。码相位是指当前数据块中C/A码的起始位置。当本地复制的C/A码与输入信号中的C/A码序列完全对齐时,输入信号中的C/A码被移除。

在接收器端,GPS输入信号与载波相乘后形成同向和正交(I和Q)两路信号。再通过相关器将基带信号与本地复制C/A码进行相关运算[6]。经过一个比特周期的积分后,相关器的输出被累加并获取其最大值。当最大值超过某一门限时,则判断捕获成功,然后进入跟踪模式。否则,重新调整本地产生的C/A码和载波频率,更新相关器输出最大值,并重复上述过程[7]。

在GPS软件接收机中,使用并行码相位算法进行捕获。这种方法同时搜索多普勒频率和码相位,采用傅里叶变换将时域的循环互相关运算变换为频域的乘积运算。这样只需要搜索多普勒频移,简化了运算过程,是一种快速高效的软件搜索方法[8]。

图1显示了并行码相位捕获的过程。首先,将输入信号与本地正弦和余弦载波分别相乘,产生同向I和正交Q信号分量。然后把I和Q分量合并成一个复合信号并进行FFT运算。FFT变换的结果再和本地复制C/A码的FFT变换结果的复共轭相乘。将相乘后的结果再进行傅立叶逆变换,然后对傅里叶逆变换后的结果取模,即得到输入信号与本地复制伪码的相关结果。最后,比较相关结果的最大值与预先设定的门限。如果最大值大于预先设定的门限,则捕获成功。否则,改变多普勒频率并重复上述过程,直至捕获成功[9]。

3 跟踪细调

捕获完成后获得载波频率和码相位的粗略值。因此,需要通过跟踪进行细调,以便系统能用精确的码相位和载波频率解调出导航数据。跟踪过程中,首先将载波从输入信号中剔除,然后再与本地复制伪码相乘,输出即为导航数据。所以跟踪过程需要产生两种复制信号,一种为载波,一种为伪码。相应的,跟踪就分为载波跟踪和码跟踪[10,13]。

码跟踪环路的主要目的是对信号中伪码的相位保持跟踪,使本地复制C/A码的相位与输入信号中的C/A码相位保持一致。在GPS接收机中,码跟踪环一般采用称为超前-滞后跟踪环的延迟锁定环(DLL)实现[11],如图2 所示。

首先将输入信号与本地复制载波相乘,用三个不同相位(间隔±0.5码片)的本地复制C/A码与输入信号进行相关,这三个C/A码分别称为超前码,即时码和滞后码。经过积分累加之后,比较得到的三个相关结果,具有最高相关值的信号被选中并保留,然后推算出C/A码自相关峰值的位置,确定即时码与接收信号中的C/A码的相位差异,进而获得接收信号中码相位的测量值,并将码相位差异反馈给C/A码数控振荡器,相应调整本地复制伪码的相位。

为了成功的解调出导航数据,需要生成精确的本地复制载波。在载波跟踪环中,一般使用锁相环中的Costas环实现。

如图3所示,Costas环是一种相位锁定环,其对相位翻转不敏感,可以对信号保持精确的跟踪。当从输入信号中剔除C/A码后,输出为一个被导航数据调制的连续波信号。压控振荡器根据捕获输出产生载波频率并生成两路载波信号,一路为直接信号,一路经过90度相位翻转。这两路信号分别与输入信号相关。相关结果经过滤波后,再经过反正切鉴相器比较其相位。然后将鉴相结果经过滤波后产生一个控制信号,用来调节振荡器,使其产生的载波频率接近输入的连续波信号。这个载波频率也被用来剔除输入信号中的载波[8]。

当捕获和跟踪完成之后,就可以从跟踪模块的同相支路的输出中得到导航数据信息,然后将输出数据标准化为包含1和-1的序列。由于跟踪环输出的是速率为1000bps的导航数据信息,而导航数据的比特率为50b/s,所以在对导航数据解码前,要将1000bps的导航数据信息转化为50b/s的导航数据,也就是要将20个连续的值用1个值来代替,这个转换过程即称为位同步。位同步过程中的首要任务是要找到位翻转点,即输出序列中的数据从1变为-1或从-1变为1的位跳变位置。当数据翻转点确定之后,可以用20ms的间隔分割1000bps输入数据,然后再对20ms间隔排列的比特取样累加起来取平均值,从而解码出导航数据[6]。

4 定位的解码

一旦实现跟踪,通过子帧匹配和奇偶校验就可以将输出的结果转换成导航数据。从子帧中获得星历数据。根据这些星历数据可以确定卫星的位置,还可以获得接收机和卫星之间的伪距,一旦获得所以必要的信息,就可以计算出用户的位置。最后,将用户的位置转换到需要的坐标系下。

在上述过程中,最关键的步骤是计算伪距。因为GPS接收机不能获得本地接收机的时间,也就无法计算出接收机和卫星之间的信号传输时间,只能通过相对测量来获得伪距。不考虑每颗卫星的时钟校正,所有不同卫星的子帧1的起始点都是相同的。因此,可以认为不同卫星的子帧都是在同一时刻发射的。由于在不同时刻收到不同卫星的子帧l,这个时间差就代表了不同卫星到接收机的距离差,所以它就代表相对伪距。相对伪距可作为观测数据用于定位解码[1]。

5 结论

通过对信号的捕获,获得视距内可见的卫星信号,并得到载波频率和码相位的粗略估计值。经过载波和伪码跟踪,不断调整载波频率和码相位,最终获得精确值。对得到的数据进行位同步、子帧匹配和奇偶校验提取出导航电文,并得到卫星与接收机之间的相对伪距,用于接收机位置的解算。其软件和算法已经得到实际验证[12],满足低精度测量和导航的要求。

[1]JAMES BAO,YEN TSUI.Fundamentals of global positioning system receivers:A software approach[M],New York:John Wiley & Sons,Inc,2004.

[2]GOUGAN G M,NORRMARK P L,STALBERG C.Satellite navigation evolution:the software GNSS receiver[J].GPS World,2005(1):48 -56.

[3]ALISON BROWN.Benefits of software GPS receiver for enhanced signal processing[J].GPS Solutions,2000(1):56-66.

[4]DAVID WEBER,ROGER BREMER.Universal GPS receiver lets you use a laptop PC for Soft baseband processing[J].Maxim's Engineering Journal,2008,63:1 - 8.

[5]MAX2769 DATASHEET[P/OL].2003 -3 -04.http://datasheets.maximintegrated.com/en/ds/MAX2769.pdf

[6]JIN TIAN,QIN HONG LEI,ZHU JUNJIE.Real- time GPS software receiver correlator design[C].Proceedings of the second international conference on communications and networking in china,2007.

[7]ANDREA MOLINO,MARIO NICOLA,MARCO PINI,MAURIZIO FANTINO.N-Gene GNSS software receiver for acquisition and tracking algorithms validation[C].Proceedings of the 17th European Signal Processing Conference,2009.

[8] ZUOHU LI, JINMING HAO, JIANWEN LI,,CHENGJUN ZHANG.IF signal processing algorithm for GPS software receiver[C].Proceedings of the Congress on Image and Signal Processing,2008(1).

[9]BOROI D,DRISCOLL O,LACHAPELLE C.Composite GNSS signal acquisition over multiple code periods[J].Aerospace and Electronic Systems,2010,46(1):193-206.

[10]HUANG YANGBO,TANG XIAOMEI.Differential correlator for tracking GPS Signalssignals[C].Proceedings of the Information Engineering and Computer Science in China,2009.

[11] NOMI SONOWAL,RAJEEV YADAV,KANNAN S.Real Time time GPS Software receiver receiver with new fast signal tracking method[C].Proceedings of 2008 IEEE Radio and Wireless Symposium,Orlando,FL,USA,2008

[12]崔鑫拓,夏亮亮,徐博会.利用SSL VPN实现卡车调度系统中的远程设备管理[J].河北工程大学:自然科学版,2012,29(1):100 -102.

[13]王小胜,王保国.研究不精确现象的新数学工具-不确定理论[J].河北工程大学:自然科学版,2010,27(4):101-105.

猜你喜欢
伪码伪距接收机
多普勒频移修正下的快速伪码捕获技术的实现
一种用于调幅接收机AGC的设计与实现
一种面向ADS-B的RNSS/RDSS双模接收机设计
北斗伪距观测值精度分析
GNSS伪距粗差的开窗探测及修复
数字接收机故障维修与维护
基于多接收机的圆周SAR欺骗干扰方法
伪码体制脉冲串引信信号参数提取方法
联合码伪距和载波宽巷组合的相对定位技术研究
部分频带干扰下伪码跟踪误差分析*