Чтобы полностью понять результаты, полученные блоками Simulink ® с фиксированной точкой, необходимо знать о следующих проблемах:
При преобразовании числовых параметров блоков из двойных в фиксированные типы данных
Когда входные сигналы преобразуются из одного типа данных с фиксированной точкой в другой (если вообще)
При выполнении арифметических операций по входным сигналам и параметрам
Например, предположим, что блок Simulink с фиксированной точкой выполняет арифметическую операцию над своим входным сигналом и параметром, а затем генерирует выходной сигнал, имеющий характеристики, определенные блоком. На следующей схеме показано, как эти проблемы связаны.

В следующих разделах описываются преобразования параметров и сигналов. Правила для арифметических операций обсуждают арифметические операции.
Параметры блоков с фиксированной точкой, которые принимают числовые значения, всегда преобразуются из double к типу данных с фиксированной точкой. Параметры могут быть преобразованы в тип входных данных, тип выходных данных или в тип данных, явно определенный блоком. Например, блок «Дискретный фильтр КИХ» преобразует свой параметр «Начальные состояния» в тип входных данных и преобразует свой параметр «Коэффициент числителя» в тип данных, явно заданный в диалоговом окне блока.
Параметры всегда преобразуются перед выполнением каких-либо арифметических операций. Кроме того, параметры всегда преобразуются в автономном режиме с использованием округления до ближайшего и насыщения. Автономные преобразования рассматриваются ниже.
Примечание
Поскольку параметры блоков с фиксированной точкой начинаются с double, они никогда не точны до более чем 53 бит. Поэтому, если выходной сигнал блока с фиксированной точкой превышает 53 бита, результат может быть менее точным, чем вы ожидали.
Автономное преобразование - это преобразование, выполняемое платформой разработки (например, процессором на ПК), а не целевым процессором с фиксированной точкой. Например, предположим, что вы используете ПК для разработки программы для запуска на процессоре с фиксированной точкой, и вам нужен процессор с фиксированной точкой для вычисления
= Cu
снова и снова. Если a, b и c являются постоянными параметрами, процессор с фиксированной точкой неэффективно вычислять ab/c каждый раз. Вместо этого процессор ПК должен один раз вычислять ab/c в автономном режиме, а процессор с фиксированной точкой вычисляет только C· u. Это исключает две дорогостоящие арифметические операции с фиксированной точкой.
Рассмотрим преобразование реального значения из одного типа данных с фиксированной точкой в другой. В идеале значения до и после преобразования равны.
Vb,
где Vb - входное значение, а Va - выходное значение. Чтобы увидеть, как осуществляется преобразование, два идеальных значения заменяются общей схемой кодирования [Slope Bias], описанной в разделе Масштабирование:
Bi.
Решая для типа выходных данных сохраненное целое значение, получают Qa:
Fs2Eb − EaQb + Bnet,
где Fs - скорректированный дробный наклон, а Bnet - чистое смещение. Оффлайн-преобразования и онлайн-преобразования и операции рассматриваются ниже.
И Fs, и Bnet вычисляются в автономном режиме с использованием округления до ближайшего и насыщения. Затем Bnet сохраняется с использованием типа выходных данных, а Fs - с использованием автоматически выбранного типа данных.
Остальные преобразования и операции выполняются процессором с фиксированной точкой в оперативном режиме и зависят от наклонов и смещений для типов входных и выходных данных. Преобразования и операции определяются следующими шагами:
Начальное значение для Qa задается чистым смещением, Bnet:
Bnet.
Входное целое значение Qb умножается на скорректированный наклон, Fs:
FsQb.
Результат шага 2 преобразуется в измененный тип выходных данных, где наклон равен единице, а смещение равно нулю:
QRawProduct).
Это преобразование включает в себя любое необходимое смещение битов, округление или обработку переполнения.
Операция суммирования выполняется:
Qa.
Это суммирование включает в себя любую необходимую обработку переполнения.
Следует отметить, что максимальное количество преобразований и операций выполняется, когда углы наклона и смещения входного сигнала и выходного сигнала различаются (несовпадают). Если масштабирование этих сигналов идентично (согласовано), количество операций уменьшается по сравнению с наихудшим (наиболее неэффективным) случаем. Например, когда вход имеет тот же дробный наклон и смещение, что и выход, требуется только шаг 3:
Qb).
Исключительное использование бинарного масштабирования только для входных сигналов и выходных сигналов является обычным способом устранения несовпадающих наклонов и смещений и приводит к наиболее эффективному моделированию и генерируемому коду.