MBD_入门篇_21_SimulinkSignalAttributes
21.SignalAttributes
21.1 概述
Signal Attributes,信号属性,信号特性。
21.2 回顾常用模块
21.2.1 DataTypeConversion
数据类型转换模块,可以对信号的数据类型进行强制转换。无符号数据与有符号数据相加,我们可以将无符号数据转换为有符号数据,再进行加法运算。
21.3 SignalConversion
信号转换模块,可以对信号进行一个转换的处理,包括普通信号的复制,总线信号的复制。总结下来,功能就是隔离原来的信号,产生一个新的复制的信号。
Output的三个选项,Signal copy信号复制,Virtual bus虚拟总线(生成代码还是单个信号,只是在模型的视觉上进行编组),Nonvirtual bus非虚拟总线(对应生成代码结构体)。
选择Signal copy,数据类型不可设置,单纯的拷贝。
选择非虚拟Bus后,图标改变,数据类型可选,可以根据实际需求来进行选择。
初学的时候不太用的到这个模块。在标定的观测量设置,AUTOSAR接口的信号转换等地方会用的到,隔离原来的信号,产生一个一样的新的信号。
21.4 DataTypeDuplicate
信号数据类型约束模块,可以强制输入数据类型一致,否则报错。
仿真数据类型不一致,直接报错。需要强制转换或者是修改前端输入的类型,保持一致。
21.5 RateTransition
21.5.1 RateTransition实例
速率转换模块,可以转换不同的信号速率。
模型的配置为定步长,离散解算器,0.01的步长。
搭建仿真模型,上面的加法使用继承的Sample Time为0.01s,下面的模块我们强制设置为0.02s。
可以打开仿真的Sample Time区分颜色。
运行模型,采样时间被区分开。
将两部分模型进行加法,模型自动转换是按照低采样率转换为高采样率的方式。最后按照0.01s进行加法。
我们可以使用速率转换模块进行强制转换。设置速率转换模块的输出速率。
进行仿真,可以看出来速率转换后是按照0.02s的采样率进行加法。
速率转换模块的参数设置,指定采样时间,设置初始值。
拖2个计数模块,将上面的设置Sample Time为0.01s,下面的设置0.02s。对数据进行Log,运行模型,分析数据。
不同的采样周期转换后的加法,得出的结果不一样,需要根据实际项目情况做选择。
21.5.2 RateTransition选项配置说明
速率转换模块的配置项说明,确保数据传输过程中的数据完整性和确保确定性数据传输选项,不同配置的选择。
转移处理选项 | 模块参数设置 |
| 选择:
|
| 选择:
清除:
|
| 清除:
|
标签与模块的行为对应
标签 | 模块行为 |
ZOH | 充当零阶保持器 |
1/z | 充当单位延迟器 |
Buf | 在信号灯控制下将输入复制到输出 |
Db_buf | 使用双缓冲区将输入复制到输出 |
3buf | 使用三缓冲区将输入复制到输出 |
Copy | 在不保护的情况下将输入复制到输出 |
NoOp | 不执行任何操作 |
Mixed | 扩展为具有不同行为的多个模块 |
RT | 指示使用调度编辑器时分区之间的数据传输。 |
同样是D1采样的时候,显示NoOp。
从D1 0.01s到D2 0.02s,显示ZOH。
从D2 0.02s到D1 0.01s,显示1/z。
转换速率不是整数倍数的情况。
清除确保确定性数据传输选项。
下表总结了当输入和输出端口(inTs 和 outTs)的采样时间为周期性或同步时每个标签的显示方式。
模块设置 | 模块标签 | |||
Rate Transition | Rate Transition 模块的条件 | 保证数据完整性与确定性 | 仅保证数据完整性 | 不保证数据完整性或确定性 |
inTs = outTs (相等) | inTsOffset < outTsOffset | 无(错误) | Buf | Copy 或者 NoOp(请参阅表后面的注释) |
inTsOffset = outTsOffset | Copy 或者 NoOp(请参阅表后面的注释) | Copy 或者 NoOp(请参阅表后面的注释) | ||
inTsOffset > outTsOffset | 无(错误) | Db_buf | ||
inTs < outTs (快速到慢速) | inTs = outTs / N inTsOffset、outTsOffset = 0 | ZOH | Buf | |
inTs = outTs / N inTsOffset ≤ outTsOffset | 无(错误) | |||
inTs = outTs / N inTsOffset > outTsOffset | 无(错误) | Db_buf | ||
inTs ≠ outTs / N | 无(错误) | |||
inTs > outTs (慢速到快速) | inTs = outTs * N inTsOffset、outTsOffset = 0 | 1/z | Db_buf | |
inTs = outTs * N inTsOffset ≤ outTsOffset | 无(错误) | |||
inTs = outTs * N inTsOffset > outTsOffset | 无(错误) | |||
inTs ≠ outTs * N | 无(错误) | |||
关键注释
|
21.6 BusToVector
从这小节开始,剩下的模块在模型生成代码过程中都不是很常用。
Bus To Vector模块,将bus信号转换为数组/向量信号。转换的必须是Virtual Bus虚拟总线信号。
Bus转换成的数组。
数据类型不一致的时候,报错。
21.7 DataTypeConversionInherited
强制类型转换,使用其他输入信号的类型。不需要明确地在模块里指定数据类型,而是通过连接另一个信号来指定。
如图是使用constant的数据类型uint8,强制转换输入inport的uint32类型为uint8类型
uint16的258转换成uint8,超出uint8的范围,最后输出为2。
相关文章:

