您当前的位置:首页 > 斗室智库 > 斗室智库

推荐一篇雄文:GNSS软件定义无线电

添加时间:2024-03-04 07:25:38 来源:曹 冲

近几年来,很少看到有令人眼睛一亮的文章,更少有让人一见能拍案而起、赞不绝口的文章,而“GNSS软件无线电(SDR)”恰巧就是这样的一篇雄文。这是登载于“航海学会(ION)学报”《导航(NAVIGATION)》杂志71卷春天期(3月号)上的一篇雄文,题目是:GNSS 软件定义无线电:历史、当前发展和标准化工作。看起来,这是一篇评论性文章,貌似一般般,哪来的雄文之说。别急,且听在下慢慢道来。该篇文章是由来自于7个国家、15个大学和研究机构的17位作者共同完成的,引用的参考文献达181篇,其所占有的篇幅有45页(pdf文件),所列举出来的表格有11个,它们的名称分别为:GNSS SDR开发的历史年表(从1995至2022);GNSS SDR的述评(计有10种类型);一一列举GRID等类型的功性能特征……。

这篇雄文,以GNSS软件定义无线电(SDR)工作组在过去十年中开展的工作为种子,首次总结了GNSS SDR的发展历史。它重点介绍了向公众开放或影响着SDR总体发展,以及展示了精选SDR项目的实施和成就。讨论了与中频样本数据和元数据标准化过程相关的方面,并提出了航海学会SDR标准的更新。这项工作的重点是通用处理器中的GNSS SDR实现,而忽略了在现场可编程门阵列和特定应用集成电路平台上进行的开发。数据收集系统(即前端)对于全球导航卫星系统SDR一直至关重要,因此在这项工作中得到了部分介绍。文章指出,该文仅代表作者的认知,但并不意味着对GNSS   SDR历史的完整描述。这篇雄文,包括引言、GNSS   SDR发展历史、现状、前端、标准及其更新建议。

1. 引言

自从GPS进行早期研究以来,接收机开发一直是卫星导航不可或缺的一部分。最早的导航接收机是巨大的设备,通过数字和模拟电子设备的混合,能够将接收到的卫星信号与内部生成的代码和载波副本相关联。半导体技术的进步很快使专用芯片上的信号处理成为可能。这项技术处理起来很复杂,尽管全球定位系统及其俄罗斯同行全球卫星系统(GLONASS)取得了成功,但接收机技术在很长一段时间内几乎无法为更广泛的研究界所使用,因为似乎不可能在低成本计算机上实现全球导航卫星系统(GNSS)信号处理。当GPS接收机的算法首次在台式个人计算机(PC)上作为MATLAB软件实现时,情况发生了根本性的变化,并且实时运行算法所需的数字信号处理器(DSP)资源的估计令人鼓舞。不久之后,即使在传统PC上,实时处理也得到了证明,软件无线电技术的广泛使用以指数级增长。有趣的是,软件无线电技术并没有取代通常作为一个或多个专用集成电路(ASIC)实现的现有硬件接收机,而是对这些接收机进行了补充,使研究人员能够轻松实现和测试新算法,或者以合理的努力开发高度专业化的接收机。今天,GNSS   SDR已经成为军事、科学和航天,甚至商业应用服务的成熟方法。由于不同的研究小组开发了自己的软件无线电,他们使用不同的数据收集系统来采样GNSS信号。虽然数字 GNSS 信号流的数据格式相对容易描述,但软件无线电技术的广泛使用,从而有必要引入一定程度的标准化,最终结果是形成了航海学会 (ION) 软件定义无线电 (SDR) 标准。随着技术的进一步发展,新的 GNSS 软件无线电应运而生,这些条件促成了本文的编写。

2. GNSS SDR的发展历史

GNSS SDR 的历史根源可以追溯到 1994 年左右的俄亥俄大学航空电子工程中心。Michael Braasch 教授是电气和计算机工程系的新任教员,已被公认为 GNSS 多径专家,他对创建 GPS 和 GLONASS 接收器内部信号处理的高保真模拟感兴趣。该系的博士生丹尼斯·阿科斯(Dennis Akos)对这个想法也很感兴趣。Akos 已经对计算机科学和编程产生了浓厚的兴趣,他应 Braasch 的要求,在美国联邦航空管理局 (FAA)/美国国家航空航天局 (NASA) 联合大学计划下承担了模拟项目。与此同时,在1995年IEEE通信杂志上发表的“软件无线电架构”激发了Akos和Braasch的想法,即这种“模拟”可以针对实际的软件无线电实现。其结果是第一份关于GNSS SDR的出版物,该出版物出现在1996年ION年会的会议录中。

