Simulink查表和延时模块介绍_第1页
Simulink查表和延时模块介绍_第2页
Simulink查表和延时模块介绍_第3页
Simulink查表和延时模块介绍_第4页
Simulink查表和延时模块介绍_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Simulink查表和延时模块介绍2018/05/20Simulink查表和延时模块介绍Simulink查表和延时模块介绍LookupTableDynamic:简介:模块使用xdat和ydat向量计算函数y=f(x)的近似值。查找方法可以使用内插、外插或原始输入值;支持以下数据类型:双精度|单精度|布尔|基整数|定点;xdat和ydat输入都必须提供1×n的向量,其中xdat必须严格单调递增;xdat和x输入、ydat和y输出必须具有相同的符号、偏差和小数斜率。此外,x的精度和范围必须大于或等于xdat的精度和范围。(偏差?小数斜率?ydat和y的关系?)模块输出通常设置为“通过反向传播继承”。ydat和y可以符号不同,查表结果可能溢出ydat和y可以类型范围不同,查表结果可能溢出输出类型选择“自动”时,会与ydat相同一、查表模块Simulink查表和延时模块介绍查表方法:动态表逼近模块的查表方法通常选用默认值“Interpolation-UseEndValues”;查表配合“舍入方式”和“溢出方式”获得预期结果。LookupMethod模块操作“Interpolation-Extrapolation”对输入执行线性内插和外插。如果输入与断点匹配,则输出表数据中的对应元素。如果输入与断点不匹配,模块将通过在表的两个元素之间执行线性内插来确定输出。如果输入不在断点值的范围内,模块将使用前两个或最后两个点进行外插。注意SimulinkCoder

软件无法为此模块生成代码。“Interpolation-UseEndValues”(默认值)执行线性内插,但不会在断点数据的端点外进行外插,而是会转而使用端点值。“UseInputNearest”查找

xdat

中最接近当前输入的元素,输出

ydat

中的对应元素。如果与左右两个xdat距离相同,使用较大一个。“UseInputBelow”查找

xdat

中最接近并且低于当前输入的元素。输出

ydat

中的对应元素。如果

xdat

中没有任何元素低于当前输入,模块将查找最接近的元素。“UseInputAbove”查找

xdat

中最接近并且高于当前输入的元素。输出

ydat

中的对应元素。如果

xdat

中没有任何元素高于当前输入,模块将查找最接近的元素。一、查表模块LookupTableDynamic:Simulink查表和延时模块介绍模块设置:查表方法通常不需要设置;舍入方式根据需要从列表中选择,默认为“Floor”;溢出方式通常保持默认状态。查表方法选择,通常使用默认设置(Interpolation-UseEndValues)勾选后,溢出结果变为该类型的最大值或最小值整数舍入模式说明Ceiling在正无穷的方向上舍入到最接近的可表示数字Convergent四舍五入,向偶数方向舍入,向负无穷方向舍入Floor在负无穷的方向上舍入到最接近的可表示数字Nearest四舍五入,向正无穷方向舍入(常用)Round向最接近的绝对值最大的可表示数舍入Simplest在Floor和Zero之间自动选择以生成尽可能高效的代码Zero向0方向进行舍入一、查表模块LookupTableDynamic:Simulink查表和延时模块介绍n-DLookupTable:

