您现在的位置是:课程
Simulink模型的固定点化
2023-11-06 22:24课程 人已围观
Hyowinner孙忠潇老师拥有丰富的MATLAB/Simulink实战经验,在MATHWORKS官方中文论坛做超级版主期间,解答了数千个技术问题。并结合自身经验编写了《Simulink仿真及代码生成技术入门到精通》一书,深受读者好评。在作为汽车电子高级软件工程师从业期间,孙老师总结了多套提高工作效率的工作方法,特开设了此门课程,帮助软件工程师们提高工作效率。本课程主要解决下面这些情况下遇到的问题:
第1章 模型定点化 1、定点化概述
2、Simulink中表示固定点数与定标
3、浮点模型转定点模型的配置及仿真验证 定点模型仿真验证
4、浮点数固定点化时降低误差为零的手段。 讲解在不影响算法功能和效果的前提下,如何在浮点模型跟固定点模型转换过程中将Parameter的误差降低为0. 此方法同样适用于输入信号源的数值转换。
5、使用Fixed Point Tool自动定点化模型数据类型,并通过与浮点模型的仿真对比确认有效及高效性。
通过实例讲解模型miss matched datatype问题产生的原因以及解决办法。考虑了模型的可移植性和可读性,建议计算模块的数据类型都设置规则使之自适应变换,而不是指定为具体的数据类型。
2、通过数据对象约束模块端口数据类型
固定点建模的时候,需要根据需要进行数据对象的建立和到信号线的绑定。绑定信号线的三个好处:1.方便生成a2l文件,进行测量和标定。2.优化代码生成风格。3. 约束信号线前后模块的数据类型。当不得不设置某个模块的输出端口数据类型时,为了保证自适应性,可以尝试绑定一个数据对象。
3、LookUp Table在固定点建模时的使用方法,容易出现的错误和原因详解,以及解决方法。
4、数据类型自动推荐方法
固定点建模时,标定量信号量所使用自动推荐数据类型工具设计原理与讲解。
5、通过计算模块的输出端口继承关系约束数据类型到32位之内
固定点模型中连续乘法计算在所难免,固定点数类型也会被累加变长,甚至超过32bit。为了约束数据长度不超过32bit,并且不想通过数据对象绑定来约束的话,可以通过多个计算模块的继承关系组合来实现数据类型长度的约束。在给定变量scope的前提下,保证各个环节的数据类型约束不会发生Overflow。
6、标定量初始值量化后错误的问题
当标定量的初始值跟其上下限的一个相同,并且使用的fixdt数据类型无法精确表达这个值得时候,就会自动量化为误差最小的一个值。这个时候就有可能出现量化后的值超出上下限范围的情况。本节课讲解此种情况出现的原因,并提供解决办法。
7、模型中使用MATLAB Function实现矩阵求逆定点运算
MATLAB自带的inv()函数并不支持定点运算,需要根据矩阵求逆的原理,求出矩阵行列式和伴随矩阵之后,得到逆矩阵。MATLAB Function中如何使用定点化设置端口,定点变量乘除法如何保证结果在32位字长之内,如何保证精度不丢失,本节课将会教会大家。
第1章 模型定点化
1、定点化概述
对于一些MCU/DSP处理器而言,支持 8/16/32 位的整型数;对于一些昂贵的MCU来说,可以直接进行浮点数计算。但在许多情况下,为了量产的成本能够有足够竞争力,不得不采用固定点微控制器。但是控制算法的数学运算过程中的数却难免需要浮点数。那么,如何处理小数的呢?应该说,固定点处理器本身无能为力。 那么是不是就不能处理各种小数呢?当然不是。 Hyowinner校长带你学习如何使用固定点MCU表示浮点数并进行运算,最终应用到建模和定标之中。
2、Simulink中表示固定点数与定标3、浮点模型转定点模型的配置及仿真验证 定点模型仿真验证
4、浮点数固定点化时降低误差为零的手段。 讲解在不影响算法功能和效果的前提下,如何在浮点模型跟固定点模型转换过程中将Parameter的误差降低为0. 此方法同样适用于输入信号源的数值转换。
5、使用Fixed Point Tool自动定点化模型数据类型,并通过与浮点模型的仿真对比确认有效及高效性。
第2章 实战讲演
1、数据类型不匹配问题出现的原因及解决办法通过实例讲解模型miss matched datatype问题产生的原因以及解决办法。考虑了模型的可移植性和可读性,建议计算模块的数据类型都设置规则使之自适应变换,而不是指定为具体的数据类型。
2、通过数据对象约束模块端口数据类型
固定点建模的时候,需要根据需要进行数据对象的建立和到信号线的绑定。绑定信号线的三个好处:1.方便生成a2l文件,进行测量和标定。2.优化代码生成风格。3. 约束信号线前后模块的数据类型。当不得不设置某个模块的输出端口数据类型时,为了保证自适应性,可以尝试绑定一个数据对象。
3、LookUp Table在固定点建模时的使用方法,容易出现的错误和原因详解,以及解决方法。
4、数据类型自动推荐方法
固定点建模时,标定量信号量所使用自动推荐数据类型工具设计原理与讲解。
5、通过计算模块的输出端口继承关系约束数据类型到32位之内
固定点模型中连续乘法计算在所难免,固定点数类型也会被累加变长,甚至超过32bit。为了约束数据长度不超过32bit,并且不想通过数据对象绑定来约束的话,可以通过多个计算模块的继承关系组合来实现数据类型长度的约束。在给定变量scope的前提下,保证各个环节的数据类型约束不会发生Overflow。
6、标定量初始值量化后错误的问题
当标定量的初始值跟其上下限的一个相同,并且使用的fixdt数据类型无法精确表达这个值得时候,就会自动量化为误差最小的一个值。这个时候就有可能出现量化后的值超出上下限范围的情况。本节课讲解此种情况出现的原因,并提供解决办法。
7、模型中使用MATLAB Function实现矩阵求逆定点运算
MATLAB自带的inv()函数并不支持定点运算,需要根据矩阵求逆的原理,求出矩阵行列式和伴随矩阵之后,得到逆矩阵。MATLAB Function中如何使用定点化设置端口,定点变量乘除法如何保证结果在32位字长之内,如何保证精度不丢失,本节课将会教会大家。