Масштабируемый удваивается, гибрид между числами и фиксированной точки с плавающей точкой. Программное обеспечение Fixed-Point Designer™ хранит их, как удваивается с масштабированием, знаком и сохраненной информацией о размере слова. Например, контейнером устройства хранения данных для типа данных с фиксированной точкой sfix16_En14
является int16
. Контейнер устройства хранения данных масштабируемого эквивалента удваивает тип данных, flts16_En14
является double
с плавающей точкой. Для получения дополнительной информации обозначения масштабирования фиксированной точки, смотрите Тип данных с фиксированной точкой и Масштабирующееся Обозначение. Программное обеспечение Fixed-Point Designer применяет масштабирующуюся информацию к сохраненному с плавающей точкой дважды, чтобы получить реальное значение. Хранение значения в двойном почти всегда устраняет проблемы точности и переполнение.
Контейнером устройства хранения данных для обоих масштабированные двойные и двойные типы данных является double
с плавающей точкой. Поэтому и настройки переопределения типа данных, Double
и Scaled double
, предоставляют спектр, и преимущества точности с плавающей точкой удваивается. Масштабируемый удваивается, сохраняют информацию о заданном типе данных и масштабировании, но удваивается, не сохраняют эту информацию. Поскольку масштабированный удваивается, сохраняют информацию о заданном масштабировании, они могут также использоваться для обнаружения переполнения.
Рассмотрите пример, где вы храните градусы Цельсия 0.75001
в типе данных sfix16_En13
. Для этого типа данных:
Наклон, .
Смещение, .
Используя масштабирующееся уравнение где V является реальным значением, и Q является хранимой суммой.
.
.
Поскольку контейнер устройства хранения данных типа данных, sfix16_En13
составляет 16 битов, сохраненный целочисленный Q, может только быть представлен как целое число в этих 16 битах, таким образом, идеальное значение Q квантуется к 6144
, вызывающему потерю точности.
Если вы заменяете тип данных sfix16_En13
с Double
, изменениями типа данных в Double
, и вы теряете информацию о масштабировании. Хранимая сумма равняется реальному значению 0.75001
.
Если вы заменяете тип данных sfix16_En13
с Scaled Double
, тип данных изменяется на flts16_En13
. Масштабирование все еще дано _En13
и идентично тому из исходного типа данных. Единственной разницей является контейнер устройства хранения данных, используемый, чтобы содержать хранимую сумму, которая является теперь double
, таким образом, хранимой суммой является 6144.08192
. Этот пример показывает, что одно преимущество использования масштабированного удваивается: виртуальное устранение ошибок квантования.
Fixed-Point Tool позволяет вам выполнить различные переопределения типа данных на сигналах фиксированной точки в ваших симуляциях. Используйте масштабируемый, удваивается, чтобы заменить типы данных с фиксированной точкой и масштабирующий использование чисел с двойной точностью, чтобы избежать эффектов квантования. Переопределение типов данных с фиксированной точкой обеспечивает сравнительный тест с плавающей точкой, который представляет идеальный вывод.
Масштабируемый удваивается, полезны для:
Тестирование и отладка
Обнаружение переполнения
Применение типа данных заменяет к отдельным подсистемам
Если вы применяете переопределение типа данных к подсистемам в вашей модели, а не к целой модели, Масштабированный удваивается, предоставляют информацию что фрагменты фиксированной точки образцовой потребности в сопоставимом распространении типа данных.