一、查表模块Simulink查表和延时模块介绍查表算法设置:插值方法和外插方法主要设置项插值方法说明Flat(平面)禁用插值,并使用名为“UseInputBelow”的舍入操作(参见LookupTableDynamic的查表方法)Nearest禁用内插,并返回与最接近输入的断点对应的表值。如果输入与两个相邻断点之间的距离相等,则选择索引值较大的断点Linear在相邻断点之间拟合一条线,并返回该线条上与输入对应的点Cubicspline(立方样条)在相邻断点之间拟合一条三次样条曲线,并返回该样条曲线上与输入对应的点外插方法说明Clip禁用外插,并返回与断点数据集范围的端点对应的表数据Linear如果插值方法为“Linear”,将在第一对断点间或最后一对断点间拟合一条线。如果插值方法为“Cubicspline”,将使用插值函数在第一个或最后一个断点处的斜率来拟合一个线性曲面。将返回生成的线性曲面上与输入对应的点。Cubicspline对第一对或最后一对断点拟合一条三次样条曲线,返回生成的线性曲面上与输入对应的点(插值方法必须也为Cubicspline)一、查表模块n-DLookupTable:Simulink查表和延时模块介绍查表算法设置:插值方法为“Linear”外插方法为“Clip”时出现“Uselasttablevalueforinputsatorabovelastbreakpoint”选项,当输入大于断点数据最后一个元素,选中该选项会使用断点数据的最后一个元素,不选择该选项会使用断点数据的倒数第二个元素并使间距为1。根据生成代码区别分析,两者结果相同。一、查表模块n-DLookupTable:Simulink查表和延时模块介绍查表算法设置:索引搜索方式设置用来根据断点集选择不同的搜索方式,以获得最佳查表速度或性能。包含Evenlyspacedpoints、Linearsearch和Binarysearch三种方式。一、查表模块n-DLookupTable:搜索方式说明Evenlyspacedpoints(均匀间隔点)对于平均分布的断点集,此方法可以获得最佳速度。此算法仅使用断点集的前两个断点来确定其余点的偏移量和间距。Linearsearch(线性搜索)对于非均匀分布的断点集,如果输入信号在时间步之间的变化不大,选择Linearsearch与Beginindexsearchusingpreviousindexresult可以获得最佳性能。Binarysearch(二进制搜索)如果输入信号在每个时间步中跳过的表间隔超过一个或两个,选择Binarysearch可以获得最佳性能。超出范围检测说明Simulink对输入超范围的诊断警报包括:None/Warning/Error三种生成代码移除范围检测(类型范围?断点集范围?)勾选可以提高查表效率;不勾选可以提高安全性勾选后仅有一个输入端口,需要宽度为N个元素的信号,对多维查表有效果,可以使模型线条减少更有条理。勾选后生成代码允许调整表大小而无需重新生成代码,参数个数需要使用单独参数定义。Simulink查表和延时模块介绍Discrete共包含22个查表模块,本次介绍其中的Delay、UnitDelay、EnabledDelay、Difference四个模块二、离散时间函数模块固定或可变采样周期延迟输入信号计算一个时间步内的信号变化计算离散时间导数构建无限冲激响应(IIR)滤波器模型构建FIR滤波器模型对连续或离散时间PID控制器进行仿真对连续或离散时间二自由度PID控制器进行仿真实现离散状态空间系统执行信号的离散时间积分或累积实现离散传递函数模型系统由离散传递函数的零点和极点定义带有外部使能的可变周期延迟实现一阶采样保持器输出上一个时间步的输入按可变采样周期延迟输入信号并用外部信号复位将标量信号延迟多个采样期间并输出所有延迟版本实现离散时间一阶传递函数实现离散时间前导或滞后补偿器实现具有实零和无极点的离散时间传递函数将信号延迟一个采样期间可变采样周期延迟输入信号实现一个采样期间的零阶保持Simulink查表和延时模块介绍Delay、UnitDelay、EnabledDelay功能对比:简介:UnitDelay将输入延迟一个运行周期后输出;Delay模块可以设置延时的周期数及延时期间的输出值;EnabledDelay在Delay的功能基础上增加使能信号,在非使能时间内保持状态;二、离散时间函数模块Simulink查表和延时模块介绍Delay:主要设置选项:包括数据设置、算法设置、控制使能设置、采样时间间隔设置;通常使用固定延迟长度和基于样本的输入处理;在延迟长度较大时可以选择环形缓冲区来存储状态。二、离散时间函数模块说明延时时间设置。直接在对话框中输入延迟长度(固定延迟),还是从输入端口继承(可变延迟),可变延迟时可设置最大限值。初始模块输出,支持定值和从端口输入。指定模块是执行基于样本还是基于帧的处理选择在仿真和代码生成时使用环形缓冲区来存储状态。在其他情况下,则使用数组缓冲区来存储状态。当延迟长度值很大时,使用环形缓冲区可以提高执行速度。延迟长度下限设置。如果选中此复选框,对于基于样本的信号,下限为1;对于基于帧的信号,下限为帧的长度。如果清除此复选框,则下限为零。选择此选项可删除用来检查超出范围的延迟长度的代码,牺牲一定的安全性提高代码效率。指定当输入d小于下限或大于Delaylength:Upperlimit时是否生成警告或错误。选择此选项以显示此模块的使能端口。此端口可以控制模块的执行。当此端口的输入非零时,模块被视为启用;当输入为0时,模块被视为禁用。输入的值在执行模块的同一时间步进行检查。指定用于将状态重置为初始条件的触发事件。Simulink查表和延时模块介绍Delay:环形缓冲区:数组缓冲每次挪动数组中所有数据,保证数组索引的第一个值为延迟后的数据;环形缓冲实用独立索引来标记数据头的位置,该位置即是延迟后的数据。二、离散时间函数模块环形缓冲区数据缓冲操作数组缓冲区数据缓冲操作取延迟后数据操作Simulink查表和延时模块介绍Delay:状态属性设置:设置状态名并将其关联到信号后,生成代码中的延迟缓冲数据名称使用设定名称;设置状态名但不将其关联到信号,状态名成为缓冲数据结构体的一个成员。二、离散时间函数模块Simulink查表和延时模块介绍Difference:简介:Difference模块输出当前输入值减去上一输入值的差值;从代码生成情况看,Difference实际在使用的是UnitDelay模块;二、离散时间函数模块Simulink查表和延时模块介绍Difference:主要设置:“Initialconditionforpreviousinput”为上一个输入设置初始条件;“Inputprocessing”指定模块是执行基于样本还是基于帧的处理:二、离散时间函数模块处理方式说明Elementsaschannels(samplebased)将输入信号的每个元素视为一个单独的通道(基于样本的处理)Columnsaschannels(framebased)将输入信号的每一列视为一个单独的通道(基于帧的处理)Inherited继承输入信号的处理模式并相应地延迟输入。可以通过观察信号线来确定输入信号是基于样本还是基于帧。Simulink用单线条表示基于样本的信号,用双线条表示基于帧的信号初始值为0和3的效果对比Simulink查表和延时模块介绍Difference:二、离散时间函数模块信号属性设置:设置输出类型;定点运算相关设置;溢出处理设置。说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论