GNSS(一),自动驾驶定位团队的“保护伞”

在自动驾驶行业的各个工种里,有靠实力吃饭的感知工程师,有靠气质吃饭的市场部小姐姐,也有像笔者这样靠颜值吃饭的啥也不是。但有一个工种,特别像早些年的农民伯伯,需要靠“天”吃饭。运气好的时节,一个月都收不到现场投诉的问题;运气不好的光景,时常凌晨两三点还在排查现场问题。

这个靠“天”吃饭的工种就是自动驾驶定位工程师,而导致其需要看“天”吃饭的原因就是使用了让人爱恨交织的GNSS。爱是因为GNSS定位结果可以做到足够精确,定位方式也足够简单;恨是因为不同季节太阳活动的强弱、不同月份头顶可见卫星数量的多少、不同日子周围电磁干扰的强弱以及不同地点多径效应的强弱都将影响GNSS定位结果的可靠性和准确性。

虽然融合定位是自动驾驶定位技术未来发展的方向,但不得不承认,GNSS仍将在融合定位中扮演举足轻重的地位。且在GNSS可以独挡一面的场景,好像也没人愿意去开发复杂且更易引入其他定位问题的融合定位算法。现在各家所谓的融合可能也仅是在GNSS定位结果不可信的时候,启用里程计/IMU/激光雷达/相机去做短暂的辅助定位。

“如果有一天GNSS可以进化成适应全场景、全气候稳定可靠的定位系统,我会悲喜交加,喜的是不用再去面对一些无解的定位问题,悲的是自动驾驶可能不再需要我这号人物了。”这是来自一位不愿透露姓名的定位工程师的自嘲。自动驾驶圈黑话第二十五期,笔者就和大家一道来学习下这位逼迫定位工程师整天占卜星像的GNSS先生。

定义及组成

全球卫星导航系统(Global Navigation Satellite System,GNSS),是一种能在地球表面或近地空间的任何地点,为用户提供全天候的三维坐标速度以及时间信息的空基无线电导航定位系统。国之重器北斗三号导航系统(BDS3),历史悠久的美丽国GPS都属于GNSS的一种。GNSS主要由空间卫星星座地面控制站接收机三部分组成。

一、空间卫星星座

空间卫星星座是指运行在太空不同轨道上的卫星,每颗卫星覆盖地面上一定区域,一定数量的卫星按照一定的规则分布便能覆盖整个地球。全球排得上号的几大卫星导航系统无论在卫星数量、运行的轨道还是通信原理等方面都不尽相同。比如我国北斗三号星座由30颗工作卫星构成,美丽国的GPS星座由24颗工作卫星构成。

卫星一方面生成及广播卫星信号给接收机,另一方面接收地面控制站信号进行自身控制。

二、地面控制站

地面控制站起着控制卫星运行、保障天地通信的重要作用,是GNSS可以稳定运行与提供可靠服务的幕后关键先生。按实现功能不同,主要分为监控站主控站注入站三个部分。

监控站是自动化的数据采集中心,采集的数据主要包括与视场中卫星之间的伪距值,气象数据(气温、气压、相对湿度等)等,并进行初步处理后发送给主控站。

主控站是地面控制站的核心部分。既要负责收集监测站的数据,计算出需要发回卫星的数据;又要监控卫星状态,并及时向卫星发送控制指令;最后还要管理、协调地面控制站各部分的工作。

注入站负责将主控站计算出来的卫星所需的数据(卫星星历、时钟钟差、控制指令等)按照一定的格式经由大口径发射天线写入卫星中。

三、接收机

接收机是大家与GNSS接触最紧密的地方了,其存在形态也千差万别,既有藏在手机内部的普通导航型接收机,也有自动驾驶领域使用的高精度接收机。接收机通过对卫星载波信号的接收、处理、解算,从而实现定位、导航和授时的功能。

卫星信号结构

接收机想要窥探的秘密都隐藏在卫星的信号中,而卫星信号可简单理解为由三部分构成:导航电文、测距码和载波

导航电文,又称为数据码(D码),用于描述了卫星的运行状态,包括星历、历书、卫星钟差、卫星健康状态和电离层延时模型等参数。而在这所有的参数中,最重要的非星历参数莫属。

星历参数是一种描述太空卫星位置和速度的关于时间表达式,可以用它精确计算卫星在某一时刻的位置、速度等运行状态。伴随着时间的推移,星历参数的精度会下降,地面控制站每隔一段时间(北斗3号一般1小时)都要对所有卫星的星历参数进行更新。

测距码是一组看似杂乱无章但其实是按照一定规律编排起来的一种二进制码,所以也被称为伪随机噪声码(Pseudo Random Noise, PRN)。既可以通过码分多址来区分不同的卫星信号,也可以用其进行伪距的测量。GPS常用两种测距码,即C/A码和P码。C/A码也被称为粗码,使用其定位精度可以达到10m左右。P码也被称为精码、军码,使用其定位精度可以达到6m左右。

