一种MATLAB的实时仿真方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910539368.8
(22)申请日 2019.06.20
(71)申请人 北京灵思创奇科技有限公司
地址 100000 北京市昌平区科技园区超前
路甲1号13号楼201室
(72)发明人 陈浩 赵瑞永 黄晓 郭悦 
班韬泽 
(51)Int.Cl.
G06F  17/50(2006.01)
(54)发明名称一种MATLAB的实时仿真方法(57)摘要本发明提供了一种MATLAB的实时仿真方法,包括以下步骤:首先,提供一个运行在嵌入式实时操作系统上的脚本执行引擎,用来执行并加载MATLAB语言形式的用户算法模型脚本;嵌入式实时操作系统运行在嵌入式硬件平台上;实现用户算法模型脚本;所述用户算法模型脚本,是指用户用MATLAB语言实现的算法模型;包括有三个模块:分别是初始化模块Initialize,每个步长的运行模块Step和结束模块Finalize;脚本执行引擎先执行初始化模块Initialize,然后启动定时器,定时长度为步;定时器的回调里执行运行模块Step;本发明不用通过代码生成技术生成C/C++代码,直接运行在嵌入式硬件平台上,减少了设计人员的负担,
提高了工作效率。权利要求书1页  说明书3页  附图1页CN 110516280 A 2019.11.29
C N  110516280
A
1.一种MATLAB的实时仿真方法,其特征在于,包括以下步骤:
S1:首先,提供一个运行在嵌入式实时操作系统上的脚本执行引擎,用来执行并加载MATLAB语言形式的用户算法模型脚本;嵌入式实时操作系统运行在嵌入式硬件平台上;
S2:实现用户算法模型脚本;所述用户算法模型脚本,是指用户用MATLAB语言实现的算法模型;包括
有三个模块:分别是初始化模块Initialize,每个步长的运行模块Step和结束模块Finalize;
S3:脚本执行引擎先执行初始化模块Initialize,然后启动定时器,定时长度为步;定时器的回调里执行运行模块Step;如果运行时间超过步长,即超时,或者用户选择停止运行,或者运行时间和次数达到用户要求,则退出执行,删除定时器;
S4:所述的脚本执行引擎在执行结束后,执行结束模块Finalize。
2.根据权利要求1所述的一种MATLAB的实时仿真方法,其特征在于,所述脚本执行引擎,运行在嵌入式实时操作系统上,负责加载并执行MATLAB语言形式的用户算法模型脚本。
3.根据权利要求1所述的一种MATLAB的实时仿真方法,其特征在于,所述步长,是指某个规定的时间常数。
4.根据权利要求1所述的一种MATLAB的实时仿真方法,其特征在于,所述算法模型脚本的初始化模块Initialize,负责初始化算法的运行参数。
5.根据权利要求1所述的一种MATLAB的实时仿真方法,其特征在于,所述算法模型脚本的运行模块Step,负责算法的每个步长的运行。
6.根据权利要求1所述的一种MATLAB的实时仿真方法,其特征在于,所述算法模型脚本的结束模块Finalize负责算法运行结束的清理工作。
权 利 要 求 书1/1页CN 110516280 A
一种MATLAB的实时仿真方法
技术领域
[0001]本发明涉及数学软件MATLAB,具体是一种MATLAB的实时仿真方法。
背景技术
[0002]MATLAB是美国MathWorks公司出品的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算等,在科学研究及工程计算等多个领域得到广泛的应用。MATLAB 提供了一种编程语言MATLAB语言,使用MATLAB语言的交互式环境以及一系列工具。[0003]在基于模型设计的开发流程下,设计人员可以先使用Simulink进行模型仿真。为了验证模型的实时性和有效性,还可以生成C/C++、PLC等代码,甚至多种硬件平台的二进制可执行代码,实时的运行在实际的PC、MCU、DSP等硬件平台上,实现模型的实时性和有效性。[0004]设计人员的算法一般都是用MATLAB语言实现的。MATLAB语言是一种脚本解释性语言,运行的时候通过解释器一行行解释并运行,效率和运行速度远比
编译性语言比如C/C+ +,Java等低下。而在嵌入式硬件平台上要想实时仿真或产品化,算法的运行速度必须达到一定要求,必须要在规定时间内完成计算,得到算法结果。目前比较流行的基于模型的设计开发流程刚推出的时候,嵌入式硬件平台一般硬件配置比较落后,运行速度慢。所以在基于模型的设计开发流程中,设计人员一般都是先在Windows平台上验证MATLAB语言实现的算法模型是否能运行,然后通过代码生成技术转成高效率、运行速度快的C/C++代码运行在嵌入式硬件平台上进行实时仿真或产品化。
[0005]MATLAB语言是一种脚本语言,使用方式非常灵活。在程序执行过程中,可以随意的改变变量的类型和维度大小。这种写法是不支持生成C/C++代码的。要想支持生成C/C++代码,必须修改MATLAB语言的代码,严格限定变量的类型和维度大小。
[0006]但是,一方面,很多设计人员只会简单的使用MATLAB语言,并没有专业的编程训练,很难写出符合规范的代码;另一方面,很多已有代码的代码量非常大,原始的开发人员已不到或缺少文档,代码变成了黑盒子,没有人有能力了解其中的逻辑,难以重写。[0007]随着计算机处理器行业的高速发展,目前主流桌面处理器的性能已经存在过剩的现象。比如2019年英特尔推出的第九代酷睿处理器,采用14nm++制程工艺,单核睿频可达5GHz。嵌入式硬件平台运行解释性脚本语言来进行算法的实时仿真和产品化的可能性也大大提高。
发明内容
[0008]本发明的目的在于提供一种MATLAB的实时仿真方法,以解决上述背景技术中提出的问题。
[0009]为实现上述目的,本发明提供如下技术方案:
[0010]一种MATLAB的实时仿真方法,包括以下步骤:S1:首先,提供一个运行在嵌入式实时操作系统上的脚本执行引擎,用来执行并加载MATLAB语言形式的用户算法模型脚本;嵌入式实时操作系统运行在嵌入式硬件平台上;
[0011]S2:实现用户算法模型脚本;所述用户算法模型脚本,是指用户用MATLAB语言实现的算法模型;包括有三个模块:分别是初始化模块Initialize,每个步长的运行模块Step和结束模块Finalize;
[0012]S3:脚本执行引擎先执行初始化模块Initialize,然后启动定时器,定时长度为步;定时器的回调里执行运行模块Step;如果运行时间超过步长,即超时,或者用户选择停止运行,或者运行时间和次数达到用户要求,则退出执行,删除定时器;
[0013]S4:所述的脚本执行引擎在执行结束后,执行结束模块Finalize。
[0014]作为本发明进一步的方案:所述脚本执行引擎,运行在嵌入式实时操作系统上,负责加载并执行MATLAB语言形式的用户算法模型脚本。
[0015]作为本发明进一步的方案:所述步长,是指某个规定的时间常数。
[0016]作为本发明进一步的方案:所述算法模型脚本的初始化模块Initialize,负责初始化算法的运行参数。
[0017]作为本发明进一步的方案:所述算法模型脚本的运行模块Step,负责算法的每个步长的运行。
[0018]作为本发明再进一步的方案:所述算法模型脚本的结束模块Finalize负责算法运行结束的清理工作。
[0019]与现有技术相比,本发明的有益效果是:
[0020]本发明提供了一个运行在嵌入式实时操作系统上的脚本执行引擎,用来执行并加载MATLAB语言形式的用户算法模型脚本,嵌入式实时操作系统运行在嵌入式硬件平台上,可以把设计人员用MATLAB语言实现的算法模型不用改动,也不用通过代码生成技术生成C/ C++代码,直接运行在嵌入式硬件平台上,减少了设计人员的负担,提高了工作效率。。
附图说明
[0021]图1为一种MATLAB的实时仿真方法的系统结构示意图。
[0022]图2为一种MATLAB的实时仿真方法中实时仿真的流程图。
具体实施方式
[0023]下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
[0024]请参阅图1-2,一种MATLAB的实时仿真方法,包括以下步骤:
[0025]S1:首先,提供一个运行在嵌入式实时操作系统上的脚本执行引擎,用来执行并加载MATLAB语言形式的用户算法模型脚本;嵌入式实时操作系统运行在嵌入式硬件平台上。[0026]所述嵌入式硬件平台采用目前主流的桌面处理器(如:第九代酷睿处理器)运行主流的嵌入式实时操作系统(如RT-Linux或VxWorks等)。
[0027]所述脚本执行引擎,运行在嵌入式实时操作系统上,负责加载并执行MATLAB语言形式的用户算法模型脚本。
[0028]S2:实现用户算法模型脚本。所述用户算法模型脚本,是指用户用MATLAB语言实现的算法模型。包括有三个模块:分别是初始化模块Initialize,每个步长的运行模块Step和结束模块Finalize;三个模块的执行流程如图2所示。
[0029]所述步长,是指某个规定的时间常数,比如1ms。
[0030]所述算法模型脚本的初始化模块Initialize,负责初始化算法的运行参数。由用户实现。
[0031]所述算法模型脚本的运行模块Step,负责算法的每个步长的运行。由用户实现。[0032]所述算法模型脚本的结束模块Finalize负责算法运行结束的清理工作。由用户实现。
[0033]S3:脚本执行引擎先执行初始化模块Initialize,然后启动定时器,定时长度为步长。定时器的回调里执行运行模块Step。如果运行时间超过步长,即超时,或者用户选择停止运行,或者运行时间和次数达到用户要求,则退出执行,删除定时器。
[0034]S4:所述的脚本执行引擎在执行结束后,执行结束模块Finalize。
[0035]上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下做出各种变化。

本文发布于:2024-09-23 03:29:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/443906.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:运行   算法   模型   执行   脚本
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议