Введите функции, объекты и блоки, которые поддерживают строгую генерацию кода и нединамического выделения памяти с одинарной точностью в Sensor Fusion and Tracking Toolbox™.
В Sensor Fusion and Tracking Toolbox (SFTT) много функций, объектов и блоков Simulink поддерживают генерацию кода C/C++. Вы видите, поддерживают ли функция, объект или блок генерацию кода, а также какие-либо ограничения в разделе Extended Capabilities его страницы с описанием. Для получения дополнительной информации о том, как сгенерировать код в командной строке, или при помощи MATLAB® Приложение Coder™, смотрите, Генерируют код С в Командной строке (MATLAB Coder) и Генерируют код С при помощи Приложения MATLAB Coder (MATLAB Coder), соответственно. Для генерации кода для приложений SFTT смотрите, Как Сгенерировать код С для Средства отслеживания и Сгенерировать Код для Термофиксатора Дорожки с Неоднородными Исходными примерами Дорожек.
Sensor Fusion and Tracking Toolbox широко поддерживает генерацию кода с двойной точностью, и сгенерированный код может использовать динамическое выделение памяти при необходимости. Хотя переменные с двойной точностью могут обеспечить более точные вычисления, они увеличили требования к памяти по переменным с одинарной точностью. Точно так же, хотя динамическое выделение памяти допускает гибкое переменное выделение, этот процесс обычно медленнее, чем нединамическое выделение памяти. По этим и другим причинам Sensor Fusion and Tracking Toolbox оказывает строгую поддержку и нединамического выделения памяти с одинарной точностью для некоторых алгоритмов.
В строгой генерации кода с одинарной точностью, сгенерированном коде C/C++, включая вход, тело кода и выход, не используют переменные с двойной точностью. Другими словами, это может только использовать переменные с одинарной точностью и переменные целочисленного типа до 32 битов. Для алгоритмов, которые поддерживают строгую генерацию кода с одинарной точностью в SFTT, можно включить его путем передачи входных параметров с одинарной точностью. Включить строгую генерацию кода с одинарной точностью:
Для функции, которая поддерживает генерацию кода с одинарной точностью, задайте входные параметры с одинарной точностью.
Для объекта, который поддерживает генерацию кода с одинарной точностью, задайте входные параметры как переменные недвойной точности и задайте любые пользовательские настройки как недвойную точность. Например, чтобы сгенерировать код с одинарной точностью от trackerGNN
Система object™:
Необходимо задать входные параметры, такие как обнаружения, как значения недвойной точности.
Необходимо задать FilterInitializationFcn
свойство средства отслеживания возвратить фильтр с одинарной точностью.
В генерации кода нединамического выделения памяти выделение памяти каждой переменной определяется в течение времени компиляции, прежде, чем запустить код. Нединамическое выделение памяти обычно быстрее, чем динамическое выделение памяти. Для получения информации о том, как отключить динамическое выделение памяти, смотрите, Генерируют Код для Данных Переменного Размера (MATLAB Coder) и Выделение Управляющей памяти для Массивов Переменного Размера (MATLAB Coder).
Функции, объекты и блоки, перечисленные в таблице из следующих разделов, проверяются, чтобы поддержать строгую генерацию кода и нединамического выделения памяти с одинарной точностью. Другие непроверенные функции, объект и блоки в SFTT могут возможно поддержать строгое и нединамическое выделение памяти с одинарной точностью.
Эти средства отслеживания и отслеживающие фильтры поддерживают генерацию кода и нединамического выделения памяти с одинарной точностью с заданными ограничениями.
Объекты или блоки | Ограничения генерации кода с одинарной точностью | Ограничения генерации кода нединамического выделения памяти |
---|---|---|
trackerJPDA или Joint Probabilistic Data Association Multi Object Tracker |
|
|
trackerGNN или Global Nearest Neighbor Multi Object Tracker |
|
|
trackingEKF | Функция изменения состояния и функция измерения должны поддержать с одинарной точностью. | Никакие ограничения |
trackingUKF | Функция изменения состояния и функция измерения должны поддержать с одинарной точностью. | Никакие ограничения |
trackingCKF | Функция изменения состояния и функция измерения должны поддержать с одинарной точностью. | Никакие ограничения |
trackingIMM | trackingIMM фильтр должен быть сконфигурирован с любым trackingEKF , trackingUKF , или trackingCKF набор объектов с одинарной точностью. | trackingIMM фильтр должен быть сконфигурирован с любым trackingEKF , trackingUKF , или trackingCKF объекты. |
Эти функции присвоения поддерживают строгую генерацию кода и нединамического выделения памяти с одинарной точностью с заданными ограничениями.
Функции | Ограничения генерации кода с одинарной точностью | Ограничения генерации кода нединамического выделения памяти |
---|---|---|
assignkbest | Должен использовать алгоритм Jonker-Volgenant. | Должен использовать алгоритм Jonker-Volgenant. |
assignjv | Никакие ограничения | Никакие ограничения |
jpdaEvents | Должен использовать событие соединения K-best. | Должен использовать событие соединения K-best. |
Эти функции модели движения поддерживают генерацию кода и нединамического выделения памяти с одинарной точностью без ограничений.
Эти функции инициализации фильтра поддерживают генерацию кода и нединамического выделения памяти с одинарной точностью без ограничений.