导航电文和测距码属于低频信号,而卫星轨道又较高,为了保证低频信号在传播过程可以顺利穿过电离层,不被反射或接收,需要将低频信号调制到高频震荡波上。而这个可运载调制信号的高频震荡被称为载波。GPS使用的载波频率主要有L1(1575.42±1.023MHz)、L2(1227.60±1.023MHz)和L5(1176.45±1.023MHz)三段。载波除了用来调制信号,还可用来进行测距及测定多普勒频移。

车载GNSS接收机

车载GNSS接收机是接收机在汽车领域应用的具体形态,是你乘坐Robotaxi时没有掉进沟里的功臣。GNSS接收机在汽车上既有以一个单独的零件形态存在,也有以集成在其它零件中的形态存在。但不管形态如何,按照功能模块来分,车载GNSS接收机都主要由天线部分、射频部分、基带部分和处理单元部分组成。结构示意图如下所示。

一、天线部分

GNSS天线最显而易见的作用就是接收空间卫星发射的载波,并进行能量转换,将载波能量转换为接收机中其它模块易于处理的电信号。

而由于卫星处在万里高空之上(北斗三号卫星高度为2.13-2.15万千米),卫星载波即使频率很高,穿越重重困难到达接收机后能量也会比较微弱,因此GNSS天线往往设计为有源天线,在天线中放置一个低噪声放大器(Low Noise Amplifier,LNA)来对电信号进行放大和滤波。

自动驾驶行业最常用的是一种叫做“蘑菇头”的天线,专业名称叫扼流圈天线,如下图所示。别看他矮胖的身材,但是其高稳定的相位中心,近似半球的方向图,一定的多径抑制能力,尽可能高而稳的增益,让其成为GNSS接收机忠实而可靠的“看门大爷”。