通过与赖特-帕特森空军基地的James B. Y. Tsui博士的合作,大大推动了这种初始模拟/实现的开发。作为公认的数字接收机专家,Tsui对卫星导航产生了浓厚的兴趣。1995 年,来自俄亥俄大学的 Dennis Akos 和来自俄亥俄州立大学的 Michael Stockmaster 两位暑期实习生在 Tsui 的指导下开发了基本 GPS 接收器操作所需的信号处理的 MATLAB 实现。数字示波器用于捕获初始中频 (IF) 数据,这对于开发和调试这些早期算法至关重要。Akos 负责低级信号处理(采集和代码/载波跟踪),而 Stockmaster 则实施导航解决方案。累积的结果是有史以来第一次实施GPS SDR。Tsui于2000年出版了第一本关于GPS SDR的教科书。这一初步努力的平行贡献是直接射频 (RF) 采样前端,它引起了人们的极大兴趣,并推动了模数转换器 (ADC) 开发的进步。

1997 年获得博士学位后,Akos 开始了他的学术生涯,在瑞典吕勒奥理工大学系统技术系担任助理教授,在那里他教授了一门计算机体系结构课程。正是在这里,GPS SDR首次实现了实时操作。对于一个课堂项目,Akos 提供了一个基于 MATLAB 的 GPS SDR,并要求一组学生“让它尽可能快地运行”。1999 年,实现了第一次“实时”操作,在 55 秒内处理了 60 秒的 IF 数据,这在当时是一项了不起的成就。与此同时,奥尔堡大学(Aalborg University)的大地测量学教授凯·博雷(Kai Borre)也在1990年代中后期开发了用于GPS接收器的MATLAB代码。Borre 的代码侧重于导航模块,包括用于转换坐标和时间参考、确定卫星位置和大气校正的功能。Akos、Borre 和其他人的共同努力后来导致了一本著名的书《软件无线电定义的GPS和伽利略接收机》在2007年的问世,这是其后好多年内年 GNSS SDR,以及相关的 SoftGPS MATLAB 接收器的主要参考资料。

从GNSS   SDR发展历史中,可以看到三点极有意义的启迪:一是在教授级别人士的引领下,更多的开创性的工作是由博士生这类年轻的学子实现的,这也许是一种发展规律;二是在一个科研领域,一定有个别灵魂式的人物,他们著书立说,在持续地发挥推动作用,如Akos和Borre这样的学者;三是GNSS

SDR有个开源网站,直接连接学术界和企业界,这是给出广泛的入口,也是连接应用服务产业界的一座桥梁,但是显然利用率普及度还远不够。

3. GNSS   SDR的发展现状

GNSS SDR(或软件接收机)被定义为在通用计算机上运行的软件,将接收到 GNSS 信号的样本转换为位置、速度和时间 (PVT) 估计。由此可见,它需要包括RF、ADC的前端来对接收到的信号进行采样,但除此之外,不允许通过硬件实现其他功能。根据此定义,可以引入三类软件接收机:一是实时接收机:以高效的低级编程语言(如 C 或 C++)编写的单片或模块化软件包,通常针对运行时效率和稳定性进行了优化;二是教学/研究工具:使用高级编程语言(如 Python 或 MATLAB)编写的软件包,针对代码可读性和灵活性进行了优化;三是快照接收机:接收机针对极短批次的信号样本进行了优化。此外,软件包应具有一定的配置灵活性,并(至少在理论上)支持 ION SDR 标准。

这篇雄文的最为精彩部分,就是结合精选出来的不同开发项目,阐述其原理和特征的同时,作为科研工具、集成平台、系统开发者,在不同领域的千变万化的应用,而且远远超出GNSS范畴,引申出数以百计的应用类型和场景,真正有点令人瞠目结舌。该文所涉及的主要研发项目有:一是描述了 Psiaki、Ledvina 和 Humphreys 的工作以及他们在 DSP 实时处理方面的努力,其中逐位并行方法被证明是非常成功的,即使在空间应用中也是如此;二是介绍了 Pany 和其他人在多星座/多频 GNSS 方面的工作;三是介绍了 Borre 和其他人在可读开源 MATLAB GPS SDR 方面的工作,并且 报告了最新 GNSS

SDR的更新;四是 Akos 还继续对一套开源 GNSS SDR 进行学术开发,描述了开源接收机 GNSS-SDR 的广泛使用;五是讨论了用于支持韩国定位系统 (KPS) 开发的 AutoNav 接收机;六是讨论了 PyChips,这是 ION 教程类的基础;七是描述了巴塞罗那自治大学(UAB)快照GNSS软件接收机;八是讨论了用于身份验证方案或反射测量或评估非标准GNSS传输影响的SDR;九是阐述将 SDR 的范围扩展到非 GNSS 信号。

