前言
作者介绍
阿隆,深耕汽车控制器应用层开发多年,经历多家企业项目(包含多家中外头部企业),拥有多款控制器量产经验。主要技能包括应用层模型开发和c/c++代码编写,mil/sil测试,工具链开发,静态检查,BSW配置和手写,上位机开发等。
加V联系我:ALongAutom
使用介绍
MBD课程是阿隆从业多年后,在2022年的时候从0开始一点点录制的视频,一点点码字码出来的课程,现在分享给大家用来学习,如果对正在观看的你有帮助,可以帮忙推荐给身边的朋友,一起学习,也可以免费加入阿隆的技术交流群进行交流学习。
课程使用平台Matlab 2021b,建议初学者尽量使用同版本,避免出现版本差异带来的问题。等熟练掌握课程以后,再升级平台,出现版本差异的问题也知道该如何解决。
全网同名阿隆汽车,可以在其他平台搜索阿隆汽车找到阿隆,感谢观看。
入门篇视频是在Bilibili进行免费观看,链接如下:
实战篇01视频可以在Bilibili进行免费观看,链接如下:
阿隆MBD实战篇_01_VCU扭矩查表模块与CANoe联合仿真_哔哩哔哩_bilibili
提高篇视频观看链接
18.Simulink查表模块
18.1 概述
LookUpTable,查表模块。比较常用的模块,参数较多,会复杂一点,比较重要的模块,一定掌握。
18.2 n-DLookUpTable N维查表模块

18.2.1 查表原理
通过有限的数据去得出相关的结果。比如我们知道x1,x2,x3对应的y1,y2,y3值,通过这三组数据,可以线性地插值出其范围的其他数据。

18.2.2.1 维度设置
可以选择设置为1,2,3,4d查表。

18.2.2.2 Table和Breakpoint
最重要的输出和坐标轴对应的值。注意两个值一定是一一对应的关系,有多少个Table值,就要有多少个Breakpoint的值。
PS:BreakPoint数据一定是递增或者递减的,建议使用递增的。

18.2.3 查表算法
18.2.3.1 内插算法
| 插值算法 | 描述 | 图形 |
| Flat | 不插值,零阶保持 |
|
| Nearest | 最接近的值,取更接近的横轴的数据 |
|
| Liner point slope | 基于两点之间的斜率线性插值 |
|
| Liner Lagranfge | 线性拉格朗日插值方式 |
|
| Cubic Spline | 三次样条插值。比较费资源,仿真用效果非常好。但是生成代码消耗资源太多。 |
|
Flat

Flap蓝色,Nearest红色。

18.2.3.2 外插算法
| 插值算法 | 描述 |
| Clip | 截断,右边范围外按照Table最后一个值作为结果,左边范围外按照Table第一个值作为结果。 |
| Linear | 线性插值,右边范围外的按照最后两个值的斜率来计算,左边范围外的按照前两个值的斜率来计算。 |
| Cubic Spline | 三次样条插值。仅针对内插算法是三次样条插值。 |
18.2.3.3 Index查找算法
默认是Binary Search,二分查找,推荐使用此方法。查找效率比较高。
18.2.4 数据类型
Fraction分数或者小数部分的数据类型,推荐使用继承内部规则。分数就是我们要查的值的横坐标的值减去前面一个点的横坐标,占相邻两个点横坐标差的比。
Fraction = (x-x2)/(x3-x2).

推荐使用下面的数据类型设置。

18.3 2-DLookUpTable 2维查表模块
有两个Breakpoint,一个Table。

18.4 动态查表模块
实时设置Breakpoint和Table的值,使用起来比较灵活,但是要注意数据的正确性。

对比查表模块的输出结果。动态查表的精度无法接受。

本文详细介绍了Simulink中的LookUpTable和N-DLookUpTable模块,包括查表原理、维度设置、内插算法(如Flat、Nearest、Liner等)、外插算法、Index查找方法以及数据类型选择。特别关注了2维查表模块和动态查表的灵活性与精度问题。





4614

被折叠的 条评论
为什么被折叠?



