Matlab simulink建模与仿真 第十三章(信号通路库)

news2024/11/23 15:52:34

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili

一、信号通路库中的模块概览

1、信号通路组

        注:部分模块在第二章中有介绍,本章不再赘述。

2、信号存储和访问组

二、总线分配模块

        Bus Assignment模块接受总线作为输入,并允许为总线中的某些信号分配新的信号值,其中该模块的Bus端口接收总线信号,而其它端口则是输入替换Bus端口总线信号的信号。

        双击Bus Assignment模块,左侧列表框显示输入总线中的信号(Bus端口的所有输入信号),可使用“Select>>”按钮选择要被替换的信号,右侧列表框显示所选信号。

        可使用“Up”、“Down”或“Remove”按钮重新排列选择的信号。当模块的配置或者输入输出等有修改时,建议都点击“Refresh”按钮刷新一下。

        如果右侧列表的某个信号前面显示三个“?”,说明该信号没有与左侧列表框中的任一信号对应,这样是不对的。

        选好需要替换的信号后,该模块会相应地为每个被替换信号提供替换信号输入端口(比如原本总线中有两个信号需要被替换,那么该模块将相应地为这两个信号提供两个输入端口,这两个端口输入的信号分别替换原本总线中的两个信号)。

三、选择器模块、下标向量模块

1、Selector选择器模块

(1)该模块可以选择或重新排列多维输入信号的指定元素,首先需要配置该模块输入信号的维度。

(2)每个元素的索引可由输入端口或模块配置对话框确定,程序员可以使用“Index mode”参数为每个维度选择索引方法(基于0和基于1的区别在第八章中有介绍,这里不再赘述)。

(3)下标的选择方式也不止一种,可以选择在对话框中配置或者从外部输入,可以对某一维度直接全选,也可以用向量的形式选择某维度中的某几个下标(如下图所示),亦或者可以只配置起始下标,那么某维度中该下标之后的所有元素也会被选中。

2、Index Vector下标向量模块

(1)该模块的作用和Switch模块类似,不过不同的是,该模块有多个输入分支(以下称为“数据端口”),模块连通哪个数据端口至输出,取决于第一个端口(以下称为“编号输入端口”)的输入值,模块根据该值选择具有相应编号的数据端口连通至输出端口。数据端口的排序有三种方式,第一种是基于0连续(Zero-based contiguous)——数据端口从上往下的编号从0开始递增,第二种是基于1连续(One-based contiguous)——数据端口从上往下的编号从1开始递增,第三种是指定编号(Specify indices)——数据端口从上往下的编号取决于Data port indices配置的编号序列(此种编号方法中一个数据端口可以有多个编号,可用向量表示一个数据端口所拥有的编号)。

(2)当编号输入端口输入的编号无法选择任一数据端口时(即编号输入端口输入的编号不在数据端口的编号集中),该模块需要选择一个默认数据端口连通至输出端口,具体有两种选择方式,第一种是默认选择最下面的一个数据端口(Last data port),第二种是另开一个默认数据端口(Additional data port),如果发生数据端口编号集中没有输入端口输入编号的情况,那么就将该端口连通至输出。

(3)使用默认端口的前提是将对默认情况的诊断(Diagnostic for default case)配置为None或者Warning,否则如果配置为Error,如果发生数据端口编号集中没有输入端口输入编号的情况将会报错。

(4)编号输入端口可以输入多个编号,相应地,也会有同等数量的输出,与输入的编号一一对应。

四、合并模块

        Merge模块的作用是将多个输入信号合并为单一输出信号,输入信号一般都来自其它子系统的输出(比如If Action子系统),该模块的初始输出值由“Initial output”参数指定,如果“Initial output”为空,则Merge模块将输出其中一个子系统的初始输出。

        该模块与Bus Creator总线模块有很大区别,它并不是将输入信号全部揉在一根信号线上进行输出,对于没有使能的子系统,它们自然不会有输出,也就不会有任何信号,而Merge模块的作用则是在众多输入端口中选择信号将其输出,这样,多个子系统的输出就可以通过Merge模块直接合并,而不用做非常复杂的逻辑仲裁(不借助Merge模块,多个子系统的输出是不能直接连在一起的)。

        下例中的使能子系统,输入与输出之间直接用一根普通信号线相连,没有其它处理,整个模型实现的是一个半波整流的功能。

