Matlab simulink建模与仿真 第十三章(信号通路库)
参考视频: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)最高级别系统中数据存储读取模块的指定元素列表选择了存储矩阵中的其中两个元素进行输出。
相关文章:

Matlab simulink建模与仿真 第十三章(信号通路库)
参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号通路库中的模块概览 1、信号通路组 注:部分模块在第二章中有介绍,本章不再赘述。 2、信号存储和访问组 二、总线分配模块 Bus Assignment模块接受总线作为输入,并…...

Java中接口和抽象类的区别(语法层面的区别、设计理念层面的区别)
文章目录 1. 语法层面的区别1.1 成员属性1.2 成员方法1.3 关系 2. 设计理念层面的区别(重点)3. 举例理解抽象类和接口在设计理念层面的区别3.1 例一:门和警报3.2 例二:招聘3.3 例三:装修房子 4. 总结 1. 语法层面的区别…...

Leetcode面试经典150题-20.有效的括号
给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…...

Git常用指令大全详解
Git常用指令大全详解 Git,作为目前最流行的分布式版本控制系统,其强大的功能和灵活性为开发者提供了极大的便利。无论是个人项目还是团队协作,Git都扮演着不可或缺的角色。本文将详细总结Git的常用指令,帮助大家更好地掌握这一工…...

面试真题-TCP的三次握手
TCP的基础知识 TCP头部 面试题:TCP的头部是多大? TCP(传输控制协议)的头部通常是固定的20个字节长,但是根据TCP选项(Options)的不同,这个长度可以扩展。TCP头部包含了许多关键的字…...

LabVIEW多语言支持优化
遇到的LabVIEW多语言支持问题,特别是德文显示乱码以及系统区域设置导致的异常,可能是由编码问题或区域设置不匹配引起的。以下是一些可能的原因及解决方案: 问题原因: 编码问题:LabVIEW内部使用UTF-8编码,但…...
身份证阅读器API模式 VUE Dorado7
VUE 新框架 // 身份证扫描 readIdCard(type) {// 1.连接axios.get(http://localhost:19196/openDevice).then(res > {if (res.data.resultFlag 0) {// 2.读卡axios.get(http://localhost:19196/readCard).then((res) > {if (res.data.resultFlag 0) {// this.$message…...
北京通州自闭症学校推荐:打造和谐学习氛围,助力孩子成长
在北京通州,寻找一所能够全面关注自闭症儿童成长、提供高效康复服务的学校,星贝育园无疑是众多家庭的首选。作为全国知名的广泛性发育障碍全托寄宿制儿童康复训练机构,星贝育园以其专业的康复方法、强大的师资力量和贴心的服务,为…...

openstack之cinder介绍
概念 cinder 为虚拟机提供管理块存储服务。支持的文件系统:lvm、iscsi、nfs、san、RBD 组件构成及功能介绍 cinder api:在控制节点运行,管理服务的接口,被命令行、其他组件调用; cinder scheduler:类似n…...

第k个排列 - 华为OD统一考试(E卷)
2024华为OD机试(E卷D卷C卷)最新题库【超值优惠】Java/Python/C合集 题目描述 给定参数n,从1到n会有n个整数:1,2,3,.,n,这n个数字共有 n!种排列。按大小顺序升序列出所有排列情况,并-一标记,当n3时,所有排列…...

清理C盘缓存,电脑缓存清理怎么一键删除,操作简单的教程
清理C盘缓存是维护电脑性能、释放磁盘空间的重要步骤。以下是一个详细且操作简单的教程,旨在帮助用户通过一键或几步操作完成C盘缓存的清理。 1.使用Windows系统自带工具 磁盘清理 1.打开磁盘清理工具: -按下“WinE”打开文件资源管理器…...

网络安全-ssrf
目录 一、环境 二、漏洞讲解 三、靶场讲解 四、可利用协议 4.1 dict协议 4.2 file协议 4.3 gopher协议 五、看一道ctf题吧(长亭的比赛) 5.1环境 5.2开始测试 编辑 一、环境 pikachu,这里我直接docker拉取的,我只写原…...

c++刷题
17.电话号码的组合 来源于题解思路: 继承 CC14 KiKi设计类继承 #include <iostream> #include <memory> using namespace std; class Shape{ private:int x;int y; };class Rectangle:public Shape { public:Rectangle(int length,int width):Shape…...

艾丽卡的区块链英语小课堂
系列文章目录 复习昨日 文章目录 系列文章目录前言1.opaque2.deduplicates3.references4,intermix5.serializing6.streamline7.robust8.flexibility9.exotic10.nevertheless11. realize12.flavor13.subtract14.attach15.award 前言 欢迎来到艾丽卡的区块链英语小课堂&#x…...

计算机毕业设计 公寓出租系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

eclipse使用 笔记02
创建一个项目: 【File-->New-->Dynamic Web Project】 进入页面: Project name为项目命名 Target runtime:选择自己所对应的版本 finish创建成功: 创建成功后的删除操作: 创建前端界面: 【注意&a…...

基于C++实现(MFC)职工工作量统计系统
题目:职工工作量统计系统设计 1、问题描述 职工包括姓名、职工号、性别、年龄、所在部门、联系方式等信息。 工作量包括职工号、完成的产品数量等信息。 该设计系统能够对职工的工作量进行统计,并排出名次。注意,一个职工的工作量是可以多次…...
大家好,我叫Redis~
大家好,我是Redis!下面请通过我的故事来认识我吧。 1. 初次登场:为什么需要我 在“双十一”期间,商店被顾客挤得水泄不通,所有人都急着问:“这款商品还有库存吗?” 可怜的服务员(My…...

【鸿蒙】HarmonyOS NEXT星河入门到实战6-组件化开发-样式结构重用常见组件
目录 1、Swiper轮播组件 1.1 Swiper基本用法 1.2 Swiper的常见属性 1.3 Swiper的样式自定义 1.3.1 基本语法 1.3.2 案例小米有品 2、样式&结构重用 2.1 Extend:扩展组件(样式、事件) 2.2 Styles:抽取通用属性、事件 2.3 Builder:自定义构建函数(结构、样式、事…...

网络安全学习(五)Burpsuite
经过测试,发现BP需要指定的JAVA才能安装。 需要的软件已经放在我的阿里云盘。 (一)需要下载Java SE 17.0.12(LTS) Java Downloads | Oracle 1.2023版Burp Suite 完美的运行脚本的环境是Java17 2.Java8不支持 看一下是否安装成功,…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...