cordicatan2

Основанные на CORDIC четыре квадрантных обратных касательная

Синтаксис

theta = cordicatan2(y,x)
theta = cordicatan2(y,x,niters)

Описание

theta = cordicatan2(y,x) вычисляет четыре квадрантных арктангенса y и x использование приближения алгоритма CORDIC.

theta = cordicatan2(y,x,niters) выполняет niters итерации алгоритма.

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

y,x

y,x Декартовы координаты. y и x должен быть одного размера. Если они не тот же размер, по крайней мере одно значение должно быть скалярным значением. Оба y и x должен иметь совпадающий тип данных.

niters

niters количество итераций, которые выполняет алгоритм CORDIC. Это - дополнительный аргумент. Когда задано, niters должен быть положительный, скаляр с целочисленным знаком. Если вы не задаете niters или если вы задаете значение, которое является слишком большим, алгоритм использует максимальное значение. Для операции фиксированной точки максимальное количество итераций является тем меньше, чем размер слова y или x. Для операции с плавающей точкой максимальное значение 52 для двойного или 23 для сингла. Увеличение числа итераций может привести к более точным результатам, но также и увеличивает расход расчета и добавляет задержку.

Выходные аргументы

theta

theta значение арктангенса, которое находится в области значений [-пи, пи] радианы. Если y и x числа с плавающей запятой, затем theta имеет совпадающий тип данных как y и x. В противном случае, theta тип данных с фиксированной точкой с тем же размером слова как y и x и с лучшей точностью фракционировали длину для [-пи, пи] область значений.

Примеры

Вычисление арктангенса CORDIC с плавающей точкой.

theta_cdat2_float = cordicatan2(0.5,-0.5)

theta_cdat2_float =
    2.3562

Фиксированная точка вычисление арктангенса CORDIC.

theta_cdat2_fixpt = cordicatan2(fi(0.5,1,16,15),fi(-0.5,1,16,15));

theta_cdat2_fixpt = 
    2.3562

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

Больше о

свернуть все

CORDIC

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

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

Алгоритмы

свернуть все

Схемы потока сигналов

CORDIC векторизация ядра

Точность ядра CORDIC зависит от выбора начальных значений для X, Y и Z. Этот алгоритм использует следующие начальные значения:

x0  инициализируется к  x  входное значениеy0  инициализируется к  y  входное значениеz0  инициализируется к 0

Правила Распространения fimath

Функции CORDIC отбрасывают любой локальный fimath присоединенный к входу.

Функции CORDIC используют свой собственный внутренний fimath при выполнении вычислений:

  • OverflowActionWrap

  • RoundingMethodпол

Выход присоединил не fimath.

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

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