MBD_入门篇_21_SimulinkSignalAttributes

Simulink-Unit Conversion模块 Library: Simulink / Signal Attributes Description: TheUnit Conversionblock converts the unit of the input signal to the output signal. The block can perform the conversion if the units are separated by a scaling factor or offset, or are inverse un... 阅读详情
AI摘要

本文深入探讨Simulink中的信号属性、数据类型转换、信号转换、速率转换及总线信号处理等核心模块的功能与应用。讲解如何利用这些模块进行信号处理,包括数据类型强制转换、信号速率转换及总线信号的复制与转换,适用于模型生成代码过程中的高级信号处理场景。

 前言

作者介绍

阿隆,深耕汽车控制器应用层开发多年,经历多家企业项目(包含多家中外头部企业),拥有多款控制器量产经验。主要技能包括应用层模型开发和c/c++代码编写,mil/sil测试,工具链开发,静态检查,BSW配置和手写,上位机开发等。

加V联系我:ALongAutom

使用介绍

MBD课程是阿隆从业多年后,在2022年的时候从0开始一点点录制的视频,一点点码字码出来的课程,现在分享给大家用来学习,如果对正在观看的你有帮助,可以帮忙推荐给身边的朋友,一起学习,也可以免费加入阿隆的技术交流群进行交流学习。

课程使用平台Matlab 2021b,建议初学者尽量使用同版本,避免出现版本差异带来的问题。等熟练掌握课程以后,再升级平台,出现版本差异的问题也知道该如何解决。

全网同名阿隆汽车,可以在其他平台搜索阿隆汽车找到阿隆,感谢观看。

入门篇视频观看链接如下:

阿隆MBD入门篇_合集_01_哔哩哔哩_bilibili

阿隆MBD入门篇_合集_02_哔哩哔哩_bilibili

实战篇01视频观看链接如下:

阿隆MBD实战篇_01_VCU扭矩查表模块与CANoe联合仿真_哔哩哔哩_bilibili

提高篇视频观看链接

along-auto.com

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选项配置说明

速率转换模块的配置项说明,确保数据传输过程中的数据完整性和确保确定性数据传输选项,不同配置的选择。

转移处理选项

模块参数设置

  • 数据完整性
  • 确定性数据传输
  • 最大延迟

选择:

  • Ensure data integrity during data transfer
  • Ensure deterministic data transfer
  • 数据完整性
  • 不确定的数据传输
  • 最小延迟
  • 更高的内存要求

选择:

  • Ensure data integrity during data transfer

清除:

  • Ensure deterministic data transfer
  • 可能丢失数据完整性
  • 不确定的数据传输
  • 最小延迟
  • 更低的内存要求

清除:

  • Ensure data integrity during data transfer
  • Ensure deterministic data transfer

标签与模块的行为对应

标签

模块行为

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

无(错误)

关键注释

  • inTs, outTs:分别指输入和输出端口的采样时间
  • inTsOffset, outTsOffset:分别指输入和输出端口的采样时间偏移量
  • N:大于 1 的整数值

21.6 BusToVector

从这小节开始,剩下的模块在模型生成代码过程中都不是很常用。

Bus To Vector模块,将bus信号转换为数组/向量信号。转换的必须是Virtual Bus虚拟总线信号。

Bus转换成的数组。

数据类型不一致的时候,报错。

21.7 DataTypeConversionInherited

强制类型转换,使用其他输入信号的类型。不需要明确地在模块里指定数据类型,而是通过连接另一个信号来指定。

如图是使用constant的数据类型uint8,强制转换输入inport的uint32类型为uint8类型

uint16的258转换成uint8,超出uint8的范围,最后输出为2。

Simulink仿真模块 - Signal Conversion 目录 说明 实例 创建总线信号的连续副本 ​将虚拟总线转换为非虚拟总线​ 将非虚拟总线转换为虚拟总线 将Muxed信号转换为矢量 模块特性 Signal Conversion:将信号转换为新类型,而不改变信号值 在仿真库中的位置为: Simulink / Signal Attributes HDL Coder / Signal Attributes 模型为: 说明 Signal Conversion模块可将信号从一种类型转换为另一种类型。要选择要... 阅读详情

