Задать тип данных и масштабирование распространяемого сигнала на основе информации из опорных сигналов
Атрибуты Simulink/Signal
Блок «Распространение типа данных» позволяет управлять типом данных и масштабированием сигналов в модели. Этот блок можно использовать вместе с блоками с фиксированной точкой, для которых параметр Output data type настроен на Inherit: Inherit via back propagation.
Блок имеет три входа: Ref1 и Ref2 являются опорными входами, в то время как вход Prop обратно распространяет информацию типа данных и масштабирования, собранную из опорных входов. Затем эта информация передается другим блокам с фиксированной точкой.
Блок предоставляет множество вариантов для распространения информации о типе данных и масштабировании. Например, можно использовать:
Количество битов из Ref1 опорного сигнала или число битов из самого широкого опорного сигнала
Диапазон от Ref2 опорного сигнала или диапазон опорного сигнала с наибольшим диапазоном
Смещение, равное нулю, независимо от смещения, используемого опорными сигналами
Точность опорного сигнала с наименьшей точностью
Способ распространения информации о типе данных задается с помощью параметра Распространенный тип данных:
При выборе Specify via dialog, затем вручную укажите тип данных в поле Изменение распространенного типа данных.
При выборе Inherit via propagation rule, то необходимо использовать параметры, описанные в разделе Параметры.
Способ распространения информации о масштабировании задается с помощью параметра «Распространение масштабирования»:
При выборе Specify via dialogзатем масштабирование задается вручную с помощью поля редактирования Распространенное масштабирование.
При выборе Inherit via propagation rule, то необходимо использовать параметры, описанные в разделе Параметры.
После использования информации из опорных сигналов можно применить второй уровень корректировки к типу данных и масштабированию. Для этого используются индивидуальные мультипликативные и аддитивные корректировки. Эта гибкость имеет различные применения. Например, если вы нацеливаетесь на DSP, то вы можете настроить блок так, чтобы количество битов, связанных с операцией умножения и накопления (MAC), было вдвое шире, чем входной сигнал, и к нему было добавлено определенное количество защитных битов.
Блок распространения типа данных также обеспечивает механизм для приведения вычисленного количества битов к полезному значению. Например, если вы нацеливаетесь на 16-битный микро, то целевой компилятор C, вероятно, будет поддерживать размеры только 8 бит, 16 бит и 32 бита. Блок принудительно использует эти три варианта. Например, предположим, что блок вычисляет размер типа данных 24 бита. Поскольку 24 бита не могут непосредственно использоваться целевым чипом, сигнал принудительно подается до 32 бит, что изначально поддерживается.
Существует также способ обработки опорных сигналов с плавающей запятой. Этот способ облегчает создание конструкций, которые легко переназначены между чипами с фиксированной запятой и чипами с плавающей запятой.
Блок распространения типа данных позволяет настроить библиотеки полезных подсистем, которые правильно настроены на основе подключенных сигналов. Без этого процесса распространения данных подсистемы из библиотеки вряд ли будут работать так, как требуется, с большинством целочисленных или фиксированных сигналов. Для настройки типа данных и масштабирования потребуется ручное вмешательство. Во многих ситуациях этот блок может исключить ручное вмешательство.
Приоритет параметров диалогового окна уменьшается сверху вниз. Также:
Исходные входные данные с двойной точностью имеют приоритет над всеми другими типами данных.
Исходные входные данные с одной точностью имеют приоритет над целыми типами данных и типами данных с фиксированной точкой.
Мультипликативные регулировки проводят перед аддитивными регулировками.
Количество битов определяется до того, как точность или положительный диапазон наследуется от опорных входных сигналов.
PosRange на один бит выше точного максимального положительного диапазона сигнала.
Вычисленное число битов повышается до наименьшего допустимого значения, которое больше или равно вычислению. Если нет, блок возвращает ошибку.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Преобразование типа данных | Преобразование типа данных унаследовано | Дублирование типа данных