引言
除去一些特殊应用领域,目前国内大多采用以GPS为主、GLONASS为辅的卫星导航系统,在民用领域尤其以智能手机、车辆导航、环境检测应用为代表。采用GPS和GLONASS导航装备的最大缺陷就是导航应用受控于国外卫星,且易被干扰。
我国自行研制的“北斗卫星导航定位系统”(简称“北斗系统”)自2004年4月正式运营,对民用用户全面开放至今,整个系统运行稳定,工作状态良好,已在测绘、电信、水利、交通运输、勘探和国家安全等诸多领域逐步发挥重要作用。北斗卫星导航定位系统由空间卫星、地面主控站(控制中心)与标校站和用户终端设备三大部分组成,它具有快速二维定位、双向简短报文通信和精密授时三大基本功能[1]。
北斗系统现有的有源定位技术体制决定了其用户终端设备须能收能发,在技术应用上有通信功能,应用优势明显。但这种体制也使用户终端制造成本增加,加上终端设备用户少,所以目前市场价格偏高,多数用户难以接受[2]。用户终端设备价格昂贵的北斗系统在市场上是无法与GPS系统进行竞争的,因此必须大力发展相关技术,增加北斗与GPS竞争的筹码。北斗基带接收通道是用户终端的核心之一,是需要首先解决的关键技术。
1 北斗接收机的工作原理
1.1 接收机概述
北斗接收机主要由4个部分组成:天线单元、射频前端信号处理单元、基带信号处理单元和信息输出单元。天线单元用于接收北斗射频信号;射频前端信号处理单元通过射频前端放大、下变频,将射频信号转换为中频信号,再经过A/D采样将中频信号转换为数字信号;基带信号处理单元接收A/D转换采样后的数字信号,在其中完成捕获、跟踪、解调、帧同步以及定位解算等功能;信息输出单元为用户提供定位结果、时间等信息。北斗接收机基本构成框图如图1所示。
图1 北斗接收机基本构成框图
基带信号处理单元通过处理射频前端所输出的数字中频信号,复制出与接收到的卫星信号相一致的本地载波和本地伪码信号,实现对北斗信号的捕获与跟踪,并且从中获得伪距和载波相位等测量值,解调出导航电文。可以看出,基带信号处理在接收机中是一个非常重要的部分。
1.2 接收机的工作过程
在北斗信号的发射端,北斗载波信号上调制有P码、C/A码和导航电文的数据,那么相应地在北斗信号接收端,为了能从接收到的卫星信号中解调出导航电文数据码,基带信号处理需要通过混频彻底分离数字中频信号中的载波信号,并且该载波信号还包含了多普勒频移。此外,还要通过相关的运算再彻底剥离信号中的C/A码,这样剩下的信号便是经过双相移位键控(BPSK)调制的导航电文数据码,即发射的信号。
为了获得导航电文,接收通道通过码跟踪环路不断调整其内部所复制的载波,使复制的载波频率与数字中频信号中的载波频率保持一致,然后经过下变频混频实现载波的去除。同时,接收通道通过码跟踪环路,不断调整其内部所复制的C/A码,使复制C/A码的相位与数字中频信号中的C/A码相位保持一致,然后经过码相关运算实现C/A码的剥离。
因为在地面上任意一点能同时观察到的卫星数目一般不超过12颗,所以信号通道数N是一个小于12的常数,通常为8~12通道[3]。如果是兼容GPS或GLONASS的话,通道数量会更多一些。
2 接收通道的工作原理
接收天线是北斗接收机处理卫星信号的首个器件,它将接收到的北斗卫星所发射的电磁波信号转变成电压或电流信号,由于信号比较弱,经前置滤波器和前置低噪声放大器后,再与本振信号进行混频而下变频成中频信号。由于数字信号比模拟信号处理更有优势,所以由模数转换变成数字中频信号,进入后续的基带信号处理。
当接收到的卫星信号被数字化之后,先要完成信号的捕获处理,捕获阶段是针对某颗卫星的信号进行搜索,捕获到信号之后进入跟踪处理环节。通过对信号的跟踪,找到数据相位变化的位置。在传统的接收机中,捕获和跟踪都是由硬件来完成的,根据每一个导航数据相位的变化得到导航电文的每一个子帧和完整的导航数据。从导航电文中可以得到星历和伪距,由星历数据可以推算出相应卫星的位置,最后利用卫星的位置和伪距来计算出当前接收机所在的位置。
2.1 信号的捕获
北斗卫星系统采用的是扩频通信体制,对于扩频系统来说,捕获是指使本地参考码和接收码的相位差小于一个码元宽度,且收发码时钟频率基本一致,同时使载波相位相互对准,实现输入信号与本地信号的粗同步。因此,对于卫星信号的捕获来说包括两个部分:伪码的捕获和载波的捕获。
卫星信号采用码分多址(CDMA)技术,不同的伪随机码对不同卫星的导航数据进行扩频调制。为了能够搜索并处理某一卫星的导航数据,就必须复现调制该导航数据的伪随机码,将本地复现的伪码同输入的伪码在不同相位差上做相关运算,直到二者同步为止,进一步可以完成对导航数据的解扩,这称为“伪码捕获”。由于卫星在高速运动,其与接收机之间存在径向移动,会产生多普勒频移。因此为完成对某一卫星导航数据的解调,必须搜索到相应卫星所产生的多普勒频移的数值,这称为“载波捕获”。
因此,卫星信号捕获过程可以认为是一个三维的搜索,第一维是从伪码的方向,第二维是从多普勒频移的方向,第三维是从伪码相位的方向。一旦捕获过程中能够成功地侦测到卫星信号的存在,就给出了卫星信号、相应的多普勒频移及伪码相位,三维的搜索全部完成后,信号捕获的任务才算完成。这些信息进而会送给信号跟踪模块,完成初始化并开始对信号的跟踪过程。
常规的捕获做法是时域中基于硬件相关器的信号捕获,捕获的过程如图2所示。
图2 捕获的过程
中频数字信号首先和本地载波的正弦与余弦分量相乘混频,得到I和Q两路分量,然后再分别和本地伪码在某个伪码相位处做相关运算,经过积分器的相干积分给出各自的积分结果I(t)与Q(t),再做非相干积分得到信号的模,最后对此非相干积分结果做阈值判断。控制电路是用来控制本地载波的频率,在某一个固定载波频率处,调整本地伪码的相位,相位调整的范围是由扩频码的码片个数决定的,对GPS而言是1 023个码片,北斗是2 046个码片。对于每一个载波频率和伪码相位,I和Q相关器输出相关结果,经过相干积分与非相干积分得出最后的积分值。如果当前载波频率值完成所有码片的相关运算后还没有得到超出闭值的尖峰,则改变当前载波频率,然后再重复所有2 046个伪码相位的搜索。这个步骤就是针对某一个伪随机噪声码的二维搜索,当完成所有可能的载波频率和伪码相位,依然没有满足要求的相关尖峰出现时,就可以说当前接收到的卫星信号不含有该伪码,也就是不含有当前假设的这一颗卫星的信号,于是控制逻辑就要考虑换一颗卫星来匹配,即改变当前的伪随机码。
2.2 信号的跟踪
一般来说,根据信号捕获的结果,对载波多普勒的估计误差在几百Hz左右,对伪码相位的估计误差在半个码片范围之内。这样的精度不足以实现导航电文数据的解调,因为解调数据通常必须是在进入稳定的跟踪状态以后才可以进行。所以要想得到更加精确的卫星信息,捕获之后还必须进行后续的跟踪环节。
跟踪模块在捕获模块送来的多普勒频移和伪码相位的基础上,需要完成的工作有两部分:一是实现对卫星信号中载波信号的跟踪,二是实现对伪码分量的跟踪。为了达到这个目的,在设计的每个跟踪通道内都会设置两个跟踪环:一个负责跟踪载波,叫载波环;另一个负责跟踪伪码,叫码环。在实际工作的过程中,这两个环必须紧密耦合在一起,而且要想进入稳定的工作状态,这两个环路都必须处于稳定的锁定状态。跟踪过程如图3所示。
图3 跟踪环路工作过程
同相载波和中间载波与中间码的积分后,输出到载波环路鉴相器,得到误差信号,然后通过载波环路滤波器反馈到伪码发生器,从而控制本地载波的调整,实现载波环的跟踪功能。
图4 接收通道系统结构图
同相载波和中间载波与超前码和滞后码积分后,通过伪码鉴相器得到误差信号,然后通过码环滤波器反馈到伪码发生器,控制本地伪码的调整,实现码环的跟踪功能。实现本地伪码的调整,即实现码环的跟踪功能[4]。可以看出,两个环路必须紧密地耦合在一起。
载波环路需要相位对齐的伪码输入的扩频信号解扩,而伪码环路则需要相位同步的载波信号将中频信号变到基带信号。正如图3中,伪码环路内中间码的作用是输出给载波环路作为伪码剥除之用,同时,载波环路的反馈则用来调整产生本地的载波和伪码。所以,任何一个环路出现失锁,都会严重影响到另一个环路的正常工作状态,两个环路协同工作,缺一不可[5]。
通过上述整个工作过程的介绍,可以看到北斗接收机硬件功能实现集中在基带模块、捕获与跟踪的功能之上,决定了接收机最终的性能。
3 北斗基带数字接收通道的设计
3.1 采用JFM7201的系统结构
基带信号处理模块通常表现为软件和硬件的结合,载波解调和解扩通常由专用电路的形式来完成。GPS 芯片模块和基带芯片市场竞争非常激烈,各厂商在近两年内推出的单纯基带处理芯片独立定位性能基本接近,区别主要在芯片的设计方案和辅助功能上。随着国内多家单位成功研制射频芯片、基带芯片和接收机模块,我国卫星导航芯片在核心技术上取得了新的突破。但总体来看,相比国外芯片,国内GNSS基带与射频芯片在功耗、灵敏度、产品稳定性、应用解决方案等方面与国外尚有一定的差距[6]。
JFM7201是一款用于北斗基带信号处理的专用电路,可以接收北斗B1/B3频点、GPS L1频点的数字中频导航信号。该基带芯片与精密测距码芯片(PRM)配合,可以完成对设定导航信号的捕获、跟踪、导航电文解调解码、原始观测量提取等功能,并可以通过数据总线接口输出导航电文、原始观测量和基带芯片的工作状态等信息。基带芯片与用户设备中的微处理器共同完成用户位置、速度、时间等(PVT)信息的解算[7]。
采用JFM7201设计的北斗接收通道系统结构如图4所示。
天线接收的卫星信号送入射频模块实现下变频功能,同时产生62 MHz时钟与A/D采样后的中频数据一并送入基带芯片进行解算,产生NIMA0183格式导航信息,由DSP开发板或专用导航定位软件解译出导航电文,实时计算三维坐标、三维速度和时间等所需数据。左边虚线中的部分为本设计的主要部分。
3.2 JFM7201的初始化
JFM7201芯片初始化流程如图5所示。
图5 JFM7201的初始化流程图
在对芯片进行初始化之后,还要配置相应的寄存器,通过读取RTC时间或其他方式获取有效时间,并进行时间格式转换,如RTC时间需转为TIC寄存器时间格式,根据需要还要修正TIC时间。开启中断使能后,芯片可以开始工作。
3.3 北斗基带接收通道的设计
中频信号由A/D转换模块转换后送入基带芯片,DSP芯片通过配置JFM7201内部捕获寄存器、跟踪控制寄存器、中断请求等控制其操作过程,导航电文生成后交由DSP提取PVT等信息。其中,SIM IC卡实现数据加密功能,PRM为精密测距码芯片,在本次设计中没有使用。采用JFM7201设计的北斗接收通道原理图略——编者注。
在本设计中暂时没有采用军码直捕模式,因此PRM模块以及相应的接口做了屏蔽处理。如果需要将该模块直接接上便可以使用。模数转换部分采用ADI公司的AD9288芯片,该芯片可实现两路中频同时采样,输出4位位宽数字信号,通过AD_DFS端口控制输出格式。本设计虽然可以兼容B1/L1频点,但是采用切换方式换频,B1/L1并非同时工作,在设计中将AD9288设置为单通道工作模式,工作时仅打开B通路,对B路中频信号源采用专用电缆线接入,对A路时钟源通过跳线控制以降低功耗。
JFM7201芯片完成捕获、跟踪、定位解算、导航电文解调解码、原始观测量提取等功能,通过解调星历,输出NMEA0183协议数据。芯片提供两路数字输入通道,外接提供62 MHz工作时钟,提供与处理器16位数据总线通信、12位地址总线、读写、片选、中断接口,支持UART、SPI、GPIO、I2C总线输出。
采用DSP芯片TMS320C6713实现对基带芯片的配置、控制与数据通信,该芯片时钟输入为50 MHz,通过JTAG接口实现实时下载。
3.4 信号捕获的过程
基带芯片配置结束后,可以正常进入捕获状态。芯片首先检测捕获模块状态,如空闲可启动捕获,否则不能启动。在芯片复位后默认捕获状态是空闲,控制器需要自行记录控制状态。如果启动后认为捕获忙,在随后的捕获中断中可以清除状态为空闲,继续进入捕获过程。在判断是否空闲后,如果不空闲,则继续等待。一旦空闲,则进行码型的判断,确定判断接收到的是P码还是C/A码。如果是P码,配置相应的码相位参数。如果是C/A码,配置捕获控制寄存器,配置系统类型、卫星号、频点、码型、使用通道号等。然后,可以启动捕获模块,此时需产生启动沿信号,并修改捕获状态为“忙”,等待捕获中断后查看捕获结果。
基带芯片完成捕获、跟踪、定位解算、导航电文解调解码、原始观测量提取等功能,解调星历,输出NMEA0183协议数据。SCL、SDA与RTC芯片以I2C总线协议通信。引出基带地址、数据及相关控制信号便于DSP开发板连接。通过UART实现串口数据发送,1PPs_OUT输出秒脉冲授时校准。提供IC卡复位、数据、时钟端口SPI接口存储数据。PN码同步过程分为捕获(粗同步)和跟踪(精同步)两个阶段。在本地PN码与接收信号相关运算后,验证通过后转入PN码跟踪环路。
DSP主要完成的任务:数字混频、伪码相关、捕获跟踪。信号的解扩通过本地伪码信号和接收信号相乘实现。解扩之后,恢复出原始的窄带数据信号,同时噪声、多址干扰等不相关的信号仍然保持为宽带信号,经过低通滤波器就可将杂质信号的大部分滤除。解扩后的信号根据北斗发送信息的帧格式来提取定位信息,根据需要解算出相应的位置、速度和时间信息。
结语
JFM7201是一款国产的北斗基带信号处理电路,与相关的处理器配合可以较为方便地实现北斗导航定位功能,部分缓解北斗基带信号自主国产化的压力。采用上述的设计取得了比较好的测试效果,并在实际工程中得到了初步的应用。