1、1-D Lookup Table 模块

1-D Lookup Table 模块是最简单的查表模块

所谓查表,就是说目标为一个填满数据的表格或向量(1维)或矩阵(多维),根据对应维数的输人能够在表中定位一个对应的输出。家电和汽车电子相关的嵌入式算法设计常常使用查表方法来提高应用层算法的计算效率。比如在交流电机调速控制时需要计算正弦余弦值,如果在嵌入式芯片紧张的资源里使用泰勒级数计算正余弦值,执行效率肯定会让人大跌眼镜。但是,如果事先将正弦函数在一个周期的输入按照一定的采样间隔离散化,并将其对应的数值事先计算好,将二者共同构成一个一维查找表,存储在ROM中(生成代码时通常使用Simu-link.Parameters对象定义查找表的Breakpoints和 Table值),每次嵌入式计算中需要调用正弦函数时直接根据输入换算到一个周期内,然后再去查表计算,效率就会得到显著提升。这种优势在 Simulink仿真以及针对嵌入式的代码生成中均得到体现。

双击模块图标打开参数对话框,该模块有3个页面,分别是Table and Breakpoints 、Algorithm和 DataType。Table and Breakpoints用于设置查找表维数﹑每个维数的输入及查找表的定义,

Number of table dimensions:设置查找表维数,1-D Lookup Tables默认是一维查找表,可以通过下拉框选择1~4的维数,或者直接在下拉框中输入1~30的维数。输入后自动生成与维数相同的 Breakpoints编辑框。

Table data:查找表的数值。

Breakpoints 1:查找表第一维输入向量,必须按照从小到大严格单调递增,否则仿真时报错。Edit table and breakpoints:按下此按钮可以将查找表输入及内容在弹出的表格里编辑。可对单元格内容进行选择性编辑,通过最下面的转置对话框(Transpose display)可以选择向量的显示方式

Linear——线性插值法。

Cubic spline——三次样条插值方法。

Extrapolation method内插算法提供了3个选项:Clip、 Linear和 Cubic spline。Clip-—Clip插值,使用breakpoint端点值。

Cubic spline——三次样条插值方法。

Algorithm其余参数及Data Type页面的参数使用频率较低,读者使用时参考Help文档。查表模块默认给出一个11个采样点组成的正切函数查找表。笔者举例说明如何创建并使用长度为256的正弦查找表。因为正弦函数是周期函数,只取一个周期进行离散化处理即可,当模块输入超出0~2x时进行周期取余( mod运算),转换为0~2T 内的输人。使用MATLAB内建函数linspace将0~2n等间隔采样256个点,再调用sin函数求得这些采样点的正弦函数值。

双击1-D Lookup Table,分别填入下列:

建立仿真模型,通过Clock模块产生时间信号,与2t做mod运算,保证mod模块输出在0~2T之间,然后在输入到1-D Lookup Table中进行查表运算。仿真模型和结果图像如下:

1-D Lookup Table模块的Number of Table Dimensions修改为2即可得到了2-D Look-up Table模块,修改为其他正整数n则可以变为n-D Lookup Table模块,使用方法相同。

