Масштабирование

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

С помощью программного обеспечения Fixed-Point Designer™ можно выбрать тип данных с фиксированной точкой, масштабирование которого определяется его двоичной точкой, или можно выбрать произвольное линейное масштабирование, соответствующее вашим потребностям. В этом разделе представлены варианты масштабирования, доступные для типов данных с фиксированной точкой.

Вы можете представлять число с фиксированной точкой по общей схеме кодирования наклона и смещения.

real-world value=(slope×целое число)+уклон

где наклон может быть выражен как

slope= коэффициент корректировки уклона  × 2фиксированная экспонента

Целое число иногда называется сохраненным целым числом. Это необработанное двоичное число, в котором двоичная точка принята в крайнем правом углу слова. В документации Fixed-Point Designer отрицательное значение фиксированной степени часто упоминается как длина дроби.

Наклон и смещение вместе представляют масштабирование числа с фиксированной точкой. В числе с нулевым смещением только наклон влияет на масштабирование. Число с фиксированной точкой, которое масштабируется только двоичным положением точки, эквивалентно числу в представлении смещения наклона, которое имеет смещение, равное нулю, и коэффициент регулировки наклона, равный единице. Это упоминается как двоичное масштабирование только для точек или масштабирование степени двойки:

real-world value=2фиксированная экспонента×целое число

или

real-world value=2 - длина преобразования×целое число

Масштабирование только для двоичных точек

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

При двоичном масштабировании только для точек компоненты общей формулы наклона и смещения имеют следующие значения:

  • bias = 0

  • slope adjustment factor = 1

  • slope = slope adjustment factor × 2фиксированная экспонента  = 2фиксированная экспонента

Масштабирование квантованного числа реального мира определяется 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.

Похожие темы