这里单单以基于C++的UT Austin接收机称作GRID的项目为例,显示SDR的作用,现在GRID是一种高度优化的科学级多核GNSS SDR。该接收器是第一个适用于抗欺骗的 GNSS SDR,第一个在太空中运行的 GNSS SDR,第一个可以通过智能手机天线的 GNSS 定位的接收机达到厘米级精度,第一个用于定位来自 LEO 的 GNSS 干扰的地面源的接收机,以及城市精确(分米级)定位当前技术水平的基础。GRID还重申了GNSS SDR在广泛的低成本应用中的商业可行性:它最近获得了一家大型航空航天公司的许可,可用于公司的所有业务,包括该公司宽带互联网巨型星座的数千颗卫星。

一系列的GNSS SDR项目,就是一系列的矿藏宝库,就是一系列的科研发展之母,这里无法一一列举,请关注者自己去阅读文末附录的原文网址和pdf文件。

4. SDR前端

GNSS需要射频(RF)前端来获得用于SDR处理的数字样本。前端任务是接收、滤波、放大、下变频以及进一步数字化和量化进入GNSS天线的模拟RF信号。许多不同类型的前端已经用于GNSS SDR。大致可以确定五个不同的类别:一是离散组件。使用LNA、滤波器或ADC等可连接射频的组件,可以很容易地实现前端和记录中频或基带样本的功能。这些设置很容易实现,但往往体积庞大,有时容易受到干扰;二是商用信号记录器。一些公司提供全球导航卫星系统信号记录器,允许记录(并且可以经常回放)一个或多个全球导航卫星系统频道。这些记录器通常不实现与SDR的实时连接;三是通用非全球导航卫星系统前端。SDR技术被用于许多不同的电气工程领域,并且可以使用覆盖宽频率范围的前端。它们的价格从几美元到成本高达数万美元的高度复杂的多通道前端。振荡器质量、比特宽度和RF滤波器特性对于GNSS信号处理并不总是最优的。四是专用GNSS实时前端。这些前端是为了实现实时GNSS SDR而构建的,结构紧凑,使用离散组件构建;五是ASIC前端。一些射频ASIC似乎针对全球导航卫星系统SDR的使用,评估套件允许IF样本的流式传输。GNSS SDR前端需要满足用户诉求的主要功能和通用架构。对于市场上GNSS兼容前端的更广泛视角,科学界以及一些工业合作伙伴需要一种多系统多频段解决方案,以应对处在不断革新的GNSS发展现实。

5. ION的SDR标准

各种SDR之间的数据交换需要一定程度的标准化。导致建议制定 ION SDR 标准(也称为 ION GNSS 元数据标准、ION SDR 元数据标准、GNSS SDR 采样数据元数据标准或 GNSS SDR 元数据标准)。在 2014 年 1 月于圣地亚哥举行的理事会会议上,ION 批准了建立正式标准的流程。ION GNSS SDR 元数据工作组 (WG) 成立于 2014 年 4 月,由 Thomas Pany 和 Gunawardena 担任联合主席(James Curran 后来被任命为第三位联合主席)。成员代表了学术界、工业界(包括卫星导航 SDR 产品供应商以及传统的卫星导航设备制造商)、非营利性研究实体和横跨欧洲、美洲、亚洲和澳大利亚国家的政府机构。工作组在六年的时间里开发了该标准以及相关的规范性软件。关于规范软件,虽然许多人做出了贡献,但C++对象模型的最初开发是由Loctronix的Michael Mathews完成的,而James Curran则编写了许多功能,以根据元数据规范解码打包的样本。该标准草案于 2020 年 1 月被采纳为正式的 ION SDR 标准。

如今,ION SDR 标准可作为描述 IF 格式的参考,并且非常有用,例如,用于公开招标或需要既定格式。许多 SDR 包括用于读取元数据和 IF 样本的 C++ 库。研究小组之间IF样本的交换水平在一定程度上受到限制,并且这种交换的频率远低于RINEX文件的交换。这一趋势与IF样本文件的巨大尺度有关,并且对于大多数GNSS用例而言,RINEX观测数据或PVT交换就足够了。此外,GNSS SDR仍然倾向于主要使用相同的前端,一旦知道了各自的数据格式,显然就没有必要通过XML格式来描述它。C++ 例程的一个缺点是它们的通用设计,这使得样本读取速度非常慢,因为每个样本都通过许多 for 循环从输入文件中隔离出来。针对现有ION   SDR标准存在的问题,文章提出了改进的建议。

这篇雄文,明显的不足是没有能够将中国国内的GNSS   SDR的研究开发和应用有所反映,这也是我们今后要努力的方面。实际上,我国有多个团队,包括清华大学电子工程系陆明泉教授的GNSS   SDR研究团队,具有国际水平的成果,还有我们的北斗系统与应用出版工程丛书中,也有《北斗/GPS双模软件接收机原理与实现技术》这样的专著。

该文网址为:https://navi.ion.org/content/71/1/navi.628

图文推荐
热门阅读
Top