MBD_入门篇_21_SimulinkSignalAttributes
21.SignalAttributes 21.1 概述 Signal Attributes,信号属性,信号特性。 21.2 回顾常用模块 21.2.1 DataTypeConversion 数据类型转换模块,可以对信号的数据类型进行强制转换。无符号数据与有符号数据相加,我们可以将无符号数据转…...

Web前端高级课程:深入探索与技能飞跃
Web前端高级课程:深入探索与技能飞跃 在数字化时代的浪潮中,Web前端技术日新月异,对前端开发者的技能要求也日益提高。为了满足这一需求,我们精心打造了一款Web前端高级课程,旨在帮助学员掌握最前沿的前端技术&#x…...

螺丝工厂vtk ThreadFactory(1)
螺丝工厂vtkThreadFactory (1) 缘起 几年前的探索在Python里应用Openscad实现3D建模之3D螺纹建模初探3 新的参考: generating nice threads in openscadvtkRotationalExtrusionFilter 辅助AI: coze 笔记📒: openscad 代码分析 // 半径缩放函数,用…...

Android13 蓝牙协议属性配置详解
Android13 蓝牙协议属性配置详解 文章目录 Android13 蓝牙协议属性配置详解一、前言二、Android13 蓝牙协议属性配置1、Profile 属性和暴露接口的定义2、蓝牙协议属性定义3、系统代码中判断蓝牙协议是否使能的代码 三、其他1、adb 窗口中查看蓝牙协议属性2、动态设置蓝牙prop协…...

南通国际高中有哪些?南通惠立学校高中部校长见面日重磅来袭
惠灵顿(中国)自2011年成立以来,一直坚持深耕国际与双语教育,拥有丰厚的办学经验。依托于集团化的深厚经验南通惠立学校于2024-2025学年开设9-11年级,这所南通国际高中为高中学生搭建一个集卓越升学成果、强大师资、纯正…...

Al智能图像处理APP,安卓手机专用一键优化工具资源合集下载
### 标题:Al智能图像处理APP,安卓手机专用一键优化工具资源合集下载 随着科技的进步,图像处理技术也在不断提升。为了满足用户对图像处理日益增长的需求,我们隆重推出了一款功能强大的图像处理工具——Al智能图像处理APP。这款安…...

Kettle根据分类实现Excel文件拆分——kettle开发31
将整理好的一份供应商付款明细Excel文件,按供应商拆分成多个Excel文件。 实现思路 本文我们首先将供应商付款明细表,按照“名称”拆分成多份Excel文件。拆分Excel文件打算用两个转换实现,一个用来将Excel数据读取到参数中,另外一…...

merkle tree中文
Merkle tree merkle tree中文文档英文文档 #include <cstdlib> #include <string> #include <bitcoin/bitcoin.hpp>BC_USE_LIBBITCOIN_MAINusing namespace bc;bc::hash_digest calculate_merkle_root(bc::hash_list &merkle);int bc::main(int argc, …...

制作自己的 @OnClick、@OnLongClick(告别 setOnClickListener,使用注解、反射和动态代理)
前言 前面我们说过 ButterKnife 这个库,这个库实现不仅实现了 View 的绑定,而且还提供了大量的注解如 BindView、OnClick、OnLongClick 等来简化开发过程中事件绑定。而这些功能的实现是通过 APT 也就是注解处理器,在编译期间生成 Java 代码…...

Android基础-RecyclerView的优点
一、引言 在Android开发中,RecyclerView是一个强大而灵活的控件,用于展示大量数据集合的视图。相比于传统的ListView和GridView,RecyclerView提供了更高的性能、更多的布局选择和更丰富的交互体验。本文将详细阐述RecyclerView的功能作用以及…...

C# Winform 用户控件,扩展控件,自定义控件综合实例
Control类是Windows窗体控件的基类,它提供了在 Windows 窗体应用程序中进行可视显示所需的基础结构,可以通过继承来扩展熟悉的用户控件和现有控件的功能。本列介绍三种不同自定义控件以及怎么创建他们。 自定义控件分类 用户控件:基本控件的…...

经济学和金融学有什么区别?
中文版 金融学和经济学是两个密切相关但有所不同的学科,它们各自侧重于不同的研究领域和方法。 经济学 (Economics) 经济学是研究如何配置有限资源以满足人类无限需求的学科。它可以分为两个主要分支: 宏观经济学 (Macroeconomics): 研究经济整体的行…...

Java课程设计:基于swing的学生信息管理系统
文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 这款Java swing实现的学生信息管理系统和jsp版本的功能很相似,简单的实现了班级信息的增删改查,学生信息的增删改查,数据库采用的是mysql,jdk版本不限&…...

