fixed.cordicDivide

Фиксированная точка делит использование CORDIC

Описание

пример

y = fixed.cordicDivide(num,den,OutputType) делит num den использование типа выходных данных задано OutputType.

Примеры

свернуть все

num = fi(1);
den = fi(10);
OutputType = fi([],1,16,15);
y = fixed.cordicDivide(num,den,OutputType)
y = 

    0.1000

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

Входные параметры

свернуть все

Числитель в виде скаляра с действительным знаком, вектора, матрицы или многомерного массива.

  • Если num тип с плавающей точкой, den должен также быть тип с плавающей точкой и OutputType должен задать тип данных с плавающей точкой.

  • Если num встроенный целочисленный тип, den должен также быть встроенный целочисленный тип и OutputType должен задать встроенный целочисленный тип данных.

  • Если num фиксированная точка, den должна также быть фиксированная точка и OutputType должен задать тип данных с фиксированной точкой.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Поддержка комплексного числа: Да

Числитель в виде скаляра с действительным знаком, вектора, матрицы или многомерного массива.

  • Если num тип с плавающей точкой, den должен также быть тип с плавающей точкой и OutputType должен задать тип данных с плавающей точкой.

  • Если num встроенный целочисленный тип, den должен также быть встроенный целочисленный тип и OutputType должен задать встроенный целочисленный тип данных.

  • Если num фиксированная точка, den должна также быть фиксированная точка и OutputType должен задать тип данных с фиксированной точкой.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Поддержка комплексного числа: Да

Тип данных выхода в виде fi объект, numerictype, или Simulink.NumericType объект.

  • Если num тип с плавающей точкой, den должен также быть тип с плавающей точкой и OutputType должен задать тип данных с плавающей точкой.

  • Если num встроенный целочисленный тип, den должен также быть встроенный целочисленный тип и OutputType должен задать встроенный целочисленный тип данных.

  • Если num фиксированная точка, den должна также быть фиксированная точка и OutputType должен задать тип данных с фиксированной точкой.

Пример: fi([],1,16,15)

Пример: numerictype(1,16,15)

Пример: fixdt(1,16,15)

Больше о

свернуть все

CORDIC

CORDIC является акронимом для Координатного Компьютера Вращения. Основанный на вращении алгоритм CORDIC Givens является одним из самых эффективных оборудованием алгоритмов, доступных, потому что это требует только итеративных операций shift-add (см. Ссылки). Алгоритм CORDIC избавляет от необходимости явные множители. Используя CORDIC, можно вычислить различные функции, такие как синус, косинус, арксинус, арккосинус, арктангенс и векторная величина. Можно также использовать этот алгоритм для деления, квадратного корня, гиперболических, и логарифмических функций.

Увеличение числа итераций CORDIC может привести к более точным результатам, но выполнение так увеличивает расход расчета и добавляет задержку.

Алгоритмы

Поскольку фиксированная точка вводит num и den, fixed.cordicDivide переносится на переполнении для деления на нуль. Поведение для деления на нуль фиксированной точки получено в итоге в приведенной ниже таблице.

Перенесите переполнениеНасыщайте переполнение
0/0 = 00/0 = 0
1/0 = 01/0 = верхняя граница
-1/0 = 0- 1/0 = нижняя граница

Для входных параметров с плавающей точкой, fixed.cordicDivide следует за IEEE® Стандартные 754.

Расширенные возможности

Введенный в R2020b
Для просмотра документации необходимо авторизоваться на сайте