exponenta event banner

cordicacos

Аппроксимация обратного косинуса на основе CORDIC

Описание

пример

theta = cordicacos(x) возвращает обратный косинус x на основе аппроксимации CORDIC.

пример

theta = cordicacos(x, niters) возвращает обратный косинус x выполнение niters итерации алгоритма CORDIC.

Примеры

свернуть все

Вычисление обратного косинуса фиксированной точки fi с использованием реализации CORDIC.

a = fi(-1:.1:1,1,16);
b = cordicacos(a);
plot(a,b);
title('Inverse CORDIC Cosine');

Figure contains an axes. The axes with title Inverse CORDIC Cosine contains an object of type line.

Сравните выходные данные cordicacos функции и acos функция.

c = acos(double(a));
error = double(b)-c;
plot(a,error);
title('Error');

Figure contains an axes. The axes with title Error contains an object of type line.

Найти обратный косинус fi с помощью реализации CORDIC укажите число итераций, которые должно выполнять ядро CORDIC. Постройте график CORDIC-аппроксимации обратного косинуса с различными числами итераций.

a = fi(-1:.1:1, 1, 16);
for i = 5:5:20
    b = cordicacos(a,i);
    plot(a,b);
    hold on;
end
legend('5 iterations', '10 iterations', '15 iterations', '20 iterations')

Figure contains an axes. The axes contains 4 objects of type line. These objects represent 5 iterations, 10 iterations, 15 iterations, 20 iterations.

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

свернуть все

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

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

Число итераций, выполняемых алгоритмом CORDIC, указанное как положительный скаляр с целым числом. Если не указать nitersалгоритм использует значение по умолчанию. Для вводов с фиксированной точкой значение по умолчанию: niters на единицу меньше длины слова входного массива, theta. Для вводов с двойной точностью значение по умолчанию niters составляет 52. Для входов с одинарной точностью значением по умолчанию является 23.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

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

свернуть все

Значения угла обратного косинуса в рад.

См. также

Функции

Представлен в R2018b