В программном обеспечении Fixed-Point Designer™, fipref объект определяет свойства отображения fi объекты. Примеры кода обычно показывают fi объекты, когда они появляются со следующим fipref свойства объектов:
NumberDisplay — 'RealWorldValue'
NumericTypeDisplay полный
FimathDisplay полный
Установка 'FimathDisplay' к 'full' обеспечивает быстрый и простой способ дифференцироваться между fi объекты с локальным fimath и теми, которые сопоставлены со значением по умолчанию fimath. Когда 'FimathDisplay' установлен в 'full', MATLAB® отображает fimath свойства объектов для fi объекты с локальным fimath. MATLAB никогда не отображает fimath свойства объектов для fi объекты, которые сопоставлены со значением по умолчанию fimath. Из-за этого различия в отображении можно сказать когда fi объект сопоставлен со значением по умолчанию fimath только путем рассмотрения выхода.
Кроме того, если в противном случае не задано, примеры в документации Fixed-Point Designer используют следующую настройку по умолчанию fimath:
RoundingMethod: Nearest
OverflowAction: Saturate
ProductMode: FullPrecision
SumMode: FullPrecision
Для получения дополнительной информации о настройках отображения обратитесь к fi Настройкам Отображения объектов Используя fipref.
Чтобы видеть выход, как это появляется в большинстве примеров кода Fixed-Point Designer, устанавливает ваш fipref свойства можно следующим образом и создают два fi объекты:
p = fipref('NumberDisplay', 'RealWorldValue',...
'NumericTypeDisplay', 'full', 'FimathDisplay', 'full');
a = fi(pi,'RoundingMethod', 'Floor', 'OverflowAction', 'Wrap')
b = fi(pi)
MATLAB возвращает следующее:
a =
3.1415
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13
RoundingMethod: Floor
OverflowAction: Wrap
ProductMode: FullPrecision
SumMode: FullPrecision
b =
3.1416
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13MATLAB отображает fimath свойства объектов в выходе fi объект a потому что a имеет локальный fimath.
MATLAB не отображает fimath свойства объектов в выходе fi объект b потому что b сопоставляет себя со значением по умолчанию fimath.
Если вы работаете с несколькими fi объекты, которые имеют локальный fimaths, можно хотеть выключить fimath отображение объектов:
NumberDisplay — 'RealWorldValue'
NumericTypeDisplay полный
FimathDisplay 'none'
Например,
p = fipref('NumberDisplay','RealWorldValue',...
'NumericTypeDisplay','full','FimathDisplay','none')
p =
NumberDisplay: 'RealWorldValue'
NumericTypeDisplay: 'full'
FimathDisplay: 'none'
LoggingMode: 'Off'
DataTypeOverride: 'ForceOff'
F = fimath('RoundingMethod','Floor','OverflowAction','Wrap');
a = fi(pi, F)
a =
3.1415
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13
Несмотря на то, что эта установка помогает уменьшить объем произведенного выхода, это также лишает возможности говорить от выхода ли fi возразите использует значение по умолчанию fimath. Для этого можно использовать isfimathlocal функция. Например,
isfimathlocal(a)
ans =
1Когда isfimathlocal функция возвращает 1, fi объект имеет локальный fimath. Если функция возвращает 0, fi возразите использует значение по умолчанию fimath.
Чтобы уменьшать объем выхода еще больше, можно установить NumericTypeDisplay к 'short'. Например,
p = fipref('NumberDisplay','RealWorldValue',...
'NumericTypeDisplay','short','FimathDisplay','full');
a = fi(pi)
a =
3.1416
s16,13