在上期文章中,我们了解了现代GNSS模拟中的软件定义架构,并与传统架构进行了对比,本期文章中我们将继续深入探讨软件定义架构及其意义。
什么是软件定义架构
所谓软件定义架构,其实是用软件去定义系统的功能,用软件给硬件赋能,最大程度提升系统运行效率和能量效率。软件定义的本质就是在硬件资源数字化、标准化的基础上,通过软件编程去实现灵活多样的虚拟化和定制化功能,对外提供专用智能化、定制化的服务,实现应用软件与硬件的深度融合。当前技术已经具备了实现软件定义架构的两个条件:
(相关资料图)
首先,硬件越来越成熟,功耗、散热、加工工艺、成本等方面都变得更加的完善,可以更加顺利的完成软件发出的指令。
其次,软件发展速度快,通信网络也已经完全打破了时空的限制,随着技术越来越成熟,软件不但可以控制本地硬件实现各种功能,还可以通过通信网络控制远处的信息系统协同实现各种功能,软件+网络的形式为硬件赋能提供更多可能。
软件定义的核心是API(Application Programming Interface),并由此引申出软件定义的两大技术发展方向。一种是平台化,也就是说在API之下,“如无必要、勿增实体”,这一方向创造的是一种开放系统架构,软硬件解耦。没有开放的系统架构,就无法提供足够的可扩展性;不解除软硬件之间的耦合关系,软件定义就无法可持续发展。
以GNSS模拟为例,如图所示,在GNSS模拟器中,可以根据不同的信号模拟需求配置不同的硬件和软件功能。
对于硬件部分,如果需要一个射频端口,就配置一个SDR,如果需要多个射频端口,就可以配置多个SDR。如果模拟的星座和频道过多,一个GPU运转不过来,那么则可以再增加一个GPU。总的来说,硬件是为软件服务的,可根据功能进行配置,完全不同于传统的固定硬件,极大的节省了经济和时间成本。比如多车模拟中,如果需要模拟多个信号并同时模拟多种高级场景,则需要强大的GPU的支持。传统的GNSS模拟器的GPU通道数不够时,就没有办法生成模拟,但软件定义的GNSS模拟器,由于能够实现软硬件解耦,它的SDR和GPU都可以进行集成,如下图,这很好的体现了软硬件解耦的优势。
与传统的基于FPGA的模拟器相比,虹科Orolia Skydel高级解决方案更加灵活、可扩展、可定制、可升级和经济高效,它具备了顶级GNSS模拟器的性能,以及GPU/SDR架构的经济性和灵活性。虹科Orolia Skydel具有易于使用的API,包含数百个命令,能够使用Python、C#和C++的开源客户端库构建复杂和可重复的场景。它可以模拟所有星座、所有频率的所有可见卫星,具有1000Hz的迭代率和超高的动态,随时随地创建并更新场景。其高级干扰和欺骗功能允许用户同时模拟多种威胁,自动确定每个信号之间的信号动态,节约时间成本。
在一个用户界面中实现所有功能
通过直观的UI和自动化轻松配置
支持所有主要的全球星座和频率
多种API(Python、C#、C++、LabVIEW)
高级信号定制和场景创建
实时修改变量和参数
无需额外硬件即可集成干扰
IQ文件生成和回放
另一个技术方向是智能化,也就是说,在API之上,一切皆可编程。智能化的核心要素是算法,随着算法的进步,智能化的水平将越来越高。同样以GNSS模拟器为例,它的软件部分能够实现基础功能,而某些复杂的功能可以通过增加插件来完成,如果有些功能插件无法满足,也可以自行通过提供的API进行编程,实现用户所需功能。软件定义模拟器的插件功能如下:
提供不同功能的插件(闭源):
SKY-HIL– 硬件在环模型
SKY-EXLI– 扩展限制
SKY-IQFILE– 允许保存IQ文件
SKY-MULTI– 创建多个实例
SKY-ADVJAM– 高级干扰模拟
SKY-ADVSP– 高级欺骗模拟
SKY-CSI– 用户自定义信号
SKY-PLG-SDK – 允许用户开发插件
用户通过二次开发开发自己的插件(开源):
API接口用于各种编程语言,如Python\C#\C++\LabVIEW
软件定义的发展势头迅猛,并且快速向各个行业延伸。目前已有软件定义无线电、软件定义网络、软件定义存储、软件定义汽车、软件定义飞行器、软件定义卫星等。可以说,当下的时代是软件定义时代,软件定义将成为科技发展的重要推手。