深入探讨软件定义架构及其意义

news2024/10/2 22:24:48

在上期文章中,我们了解了现代GNSS模拟中的软件定义架构,并与传统架构进行了对比,本期文章中我们将继续深入探讨软件定义架构及其意义。

所谓软件定义架构,其实是用软件去定义系统的功能,用软件给硬件赋能,最大程度提升系统运行效率和能量效率。软件定义的本质就是在硬件资源数字化、标准化的基础上,通过软件编程去实现灵活多样的虚拟化和定制化功能,对外提供专用智能化、定制化的服务,实现应用软件与硬件的深度融合。当前技术已经具备了实现软件定义架构的两个条件:

  • 首先,硬件越来越成熟,功耗、散热、加工工艺、成本等方面都变得更加的完善,可以更加顺利的完成软件发出的指令。

  • 其次,软件发展速度快,通信网络也已经完全打破了时空的限制,随着技术越来越成熟,软件不但可以控制本地硬件实现各种功能,还可以通过通信网络控制远处的信息系统协同实现各种功能,软件+网络的形式为硬件赋能提供更多可能。

软件定义的核心是API(Application Programming Interface),并由此引申出软件定义的两大技术发展方向。一种是平台化,也就是说在API之下,“如无必要、勿增实体”,这一方向创造的是一种开放系统架构,软硬件解耦。没有开放的系统架构,就无法提供足够的可扩展性;不解除软硬件之间的耦合关系,软件定义就无法可持续发展。

以GNSS模拟为例,如图所示,在GNSS模拟器中,可以根据不同的信号模拟需求配置不同的硬件和软件功能。

对于硬件部分,如果需要一个射频端口,就配置一个SDR,如果需要多个射频端口,就可以配置多个SDR。如果模拟的星座和频道过多,一个GPU运转不过来,那么则可以再增加一个GPU。总的来说,硬件是为软件服务的,可根据功能进行配置,完全不同于传统的固定硬件,极大的节省了经济和时间成本。比如多车模拟中,如果需要模拟多个信号并同时模拟多种高级场景,则需要强大的GPU的支持。传统的GNSS模拟器的GPU通道数不够时,就没有办法生成模拟,但软件定义的GNSS模拟器,由于能够实现软硬件解耦,它的SDR和GPU都可以进行集成,如下图,这很好的体现了软硬件解耦的优势。

另一个技术方向是智能化,也就是说,在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

软件定义的发展势头迅猛,并且快速向各个行业延伸。目前已有软件定义无线电、软件定义网络、软件定义存储、软件定义汽车、软件定义飞行器、软件定义卫星等。可以说,当下的时代是软件定义时代,软件定义将成为科技发展的重要推手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/347841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

07 分布式事务Seata使用(2)

1、Seata是什么 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS&#x…

win10 安装 vs2015(社区版本)以及opencv-4.5.5

一、下载vs2015以及opencv-4.5.5从https://msdn.itellyou.cn/ 网站下载vs2015(社区版本)从https://opencv.org/releases/网站下载opencv-4.5.5二、安装vs2015和opencv-4.5.5解压后双击exe安装文件,完成安装(默认)双击下…

9.Docker Swarm

Docker Swarm 基本概念 Swarm是使用SwarmKit构建的 Docker 引擎内置(原生)的集群管理和编排工具。Docker Swarm是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。 使用它…

【大数据clickhouse】clickhouse 常用查询优化策略详解

一、前言 在上一篇我们分享了clickhouse的常用的语法规则优化策略,这些优化规则更多属于引擎自带的优化策略,开发过程中只需尽量遵守即可,然而,在开发过程中,使用clickhouse更多将面临各种查询sql的编写甚至复杂sql的…

PHP(13)HTTP协议

PHP(13)HTTP协议一、HTTP请求1. 请求行2. 请求头3. 请求体二、HTTP响应1. 响应行2. 响应头三、设置HTTP响应四、模拟HTTP请求一、HTTP请求 1. 请求行 请求行独占一行。形式:请求方式 资源路径 协议版本号 GET /index.php HTTP/1.1 2. 请求…

vue3:直接修改reative的值,页面却不响应,这是什么情况?

目录 前言 错误示范: 解决办法: 1.使用ref 2.reative多套一层 3.使用Object.assign 前言: 今天看到有人在提问,问题是这样的,我修改了reative的值,数据居然失去了响应性,页面毫无变化&…

Linux多进程开发