五、环境控制、手动开关模块

1、Environment Controller环境控制模块

(1)环境控制模块有两个输入端口,在仿真环境下该模块的输入连通Sim端口,在编译环境下该模块连通Coder端口。

(2)环境控制模块两个端口的输入信号的宽度必须相同。

2、Manual Switch手动开关模块

(1)该模块实现的是一个单刀双掷开关,将该模块添加到模型文件中后,双击该模块即可切换单刀开关的通路。

(2)手动开关制模块两个端口的输入信号的宽度必须相同。

六、多端口开关模块

        Multiport Switch模块的作用以及使用方法和Index Vector模块基本完全一样,这里不再赘述。

七、goto from及goto tag模块

1、goto模块和from模块

(1)goto模块和from模块需要成对使用,具有相同标签goto模块和from模块构成一对(具有相同标签的goto模块在其可见范围内只能有一个,而from模块可以有很多个,为方便起见,这里仅以一个from模块为例),goto模块接收一条信号线上传输的信号,并将该信号传递至与其同标签的from模块。

(2)上面提到的“可见范围”其实就是goto模块能将信号传递出去的范围,比如只能在当前非虚拟子系统中传递(local)(除非goto模块连接条件执行子系统的状态端口,而from模块在其它条件执行子系统中,这样二者也能互相可见),或者是在整个模型文件中传递(global),或者把可见范围限定在一定区域内(scoped)。

2、Goto Tag Visibility模块

        如果goto模块的可见范围为scoped,那么需要在当前子系统中添加具有同名标签的Goto Tag Visibility模块,这样goto模块的输入才能传递到from模块,这个from模块可以在当前子系统中,也可以在当前子系统的子系统中。

八、信号存储和访问组

1、Data Store Memory数据存储记忆模块

(1)该模块用于定义(或者说划分)供数据存储读取和数据存储写入模块使用的内存区域,这个区域有一个名字Data store name,该内存区域中可以有若干个元素。

(2)当前(子)系统级或更低级别的所有Data store name与某数据存储区名称相同的读取和写入模块都可以从该数据存储区读取或写入数据。

(3)如果出现不同级别子系统中定义了相同名称数据存储区域的情况,则按照向上就近原则,低级别的数据存储读取和数据存储写入模块只能访问到在系统层级上离它们最近的数据存储区域。

(4)可为数据存储区域设定初始值,这个值可以是一个标量,也可以是一个向量甚至是矩阵,当初始值是向量或者矩阵时,意味着该存储区域内有大于1个的元素存储。

2、Data Store Read数据存储读取模块

(1)该模块可以从指定的数据存储区域中读取数值并输出之,这个数据存储区域由数据存储记忆模块划分。

(2)使用“元素选择”选项卡可以选择要读取的特定元素,如果不选择任何元素,则会直接读取整个内存区域(选择了多少个元素,或者说选择了多少个子矩阵,就有多少个输出端口,它们是一一对应的;无论如何至少有一个输出端口)。

3、Data Store Write数据存储写入模块

(1)该模块可将输入信号的值写入指定的数据存储区域,这个数据存储区域由数据存储记忆模块划分(写入操作可重复执行,每写入一次就会覆盖上一次写入的数据)。

(2)使用“元素赋值”选项卡可为特定元素赋值,如果不选择任何元素,则直接对整个内存区域执行写入操作(选择了多少个元素,或者说选择了多少个子矩阵,就有多少个输入端口,它们是一一对应的;无论如何至少有一个输入端口)。

4、使用示例