相关推荐

Simulink仿真模块 - Data Type Conversion

Data Type Conversion将输入信号转换为指定的数据类型 在仿真库中的位置为: Simulink / 常用模块 Simulink / Signal Attributes 模型为: 说明 DataTypeConversion模块可将任何 Simulink®数据类型的输入信号转换为您指定的数据类型。 注意 要通过指定模块参数来控制输出数据类型,或者要从下游模块继承数据类型,使用DataTypeConversion模块。要...

jk_101的博客 2519

simulink模块之signal conversion

属于signal attributes下可以设置三种输出类型 信号副本 理解成copy 内存拷贝虚拟总线 virtual bus 理解成struct*非虚拟总线 nonvirtual bus理解成struct。

zhengyawen666的博客 1323

Simulink仿真模块 - Rate Transition

Rate Transition处理以不同速率运行的模块之间的数据传输 在仿真库中的位置为:Simulink / Signal Attributes 说明 RateTransition模块可将数据从按某速率运行的模块的输出端口传输到另一个按不同速率运行的模块的输入端口。可以使用模块参数在数据完整性与确定性传输之间进行取舍,以实现更快的响应速度或者更低的内存要求。有关数据完整性和确定性数据传输的信息,可以参考数据传输问题。 转移处理选项 转移处理选项 模块参数设置 ...

jk_101的博客 4316

模拟信号转换器模块

模拟信号与数字信号的区别   (1)模拟信号与数字信号   不同的数据必须转换为相应的信号才能进行传输:模拟数据一般采用模拟信号(Analog Signal),例如用一系列连续变化的电磁波(如无线电与电视广播中的电磁波),或电压信号(如电话传输中的音频电压信号)来表示;数字数据则采用数字信号(Digital Signal),例如用一系列断续变化的电压脉冲(如我们可用恒定的正电压表示二进制数1,用恒定的负电压表示二进制数0),或光脉冲来表示。 当模拟信号采用连续变化的电磁波来表示时,电磁波本身既是信号载体,同

duxi222333的博客 843

Simulink仿真模块 - Bus to Vector

Bus to Vector:将虚拟总线转换为向量 在仿真库中的位置为: Simulink / Signal Attributes HDL Coder / Signal Attributes 模型为: 说明 Bus to Vector模块将虚拟总线转换为向量信号。输入总线必须由具有相同的数据类型、信号类型和采样模式的标量或一维、行或列向量组成。如果输入总线包含行向量或列向量,则将分别输出一个行向量或一个列向量。否则,输出是一维数组。 Bus to V...

jk_101的博客 1085

Simulink模块库概览——Matlab

其中,“In1”和“In2”表示输入信号端口,“Out1”表示输出信号端口,可以在模块参数中设置相应的运算方式。Signal Attributes模块库包含了多种信号属性模块,如单位增益和延迟等。其中,“In1”和“Out1”分别表示输入和输出信号端口,可以在模块参数中设置相应的属性。总之,Simulink模块库提供了丰富的模块选项,可以方便地搭建各种系统级模型。其中,“Out1”表示输出信号端口,可以在模块参数中设置输出信号的属性。其中,“In1”表示输入信号端口,可以在模块参数中设置输入信号的属性。

m0_47037246的博客 1566

Matlab simulink建模与仿真 第十二章(信号属性库)

(1)数据比例剥离模块的作用是将定点输入信号的缩放比例去掉,它将输入数据类型映射到有足够位数保存输入的最小内置数据类型(简单地说,如果输入的数据类型是浮点数,该模块将其转换为二进制表示形式,并将小数点去掉,得到所谓的“实际值”,这个“实际值”就是不考虑存储单元对应数据的数据类型,存储单元中的内容是什么,实际值就是什么),所存储的实际值就是该模块的输出值。如果该模块的采样时间不是“-1”(继承输入信号的采样时间),那么输入信号和输出信号的采样时间都要与该模块的采样时间相同。(可能会存在溢出和量化误差的情况)

