exponenta event banner

Линеаризация блоков с неплавающими сигналами или состояниями

Можно линеаризовать блоки, которые имеют сигналы или состояния без плавающей точки и не имеют предварительно запрограммированной точной линеаризации. Без дополнительной конфигурации такие блоки автоматически линеаризуются до нуля. Например, логические блоки операторов имеют логические выходы и линеаризуются до 0.

Блоки линеаризации, имеющие сигналы без плавающей точки, требуют преобразования всех сигналов либо с двойной точностью, либо с одной точностью. Этот подход работает только тогда, когда модель может работать правильно с полной двойной или одиночной точностью.

При наличии нескольких блоков, на которые влияют типы данных без плавающей точки, для устранения этой проблемы можно использовать блок преобразования типов данных.

При наличии большого количества сигналов неизменяемой точности можно переопределить все типы данных с двойной точностью с помощью инструмента «Фиксированная точка».

Переопределить тип данных с помощью блока преобразования типов данных

Преобразование отдельных сигналов в двойную точность перед линеаризацией модели путем вставки блока преобразования типа данных. Этот подход хорошо подходит для модели, которая имеет только несколько затронутых блоков.

После линеаризации модели удалите из модели блок «Преобразование типа данных».

Примечание

Переопределение типов данных с плавающей запятой не подходит, если модель использует эти типы данных, например целочисленные типы данных для усечения значений с плавающей запятой.

Например, рассмотрим модель, сконфигурированную для линеаризации квадратного блока в рабочей точке, где вход равен 1. Результирующая линеаризованная модель должна быть 2, но вход в блок квадрата является логическим. Этот сигнал с типом данных без плавающей точки приводит к линеаризации нуля.

В этом случае вставка блока преобразования типа данных преобразует входной сигнал в квадратный блок с двойной точностью. Это делается

Переопределение типов данных с помощью инструмента «Фиксированная точка»

При линеаризации модели, которая содержит типы данных без плавающей точки, но при этом работает правильно с полной двойной или одинарной точностью, можно переопределить все типы данных с двойной или одинарной точностью с помощью инструмента «Фиксированная точка». Этот подход используется при наличии большого количества сигналов точности без плавающей точки.

После линеаризации модели восстановите исходные настройки.

Примечание

Переопределение типов данных, не содержащих плавающую точку, не подходит, если модель использует эти типы данных, например целочисленные типы данных для усечения с плавающей запятой.

  1. Откройте инструмент «Фиксированная точка». В окне модели Simulink ® на вкладке «Приложения» в коллекции «Приложения» в разделе «Создание кода» выберите инструмент «Фиксированная точка».

  2. В меню переопределения типа данных выберите «Double» или «Single»

  3. Восстановление настроек после завершения линеаризации.

См. также

Связанные темы