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?
为什么我们需要微调? 微调有利于提高模型的效率和有效性。它可以减少训练时间和成本,因为它不需要从头开始。此外,微调可以通过利用预训练模型的功能和知识来提高性能和准确性。它还提供对原本无法访问的任务和领域的访问,因为它…...
Cursor Pro功能突破解决方案:基于cursor-free-vip的完整技术指南
Cursor Pro功能突破解决方案:基于cursor-free-vip的完整技术指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reache…...
数组运算18题:从递归求和解到Kadane算法
1. 数组运算进阶指南:18道经典题目深度解析数组作为最基本的数据结构,在编程面试和实际开发中无处不在。掌握数组的各种运算技巧不仅能帮助你在面试中脱颖而出,更能提升日常编码的效率和质量。本文将深入解析18个经典的数组运算题目ÿ…...
Geoserver空间查询全解析:从基础bbox到高级CQL_FILTER的完整指南
Geoserver空间查询全解析:从基础bbox到高级CQL_FILTER的完整指南 当你面对海量地理空间数据时,如何快速准确地提取所需信息?Geoserver作为开源地理信息系统(GIS)的中枢神经,其强大的空间查询能力往往被开发…...
I.MX6U-MINI开发板系统固化全流程:从uboot编译到rootfs烧录(附网络配置技巧)
I.MX6U-MINI开发板系统固化实战指南:从零构建到网络调优 第一次拿到I.MX6U-MINI开发板时,面对系统固化的多个环节总有种无从下手的感觉。作为嵌入式Linux开发的入门门槛,系统固化不仅关系到后续应用开发的基础环境,更是理解嵌入式…...
AI+Python 双驱动计量经济学:从多源数据处理到 SCI 论文--多源数据处理、机器学习预测及复杂因果识别全流程实战随机森林模型核心技术
为什么你自学了这么久,还是做不出成果?很多科研人做计量经济学研究,最大的问题不是不够努力,而是没有一套完整的全链条体系:只学了模型操作,却不懂底层理论,换个研究问题、换个数据集就不会做了…...
3步搞定黑苹果配置:OpCore-Simplify自动化工具如何解决90%的安装难题
3步搞定黑苹果配置:OpCore-Simplify自动化工具如何解决90%的安装难题 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 开篇:黑苹…...
忍者像素绘卷多场景应用:微信小程序插图、游戏素材、社交配图一站式生成
忍者像素绘卷多场景应用:微信小程序插图、游戏素材、社交配图一站式生成 1. 像素艺术的新纪元 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,它将传统像素艺术与现代AI技术完美结合。这款工具特别适合需要快速生成高质量像素风格图像…...
告别手速焦虑:大麦抢票神器让你轻松锁定心仪演出
告别手速焦虑:大麦抢票神器让你轻松锁定心仪演出 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到演唱会门票而烦恼吗&#…...
我的杭州亲子旅游线路总结(坐船版)
我的杭州亲子旅游线路总结(坐船版) 这是我带娃走过的线路。孩子最近迷恋坐船,我看到新闻说梅花碑有公交船,而且梅花开了很漂亮,就去看看。 这里记录一下行程,说不定以后还去,能做参考。 文中提及…...
Linux文件搜索工具FSearch:从卡顿到闪电的搜索体验革新
Linux文件搜索工具FSearch:从卡顿到闪电的搜索体验革新 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中,文件搜索往往是一场与时…...