【代码】3d->video
mesh->video import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib.animation import FuncAnimation import matplotlib.animation as animation from pywavefront import Wavefront import osnamedog # 读取OBJ文…...

算法01 递推算法及相关问题详解【C++实现】
目录 递推的概念 训练:斐波那契数列 解析 参考代码 训练:上台阶 参考代码 训练:信封 解析 参考代码 递推的概念 递推是一种处理问题的重要方法。 递推通过对问题的分析,找到问题相邻项之间的关系(递推式&a…...

自动化测试火狐下载文件
本篇文章介绍selenium中火狐浏览器如何下载文件。比如我想把这个MP4的视频文件下载下来。 点击之后查看下载的类型是video/mp4 指定使用火狐浏览器 profile webdriver.FirefoxOptions() # 设置firefox默认的下载路径,0表示桌面,1表示我的下载…...

基于JSP技术的定西扶贫惠农推介系统
开头语:你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:JSP 数据库:MySQL 技术:B/S架构、JSP技术 工具:Eclipse、MySQL、Tomcat 系统展示 首…...

Linux 终端窗口设置为透明
Linux 终端窗口设置为透明 打开终端 右键鼠标 选择Profile Preferences 点击Background 选择 Transparent background 拖动滑条调整透明度 完成。...

MySQL 中 Varchar(50) 和 varchar(500) 区别是什么?
一. 问题描述 我们在设计表结构的时候,设计规范里面有一条如下规则: 对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。 为什么这么规定?我在网上查了一下,主要基于两个方面 基于存储空间的考…...

强化RAG:微调Embedding还是LLM?
为什么我们需要微调? 微调有利于提高模型的效率和有效性。它可以减少训练时间和成本,因为它不需要从头开始。此外,微调可以通过利用预训练模型的功能和知识来提高性能和准确性。它还提供对原本无法访问的任务和领域的访问,因为它…...

提取 Excel单元格文本下的超链接
在Excel中,可以使用内置的函数来提取单元格中的超链接地址。如果你有一个包含超链接的单元格,例如B1,你可以使用以下步骤来提取这个超链接: 在一个新的单元格(例如C1)中,输入以下公式ÿ…...

一键安全体检!亚信安全携手鼎捷软件推出企业安全体检活动 正式上线
亚信安全联合鼎捷软件股份有限公司(以下简称“鼎捷软件”)正式推出“一键安全体检”服务。亚信安全网络安全专家将携手鼎捷软件数据安全专家,围绕企业的数智安全状况,进行问题探索与治愈、新问题预测与预警,在全面筛查…...

numpy - array(1)
一维数据:向量 二位数据:矩阵 维度超过三维的数据:张量 这些数据在numpy中统称array (1)使用穷举法创建多为数据,接受列表或者元组类型的数据 a numpy.array([1, 2, 3]) b numpy.array([[1, 2, 3], (4, 5, 6), [7, 8, 9]]) (2)创建所有元…...

师彼长技以助己(6)递归思维
师彼长技以助己(6)递归思维 递归思维-小游戏 思维小游戏 思维 小游戏:1 玩一个从1或2开始往上加的游戏,谁加到20就赢 如何保证一定赢呢?我们倒推,要先到20的话,谁先到17就赢,如此…...

Kali Linux 2024.2
Kali Linux 2024.2 版本(t64、GNOME 46 和社区包) 比平常晚了一点,但 Kali 2024.2 来了!延迟是由于实现这一目标的幕后变化所致,这也是人们关注的焦点。社区提供了大量帮助,这次他们不仅添加了新的软件包&…...

【Spine学习08】之短飘,人物头发动效制作思路
上一节说完了跑步的, 这节说头发发型。 基础过程总结: 1.创建骨骼(头发需要在上方加一个总骨骼) 2.创建网格(并绑定黄线) 3.绑定权重(发根位置的顶点赋予更多总骨骼的权重) 4.切换到…...

chatgpt的命令词
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...

用python把docx批量转为pdf
为保证转换质量,本文的方法是通过脚本和com技术调用office自带的程序进行转换的,因此需要电脑已经装有office。如果希望不装office也能用,则需要研究OpenXML技术,后面实在闲的慌(退休)再搞。 安装所需库 …...

项目采购管理
目录 1.概述 2.三个子过程 2.1.规划采购管理 2.2.实施采购 2.3.控制采购 2.4.归属过程组 3.应用场景 3.1.十个应用场景 3.2.软件开发项目 3.2.1. 需求识别和分析 3.2.2. 制定采购计划 3.2.3. 发布采购请求 3.2.4. 供应商评估与选择 3.2.5. 合同签订 3.2.6. 采购…...

Elasticsearch 认证模拟题 - 18
一、题目 为一个索引,按要求设置以下 dynamic Mapping 一切 text 类型的字段,类型全部映射成 keyword一切以 int_ 开头命名的字段,类型都设置成 integer 1.1 考点 字段的动态映射 1.2 答案 # 创建索引和索引模板 PUT my_index {"m…...