Динамический диапазон чисел с фиксированной запятой намного меньше, чем числа с плавающей запятой с эквивалентными размерами слов. Чтобы избежать условий переполнения и минимизировать ошибки квантования, числа с фиксированной точкой должны быть масштабированы.
С помощью программы Fixed-Point Designer™ можно выбрать тип данных с фиксированной точкой, масштабирование которого определяется двоичной точкой, или выбрать произвольное линейное масштабирование, соответствующее вашим потребностям. В этом разделе представлены варианты масштабирования, доступные для типов данных с фиксированной точкой.
Число с фиксированной точкой можно представить общей схемой кодирования наклона и смещения.
+ смещение
где наклон может быть выражен как
экспонента
Целое число иногда называется сохраненным целым числом. Это необработанное двоичное число, в котором предполагается, что двоичная точка находится в крайнем правом углу слова. В документации Fixed-Point Designer негатив фиксированной степени часто называется длиной дроби.
Наклон и смещение вместе представляют масштабирование числа с фиксированной точкой. В числе с нулевым смещением на масштабирование влияет только наклон. Число с фиксированной точкой, которое масштабируется только по положению двоичной точки, эквивалентно числу в представлении смещения наклона, которое имеет смещение, равное нулю, и коэффициент регулировки наклона, равный единице. Это называется двоичным масштабированием только для точки или масштабированием мощности двух:
целое число
или
целое число
Масштабирование только двоичной точки или мощности двух включает перемещение двоичной точки в пределах слова с фиксированной точкой. Преимущество этого режима масштабирования заключается в минимизации числа арифметических операций процессора.
При масштабировании только в двоичной точке компоненты общей формулы наклона и смещения имеют следующие значения:
Масштабирование квантованного действительного числа определяется наклоном S, который ограничен мощностью два. Отрицательный показатель степени двух называется длиной дроби. Длина дроби - это число битов справа от двоичной точки. Для масштабирования Binary-Point-Only укажите типы данных с фиксированной точкой как
подписанные типы - fixdt(1, WordLength, FractionLength)
неподписанные типы - fixdt(0, WordLength, FractionLength)
Целые числа являются частным случаем типов данных с фиксированной точкой. Целые числа имеют тривиальное масштабирование с наклоном 1 и смещением 0, или эквивалентно с длиной дроби 0. Укажите целые числа как
целое число со знаком - fixdt(1, WordLength, 0)
целое число без знака - fixdt(0, WordLength, 0)
При масштабировании по наклону и смещению наклон S и смещение B квантованного вещественного числа могут принимать любое значение. Наклон должен быть положительным числом. Используя уклон и смещение, укажите типы данных с фиксированной точкой как
fixdt(Signed, WordLength, Slope, Bias)
Укажите типы данных с фиксированной точкой и неопределенным масштабированием как
fixdt(Signed, WordLength)
Сигналы, параметры и состояния Simulink ® никогда не должны иметь неопределенное масштабирование. Если масштабирование не определено, для определения масштаба, используемого программой Simulink, необходимо использовать другой механизм, например автоматическое масштабирование с наилучшей точностью.