Заданная тригонометрическая функция на входе
Simulink / Математические операции
HDL Coder / Математические операции
Блок Trigonometric Function выполняет общие тригонометрические функции и выводит результат в рад или версии.
Можно выбрать одну из этих функций из списка параметров Function.
Функция | Описание | Математическое выражение | MATLAB® Equivalent |
---|---|---|---|
sin
| Синус входа |
|
sin
|
cos
| Косинус входа |
|
cos
|
tan
| Касательная входа |
|
tan
|
asin
| Обратный синус входа |
|
asin
|
acos
| Обратный косинус входа |
|
acos
|
atan
| Обратная касательная входа |
|
atan
|
atan2
| Обратная касательная с четырьмя квадрантами входа |
|
atan2
|
sinh
| Гиперболический синус входа |
|
sinh
|
cosh
| Гиперболический косинус входа |
|
cosh
|
tanh
| Гиперболическая касательная входа |
|
tanh
|
asinh
| Обратный гиперболический синус входа |
|
asinh
|
acosh
| Обратный гиперболический косинус входа |
|
acosh
|
atanh
| Гиперболический арктангенс входа |
|
atanh
|
sincos
| Синус входа; косинус входа | — | — |
cos + jsin
| Комплексная экпонента входа | — | — |
Если вы используете метод приближения CORDIC (см. Больше О), вход блока имеет дальнейшие требования.
Когда вы устанавливаете Function на sin
потому что
, sincos
, или cos + jsin
и набор Approximation method к CORDIC
, блок имеет эти ограничения:
Когда вы используете подписанные фиксированные точки, входной угол должен находиться в пределах области значений [–2π, 2π), рад.
Когда вы используете фиксированные точки без знака, входной угол должен находиться в пределах области значений [0, 2π), рад.
Когда вы устанавливаете Function на atan2
и Approximation method к CORDIC
, блок имеет эти ограничения:
Входные параметры должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.
Оба входных параметров должны иметь совпадающий тип данных.
Когда вы используете подписанные фиксированные точки, размером слова должен быть 126
или меньше.
Когда вы используете фиксированные точки без знака, размером слова должен быть 125
или меньше.
Эта таблица суммирует то, что происходит для недопустимого входа.
Блокируйте использование | Эффект недопустимого входа |
---|---|
Режимы симуляции | Ошибка появляется. |
Сгенерированный код | Неопределенное поведение происходит. Постарайтесь не использовать неопределенное поведение для сгенерированного кода. |
Когда вы устанавливаете Function на sin
, cos
, sincos
, или cos +
jsin
и набор Approximation method к Lookup
, блок имеет эти ограничения:
Когда вы используете подписанные фиксированные точки, входной угол должен находиться в пределах области значений [-2 , 2 ] рад.
Когда вы используете фиксированные точки без знака, входной угол должен находиться в пределах области значений [0,2 ᴨ), рад.
Когда вы устанавливаете Function на atan2
и Approximation method к Lookup
, блок имеет эти ограничения:
Входные параметры должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.
Оба входных параметров должны иметь совпадающий тип данных.
Количество точек данных ограничивается:
smallEnoughNumDataPoints = 2(inputFractionLen-2)+1
bigEnoughFractionLen = log2(numberOfDataPoints - 1)+2
где:
smallEnoughNumDataPoints является максимальным количеством точек данных, представленных заданной входной длиной части, inputFractionLen.
bigEnoughFractionLen является минимальной дробной длиной, должен был представлять конкретное количество точек данных, numberOfDataPoints.
[1] Volder, Джек Э., “тригонометрический вычислительный метод CORDIC”. Транзакции IRE на электронно-вычислительных машинах EC-8 (1959); 330–334.
[2] Andraka, Излучите “Обзор Алгоритма CORDIC для основанных на FPGA Компьютеров”. Продолжения 1998 Шестых Международных Симпозиумов ACM/SIGDA по Программируемым пользователем вентильным матрицам. 22-24 февраля (1998): 191–200.
[3] Вальтер, J.S., “Объединенный алгоритм для элементарных функций”, продолжения компьютерной конференции по соединению Spring, 18-20 мая 1971: 379–386.
[4] Schelin, Чарльз В., “Приближение функций Калькулятора”, американская Mathematical Monthly 90, № 5 (1983): 317–325.
cordiccos
(Fixed-Point Designer) | cordicsin
(Fixed-Point Designer) | cordicsincos
(Fixed-Point Designer)