(图片来源:https://www.gpsolution.com/product-info/147.html)

在结构示意图中,画了两根天线,主天线和从天线。单天线只能实现定位功能,双天线配合单独的射频部分可实现定向功能。单天线定位原理下文会进行介绍,双天线定向原理会在下篇GNSS(二)中介绍。

二、射频部分

射频(Radio Frequency,RF)前端是接收机最重要的硬件部分,主要用于实现频率搬移、信号放大和噪声抑制的功能。

(1)频率搬移:将高频模拟信号变频到中频数字信号;

(2)信号放大:通过链路增益对电信号进行放大以使数模转换器能够识别处理;

(3)噪声抑制:在放大信号的同时尽量引入少的噪声以使输出中频信号具有较高载噪比,以便利于基带数字信号处理。

三、基带部分

射频前端输出的中频信号,会被送入基带部分进行信号捕获和信号跟踪处理。

信号捕获是基于测距码的自相关性和正交特性区分不同卫星信号并对测距码的初始相位进行粗略估计。并基于这些粗略估计值来初始化跟踪环路,以便帮助信号跟踪。

信号捕获是一个三维的搜索过程。第一维是从卫星方向搜索,从接收到的信号中获取可能包含的卫星信号;第二维从测距码方向搜索,本地生成复制码,并将复制码与测距码作相关性计算,从而获取正确的初始相位参数。第三维从多普勒频移方向,本地生成复现载波,通过有序的更新载波频率,寻找与输入信号对齐的载波信号,提取此时的多普勒频移。搜索完成后,若捕获成功,则将这三个信息送入跟踪部分。

信号捕获是接收机中信号处理的第一步,只有完成信号捕获才能开始跟踪信号。信号跟踪本质上就是为了实现对信号载波和测距码的稳定跟踪而采取的一种对环路参数的动态调整策略。信号跟踪由载波跟踪环和测距码跟踪环两部分组成,它们分别用来跟踪接收信号中的载波和测距码。

四、处理单元

处理单元通过内部算法计算观测用户瞬间的三维坐标、三维运动速度、接收机时钟修正数据以及一些其他导航信息。同时对接收机各个部分进行管理、控制和校验。

作用及原理

用户从接收机那里最终得到的是一个包括三维坐标、速度以及时间等信息的技能包,这个技能包也被简称为PVT(Position Velocity and Time)。对应到自动驾驶领域,就是我们常说的定位导航授时功能。下文针对三大功能,分别介绍一下实现原理。

一、定位

目前常用的单纯依靠GNSS定位的技术方案有伪距定位载波相位定位两种。

伪距定位利用的是测距码与本地复制码的相关技术。接收机收到卫星载波后,解调出测距码。同时接收机在内部时钟控制下产生一组与测距码结构相同的复制码。将复制码延迟一定时间与测距码做相关性计算,若延迟△t时间自相关系数最大,则△t被认为是测距码从卫星到接收机的传播时间。利用这个时间计算的卫星和接收机的距离未考虑时钟误差、大气层折射延迟等因素,并非“真实距离”,因此被称为伪距。

伪距ρ可由下式获得。其中,c为光速,已知量;△t为测距码从卫星发射到接收机接收的传播时间,已知量。tu为接收机收到测距码的时间,ts为卫星发送测距码的时间,两者均为了后续推导方便,不需要测量出。

我们假设接收机钟差为t1,卫星钟差为t2,信号在大气电离层传播产生的误差t3,在对流层传播产生的误差t4。那么考虑了这些因素后的真实距离r可由下式计算。

式中,(x1, y1, z1)为从导航电文星历中解析出的卫星坐标,已知量;(x, y, z)为接收机位置,未知量;c为光速,已知量;伪距ρ,可计算量;t2在导航电文中,已知量;t3和t4都有相应的模型计算,可计算量。

从以上公式可知,存在四个未知量x1、x2、x3和t1,因此需要四个方程才可以求解。这也是为什么,伪距定位需要在可以接收到四颗及以上数量卫星导航报文的地方才能正常工作。

伪距定位的优点是数据处理简单,对定位条件的要求低,可以非常容易地实现实时绝对定位。但是定位精度较低,没有其他技术辅助的条件下,使用北斗或GPS测距码实现的定位精度基本都在10m左右。

单纯的伪距定位精度显然无法满足自动驾驶高精度的要求,而为了提高精度,除了采用载波相位定位法,GNSS通常会引入一些天基或地基的辅助手段。而现在比较常用的,是通过地基的无线通信网络,传送增强修正数据,提供辅助信息,加强和加快卫星导航信号的搜索跟踪性能和速度,缩短定位时间,提高定位精度。

载波相位定位和辅助定位方法我们也放在GNSS(二)中介绍。

二、导航

导航目前为止还没有普遍认同的严格定义,但一般包含两部分内容。第一部分是确定物体在相对坐标系下的位置和速度;第二部分是与目标点位置比对并通过一些方法引导物体前往目标点的过程。

由上述定义可知,定位是导航的基础。在车载领域,要实现导航功能还需要搭配车载地图,而车载地图绘制又需要GNSS提供定位功能。导航与定位可谓是形影不离。

三、授时

时间同步是自动驾驶多传感器融合的前置条件之一,而时间同步的基础就是需要有一个特别准确的时钟源来对系统进行授时。GNSS卫星上搭载的原子钟,是地球上屈指可数的精确时间测量仪器,再加上地面控制站的不断修正,GNSS卫星简直是时钟源的天选之子。据相关报道,北斗三号卫星上的原子钟在没有校正的前提下300万年才会有1s累积误差,而授时的精度可以达到10ns。

卫星播发的导航电文中包含一个时间帧,而这个时间帧的第一个bit的边沿是和发送时间值严格对应的。而通过测量这个跳变沿,可以在本地恢复出这个边沿,并基于此计算出导航电文发射时间。

剩下就是计算导航电文的传播时间及接收机的时钟误差,而这个就是我们在定位功能中介绍的内容。有了上述信息,便可以进行本地时间修正,从而完成授时功能。接收机完成授时后如何将时间同步给系统内主时钟,再由主时钟同步给智驾域内其他从节点,可以参照此前文章《时间同步,自动驾驶里的花好月圆》。


未完待续:GNSS(二),自动驾驶定位团队的“保护伞”


往期精选

时间同步,自动驾驶里的花好月圆

gPTP,自动驾驶时间同步里的“有趣灵魂”

IMU, 自动驾驶定位团队“小而美”的队员


参考资料:

“北斗”背后的GNSS技术,到底是个啥?

https://mp.weixin.qq.com/s/ISVpX8cd2SCBW1rE7vJPJw

智慧航道建设——全球导航卫星系统(GNSS)

https://mp.weixin.qq.com/s/tQ5EEx4SyInW1tm6FSIdSg

GPS从入门到放弃(九)、伪距与载波相位

https://blog.csdn.net/hltt3838/article/details/120503485

组合导航科普(1):什么是“导航”和“定位”?| bynav北云

https://www.bynav.com/cn/resource/bywork/healthy-work/651.html

经典GNSS信号捕获与跟踪解析

https://mp.weixin.qq.com/s/WZXoQDh1-apYhmgWvFmKEA

GPS以及“北斗”卫星导航系统是怎样实现授时功能的?

https://www.zhihu.com/question/20864760/answer/27688730

展开阅读全文

页面更新:2024-03-07

标签:电文   载波   相位   保护伞   接收机   北斗   天线   精度   信号   团队   功能   时间

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top