(1)该例中有两个数据存储区,分别为lpfilter和hpfilter,它们均处于最高级别的系统中,它们的存储结构均为一个2×2矩阵,也就是含4个元素。

(2)Tapped Delay模块仅用于将1个信号变成4个信号,然后拼成一维向量输出,在本例中其主要作用并不是延迟;Reshape模块用于将含4个元素的一维向量转化为2×2矩阵,这样才对得上数据存储写入模块中的元素列表(Subsystem2中数据存储写入模块的指定元素选择整个矩阵,如上图所示,而Subsystem1中数据存储写入模块没有选择指定元素,则默认选择整个存储区,所以也需要转成2×2矩阵)。

(3)最高级别系统中数据存储读取模块的指定元素列表选择了存储矩阵中的其中两个元素进行输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2137259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python之NumPy超详细学习指南:从入门到精通(上篇)

文章目录 Python NumPy学习指南:从入门到精通第一部分:NumPy简介与安装1. 什么是NumPy?2. 安装NumPy使用pip安装:使用Anaconda安装: 第二部分:NumPy数组基础1. NumPy数组的创建从列表创建一维数组&#xff…

Proxyless Service Mesh:下一代微服务架构体系

一、项目背景及意义 在当今的微服务架构中,应用程序通常被拆分成多个独立的服务,这些服务通过网络进行通信。这种架构的优势在于可以提高系统的可扩展性和灵活性,但也带来了新的挑战,比如: 服务间通信的复杂性&#…

Cisco Modeling Labs (CML) 2.7.2 发布下载,新增功能概览

Cisco Modeling Labs (CML) 2.7.2 - 网络仿真工具 思科建模实验室 (CML) 请访问原文链接:https://sysin.org/blog/cisco-modeling-labs-2/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Cisco Modeling Labs 是我…

Geneformer中文教程(2).huggingface transformers

Geneformer基于hugging face的transformers实现,具体模型是BertForSequenceClassification,本篇先熟悉该模型。 首先直观看Geneformer的模型架构,基于BERT构建一个文本分类模型,我们直接从预训练的Geneformer加载BERT&#xff0c…

Linux相关:在阿里云下载centos系统镜像

文章目录 1、镜像站2、下载方式一2.1、第一步打开镜像站地址2.2 下载地址: https://mirrors.aliyun.com/centos/2.3、选择7版本2.4、镜像文件在isos文件夹中2.5、选择合适的版本 3、下载镜像快捷方式 1、镜像站 阿里云镜像站地址 2、下载方式一 2.1、第一步打开镜像站地址 2…

第二十五章 添加数字签名

文章目录 第二十五章 添加数字签名数字签名概述添加数字签名 第二十五章 添加数字签名 本主题介绍如何向 IRIS Web 服务和 Web 客户端发送的 SOAP 消息添加数字签名。 通常,会同时执行加密和签名。为简单起见,本主题仅介绍签名。有关结合加密和签名的信…

4K投影仪选购全攻略:全玻璃镜头的当贝F6,画面细节纤毫毕现

在当今的投影市场上,4K投影仪已经成了主流产品,越来越多家庭开始关注如何选择一款性价比高、口碑好的4K投影仪。4K投影仪其实指的是具备3840*2160像素分辨率投影仪,它能够提供更清晰、更细腻、更真实的画面效果。 那么4K投影仪该怎么选&…

【Qt界面优化】—— QSS 的介绍