Matlab/Simulink中查表函数的应用相关推荐

  1. MATLAB/Simulink中的S函数报错

    关于MATLAB/Simulink中的S函数报错: Output returned by S-function 'xxx' in 'xxx' during flag=3 call must be a ...

  2. matlab/simulink中自定义m-s函数作为simulink模块使用实例

    一般而言matlab/simulink能满足多数使用要求,但是往往在研究中会使用User-difinition s-function或者调用c,c++的库函数,这时候就需要matlab能进行c,c++ ...

  3. Matlab/Simulink中的S函数模块嵌入人工智能、神经网络算法设计仿真案例详解(以基于RBF神经网络算法的VSG转动惯量自调节为例)

    参考文献 An improved virtual synchronous generator power control strategy  Deep reinforcement learning b ...

  4. 在MATLAB中采用M文件实现对Simulink中的S函数程序实现自动调参数

    在做研究的时候我们经常需要对模型的参数就行相应的选择,然而有没有觉得每次更改一个参数都需要运行一次仿真程序觉得很无聊呀,运行完程序还要看效果怎么样,然后再根据效果来调整参数,再次运行程序,如此反复. ...

  5. Matlab simulink中找不到s函数

    Matlab simulink中找不到s函数 问题 Error in S-function 'benchmark/Bioreactor_4/Bioreactor_4': S-Function 'asm ...

  6. 伯德图 matlab,Matlab/Simulink中bode图的画法

    在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高.如何在Matlab/Simulin ...

  7. Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

    Matlab/Simulink中PMSM模型的反电动势系数和转矩系数 在PMSM仿真中常常会用到永磁磁链ψ\psiψ,但是电机的参数手册中却不会直接给出永磁磁链ψ\psiψ,给出的是反电动势系数Ke和 ...

  8. matlab三角波发生器精度改为定点型,关于matlab simulink中三角波模块的问题!

    问题描述: 关于matlab simulink中三角波模块的问题! 为什么我把时间参数换一下,产生的三角波会越来越乱,最后干脆不产生了? 1个回答 分类: 综合 2014-11-20 问题解答: 我来 ...

  9. Matlab/Simulink中信号线拉成斜线的方法

    Matlab/Simulink中模块间的信号线默认为水平或竖直的连接线,将其拉成斜线的方法为:按住Shift键再用鼠标在该线处单击一下,线的两端会出现折点圆圈,拖动该折点即可将直线改为斜线,如图所示:

最新文章

  1. 开发vs测试 | 每日趣闻
  2. 进程,线程与信息共享
  3. 将一张表的主键(ID)重置为从1开始自增排列
  4. 面向B端算法实时业务支撑的工程实践
  5. Java并发编程之ConcurrentLinkedQueue详解
  6. JAVA 支付宝退款接口
  7. lisp画表盘刻度线_Lisp-Stat翻译 —— 第九章 统计绘图窗体
  8. 今日新闻简报 精选简报12条 2月1日
  9. MIPI DSI之DBI DPI含义和区别(3-1)
  10. 用计算机视觉描述机器人,计算机视觉和机器人视觉概述
  11. 【图像分割】ExG超绿特征灰度化、二值化分割(Matlab及Python代码实现)
  12. 组策略学习-统一部署软件
  13. 区块链教程(2)——P2P交易原理
  14. 在office visio中插入用PS处理的照片,照片显示不出来/显示空白
  15. 用毕安格将投影坐标的3dmax模型转换为3dtiles
  16. 模电笔记 2理想运放电路
  17. PL/SQL(显示游标):查询部门为20的(所有员工信息)
  18. 搜狗高速浏览器2014 v5.0.0515 官方最新版
  19. 看片显示服务器不稳定,无限“看片”,资源随便下,这回爽了!
  20. 上海麦当劳1张偷拍照流出,戳穿残酷事实:醒醒,哪来的铁饭碗

热门文章

  1. 在线编辑软件之幕布与腾讯文档,语雀
  2. 员工管理书籍推荐,做好员工管理看这些书就够了
  3. 怎么能让win10电脑日历便签上显示二十四节气?
  4. dan.php,Belajar HTML, CSS dan PHP
  5. LINUX学习基础篇(二十二)硬盘结构
  6. 在远程调用别人接口的时候,传输参数一般都是String类型的字符串,改字符串可以是json格式的,也可以是xml格式的,那么问题来了
  7. Android第5天,httpclient,多线程断点续传,进度条,xUtils
  8. 15000个彩色小图标素材,含PNG/Ai/SVG多格式,设计师前端必备资源
  9. 通信资料之来电显示的原理与规格介绍
  10. 远程计算机怎么安装系统,装机高手教你怎样win7远程桌面连接设置