Zevalin的博客 5359

CST 仿真_NFC仿真

在CST中实现NFC天线单体的仿真

qq_43706810的博客 3959

关于对Rate Transition模块的简要总结

最近学习多速率多任务建模,在这个过程中首先解决不同速率下的数据传递问题。故先对数据传递做一个简要的总结。由于水平有限,总结可能存在纰漏,欢迎探讨和指正。 Rate Transition的使用主要解决不同采样时间下,解决数据之间传递的问题。涉及数据传递的完整性和数据计算的确定性。 较快模块到较慢模块的数据转换 这里主要引起的潜在问题是较快模块的输出可能会在较慢模块完成计算其输出之前发生变化。这会导致...

qq_34191853的博客 2万+

飞牛NAS一键部署小雅Emby全家桶:解锁海量影音资源与智能刮削

本文详细介绍了如何在飞牛NAS上通过Docker一键部署小雅Emby全家桶,完美解决传统WebDAV挂载无法刮削元数据的问题。该方案整合了小雅Alist海量影音资源与Emby媒体服务器,通过预下载超百GB元数据包,自动实现海报、简介等信息的完美匹配,打造出精美的个人影音库。部署过程需准备阿里云盘令牌与充足存储空间,并详解了从环境配置、镜像拉取到最终验证的完整步骤及优化技巧。

weixin_28312391的博客 918

Ubuntu 22.04下Realtek R8125网卡驱动安装避坑指南(附DKMS自动编译配置)

本文详细介绍了在Ubuntu 22.04系统上为Realtek R8125 2.5GbE网卡安装驱动的完整流程与避坑指南。针对内核通用驱动r8169的冲突问题,重点讲解了如何通过DKMS(Dynamic Kernel Module Support)实现驱动的持久化自动编译与安装,确保系统内核升级后网卡驱动依然有效。内容包括环境准备、驱动源码获取、DKMS标准配置、驱动冲突解决(设置黑名单)以及日常维护与故障排查方法,旨在为用户提供一个一劳永逸的稳定解决方案。

echo99的专栏 1022

Simulink模块

Simulink模块

weixin_68820214的博客 1959

玩转Isaac Sim动态控制:从随机舞动到精准操控Franka的5种控制模式实测

本文深入实测了在NVIDIA Isaac Sim仿真平台中,利用Dynamic Control模块对Franka机械臂进行精准操控的五种核心模式:位置控制、单关节位置控制、速度控制、单关节速度控制和力矩控制。通过详细的代码示例和对比分析,阐述了每种模式的适用场景、参数调优技巧及从随机运动到闭环控制的实现路径,为机器人算法验证提供了实用指南。

night的博客 807

Simulink基础入门-Signal Attributes 信号属性

Signal Attributes 信号属性以Gain模块为例进行介绍。该模块应用与嵌入式设计,其设计要点:1.范围 :符合硬件范围2.精度:根据需求,选择合适的精度

weixin_38342580的博客 981

国内主流AI编程工具使用实例及总结

AI编程辅助工具是利用人工智能技术来帮助程序员进行软件开发的工具。它们可以在代码编写、代码审查、错误检测、代码优化等多个编程环节发挥作用,提高编程效率和代码质量。通义灵码,基于通义大模型的AI研发辅助工具,提供代码智能生成、研发智能问答、任务自主执行等能力,为开发者带来智能化研发体验,引领AI原生研发新范式。包含智能编码助手和AI程序员。

技术博客 1万+

Eplan2022 复制已有的宏文件生成新的原理图宏文件

Eplan2022 新建原理图宏文件

haier123888的博客 1万+

SIMULINK学习笔记

文章说明: 该文章主要是为了记录SIMULINK中各个模块的基本定义,基础功能描述以及功能实现的简单方块图搭建,做一个知识记录,也希望能给大家带来一点帮助 文章目录1. 简介2. 基础模块库1. Ground(接地模块)2. Terminator(终端模块)3.Constant(常数模块)4. Sum(加法运算模块)5. Product(乘法运算模块)6.Bus Creator(总线模块)7. Scope(示波器模块)8. Demux(分路器模块)9.开关模块10.Gain(增益模块)11. Relat.

