fixed.cordicReciprocal

Обратная величина фиксированной точки, использующая CORDIC

Описание

пример

y = fixed.cordicReciprocal(u,OutputType) возвращает 1./u с выходным броском к типу данных, заданному OutputType.

Примеры

свернуть все

u = fi(10);
outputType = fi([],1,32,24);
y = fixed.cordicReciprocal(u,outputType)
y = 

    0.1000

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 24

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

свернуть все

Значение, чтобы взять обратную величину в виде скаляра, вектора, матрицы или многомерного массива.

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

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

  • Если u фиксированная точка, затем 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 может привести к более точным результатам, но выполнение так увеличивает расход расчета и добавляет задержку.

Алгоритмы

Для входа u фиксированной точки, fixed.cordicReciprocal переносится на переполнении для деления на нуль. Поведение для деления на нуль фиксированной точки получено в итоге в приведенной ниже таблице.

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

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

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

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