CN109375903A - Sca波形组件构建方法、装置、计算机设备和存储介质 - Google Patents
Sca波形组件构建方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109375903A CN109375903A CN201811114191.9A CN201811114191A CN109375903A CN 109375903 A CN109375903 A CN 109375903A CN 201811114191 A CN201811114191 A CN 201811114191A CN 109375903 A CN109375903 A CN 109375903A
- Authority
- CN
- China
- Prior art keywords
- code
- sca
- waveform
- function
- functional module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种SCA波形组件构建方法、装置、计算机设备和存储介质,获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;根据所述功能描述获取基于GNU Radio的模块代码;根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。该SCA波形组件构建方法、装置、计算机设备和存储介质,可以降低SCA波形组件的开发难度,缩短SCA波形组件的开发周期。从而,提高SCA波形的开发效率。
Description
技术领域
本申请涉及无线通信和软件无线电技术领域,特别是涉及一种SCA波形组件构建方法、装置、计算机设备和存储介质。
背景技术
随着无线通信技术的迅猛发展,软件无线电技术日益成熟,在军事通信、个人移动通信等领域得到广泛运用。软件无线电将诸如信号发生、调制、解调、信道编译码等以往由硬件电路实现的复杂信号处理过程,改由软件编程和动态加载的方式实现,因此软件无线电设备更易于重新配置,可灵活地进行多种通信制式(即波形)的快速切换,并适应无线通信技术的飞速发展。
以CPU(Central Processing Unit,中央处理器)为核心的软件无线电***的两个最典型的代表是:面向普通通信波形开发者的GNU Radio(开源软件无线电)和专用于军用软件无线电的SCA(Software Communications Architecture,软件通信体系结构)。
SCA是美军在联合战术无线电***(Joint Tactical Radio System,JTRS)项目中制定的军用软件无线电体系结构规范。SCA具有明显的技术先进性和成熟可靠性,是专业领域软件无线电设备的不二之选,但由于其体系结构复杂,具有很高的技术门槛,熟悉掌握该项技术的人员目前仅限于专业无线电设备开发厂商,开发人员数量少,导致符合SCA规范的波形组件开发周期长,开发效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种开发效率高的SCA波形组件构建方法、装置、计算机设备和存储介质。
一种SCA波形组件构建方法,所述方法包括:
获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
根据所述功能描述获取基于GNU Radio的模块代码;
根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
一种SCA波形组件构建装置,所述装置包括:
功能获取模块,用于获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
PIM确定模块,用于根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
框架代码生成模块,用于对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
模块代码获取模块,用于根据所述功能描述获取基于GNU Radio的模块代码;
组件重封装模块,用于根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
根据所述功能描述获取基于GNU Radio的模块代码;
根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
根据所述功能描述获取基于GNU Radio的模块代码;
根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
该SCA波形组件构建方法、装置、计算机设备及存储介质,获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;根据功能描述及连接关系,确定功能模块对应的平台无关模型;对平台无关模型进行PSM映射,生成符合SCA规范的框架代码;根据功能描述获取基于GNURadio的模块代码;根据框架代码对模块代码进行重新封装,生成符合波形需求的SCA波形组件。由于根据符合SCA规范的框架代码对模块代码进行重新封装,生成的SCA波形组件符合SCA规范。通过上述方法、装置、计算机设备及存储介质构建SCA波形组件,无需用户学习SCA规范,基于SCA规范及波形需求自行开发SCA波形组件,只需要在进行需求分析之后,将功能模块以及各功能模块的功能描述及连接关系录入计算机设备,即可通过本方法实现SCA波形组件的构建,如此,可以降低SCA波形组件的开发难度,缩短SCA波形组件的开发周期。从而,提高SCA波形的开发效率。
附图说明
图1为一实施例中SCA波形组件构建方法的流程示意图;
图2为图1的SCA波形组件构建方法的一个步骤的具体流程示意图;
图3为SCA波形组件的内部结构示意图;
图4为一实施例中SCA波形组件构建装置的结构框图;
图5为一实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种SCA波形组件构建方法,包括以下步骤:
S101,获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系。
用户可以事先对波形需求进行功能划分,得到各功能模块的功能描述及各功能模块间的连接关系。将对波形进行功能划分得到的、各功能模块的功能描述及各功能模块间的连接关系,输入至计算机设备中,如此,使得计算机设备获取到对波形需求进行功能划分得到的、各功能模块的功能描述及各功能模块间的连接关系。
波形需求是指波形需要实现的功能。波形是指为了实现信息的无线传输而对信息所采取的一系列变换,包括无线通信双方为实现信息传输而采用的算法,如编码、调制、解调等。功能模块在对波形需求进行模块划分后得到。功能描述用于对功能模块进行描述,描述的内容包括功能模块的功能。连接关系为功能模块之间的具有数据流向的关系。
S103,根据功能描述及连接关系,确定功能模块对应的平台无关模型。
平台无关模型,即PIM(Platform Independent Model),是与平台无关的模型。可以是采用UML(Unified Modeling Language,统一建模语言)描述的与平台无关的模型。
S105,对平台无关模型进行PSM映射,生成符合SCA规范的框架代码。
可以是根据SCA规范对平台无关模型进行PSM映射,生成符合SCA规范的框架代码。SCA的基本设计理念是以一个通用、标准、模块化的硬件平台为依托,通过软件编程和动态加卸载的方式来实现无线通信设备的各种功能。在SCA***中,实现不同通信体制的波形与无线电平台的关系,相当于实现不同功能的应用软件与计算机之间的关系。
PSM(Platform Specific Model,平台相关模型)是指与特定平台特点相关联的模型。特定平台包括SCA平台。PSM映射是将平台无关模型映射到平台相关模型。可以通过PIM到PSM的映射工具,对平台无关模型进行PSM映射,生成符合SCA规范的框架代码。如,可以采用SCA集成开发环境中的PIM到PSM的映射工具,对平台无关模型进行PSM映射,生成符合SCA规范的框架代码。SCA集成开发环境可采用模型驱动开发(Model-Driven Development,MDD)模式来实现波形的组件化设计。由于通过功能封装和标准接口定义将波形算法与特定平台进行了明确分离,二者之间不会相互影响,因此MDD模式可以实现SCA波形组件独立于特定平台,具有良好的跨平台可移植性。另外,由于采用了PIM到PSM模型映射工具,使得SCA波形组件与具体硬件平台相互分离,从而保证SCA波形组件具有很好的跨平台可移植性能力,能够复用到多种SCA平台上加载运行。
S107,根据功能描述获取基于GNU Radio的模块代码。
GNU Radio是一个完全开源免费、运行于普通计算机设备上的软件无线电平台。GNU Radio旨在鼓励全球技术人员在软件无线电领域相互协作与创新,是开源软件精神在无线领域的延伸,开放性和低成本是其最大特点。低成本使得普通技术人员以及资金并不充裕的机构也能拥有能自由进入无线频谱空间的软硬件***,从而为更广泛的技术创新打下基础。GNU Radio的开放特性也是其具有广泛吸引力的重要因素。
可以根据功能描述从GNU Radio社区中或/及GNU Radio开源算法库中获取到基于GNU Radio的模块代码。GNU Radio社区包括大量开源并且数量不断增加的波形算法的模块代码。
S109,根据框架代码对模块代码进行重新封装,生成符合波形需求的SCA波形组件。
可以理解地,基于GNU Radio的模块代码并不符合SCA规范。重新封装可以将基于GNU Radio的模块代码转化为符合SCA规范的代码,并根据框架代码对转化得到的符合SCA规范的代码,进行封装,得到符合SCA规范的SCA波形组件。可以理解地,该SCA波形组件符合SCA规范且符合波形需求。
可以通过SCA集成开发环境对GNU Radio的模块代码进行重新封装。该重新封装可以是在对GNU Radio流向图编程和功能模块命名规则的深入研究的基础上确定的。GNURadio是一个高度模块化的软件架构平台,提供了很多易于使用且可重用的模块代码,且模块代码具有良好的扩展性。
基于本实施例的SCA波形组件构建方法,获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;根据功能描述及连接关系,确定功能模块对应的平台无关模型;对平台无关模型进行PSM映射,生成符合SCA规范的框架代码;根据功能描述获取基于GNU Radio的模块代码;根据框架代码对模块代码进行重新封装,生成符合波形需求的SCA波形组件。由于根据符合SCA规范的框架代码对模块代码进行重新封装,生成的SCA波形组件符合SCA规范。通过上述方法构建SCA波形组件,无需用户学习SCA规范,基于SCA规范及波形需求自行开发SCA波形组件,只需要在进行需求分析之后,将功能模块以及各功能模块的功能描述及连接关系录入计算机设备,即可通过本方法实现SCA波形组件的构建,如此,可以降低SCA波形组件的开发难度,缩短SCA波形组件的开发周期。从而,提高SCA波形的开发效率。
还需说明的是,本申请的SCA波形组件构建方法,构建的SCA波形组件采用CPU作为信号处理平台。而广义上的软件无线电分为三类:a)将多种不同制式的设备集成在一起。例如市场上的GSM(Global System for Mobile Communication,全球移动通信***)双模手机等。显然,这种方式只能在预置的几种制式下切换,要增加对新制式的支持则意味着集成更多的电路,重配置能力十分有限。b)基于现场可编程门阵列(FPGA)和数字信号处理器(DSP)实现软件编程。尽管采用这类可编程硬件,使通信设备的重配置能力得到了很大提高,但由于针对FPGA的VHDL、Verilog语言(用于数字电子***设计的硬件描述语言)以及针对DSP的C语言都必须针对特定厂商、特定型号的处理器进行定制开发,使得基于这类可编程硬件的软件通用性差、灵活度不高。此外,对普通波形开发人员来说,FPGA和DSP的开发门槛高,开发过程复杂繁琐,编译调试时间长、难度大,导致精通FPGA、DSP编程的工程师数量少,算法开发效率低、开发周期长、更新升级慢。c)第三类软件无线电设备,采用CPU(例如:商用服务器、普通PC、嵌入式***)作为信号处理平台。具有以下优势:由于采用CPU作为通用信号处理器,具有很大的灵活性,可采用高级语言(如C、C++、JAVA)进行信号处理算法开发,算法扩展性和可移植性强;CPU程序开发周期短、编译调试方便简单;基于CPU的通用平台成本低,可享受计算机技术进步带来的各种优势,如,CPU处理能力的不断提高、计算机软件技术的飞速进步、CPU价格迅速降低等。
在其中一实施例中,根据功能描述及连接关系,确定功能模块对应的平台无关模型,包括:
(a)、根据功能描述及连接关系确定各功能模块的对外接口;
(b)、根据对外接口及功能描述,建立功能模块的UML模型,并将UML模型映射成IDL文件。
可以先根据各功能模块的功能描述及连接关系,设计各功能模块的对外接口。然后,在功能模块的对外接口基础上,再结合该功能模块的功能描述,建立该功能模块的UML模型,并将UML模型映射成IDL(Interface description language,接口描述语言)文件。
UML模型也可以称为标准建模语言模型。UML模型是面向对象软件的标准化建模语言,具有简单、统一的特点,能表达软件设计中的动态和静态信息。IDL文件,是一个采用接口描述语言描述对外接口的接口文件。
可以理解地,该平台无关模型包括UML模型及IDL文件。如此,可以方便将平台无关模型进行PSM映射,生成符合SCA规范的框架代码。从而,进一步提高SCA波形组件的开发效率。
对外接口可以包括接口和端口。该接口继承自SCA基本应用接口,可用于实现组件初始化、释放、启动、停止、查询、配置、连接、断开等适用于SCA核心框架管理与控制的操作。该端口为输入输出端口,可用于实现组件与***中其他组件的数据交互。输入输出端口可以包括输入端口和输出端口。
进一步地,对平台无关模型进行PSM映射,生成符合SCA规范的框架代码,包括:
(I)、根据平台无关模型,生成功能模块对应的域配置文件;
(II)、根据功能模块对应的IDL文件及域配置文件,生成功能模块对应的包装代码。
可以通过PIM到PSM的映射工具,根据各功能模块的平台无关模型及对应的功能描述,为各功能模块生成符合SCA规范的域配置文件。然后,可以在该域配置文件及该功能模块对应的IDL文件的基础上,生成该功能模块对应的包装代码。如,可以根据该域配置文件、该功能模块对应的IDL文件,并结合核心框架库、操作***、编程语言、通信中间件、适配中间件,生成该功能模块的包装代码。
可以理解地,在该实施例中,框架代码包括包装代码和域配置文件。域配置文件可以是XML(EXtensible Markup Language,可扩展标记语言)文件。域配置文件可以用于描述组件实现、组件接口和端口、组件加载运行等信息。包装代码用于负责封装组件内部的信号处理功能代码,处理组件与核心框架交互的一系列过程,可以包括接口、端口、组件入口点、控制接口等过程。
如此,根据平台无关模型,生成功能模块对应的域配置文件,并根据功能模块对应的IDL文件及域配置文件,生成功能模块对应的包装代码,可以提高生成符合SCA规范的框架代码的效率,从而可进一步提高开发效率。
如图2所示,在其中一实施例中,根据框架代码对模块代码进行重新封装,生成符合波形需求的SCA波形组件,包括:
S292,对模块代码中的脚本进行分析,得到模块代码的输入输出接口。
S294,根据输入输出接口及框架代码生成适配器。
S296,提取模块代码中实现信号处理的核心代码。
S298,根据适配器及框架代码对核心代码进行封装,生成符合波形需求的SCA波形组件。
可以通过SCA集成开发环境,对模块代码中的脚本进行分析,得到模块代码的输入输出接口。由于GNU Radio的编程基于Python脚本语言和C++的混合方式。C++由于具有较高的执行效率,被用于编写实现信号处理的核心代码,可以是各种信号处理模块,如:滤波器、FFT变换(傅里叶变换)、调制/解调器、信道编译码模块等,而Python脚本则被用来编写连接各个功能模块成为完整的信号处理流程。因此,通过对模块代码中的脚本进行分析,可以得到模块代码的输入输出接口。将GNU Radio中原有接口代码去除掉,将其中的实现信号处理核心算法的C++代码提取出来,可以提取到模块代码中实现信号处理的核心代码。
可以通过SCA集成开发环境,根据输入输出接口及框架代码生成适配器。适配器可用于将输入输出接口的通信数据从框架代码中的包装代码中转发到信号处理功能代码及其相反的过程,例如数据格式的转换、消息队列等。
可以将适配器及框架代码与核心代码合并,并封装,生成符合波形需求的SCA波形组件。
基于本实施例的SCA波形组件构建方法,可以通过SCA集成开发环境,根据框架代码对模块代码进行重新封装,生成符合波形需求的SCA波形组件,如此,进一步提高SCA波形组件的构建效率,从而进一步提高开发效率。
在其中一实施例中,根据输入输出接口及框架代码生成适配器,包括:根据模块代码的输入输出接口、GNU Radio的命名规则及功能模块的框架代码,生成适配器。
根据模块代码的输入输出接口、GNU Radio的命名规则及模块代码对应的功能模块的框架代码,生成适配器。如,可以根据模块代码的输入输出接口、GNURadio的命名规则以及框架代码中的域配置文件,SCA集成开发环境可以生成该模块代码对应的适配器。从而,进一步提高开发效率。
在其中一实施例中,为了进一步提高开发效率。框架代码包括域配置文件及包装代码。根据输入输出接口及框架代码生成适配器,包括:根据输入输出接口及与域配置文件生成适配器。根据适配器及框架代码对核心代码进行封装,生成符合波形需求的SCA波形组件,包括:根据适配器及包装代码对核心代码进行封装,生成符合波形需求的SCA波形组件。
基于本实施例的SCA波形组件构建方法,可以根据SCA***波形研制需求,将GNURadio社区中大量开源、并且数量不断增加的代码模块,对模块代码的原有输入输出接口进行剥离,保留实现信号处理的核心代码,并按照SCA规范的要求,经过代码适配和接口封装,快速转化为符合SCA规范要求的SCA波形组件。SCA波形组件可以直接在SCA设备中运行,这相当于在开源的GNU Radio社区与专业的SCA通信设备研发领域之间搭建了一条快速通道,从而将GNURadio开源算法源源不断的输送到SCA应用领域中,从根本上解决当前SCA领域波形开发人员数量少、波形增加速度慢、波形数量少、技术升级迟缓的问题,大大提高SCA波形组件的开发效率。
在其中一具体实施例中,SCA波形组件的结构示意图如图3所示,组件内部具体的功能实现,由外到内主要包括三部分:框架代码、适配器和组件模块。其中框架代码与SCA规范相关,适配器和组件模块与SCA波形组件的具体功能相关,各部分的作用如下:
框架代码,包括包装代码和XML域配置文件。其中XML域配置文件用于描述组件实现、组件接口和端口、组件加载运行等信息。包装代码为封装组件内部的信号处理功能代码,处理组件与核心框架交互的一系列过程,如接口、端口、组件入口点、控制接口等。
适配器,用于将输入输出接口的通信数据从包装代码中转发到信号处理功能代码及其相反过程,例如数据格式的转换、消息队列等。
组件模块:由导入的GNU Radio项目提供的实现信号处理的模块代码经移植封装后,对应SCA波形组件中模块。
以FFT变换为例进行具体说明,经需求分析可以得出SCA波形组件需要实现256点复数前向FFT变换,该SCA波形组件具有一个输入参数、一个输出参数。通过SCA波形集成开发环境搜索GNU Radio算法库中的FFT模块代码,根据命名规则,在/gnuradio/gr-fft/python/fft文件夹中找到与模块FFT相对应的Python文件qa_fft.py,得到该模块有fft_size、forward和nthreads等三个参数需要设置,并且输入数据的类型有complex(复数)和real(实数)两种,根据需要输出数据类型为complex类型。在/gnuradio/gr-fft/lib文件夹中找到fft.cc文件,从该文件中提取核心代码fft_complex函数、fft_real_fwd函数以及与函数相关联的函数和头文件。由于波形组件功能需求为实现256点复数前向FFT变换,通过集成开发环境生成适配器代码向fft_complex函数传送输入参数,最后将适配器、核心代码与包装代码合并,编译链接生成适合于特定平台的可执行文件,从而将基于GNU Radio的模块代码重新封装为SCA波形组件。
应该理解的是,虽然图1、2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种与上述方法对应的SCA波形组件构建装置,包括:
功能获取模块401,用于获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
PIM确定模块403,用于根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
框架代码生成模块405,用于对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
模块代码获取模块407,用于根据所述功能描述获取基于GNU Radio的模块代码;
组件重封装模块409,用于根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
基于本实施例的SCA波形组件构建装置,获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;根据功能描述及连接关系,确定功能模块对应的平台无关模型;对平台无关模型进行PSM映射,生成符合SCA规范的框架代码;根据功能描述获取基于GNU Radio的模块代码;根据框架代码对模块代码进行重新封装,生成符合波形需求的SCA波形组件。由于根据符合SCA规范的框架代码对模块代码进行重新封装,生成的SCA波形组件符合SCA规范。通过上述装置构建SCA波形组件,无需用户学习SCA规范,基于SCA规范及波形需求自行开发SCA波形组件,只需要在进行需求分析之后,将功能模块以及各功能模块的功能描述及连接关系录入计算机设备,即可通过本方法实现SCA波形组件的构建,如此,可以降低SCA波形组件的开发难度,缩短SCA波形组件的开发周期。从而,提高SCA波形的开发效率。
在其中一实施例中,PIM确定模块403,用于根据所述功能描述及所述连接关系确定各所述功能模块的对外接口;根据所述对外接口及所述功能描述,建立所述功能模块的UML模型,并将所述UML模型映射成IDL文件。
在其中一实施例中,框架代码生成模块405,用于根据所述平台无关模型,生成所述功能模块对应的域配置文件;根据所述功能模块对应的IDL文件及所述域配置文件,生成所述功能模块对应的包装代码。
在其中一实施例中,组件重封装模块409,包括:
接口确定单元,用于对所述模块代码中的脚本进行分析,得到所述模块代码的输入输出接口;
适配器生成单元,用于根据所述输入输出接口及所述框架代码生成适配器;
核心代码提取单元,用于提取所述模块代码中实现信号处理的核心代码;
组件封装单元,用于根据所述适配器及所述框架代码对所述核心代码进行封装,生成符合所述波形需求的SCA波形组件。
在其中一实施例中,适配器生成单元,用于根据所述输入输出接口、所述GNURadio的命名规则及所述框架代码,生成适配器。
在其中一实施例中,所述框架代码包括域配置文件及包装代码;
适配器生成单元,用于根据所述输入输出接口及所述与配置文件生成适配器;
组件封装单元,用于根据所述适配器及所述包装代码对所述核心代码进行封装,生成符合所述波形需求的SCA波形组件。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种SCA波形组件构建方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述SCA波形组件构建方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述SCA波形组件构建方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种SCA波形组件构建方法,所述方法包括:
获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
根据所述功能描述获取基于GNU Radio的模块代码;
根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型,包括:
根据所述功能描述及所述连接关系确定各所述功能模块的对外接口;
根据所述对外接口及所述功能描述,建立所述功能模块的UML模型,并将所述UML模型映射成IDL文件。
3.根据权利要求2所述的方法,其特征在于,所述对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码,包括:
根据所述平台无关模型,生成所述功能模块对应的域配置文件;
根据所述功能模块对应的IDL文件及所述域配置文件,生成所述功能模块对应的包装代码。
4.根据权利要求1所述的方法,其特征在于,根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件,包括:
对所述模块代码中的脚本进行分析,得到所述模块代码的输入输出接口;
根据所述输入输出接口及所述框架代码生成适配器;
提取所述模块代码中实现信号处理的核心代码;
根据所述适配器及所述框架代码对所述核心代码进行封装,生成符合所述波形需求的SCA波形组件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述输入输出接口及所述框架代码生成适配器,包括:根据所述输入输出接口、所述GNU Radio的命名规则及所述框架代码,生成适配器。
6.根据权利要求4所述的方法,其特征在于,所述框架代码包括域配置文件及包装代码;
所述根据所述输入输出接口及所述框架代码生成适配器,包括:根据所述输入输出接口及所述域配置文件生成适配器;
所述根据所述适配器及所述框架代码对所述核心代码进行封装,生成符合所述波形需求的SCA波形组件,包括:根据所述适配器及所述包装代码对所述核心代码进行封装,生成符合所述波形需求的SCA波形组件。
7.一种SCA波形组件构建装置,所述装置包括:
功能获取模块,用于获取根据波形需求进行功能划分得到的功能模块,以及各功能模块的功能描述及连接关系;
PIM确定模块,用于根据所述功能描述及所述连接关系,确定所述功能模块对应的平台无关模型;
框架代码生成模块,用于对所述平台无关模型进行PSM映射,生成符合SCA规范的框架代码;
模块代码获取模块,用于根据所述功能描述获取基于GNU Radio的模块代码;
组件重封装模块,用于根据所述框架代码对所述模块代码进行重新封装,生成符合所述波形需求的SCA波形组件。
8.根据权利要求7所述的装置,其特征在于,所述组件重封装模块,包括:
接口确定单元,用于对所述模块代码中的脚本进行分析,得到所述模块代码的输入输出接口;
适配器生成单元,用于根据所述输入输出接口及所述框架代码生成适配器;
核心代码提取单元,用于提取所述模块代码中实现信号处理的核心代码;
组件封装单元,用于根据所述适配器及所述框架代码对所述核心代码进行封装,生成符合所述波形需求的SCA波形组件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811114191.9A CN109375903A (zh) | 2018-09-25 | 2018-09-25 | Sca波形组件构建方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811114191.9A CN109375903A (zh) | 2018-09-25 | 2018-09-25 | Sca波形组件构建方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109375903A true CN109375903A (zh) | 2019-02-22 |
Family
ID=65401725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811114191.9A Pending CN109375903A (zh) | 2018-09-25 | 2018-09-25 | Sca波形组件构建方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109375903A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399829A (zh) * | 2020-03-13 | 2020-07-10 | 上海介方信息技术有限公司 | 一种基于模型驱动的波形建模方法及终端 |
CN111399808A (zh) * | 2020-03-04 | 2020-07-10 | 上海介方信息技术有限公司 | 一种支持波形组件接口可定制的实现方法 |
CN111443919A (zh) * | 2020-02-24 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Dsp多核处理器上sca核心框架的实现方法 |
CN112015404A (zh) * | 2020-08-27 | 2020-12-01 | 深圳开立生物医疗科技股份有限公司 | 超声影像诊断***及其构建方法、超声设备和存储介质 |
CN113342332A (zh) * | 2021-05-31 | 2021-09-03 | 成都谐盈科技有限公司 | 一种基于模型驱动的组件可定制多接口的实现方法 |
CN114895895A (zh) * | 2022-04-06 | 2022-08-12 | 一汽解放汽车有限公司 | 模型开发方法、装置、计算机设备和存储介质 |
CN114995792A (zh) * | 2022-07-19 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN117873459A (zh) * | 2024-03-11 | 2024-04-12 | 成都谐盈科技有限公司 | 基于概念模型的sca通信架构设计方法 |
CN117874393A (zh) * | 2024-03-12 | 2024-04-12 | 成都谐盈科技有限公司 | 通过xml文件构建sca模型工程的方法和*** |
CN117873460A (zh) * | 2024-03-11 | 2024-04-12 | 成都谐盈科技有限公司 | 一种uml波形平台的设计方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100304686A1 (en) * | 2009-05-27 | 2010-12-02 | Kennedy Joseph P | Wireless transceiver test bed system and method |
CN201698403U (zh) * | 2010-06-18 | 2011-01-05 | 哈尔滨工业大学深圳研究生院 | 基带中频一体化开发板 |
CN102081545A (zh) * | 2011-01-07 | 2011-06-01 | 中国电子科技集团公司第十研究所 | 在嵌入式平台上实现软件通信架构的方法 |
US20120284288A1 (en) * | 2011-05-02 | 2012-11-08 | Raytheon Company | Systems, methods, and language for SCA CORBA descriptor files |
CN103294635A (zh) * | 2013-04-03 | 2013-09-11 | 中国电子科技集团公司第七研究所 | 基于SCA的Modem组件处理核及集成电路 |
-
2018
- 2018-09-25 CN CN201811114191.9A patent/CN109375903A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100304686A1 (en) * | 2009-05-27 | 2010-12-02 | Kennedy Joseph P | Wireless transceiver test bed system and method |
CN201698403U (zh) * | 2010-06-18 | 2011-01-05 | 哈尔滨工业大学深圳研究生院 | 基带中频一体化开发板 |
CN102081545A (zh) * | 2011-01-07 | 2011-06-01 | 中国电子科技集团公司第十研究所 | 在嵌入式平台上实现软件通信架构的方法 |
US20120284288A1 (en) * | 2011-05-02 | 2012-11-08 | Raytheon Company | Systems, methods, and language for SCA CORBA descriptor files |
CN103294635A (zh) * | 2013-04-03 | 2013-09-11 | 中国电子科技集团公司第七研究所 | 基于SCA的Modem组件处理核及集成电路 |
Non-Patent Citations (3)
Title |
---|
郭宁: ""基于GPU的波形组件技术研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈雄 等: ""基于SCA的以太网设备组件的设计与实现"", 《计算技术与自动化》 * |
黄子鸿 等: ""基于MDA的SCA波形开发研究与实现"", 《现代电子技术》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443919A (zh) * | 2020-02-24 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Dsp多核处理器上sca核心框架的实现方法 |
CN111443919B (zh) * | 2020-02-24 | 2023-06-09 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Dsp多核处理器上sca核心框架的实现方法 |
CN111399808A (zh) * | 2020-03-04 | 2020-07-10 | 上海介方信息技术有限公司 | 一种支持波形组件接口可定制的实现方法 |
CN111399808B (zh) * | 2020-03-04 | 2020-10-16 | 上海介方信息技术有限公司 | 一种支持波形组件接口可定制的实现方法 |
CN111399829A (zh) * | 2020-03-13 | 2020-07-10 | 上海介方信息技术有限公司 | 一种基于模型驱动的波形建模方法及终端 |
CN112015404A (zh) * | 2020-08-27 | 2020-12-01 | 深圳开立生物医疗科技股份有限公司 | 超声影像诊断***及其构建方法、超声设备和存储介质 |
CN113342332B (zh) * | 2021-05-31 | 2023-11-03 | 成都谐盈科技有限公司 | 一种基于模型驱动的组件可定制多接口的实现方法 |
CN113342332A (zh) * | 2021-05-31 | 2021-09-03 | 成都谐盈科技有限公司 | 一种基于模型驱动的组件可定制多接口的实现方法 |
CN114895895A (zh) * | 2022-04-06 | 2022-08-12 | 一汽解放汽车有限公司 | 模型开发方法、装置、计算机设备和存储介质 |
CN114895895B (zh) * | 2022-04-06 | 2024-07-05 | 一汽解放汽车有限公司 | 模型开发方法、装置、计算机设备和存储介质 |
CN114995792B (zh) * | 2022-07-19 | 2023-03-14 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN114995792A (zh) * | 2022-07-19 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN117873459A (zh) * | 2024-03-11 | 2024-04-12 | 成都谐盈科技有限公司 | 基于概念模型的sca通信架构设计方法 |
CN117873460A (zh) * | 2024-03-11 | 2024-04-12 | 成都谐盈科技有限公司 | 一种uml波形平台的设计方法 |
CN117873460B (zh) * | 2024-03-11 | 2024-05-14 | 成都谐盈科技有限公司 | 一种uml波形平台的设计方法 |
CN117874393A (zh) * | 2024-03-12 | 2024-04-12 | 成都谐盈科技有限公司 | 通过xml文件构建sca模型工程的方法和*** |
CN117874393B (zh) * | 2024-03-12 | 2024-05-14 | 成都谐盈科技有限公司 | 通过xml文件构建sca模型工程的方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109375903A (zh) | Sca波形组件构建方法、装置、计算机设备和存储介质 | |
CN111708539B (zh) | 一种应用程序代码转换方法、装置、电子设备和存储介质 | |
CN109324787A (zh) | 一种业务软件开发方法、装置及终端设备 | |
Wan et al. | Composition challenges and approaches for cyber physical systems | |
US20210365253A1 (en) | Heterogeneity-agnostic and topology-agnostic data plane programming | |
Groher et al. | Generating aspect code from UML models | |
CN101261600A (zh) | 一种软件测试装置及测试软件的设计方法 | |
CN109460222A (zh) | 应用程序的组件化方法、装置、设备及存储介质 | |
CN109683882A (zh) | 基于移动终端的可视化环境下nb-iot终端软件开发方法 | |
Edwards et al. | Scenario-driven dynamic analysis of distributed architectures | |
CN104423986B (zh) | 一种应用***内嵌脚本的方法和装置 | |
Risco‐Martín et al. | xDEVS: A toolkit for interoperable modeling and simulation of formal discrete event systems | |
CN115202623A (zh) | 一种业务能力使用方法、装置以及设备 | |
CN117873459A (zh) | 基于概念模型的sca通信架构设计方法 | |
US6937969B1 (en) | Method for determining signals in mixed signal systems | |
CN108399245A (zh) | 智能家电网关设备的数据处理方法、装置及智能家电网关 | |
CN114967505B (zh) | 一种工业模型与仿真模型的转换方法、装置及设备 | |
Dardaillon et al. | A new compilation flow for software-defined radio applications on heterogeneous MPSoCs | |
CN116185425A (zh) | 基于节点组合的事件流程编排方法、装置、设备及介质 | |
Ciccozzi et al. | On the generation of full-fledged code from UML profiles and ALF for complex systems | |
Schattkowsky et al. | Using UML activities for system-on-chip design and synthesis | |
Aulagnier et al. | SoC/SoPC development using MDD and MARTE profile | |
Nguyen et al. | A model checking framework for hierarchical systems | |
CN109947403A (zh) | 一种安全目标的分解与建模方法及相关设备 | |
Dardaillon et al. | A compilation flow for parametric dataflow: Programming model, scheduling, and application to heterogeneous MPSoC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190222 |