主要内容

生成代码与传感器融合严格的单精度和非动态内存分配和跟踪工具

介绍函数、对象和支持严格的单精度和非动态内存分配的块在传感器融合和跟踪工具箱™代码生成。金宝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联合概率数据关联多对象追踪
  • 必须设置跟踪K-best JPDA模式。

  • 过滤器必须是其中的一个,在单精确配置:

    • trackingKF

    • trackingEKF

    • trackingUKF

    • trackingCKF

    • trackingIMM

  • 必须设置跟踪K-best JPDA模式。

  • 过滤器必须其中之一:

    • trackingKF

    • trackingEKF

    • trackingUKF

    • trackingCKF

    • trackingIMM

  • trackerJPDA,MaxNumDetections属性必须是有限的。

trackerGNN全球最近邻多对象追踪
  • 过滤器必须是其中的一个,在单精确配置:

    • trackingKF

    • trackingEKF

    • trackingUKF

    • trackingCKF

    • trackingIMM

  • 分配算法必须Jonker-Volgenant

  • 过滤器必须其中之一:

    • trackingKF

    • trackingEKF

    • trackingUKF

    • trackingCKF

    • trackingIMM

  • 分配算法必须Jonker-VolgenantMatchPairs

  • trackerGNN,MaxNumDetections属性必须是有限的。

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