Создайте данные фиксированной точки в MATLAB

Следующие примеры показывают, как создать данные фиксированной точки с помощью объекта Fixed-Point Designer™ fi.

 Пример 1. Создайте номер фиксированной точки со свойствами по умолчанию

Вызов fi на номере производит номер фиксированной точки со словом по умолчанию и со знаком по умолчанию и дробными длинами.

 fi(pi)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

 Пример 2. Создайте номер фиксированной точки с заданным размером слова со знаком и дробную длину

Можно задать со знаком (1 для со знаком, 0 для без знака) и слово и фракционировать длины.

fi(pi,1,15,12)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 15
        FractionLength: 12

 fi и объекты numerictype

 Пример 3. Создайте целочисленные значения фиксированной точки

Чтобы создать целочисленные значения фиксированной точки, задайте дробную длину 0.

fi(1:25,0,8,0)
ans =
 
  Columns 1 through 13
     1   2   3   4   5   6   7   8   9  10  11  12  13
  Columns 14 through 25
    14  15  16  17  18  19  20  21  22  23  24  25

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

 Пример 4. Создайте массив случайных значений фиксированной точки

fi(rand(4),0,12,8)
ans =
 
    0.1484    0.8125    0.1953    0.3516
    0.2578    0.2422    0.2500    0.8320
    0.8398    0.9297    0.6172    0.5859
    0.2539    0.3516    0.4727    0.5508

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 12
        FractionLength: 8

 Пример 5. Создайте массив нулей

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

 T.z = fi([],1,16,0);

z = zeros(2,3,'like',T.z)
z = 

     0     0     0
     0     0     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 0

Примечание

Для полного примера, показывающего реализацию этого метода, см. КИХ-Алгоритм Фильтра Реализации для С плавающей точкой и броска использования Фиксированных точек и нулей.