首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

仿真与测试:通过Signal Builder模块生成输入信号

  • 23-09-22 00:24
  • 3343
  • 8433
blog.csdn.net

本文研究通过Signal Builder模块生成输入信号的方法。

文章目录

  • 1 生成输入信号
  • 2 仿真过程
    • 2.1 搭建被测模型
    • 2.2 搭建Signal Builder输入模块
    • 2.3 配置仿真log及仿真
  • 3 总结

1 生成输入信号

在汽车的电控软件开发中,经常会在Simulink模型内部进行单元测试。单元测试的本质就是对某一单元(可以是模型级别或者子系统级别)给一组特定的输入信号,通过Simulink仿真得到一组对应的输出信号,然后再与自己期望的输出信号进行比较,从而得出该测试用例是否通过的结论。

Signal Builder模块就是一种产生自定义的输入信号的模块。除此之外,Signal Editor、Test Sequence等模块也可以自定义输入信号,但是博主工作中用Signal Builder模块比较顺手,就在这里介绍这一种。

本文会通过简单的例子,来研究Signal Builder模块的用法,从而为以后的单元测试的学习打下基础。

2 仿真过程

2.1 搭建被测模型

1)新建一个Simulink模型,将其配置为离散求解器,仿真步长配置为0.01;

在这里插入图片描述
这里的仿真步长是对应的该模块的调度周期。这里要注意仿真的初始时刻和终止时刻设为0到10秒。

2)在模型中建立一个子系统,用于将车速的mps单位转换为kph单位;
在这里插入图片描述
3)模型内部通过一个Gain模块,将mps单位的车速信号乘以3.6,变成kph单位的信号;
在这里插入图片描述
至此,简单的demo模型就建立完毕了,功能就是将车速单位进行转换。例如当前车速是1m/s,输出就是3.6km/h。

2.2 搭建Signal Builder输入模块

1)新建一个Signal Builder输入模块如下:
在这里插入图片描述
可以观察到模块上有Group1和Signal1的字样。这表示在Signal Builder内部可以设置多个Group,其中每个Group包含多组Signal。在仿真的时候,切换不同的Group就可以达到生成不同的Signal的效果。

2)双击Signal Builder后,可以编辑其中的Group和Signal;
在这里插入图片描述
如果需要生成多个组,或者多个信号,可以在菜单栏的Group或者Signal中添加。

3)关于信号线的定义,只需要选中对应的线段,或者端点,就可以在下方的point中看到它的坐标;
在这里插入图片描述
例如上图中博主选中(4,0)点,就会显示时刻T=4,坐标值Y=0;

4)将T改成2,信号线就会变成一个斜坡;
在这里插入图片描述
这里就用上图的形状作为输入即速度曲线是2到4s为一个匀加速的斜坡,4到6s为1m/s的匀速。

另外,如果要在线上增加端点,操作为按住shift键,点击线段上某一位置。

5)最后,把信号线名字改掉,以及把SignalBuilder的仿真步长也改成0.01;
在这里插入图片描述

在这里插入图片描述

2.3 配置仿真log及仿真

接下来就是配置仿真log记录数据,以及开始仿真。

1)首先,将信号线连接起来;
在这里插入图片描述
2)在输入信号线和输出信号线上右键进行信号线log;
在这里插入图片描述
接着,信号线上就会出现一个类似wifi的图标;
在这里插入图片描述
3)点击上方的仿真按钮,接着点击右边的信号线显示;
在这里插入图片描述
在弹出的信号显示界面就可以选择需要显示的信号线;
在这里插入图片描述
这样就能观察到给定的输入信号,经过仿真后的输出是否为我们期望的输出信号;

3 总结

本文研究通过Signal Builder模块生成输入信号的方法,这种方式比较适合简单的子系统测试,或者一些实际情况下不容易达到的边界条件输入的测试。

>>返回个人博客总目录

注:本文转载自blog.csdn.net的chhttty的文章"https://blog.csdn.net/u013288925/article/details/128998064"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top