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

AI 技术新手入门与实战指南

仅仅能对话还不够,实际应用中,我们往往需要让 AI 处理特定的业务数据。比如,从日志文件中提取错误码,或者将非结构化的用户反馈整理成 JSON 格式。这时候,自定义输入和严格的结果验证就显得尤为重要。假设我们需要让 AI 分析一段服务器日志,并只返回错误的级别和简述。请分析以下日志片段,提取所有 ERROR 级别的信息。要求输出格式为 JSON 列表,包含 'timestamp' 和 'message' 两个字段。不要输出任何多余的解释文字。日志内容: {

2600_94936330的博客 2680

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

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

qq_34191853的博客 2万+

洛谷 P5736 【深基7.例2】质数筛

题目描述 输入 n(n\le100)n(n≤100) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 无 输出格式 无 输入输出样例 输入 #1 复制 5 3 4 5 6 7 输出 #1 复制 3 5 7 板子题,使用一下线性筛 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using n

qq_37978559的博客 1117

手把手教你用gym训练宇树GO2机器人模型(附完整配置文件)

本文提供了一份详细的实战指南,教你如何使用Gym框架为宇树GO2四足机器人搭建强化学习训练环境。文章深入解析了环境配置、参数调试、奖励函数设置等关键步骤,并分享了避开常见陷阱的经验,旨在帮助开发者高效完成模型训练。

oo7890的博客 321

Simulink模块

Simulink模块

weixin_68820214的博客 1959

电磁波成像技术全解析:从γ射线到无线电波的应用实践

本文全面解析电磁波成像技术,从γ射线到无线电波的应用实践。详细介绍了不同波长电磁波的特性与实用场景,包括医疗影像、工业检测、安防监控等领域。特别探讨了X射线、红外热成像、毫米波雷达等前沿技术的实战应用,为读者提供技术选型指南和操作技巧。

weixin_29305337的博客 292

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

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

weixin_38342580的博客 981

29、固态变压器拓扑、设计及其应用深度解析

本文深入解析了固态变压器(SST)的拓扑结构、设计方法及其在智能电网和能源互联网中的应用。重点探讨了机器学习在SST优化设计中的应用,包括中高频变压器设计、整体系统优化与建模研究。文章详细介绍了多端口SST的拓扑特点、功率传输机制及其作为能源路由器的关键作用,分析了不同端口数量下的控制复杂度与应用场景,并通过案例研究展示了四端口SST在分布式能源系统中的实际应用。最后,文章总结了多端口SST面临的技术挑战,并展望了未来在先进控制策略、集成化设计和标准化方面的发展方向。

study的专栏 3790

在Allegro设计界面中如何修改封装焊盘

在高密度板的情况下,SUIPLA(支持内层没有的焊盘摘掉)打勾,在高密度板的情况下,内层没有的焊盘摘掉可以增加走线的空间。3、修改完焊盘后,选择File→Update to Design(更新到设计)。然后关闭焊盘修改对话框即可。,将会定期不定期更新技术文章,互相学习交流。或者点击Options选项卡下要修改的焊盘,然后点击Edit修改。在Allegro PCB设计界面中修改封装焊盘的方法。2、然后点击封装上要修改的焊盘,右击选择Edit。修改完成后如下图所示。

bhxc809751502的博客 7806

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万+

AutosarMCAL开发——基于EB MCU驱动

本文为博主个人学习总结记录,如有不正,欢迎指正。

qq_45583706的博客 920

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

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

成大事的博客 1123

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 849

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

o5p6q的博客 183

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

android 蓝牙通讯demo

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

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、付费专栏及课程。

余额充值