目录 (一)背景介绍 (二)基本语法 (三)QSS设置方式 3.1 指定控件样式设置 3.2 全局样式设置 3.3 使用Qt Designer编辑样式 (四)选择器 4.1 选择器概况 4.2 子控件选择器(…

石英砂酸洗废酸处理

石英砂酸洗废酸处理是一个复杂而精细的过程,旨在将酸洗过程中产生的废酸中的有害物质去除,使其达到环保排放标准或实现资源化利用。以下是对该处理工艺方法的详细阐述: 一、废酸收集与调节 废酸收集:首先,将酸洗石英砂…

10年Python程序员教你多平台采集10万+电商数据【附实例】

10万级电商数据采集需要注意什么? 在进行10万级电商数据采集时,有许多关键因素需要注意: 1. 采集平台覆盖:确保可以覆盖主流的电商平台,如淘宝、天猫、京东、拼多多等。 2. 数据字段覆盖:检查是否可以对平…

Java多线程面试精讲:源于技术书籍的深度解读

写在前面 ⭐️在无数次的复习巩固中,我逐渐意识到一个问题:面对同样的面试题目,不同的资料来源往往给出了五花八门的解释,这不仅增加了学习的难度,还容易导致概念上的混淆。特别是当这些信息来自不同博主的文章或是视…

JDBC初相识

文章目录 JDBC的由来JDBC的好处 JDBC核心API的介绍JDBC会用到的包JDBC四个核心对象JDBC访问数据库的步骤 客户端操作MySQL数据库的方式 使用第三方客户端来访问MySQL:SQLyog、Navicat 使用MySQL自带的命令行方式 通过Java来访问MySQL数据库,今天要学习…

HighCharts图表自动化简介

什么是分析数据? 在任何应用程序中捕获并以图形或图表形式显示的分析数据是任何产品或系统的关键部分,因为它提供了对实时数据的洞察。 验证此类分析数据非常重要,因为不准确的数据可能会在报告中产生问题,并可能影响应用程序/系统的其他相关领域。 什么是HighChart? …

Spring IOC的应用

目录 一、IOC基础 1、maven导入spring的 jar包 和 单测包 2、bean的配置 2.1 纯xml模式 2.1.1 xml文件头 2.1.2 实例化Bean的三种方式 2.1.3 Bean的生命周期 2.1.4 Bean标签属性 2.1.5 DI依赖注入的xml配置 2.1.5.1 构造函数注入 2.1.5.2 set方法注入 2.1.5.3 复杂数据类型注入…

纯血鸿蒙NEXT常用的几个官方网站

一、官方文档 https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/Readme-CN.md刚入门查看最多的就是UI开发模块,首先要熟悉组件使用 二、官方API参考 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/development-i…

Python数据分析 Pandas库-初步认识

Python数据分析 Pandas库-初步认识 认识Pandas ​ pandas是一个非常实用的Python工具,我们可以把它想象成一个超级强大的表格处理工具,它比Excel更智能,操作更为简单。pands可以从各种文件格式(CSV、JSON、SQL、Excel&#xff0…

同时拥有独显和核显,怎么让应用程序选择使用哪个GPU?

看你现在使用的是核显还是独显 勾选上GPU引擎选项,后面便会标识你所使用的是哪种显卡,如果是独立显卡,就可以免去后续的操作;如果不是,那么请继续接下来的操作。 将你需要使用独显的程序换成gpu1(独显&am…

『功能项目』怪物的有限状态机【42】

本章项目成果展示 我们打开上一篇41项目优化 - 框架加载资源的项目, 本章要做的事情是按照框架的思想构建项目并完成怪物的自动巡逻状态,当主角靠近怪物时,怪物会朝向主角释放技能 首先新建脚本:BossCtrl.cs (通常把xxxCtrl.cs脚…

【Unity】Unity Shader样例:顶点根据时间放大缩小

文章目录 案例说明效果展示适用模型范围代码示例 案例说明 本案例提供一个单独的Shader,使得模型顶点(仅渲染)根据时间放大缩小,往复循环。 效果展示 适用模型范围 全部 代码示例 Shader "Unlit/Sha_TestScale" {P…

Multiscale Vision Transformers(MViT)

Multiscale Vision Transformers 多尺度视觉Transformer (MViT) 是一种新型的视觉识别模型,主要用于处理图像和视频。它结合了传统多尺度特征层次结构与Transformer模型的优势,旨在提高视频和图像的识别性能。 1. 多尺度视觉Transformer (MViT) 的概念…