Заданная тригонометрическая функция на входе
Simulink/Математические операции
HDL-кодер/математические операции
Блок Trigonometric Function выполняет общие тригонометрические функции и выводит результат в рад или rev.
Можно выбрать одну из этих функций из списка Function параметров.
Функция | Описание | Математическое выражение | MATLAB® Эквивалентный |
---|---|---|---|
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
, cos
, sincos
, или cos + jsin
и установите Approximation method равным CORDIC
блок имеет следующие ограничения:
Когда вы используете знаковые типы с фиксированной точкой, входной угол должен попадать в диапазон [-2
Когда вы используете неподписанные фиксированные точки, входной угол должен попадать в область значений [0, 2в) рад.
Когда вы задаете Function atan2
и Approximation method для CORDIC
блок имеет следующие ограничения:
Входы должны быть того же размера, или, по крайней мере, одно значение должно быть скалярным значением.
Оба входа должны иметь совпадающий тип данных.
Когда вы используете signed фиксированных точек, размер слова должен быть 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, Jack E., The CORDIC Trigonometric Computing Technique (неопр.) (недоступная ссылка). IRE транзакции на электронных компьютерах EC-8 (1959); 330–334.
[2] Andraka, Ray «Обзор алгоритма CORDIC для компьютеров на основе FPGA». Материалы шестого Международного симпозиума ACM/SIGDA 1998 года по программируемым массивам ворот на местах. 22-24 февраля (1998): 191–200.
[3] Walther, J.S., «A Unified Algorithm for Elementary Functions», Proceedings of the Spring Joint Computer Conference, May 18-20, 1971: 379-386.
[4] Шелин, Чарльз У., «Calculator Приближения функций», Американский математический месяц 90, № 5 (1983): 317-325.
cordiccos
(Fixed-Point Designer) | cordicsin
(Fixed-Point Designer) | cordicsincos
(Fixed-Point Designer)