weixin_45728705的博客 1万+

Qt入门教程【数据类型篇】数值类型

Qt中的数值类型

小鱼酱的博客 1万+

Simulink教程 - 第16章 | 信号属性模块

本文介绍了Simulink信号属性库中的关键模块及其应用。信号属性库分为操作库和检测库两大类,包含数据类型复制、传播、比例剥离/继承、初始条件、信号转换、传输率过渡和信号规则等模块。这些模块能有效管理信号的数据类型、采样时间、维度等属性,确保模型中的信号传递准确无误。特别说明了多速率系统中的传输率过渡模块使用方法,以及信号规范检查模块的功能。这些工具为复杂Simulink模型的信号管理提供了完整解决方案。

成大事的博客 1123

R数据分析:潜在转化分析LTA的做法和解释(一)

之前给大家写了很多潜在类别分析的教程Mplus教程:如何做潜在类别分析LCAR数据分析:用R语言做潜类别分析LCAMplus数据分析:潜在类别分析(LCA)流程(详细版)R数据分析:再写潜在类别分析LCA的做法与解释,今天继续给大家拓展一步。 今天要介绍的就是潜在转换分析,这个东西就是LCA的纵向版本。是一个专门用来研究质变的统计技巧。有一句话叫做量变起质变,你怎么知道质变到底发生没有?就用潜在转换分析。 Latent transition analysis is an extension of...

Codewar的博客 7701

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Simulink信号转换模块:从虚拟总线到内存副本的工程实践解析

本文深度解析Simulink中Signal Conversion模块的核心作用与工程实践,重点探讨信号副本、虚拟总线和非虚拟总线三种转换模式。通过实际案例展示如何解决信号别名问题、优化内存管理,并实现与外部C代码的无缝对接,提升模型开发效率和系统可靠性。

o5p6q的博客 183

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

DataType vs ContentType in jquery ajax [duplicate] 数据类型

一个是向服务器上上传的格式,一个是从服务器上下载过来的数据格式  (ps:正好理解反了,)   What is the purpose of both in client side request and Server side response ? dataType: the type of data that you're expecting back from the ser

softuse的博客 729

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Autosar PRport 在Simulink中的使用

在之前使用Simulink开发Autosar模型时,大部分使用的RTE接口都是Sender or Receiver接口。但如果是对于那些具有存储需求的接口来说,一个sender接口需要有另外一个receiver接口来对应,会导致接口数量增加。其实,在Autosar定义中有这种需求的对应处理,即定义为PR-ports(Provide Require Ports需求提供端口)。本文介绍Simulink中定义该类型的接口及使用。使用PR-port不会减少应用层的输入输出端口个数,只是减少了一个RTE Port。

赞的博客 1729

simulink 常用模块

改为除号为先×,乘完后取反。

qq_41694204的博客 1万+

matlab 全局符号变量,优化全局变量使用 - MATLAB & Simulink Example - MathWorks 中国

示例模型在模型 matlab:rtwdemo_optimize_global_ebf 中,Assignment 模块将来自 Inport 模块和 Constant 模块的值赋给输出信号。输出信号馈入 Gain 模块中。model = 'rtwdemo_optimize_global_ebf';load_system('rtwdemo_optimize_global_ebf')生成代码但不进行优化在...

weixin_29735819的博客 796

matlab 合成信号,合成信号 - MATLAB & Simulink - MathWorks 中国

总线基础知识将信号组合为虚拟总线,这只会影响视觉外观。Display information about buses, such as signal hierarchy and whether the busis virtual or nonvirtual.Identify the blocks that support virtual buses, nonvirtual buses, and a...

weixin_39522423的博客 201
上一篇: MBD_入门篇_20_Simulink子系统
下一篇: MBD_入门篇_22_SimulinkSignalRouting
阿隆汽车
博客等级 码龄3年 3129粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值