Просмотр данных с фиксированной точкой

В программном обеспечении Fixed-Point Designer™ fipref объект определяет графические свойства fi объекты. Примеры кода обычно показывают fi объекты как они появляются со следующими fipref свойства объекта:

  • NumberDisplay'RealWorldValue'

  • NumericTypeDisplay'full'

  • FimathDisplay'full'

Настройка '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.

Отображение свойств fimath fi Objects

Чтобы увидеть выход, как она появляется в большинстве примеров кода 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: 13

MATLAB отображает fimath свойства объекта в выходах fi a объекта потому что a имеет локальный фимат.

MATLAB не отображает никаких fimath свойства объекта в выходах fi b объекта потому что b связывается с fimath по умолчанию.

Скрытие свойств fimath fi Objects

Если вы работаете с несколькими fi объекты, которые имеют локальные fimath, можно хотеть выключить fimath отображение объектов:

  • NumberDisplay'RealWorldValue'

  • NumericTypeDisplay'full'

  • 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 =

  logical

   1

Когда isfimathlocal функция возвращает 1, а fi объект имеет локальный fimath. Если функция возвращается 0, а fi объект использует fimath по умолчанию.

Сокращение численного типа Отображение объектов fi

Чтобы уменьшить количество выхода еще больше, можно задать NumericTypeDisplay на 'short'. Для примера,

p = fipref('NumberDisplay','RealWorldValue',... 
'NumericTypeDisplay','short','FimathDisplay','full');

a = fi(pi)
a = 

    3.1416
      numerictype(1,16,13)