张宝全 周枫 张少泉
摘要:卫星授时,就是指通过卫星发射或转发高精度标准时间信号的时间同步技术。文中首先分析了卫星定位和授时的原理。因为授时需要对卫星信号捕获跟踪,但由于实际的卫星不受我们控制,所以用Matlab程序通过合适的算法和参数产生仿真卫星信号,并对仿真卫星信号进行捕获跟踪处理。最后,实验中采用TD3020T模块等软硬件搭建基于北斗二代卫星的授时系统,授时系统捕获跟踪到了实际卫星报文信息,并用编写好的Matlab程序对报文信息分析处理得到纳秒级精度的标准时间信号,实现了基于北斗二代卫星的纳秒级精度授时系统。
关键词:星授时;信号处理;信号捕获跟踪;GPS;北斗卫星系统
中图分类号:TP967.1 文献标识码:A DOI:10.3969/j.issn.l003-6970.2017.08.021
本文著录格式:张宝全,周枫,张少泉.卫星信号捕获跟踪仿真与卫星授时的实现[J].软件,2017,38(8):107-112
引言
信息社会对高精度标准时间的要求十分迫切,时间精度要求达到纳秒级甚至更小,随着信息技术的快速发展,时间计量的精度也不断提高。而精确时间同步技术的实现需要授时原理来支撑,所以研究授时技术是刻不容缓的大事。授时技术是科学研究和工程实践中发展起来的新技术,在各领域中的应用越来越广泛。卫星授时技术的出现,使大面积的用户获得高精度标准时间信号成为现实。卫星授时具有覆盖范围广、开放性强以及可为移动用户服务等特点,正是由于这些优点,卫星授時成为目前最常用的授时方式之一。卫星授时技术是新型的授时技术,信号能够全方位大面积覆盖,精确度比其它授时方法高,导航电文信息丰富,经过多年的发展,市场应用已经成熟,再加上我国北斗导航系统的加入,应用前景一片明朗。因此,卫星授时技术成为最受欢迎的时间同步手段。下文分析了卫星授时的原理,并将进行相关实验来论证。
1 卫星授时的原理
授时是指确定、保持某种时间尺度,并通过有线或者无线的方式将代表这种尺度的标准时间信息发送或转发给用户的一系列过程。授时技术主要完成两方面的任务:一是精确测定用户时间与标准时间之间的偏差,二是完成多个地点的时间同步。协调世界时UTC为时间提供了一^个统一的标准,事实上,卫星已经成为UTC时间传播的主要途径。
卫星授时就是利用卫星作为时间基准源或转发中介,通过接收卫星信号和进行时延补偿的方法,在本地恢复出原始时间的这一过程。
卫星若载有高精度时间源,用户通过接收多颗卫星信号实现伪距测量及定位解算,从而实现时间同步,这种定位授时方法称为直发式授时(RNSS)。如卫星本身没有高精度时间源,通过接收地面站的信号再进行延时确定的转发,该授时方式称为转发式授时(RDSS)授时又可以分成两种:单向授时和双向授时。双向授时中用户需要向卫星发送请求,再接收卫星应答信息。而单向授时中用户仅接收卫星下行信号,并不向卫星发送授时请求。
实际证明,卫星授时是一种新型高效的授时技术,它全覆盖、全天候、高精度、易于实现,在授时精确度、信号覆盖范围、应用场景等诸多方面均优于其它形式的授时技术,已广泛应用在科学研究、工程技术、国家安全和社会发展等诸多领域。随着电子信息时代的高速发展,卫星授时的规模和性能也越来越高。
在介绍卫星的授时原理之前,首先得了解卫星的定位原理,这是导航系统能够精确授时的前提。卫星定位的基本原理是根据卫星的位置和卫星接收机两者之间的距离作为已知数据,采用空间距离后方交会的方法,接收机解算出用户坐标,从而确定待测点的位置。具体的确定方法如图1所示:
用户要实现定位和授时功能,也就是得到4个目标数据:用户的空间三维坐标(x,y,z)和用户时间与卫星标准时间两者的时刻误差以。所以需要测量至少4颗卫星的伪距,解算下列定位方程组即可实现定位授时的目的。
上面方程组中,分别为4颗卫星的三维坐标值,为用户接收机的三维坐标值,R为伪距,为光速,为传播时延。
卫星的坐标值可以通过星历数据计算得到,卫星和接收机之间的几何距离称为伪距,伪距的计算可以利用信号从卫星到用户的传播时间来间接算出,传播时间等于用户接收到信号的时刻减去卫星发送信号的时刻。接收机对收到的卫星信号进行处理和误差校正,通过解算定位方程组,就可以得到用户的三维坐标,从而完成用户定位工作。
设GPS系统时间为,用户时间为tu,则种差为。用户用计算到的钟差对本地时钟修正,即可得到GPS系统时,实现授时的目的。接收机计算处理收到的导航电文,提取时间信息,完成时钟校正,以UTC时间为基准进行计时,这样就得到了高精度的时间信息,从而完成授时过程。
2 卫星信号捕获跟踪的仿真实验
在实现卫星授时功能之前,需要对卫星信号捕获跟踪。卫星授时总共分为三步完成:一是接收机捕获、跟踪GPS信号,解码得到导航电文,同时得到GPS时钟参数——C/A码码相位;二是解算出GPS信号的发射时间,在定位之后计算出GPS信号的传输时间,这样就得到了GPS时钟的粗略值;三是对求得的GPS时钟粗略值适当修正。
Matlab是由美国Math Works公司研发的大型数学软件,被广泛地应用于工程计算和数值分析领域,中文翻译为矩阵工厂或矩阵实验室。根据它诸多优点,本章采用Matlab仿真,仿真产生卫星信号,并完成卫星信号的捕获跟踪,将仿真结果以图形显示出来,以便于分析和研究。
信号捕获是一个动态搜索过程,也是本地PRN码与接收到的卫星信号的PRN码对齐的过程。跟踪是使本地码的码相位始终跟随着接收到的PRN码相位改变,与接收到的PRN码保持较精确的同步。本节主要仿真完成了卫星信号的捕获与跟踪。
由于GPS卫星时刻在其运行轨道做高速运动,接收机收到的卫星信号的频率和C/A码起始相位也时刻在发生变化。所以,接收机必须时刻捕获、跟踪卫星信号的两个重要参数:C/A码起始相位和载波频率。而卫星信号由导航电文、伪随机码(PRN码)和载波构成,因此确定卫星信号的伪随机码及其相位、载波频率就等于确定了信号由哪颗卫星所发射,进而可进行后续的跟踪与解调等工作。
时域顺序捕获算法原理为,使本地码循环移位一个C/A码周期,每移位一次,本地产生的伪随机码与剥离载波后的输入数据作乘运算,并将相乘结果进行一定时长的积分,对积分结果进行定性判断,若超过门限值则捕获成功,若未超过门限则继续搜索,直到捕获成功为止。也就是说捕获过程实际上就是在特定的搜索时间内用本地的码序列和接收到卫星信号码序列进行相关运算的过程。在捕获过程中本地信号与卫星信号做相关运算得到一个超过捕获门限的最大相关值时,捕获成功。
我们用Matlab软件仿真生成卫星信号,其频谱如图2所示,由于卫星信号频率比较高,所以看起来密密麻麻重叠在一起了,接下来我们对卫星信号进行捕获。
按照时域循环相关捕获方法进行捕获,用MATLAB软件将多普勒频移、本地码相位、相关值分别作为X、Y、Z坐标轴画出三维图,观察捕获效果,在图3中,我们在三维图中可以看到出现了一个明显的峰值,即峰值对应的频率为捕获得到的卫星信号的频率,对应的C/A码相位即为捕获得到的C/A码码相位粗略值。
一旦卫星信号捕获成功,就把捕获到的卫星信号的一些关键参数立即传递给跟踪过程,再通过跟踪过程得到需要的导航电文信息。跟踪是捕获成功的后续操作,捕获成功之后,我们就可以获得粗略的信号载波频率和C/A码相位。可是捕获时为了加快速度,频率步进和C/A码相位步进的取值都比较大,GPS的捕获只可以得到粗略的码相位和多普勒频率,在加上卫星位置在不断变化,卫星信号的载波频率和C/A码相位必然也是一直在变动着的,码片误差比较大,所以,为了持续不断获取卫星信号中的导航电文,必然需要对GPS信号进行跟踪以获得比较精确的码相位和多普勒频偏值。
跟踪得到的精确的码相位和多普勒频移用于GPS信号的解扩和解调。GPS跟踪环的基本原理框图如图4所示:
仿真实验中采用Matlab软件仿真跟踪过程。码跟踪结果如图5所示,码相位跟踪值在120上下0.5个码片内,本地产生的C/A码与GPS卫星信号中的C/A码相位差近似为零,码相位跟踪结果基本符合GPS信号跟踪要求。载波跟踪结果如图6所示,多普勒频移在1500Hz上下波动,仿真结果说明该跟踪环能够正常稳定地工作。
3 卫星授时系统的实现
3.1 TD3020T双模授时模块
TD3020T模块是一款支持GPS/北斗的双模授时定位芯片,其内部集成了泰斗微电子公司研发的GPS/北斗双模基带芯片。它可以在单模和双模两种工作模式下无缝切换,支持单北斗、单GPS和GPS/北斗共模三种工作模式。TD3020T模块内部软件可以升级更新,模块支持休眠工作模式,此外它支持冷启动和热启动以及温启动,可满足多种使用需求。TD3020T模块是广泛应用在电信、电力、金融等领域的精度高、灵敏度高、功耗小、体积小、成本低、绿色环保的双模授时产品。
TD3020T规模为22.4mmx17mmx2.2mm,体积小巧但功能齐全。该模块与主流GPS模块硬件接口相同,可以直接替换使用,非常方便。模块还内置了低噪放大器,使得小信号得以放大增强。在外部接口方面,模块具有备份电源的输入接口,外部有復位键按钮,使用非常方便。
3.2 基于北斗二代的卫星授时系统实现
北斗卫星导航系统是中国着眼于国家安全和经济社会发展需要,自主建设、独立运行的卫星导航系统,是为全球用户提供全天候、全天时、高精度的定位、导航和授时服务的国家重要空间基础设施。虽说GPS的民用在中国是免费的,但是如果战时美国关闭或者利用对GPS“做手脚”,那么对到时依赖GPS的国家来说,无疑是致命的。授时系统中,可以同时得到GPS的授时信号和北斗二代的授时信号。
本节将准备就绪的硬件部分通过串口连接到电脑上,运行编写好的卫星授时程序,是整个实验的核心。首先通过记录下详细的原始数据,接着阅读输出语句,结合NMEA协议读懂这些语句,然后提取出需要的时间信息,再加上通过示波器观测秒脉冲,最终实现基于北斗二代的卫星授时系统。
按照要求,将TD3020T模块电路板,电源电路板,计算机通信串口,GPS/北斗天线等硬件设备连接起来,如图7所示。并且把天线放置在窗外合适的观测地点。
模块的硬件部分准备就绪后,接下来我们进行软件部分的工作。具体步骤如下:
① 把TD3020T模块电路板用串口(9针)线连接到电脑串口上,打开编写好的程序TD3020T授时软件;
② 选择工作模式MCU,根据所接的实际串口号选择Port端口,这里我选择了COM5;
③ 波特率设置为9600;
④ 运行程序,待输出需要的信息时锁定数据,提取并分析数据。最终接收到的卫星信息如图8所示。
在图8中,右侧柱状图显示所观测到的卫星的数目多少及其各自的信号强度,柱状越高表示信号越强,柱状上方的数据表示信噪比,柱状下方的数据表示PRN。实验中,我们接收到3颗GPS卫星信号和6颗北斗卫星信号。根据卫星定位授时的原理,4颗及以上的卫星才能实现定位授时,此处北斗卫星数目满足要求。
我们将图8左侧的文本接收框单独在图9中列出。图9为文本接收框内显示接收到的输出信息,这部分语句为NMEA-0183协议定义的语句。每条语句都以符号开头,这是一套定义卫星信号接收机输出的标准信息,是GPS接收机最通用的数据输出格式,它包含了定位时间、日期、速度、纬经度、高度、定位所用的卫星数目等关键信息。
为了能够清楚的理解文本接收框的内容,我们对图9文本框内的一串完整数据进行解析,接收到的原文如下:
$GNLPS,0,xxxxxxxx,xx,0,xxxxxxxx,xx*46
$GNSTA,n*OD
$GPGSV,1,1,3,19,34,200,42,31,34,110,24,27,68,
187,38*7C
$BDGSV,2,1,6,03,52,199,37,05,14,254,30,01,49,
145,38,08,55,183,33*59
$BDGSV,2,2,6,02,32,238,33,04,34,122,31*54
$GNZDA,135818.00,16,05,2015,+8,V*3F
输出语句中,语句类型标识前两位BD表示北斗导航系统,GP表示GPS系统,GN表示GPS北斗双模导航系统;语句类型标识后三位中,STA表示天线状态,GSV表示可视的卫星状态,ZDA表示时间信息。从中提前我们最终需要的卫星授时信息“$GNSTA,n*0D”,表示天线状态良好,能够正常接收卫星信号,“BDGSV”表示北斗卫星状态,“GPGSV”表示GPS卫星状态,然后是“$GNZDA,135818.00,16,05,2015,+8,V*3F”,我们根据NMEA协议语句对其进行解析,可以得到接收到的卫星时间是“13时58分18秒00,5月16日,2015年”,+8表示UTC+8,即北京时间。按照我们的习惯,最终我们得到的卫星授时时间是北京时间(UTC+8)2015年5月16日13时58分18秒整。
TD3020T模块除了输出上述NMEA数据外,还给出了1PPS秒脉冲同步信号,为高电平有效的100ms脉宽信号,1PPS秒脉冲的上升沿对准UTC时间的秒边界,可用于精度时间同步。我们把接收到的秒脉冲信号用示波器显示出来,如图10所示。
在图10中,我们得到了若干个秒脉冲,从一个上升沿到下一个上升沿的时间间隔为一个完整的秒脉冲,秒脉冲高电平有效。将秒脉冲的上升沿放大如图11所示。
从图11我们可以看出,用于精确时间同步的秒脉冲上升沿非常陡峭,时间间隔非常短,约为5ns,秒脉冲的上升沿也就是1秒时间的边界,与UTC标准时间的秒边界对齐,它用于同步本地時钟的秒信息,从而可达到纳秒级精度授时。
于是,我们通过采用TD302T为核心的软硬件资源搭建了基于北斗二代的纳秒级精度卫星授时系统,并成功获取了当前UTC时间信息以及秒脉冲信息,最终实现了卫星授时的目的。
4 结束语
本文首先介绍了卫星定位授时的原理,接收器通过接受4颗及以上的卫星信号,通过解方程组得到地理位置信息(X,y,z)和时间信息t。接着通过Matlab软件产生仿真卫星信号进行信号的捕获跟踪,了解卫星信号的性能特点。接着研究了卫星授时原理并分析了误差来源;最后实验中采用TD3020T模块、天线、电路板等焊接授时系统硬件,并下载编码完成的Matlab程序搭建卫星授时系统。用此授时系统接收到了卫星信号,对卫星信号处理后得到UTC标准时间,通过基于北斗二代的卫星授时系统实现了授时的目的。
科学技术的迅猛发展推动着各行各业与高精度时间关系越来越密切,授时精度不但关系到工程建设,还关系到国家安全,世界各国都重视研究和探索高精度的授时方法。卫星授时是几十年来不断探索和完善的一种授时方式,虽然已经取得了一定的成果,但是随着技术的发展,要求我们进一步提高系统的授时精度,以满足包括军事应用在内的更高的要求。此外,随着我国的北斗导航卫星系统的逐步建立,从国家安全角度考虑,我们的授时系统要做到支持单GPS,单北斗,GPS/北斗混合三种模式,并能按需切换。
本设计在许多方面仍有不足之处,限于客观情况,一些指标仍需要进一步提高,在精度和算法方面还需要进一步的完善,比如在实验中由于器材的精密度不高导致接收到的秒脉冲精确度不够。展望今后的工作,对卫星授时尤其是秒脉冲特征分析还可以继续深入研究。