一、进程概述 1、程序和进程 程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程: 二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。内核利用此信息来解释文件中的其他信息。(ELF可执行连…

vue项目第五天

历史记录组件触发 连带menu组件路由同步修改菜单 默认激活的路由。历史记录路由如果当前路由在最后一个位置,删除则自动向前移位。解决第一个小bug,点击tab高亮之后路由不跳点击最后一个tab删除,修改了menuid,同步路由跳转点击删除…

2023年企业如何改善员工体验?为什么员工体验很重要?

什么是员工体验?大约 96% 的企业领导者表示,专注于员工体验可以更轻松地留住顶尖人才。[1] 这还不是全部。令人震惊的是,87%的企业领导者还表示,优先考虑员工的幸福感将给他们带来竞争优势。尽管有这些发现,但只有19%的…

redis五大IO网络模型、内存回收

目录1.0用户空间和内核态空间1.1 网络模型-阻塞IO1.2 网络模型-非阻塞IO1.3 网络模型-IO多路复用1.3.1 网络模型-IO多路复用-select方式1.3.2 网络模型-IO多路复用模型-poll模式1.3.3 网络模型-IO多路复用模型-epoll函数1.3.4 网络模型-epoll中的ET和LT1.3.5 网络模型-基于epol…

Hadoop高可用搭建(二)

目录 解压Hadoop 改名 更改配置文件 workers hdfs-site.xml core-site.xml hadoop-env.sh mapred-site.xml yarn-site.xml 设置环境变量 启动集群 启动zk集群 启动journalnode服务 格式化hfds namenode 启动namenode 同步namenode信息 查看namenode节点状态 …

三维重建小有基础入门之特征点检测基础

前言:本文将从此篇开始,记录自己从普通CVer入门三维重建的学习过程,可能过程比较坎坷,都在摸索阶段,但争取每次学习都能进一步,提高自己的能力,同时,每篇文章都会按情况相应地推出B站…

一文搞懂core-scheduling核心机制

cookie的原理借助于unsigned long型,和refcount_t引用计数器。 32位64位char *4字节8字节unsigned long4字节8字节 数据结构修改 首先看看实现core scheduling功能对数据结构有哪些修改 task_struct struct task_struct{struct rb_node core_node;unsigned long…

Downie4.6.7

Downie是Mac下一个简单的下载管理器,可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们,文章末尾附下载地址。主要特点支持许多网站目前支持超过1,000个不同的网站(包括YouTube,Vim…

06 OpenCV‘阈值处理、自适应处理与ostu方法

1 基本概念 CV2中使用阈值的作用是将灰度图像二值化,即将灰度图像的像素值根据一个设定的阈值分成黑白两部分。阈值处理可以用于图像分割、去除噪声、增强图像对比度等多个领域。例如,在物体检测和跟踪中,可以通过对图像进行阈值处理来提取目…

回收站清空了还能找回来吗?回收站恢复的4个方法(最全)

回收站作为一个数据回收的地方,可以保存已删除的文件很久,直到用户手动永久删除这些数据,这为用户避免了许多数据丢失的问题。但是回收站数据过多,难免会影响电脑的运行速度。为此,我们都会定期进行清理。 清理过程中…

LeetCode 92. 反转链表 II

原题链接 难度&#xff1a;middle\color{orange}{middle}middle 题目描述 给你单链表的头指针 headheadhead 和两个整数 leftleftleft 和 rightrightright &#xff0c;其中 left<rightleft < rightleft<right 。请你反转从位置 leftleftleft 到位置 rightrightrig…

Scala 入门(第一章Scala 环境搭建、插件的安装)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 第 1 章 Scala 入门1.1 概述1.1.1 为什么学习 Scala1.1.2 Scala 发展历史1.1.3 Scala 和 Java 关系1.1.4 Scala 语言特点1.2 Scala 环境搭建1.3 Scala 插件安装1.4 HelloWorl…

Web 容器、HTTP 服务器 、Servlet 容器区别与联系

首先浏览器发起 HTTP 请求&#xff0c;像早期的时候只会请求一些静态资源&#xff0c;这时候需要一个服务器来处理 HTTP 请求&#xff0c;并且将相应的静态资源返回。 这个服务器叫 HTTP 服务器。 简单点说就是解析请求&#xff0c;然后得知需要服务器上面哪个文件夹下哪个名字…

三【mybatis的批量删除】

目录一 .批量删除的流程1.1 快速创建实体类1.1.1 创建完毕后 除了属性 其他内容进行删除1.2 创建mapper接口的抽象方法1.3 编写sql语句1.4 测试类Arrays.asList(删除对应的 id 值)运行结果✅作者简介&#xff1a;Java-小白后端开发者 &#x1f96d;公认外号&#xff1a;球场上的…