Simulink代码生成: 查表模块及其代码 |
您所在的位置:网站首页 › simulink定标 › Simulink代码生成: 查表模块及其代码 |
本文描述查表模块的建模并研究生成的代码。 文章目录 1 Simulink中的查表模块2 查表模块示例模型2.1 设置Table and Breakpoints2.2 设置Algorithm2.3 设置DataType2.4 简单仿真 3 代码生成4 总结 1 Simulink中的查表模块查表模块中定义了断点和查表值(都是数组)的对应关系,然后通过输入数值在断点中的位置,“查出”对应在查表值中的数值,然后输出。 查表模块是汽车软件开发中的一种常用的模块,因为在实际工作中,很多物理量之间的对应关系是难以用数学公式来表达的,但是可以通过实验测量出关系曲线,然后截取其中对应的坐标点。例如方向盘转角和车轮转角的对应关系、发动机特性曲线、制动踏板和制动主缸压力对应关系等,都可以用查表模块来处理。 下图中是1D查表模块,也就是通过一个断点数组查表得出数值。 本节研究1D查表模块的建模用法,更高维度的查表模块类似。 假如现在的目标是通过方向盘转角的输入查表得出左前轮转角的输出,那么应该做如下几步。 2.1 设置Table and Breakpoints在Table and Breakpoints选项卡中需要设置断点和查表值,这是对输入信号进行查表的依据。 然后把这两个参数写在查表模块里面。 接下来要设置插值算法,Algorithm选项卡如下: 内插表示输入值落在断点数组范围之内,此时可以用线性、就近原则等进行插值。这里用用线性的方式进行插值,也就是说在前后两个断点中间等比例地计算。 外插表示输入值落在断点数组范围之外,此时可以选用线性或者禁止外插改用端点的方式(Clip),这里用了Clip的方式,因为超出了边界后,数据就没有意义了,起到了一个防止溢出的效果。 查表模块涉及到很多变量的数据类型,包括输入输出、断点、中间值等,在DataType可以配置这些类型。 保存之前的设置,然后给模块一个输入,仿真得出输出如下。 以上就是上文配置的线性内插的过程。外插的方法比较简单,这里就不再描述。 3 代码生成将前文的模型替换成inport和ouport如下: look1_iflf_binlcapw内的实现,与上一节的分析过程相同。 本文研究了查表模块的使用和代码生成。该模块在汽车软件开发中是很常用的,很好的处理了很多非线性关系。 >>返回个人博客总目录 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |