Динамическая область значений чисел с фиксированной точкой намного меньше, чем чисел с плавающей запятой с эквивалентными размерами слов. Чтобы избежать условий переполнения и минимизировать ошибки квантования, номера с фиксированной точкой должны быть масштабированы.
С помощью программного обеспечения Fixed-Point Designer™ можно выбрать тип данных с фиксированной точкой, масштабирование которого определяется его двоичной точкой, или можно выбрать произвольное линейное масштабирование, соответствующее вашим потребностям. В этом разделе представлены варианты масштабирования, доступные для типов данных с фиксированной точкой.
Вы можете представлять число с фиксированной точкой по общей схеме кодирования наклона и смещения.
где наклон может быть выражен как
Целое число иногда называется сохраненным целым числом. Это необработанное двоичное число, в котором двоичная точка принята в крайнем правом углу слова. В документации Fixed-Point Designer отрицательное значение фиксированной степени часто упоминается как длина дроби.
Наклон и смещение вместе представляют масштабирование числа с фиксированной точкой. В числе с нулевым смещением только наклон влияет на масштабирование. Число с фиксированной точкой, которое масштабируется только двоичным положением точки, эквивалентно числу в представлении смещения наклона, которое имеет смещение, равное нулю, и коэффициент регулировки наклона, равный единице. Это упоминается как двоичное масштабирование только для точек или масштабирование степени двойки:
или
Масштабирование только двоичной точки или степени двойки включает перемещение двоичной точки внутри слова с фиксированной точкой. Преимущество этого режима масштабирования состоит в минимизации количества арифметических операций процессора.
При двоичном масштабировании только для точек компоненты общей формулы наклона и смещения имеют следующие значения:
Масштабирование квантованного числа реального мира определяется S наклона, которая ограничена степенью двойки. Отрицательное значение степени двойки называется длиной дроби. Длина дроби - это количество бит справа от двоичной точки. Для масштабирования только для двоичных точек задайте типы данных с фиксированной точкой как
типы со знаком - 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.