生成代码与传感器融合严格的单精度和非动态内存分配和跟踪工具
介绍函数、对象和支持严格的单精度和非动态内存分配的块在传感器融合和跟踪工具箱™代码生成。金宝app
介绍严格的单精度和非动态内存分配
在传感器融合和跟踪工具箱(SFTT),许多功能,对象,仿真软件模块支持C / c++代码生成。金宝app金宝app你可以看到,如果一个函数,对象,或阻止支持代码生成,以及任何限制的扩展功能部分参考页面。金宝app有关如何在命令行生成代码,或通过使用MATLAB®编码器™应用程序,请参阅在命令行生成C代码(MATLAB编码器)和通过使用MATLAB编码器应用生成C代码(MATLAB编码器),分别。SFTT生成代码的应用程序,请参阅如何生成C代码跟踪和生成代码的跟踪熔化炉与异类源的踪迹的例子。
传感器融合和跟踪工具箱广泛支持双精度代码生成,生成的代码可以在必要时使用动态内存分配金宝app。尽管双精度变量可以提供更准确的计算,他们增加了内存需求单精度变量。同样,尽管动态内存分配允许灵活的变量配置,这一过程通常是低于非动态内存分配。由于这些和其他原因,传感器融合和跟踪工具箱提供了严格的单精度和非动态内存分配对一些算法的支持。金宝app
在严格的单精度代码生成,生成的C / c++代码,包括输入代码的身体,和输出,不使用双精度变量。换句话说,它只能使用单精度变量和32位整型变量。算法,支持严格的单精度在SFTT代码生成金宝app、你可以使它通过单精确输入参数。使严格的单精度代码生成:
对于一个函数支持单精度代码生成、指定单精金宝app确输入。
支持单精度代码生成、对象的输入指定为n金宝appon-double-precision变量,并指定任何自定义设置non-double精度。例如,要生成单精度的代码
trackerGNN
系统对象™:您必须指定的输入,如检测,作为non-double-precision值。
你必须指定
FilterInitializationFcn
财产跟踪器返回一个单精度过滤器。
在非动态的内存分配代码生成,每个变量的内存分配是在编译时确定,在运行代码之前。非动态的内存分配通常是速度比动态内存分配。如何禁用动态内存分配的信息,明白了为适应可变数据生成代码(MATLAB编码器)和控制内存分配适应可变数组(MATLAB编码器)。
功能、对象和块表中列出的以下部分验证支持严格的单精度和非动态内存分配代码生成。金宝app其他未经证实的函数、对象和块SFTT可能支持严格的单精度和非动态内存分配。金宝app
金宝app追踪和跟踪支持过滤器
这些追踪器和跟踪过滤器支持单精度和非动态内存分配代码生成与指定的限制。金宝app
对象或块 | 单精度代码生成的局限性 | 非动态的内存分配代码生成的局限性 |
---|---|---|
trackerJPDA 或联合概率数据关联多对象追踪 |
|
|
trackerGNN 或全球最近邻多对象追踪 |
|
|
trackingKF |
没有限制 | 没有限制 |
trackingEKF |
状态转换函数和测量函数必须支持单精度。金宝app | 没有限制 |
trackingUKF |
状态转换函数和测量函数必须支持单精度。金宝app | 没有限制 |
trackingCKF |
状态转换函数和测量函数必须支持单精度。金宝app | 没有限制 |
trackingIMM |
的trackingIMM 过滤器必须配置trackingKF ,trackingEKF ,trackingUKF ,或trackingCKF 对象中设置单精度。 |
的trackingIMM 过滤器必须配置trackingKF ,trackingEKF ,trackingUKF ,或trackingCKF 对象。 |
金宝app支持赋值函数
这些赋值函数支持严格的单精度和非动态内存分配的代码生成金宝app指定的限制。
功能 | 单精度代码生成的局限性 | 非动态的内存分配代码生成的局限性 |
---|---|---|
assignkbest |
必须使用Jonker-Volgenant算法。 |
必须使用Jonker-Volgenant算法。 |
assignjv |
没有限制 | 没有限制 |
jpdaEvents |
必须使用K-best联合活动。 | 必须使用K-best联合活动。 |
金宝app支持运动模型函数
这些运动模型函数支持单精度和非动态内存分配代码生成没有限制金宝app。
金宝app支持过滤器初始化函数
这些过滤器的初始化函数支持单精度和非动态内存分配代码生成没有限制。金宝app