Тригонометрическая функция

Заданная тригонометрическая функция на входном параметре

  • Библиотека:
  • Simulink / Математические операции

Описание

Блок Trigonometric Function выполняет общие тригонометрические функции и выводит результат в раде.

Поддерживаемые функции

Можно выбрать одну из этих функций из списка Параметров функции.

ФункцияОписаниеМатематическое выражение MATLAB® Equivalent
грех

Синус входного параметра

sin(u)

грех
потому что

Косинус входного параметра

cos(u)

потому что
загар

Касательная входного параметра

tan(u)

загар
asin

Обратный синус входного параметра

asin(u)

asin
acos

Обратный косинус входного параметра

acos(u)

acos
atan

Обратная касательная входного параметра

atan(u)

atan
atan2

Обратная касательная с четырьмя квадрантами входного параметра

atan2(u)

atan2
sinh

Гиперболический синус входного параметра

sinh(u)

sinh
дубинка

Гиперболический косинус входного параметра

cosh(u)

дубинка
tanh

Гиперболическая касательная входного параметра

tanh(u)

tanh
asinh

Обратный гиперболический синус входного параметра

asinh(u)

asinh
acosh

Обратный гиперболический косинус входного параметра

acosh(u)

acosh
atanh

Гиперболический арктангенс входного параметра

atanh(u)

atanh
sincos

Синус входного параметра; косинус входного параметра

cos + jsin

Объедините экспоненциал входного параметра

Метод приближения CORDIC

При использовании метод приближения CORDIC (см. Определения), блочный входной параметр имеет некоторые дальнейшие требования.

Когда у вас функция множества к sin, cos, sincos, или cos + jsin и набору метод Приближения к CORDIC, блок есть эти ограничения:

  • Когда вы используете подписанные фиксированные точки, входной угол должен находиться в пределах области значений [–2π, 2π), рад.

  • Когда вы используете фиксированные точки без знака, входной угол должен находиться в пределах области значений [0, 2π), рад.

Когда вы функция множества к atan2 и метод Приближения к CORDIC, блок имеет эти ограничения:

  • Вводы должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.

  • Оба входных параметра должны иметь совпадающий тип данных.

  • Когда вы используете подписанные фиксированные точки, размером слова должен быть 126 или меньше.

  • Когда вы используете фиксированные точки без знака, размером слова должен быть 125 или меньше.

Эта таблица суммирует то, что происходит для недопустимого входного параметра.

Блокируйте использованиеЭффект недопустимого входного параметра
МоделированиеОшибка появляется.
Сгенерированный кодНеопределенное поведение происходит. Постарайтесь не полагаться на неопределенное поведение для сгенерированного кода или режимов Accelerator.
Режимы Accelerator

Порты

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

развернуть все

Введите заданный как скаляр, вектор или матрица. Блок принимает входные сигналы следующих типов данных:

ФункцииТипы входных данных
  • грех

  • потому что

  • sincos

  • cos + jsin

  • atan2

  • Плавающая точка

  • Фиксированная точка (только, когда методом Приближения является CORDIC),

  • загар

  • asin

  • acos

  • atan

  • sinh

  • дубинка

  • tanh

  • asinh

  • acosh

  • atanh

  • Плавающая точка

Зависимости

  • Когда вы функция множества к atan2, блок показывает два входных порта. Первый входной параметр (Port_1) является осью Y или мнимой частью аргумента функции. Второй входной параметр (Port_2) является осью X или действительной частью аргумента функции.

  • Можно использовать входные сигналы с плавающей точкой, когда вы устанавливаете метод Приближения на None или CORDIC. Однако блочный тип выходных данных зависит, на каком из этих опций метода приближения вы выбираете.

    Тип входных данныхМетод приближенияТип выходных данных

    Плавающая точка

    'none'

    Зависит от вашего выбора для типа Выходного сигнала. Опциями является auto (совпадающий тип данных, как введено), real или complex.

    Плавающая точка

    CORDIC

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

Для приближений CORDIC:

  • Введите должно быть действительным для sin, cos, sincos, cos + jsin и функций atan2.

  • Вывод действителен для sin, cos, sincos и функций atan2.

  • Вывод является комплексным для функции cos + jsin.

Ограничения

Комплексные входные сигналы поддержаны для всех функций в этом блоке, кроме atan2.

Можно использовать входные сигналы фиксированной точки только, когда метод Приближения установлен в CORDIC. Приближение CORDIC доступно для sin, cos, sincos, cos + jsin и функций atan2. Для функции atan2 отношение между типами данных ввода и вывода зависит также от того, подписывается ли входной параметр фиксированной точки или без знака.

Тип входных данныхФункцияТип выходных данных

Фиксированная точка, подписанная или без знака

sin, cos, sincos и cos + jsin

(1, WL, WL - 2) fixdt, где WL является входным размером слова

Эта фиксированная точка обеспечивает лучшую точность для алгоритма CORDIC.

Фиксированная точка, подписанная

atan2

fixdt (1, WL, WL – 3)

Фиксированная точка, без знака

atan2

fixdt (1, WL, WL – 2)

Когда у вас функция множества к sin, cos, sincos, или cos + jsin и набору метод Приближения к CORDIC, блок есть эти ограничения:

  • Когда вы используете подписанные фиксированные точки, входной угол должен находиться в пределах области значений [–2π, 2π), рад.

  • Когда вы используете фиксированные точки без знака, входной угол должен находиться в пределах области значений [0, 2π), рад.

Когда вы функция множества к atan2 и метод Приближения к CORDIC, блок имеет эти ограничения:

  • Вводы должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.

  • Оба входных параметра должны иметь совпадающий тип данных.

  • Когда вы используете подписанные фиксированные точки, размером слова должен быть 126 или меньше.

  • Когда вы используете фиксированные точки без знака, размером слова должен быть 125 или меньше.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Введите ось X или действительную часть аргумента функции для atan2. Когда вы функция множества к atan2, блок показывает два входных порта. Первый входной параметр (Port_1) является осью Y или мнимой частью аргумента функции. Второй входной параметр (Port_2) является осью X или действительной частью аргумента функции. (См. Местоположение порта После Вращения или Зеркального отражения для описания порядка порта для различных блочных ориентаций.)

Зависимости

Включить этот порт, функцию множества к atan2.

Ограничения

  • Входные сигналы фиксированной точки поддержаны только, когда вы устанавливаете метод Приближения на CORDIC.

  • Когда вы функция множества к atan2 и метод Приближения к CORDIC:

    • Вводы должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.

    • Оба входных параметра должны иметь совпадающий тип данных.

    • Когда вы используете подписанные фиксированные точки, размером слова должен быть 126 или меньше.

    • Когда вы используете фиксированные точки без знака, размером слова должен быть 125 или меньше.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Вывод

развернуть все

Результат применения заданной тригонометрической функции к одному или нескольким входным параметрам в раде. Каждая функция поддержки:

  • Скалярные операции

  • Поэлементные векторные и операции над матрицей

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Синус входного сигнала, в раде.

Зависимости

Включить этот порт, функцию множества к sincos.

Ограничения

Входные сигналы фиксированной точки поддержаны только, когда вы устанавливаете метод Приближения на CORDIC.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Косинус входного сигнала, в раде.

Зависимости

Включить этот порт, функцию множества к sincos.

Ограничения

Входные сигналы фиксированной точки поддержаны только, когда вы устанавливаете метод Приближения на CORDIC.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Параметры

развернуть все

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

Ограничения

Когда у вас функция множества к sin, cos, sincos, или cos + jsin и набору метод Приближения к CORDIC, блок есть эти ограничения:

  • Когда вы используете подписанные фиксированные точки, входной угол должен находиться в пределах области значений [–2π, 2π), рад.

  • Когда вы используете фиксированные точки без знака, входной угол должен находиться в пределах области значений [0, 2π), рад.

Когда вы функция множества к atan2 и метод Приближения к CORDIC, блок имеет эти ограничения:

  • Вводы должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.

  • Оба входных параметра должны иметь совпадающий тип данных.

  • Когда вы используете подписанные фиксированные точки, размером слова должен быть 126 или меньше.

  • Когда вы используете фиксированные точки без знака, размером слова должен быть 125 или меньше.

Программируемое использование

Блочный параметр: Оператор
Ввод: символьный вектор
Значения: 'грешите' | 'cos' | 'загар' | 'asin' | 'acos' | 'atan' | 'atan2' | 'sinh' | 'дубинка' | 'tanh' | 'asinh' | 'acosh' | 'atanh' | 'sincos' | потому что + jsin'
Значение по умолчанию: грех

Задайте тип приближения для вычисления вывода.

Метод приближенияПоддерживаемые типы данныхКогда использовать этот метод
None (значение по умолчанию)

Плавающая точка

Вы хотите использовать алгоритм Ряда Тейлора по умолчанию.

CORDIC

И фиксированная точка с плавающей точкой

Вы хотите быстрое, приближенное вычисление.

Если вы выбираете CORDIC и увеличиваете блок от размера по умолчанию, блочных изменений значка:

ФункцияБлокируйте значок
грех

потому что

sincos

cos + jsin

atan2

Зависимости

Включить этот параметр, функцию множества к sin, cos, sincos, cos + jsin или atan2.

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

Ограничения

Когда у вас функция множества к sin, cos, sincos, или cos + jsin и набору метод Приближения к CORDIC, блок есть эти ограничения:

  • Когда вы используете подписанные фиксированные точки, входной угол должен находиться в пределах области значений [–2π, 2π), рад.

  • Когда вы используете фиксированные точки без знака, входной угол должен находиться в пределах области значений [0, 2π), рад.

Когда вы функция множества к atan2 и метод Приближения к CORDIC, блок имеет эти ограничения:

  • Вводы должны быть одного размера, или по крайней мере одно значение должно быть скалярным значением.

  • Оба входных параметра должны иметь совпадающий тип данных.

  • Когда вы используете подписанные фиксированные точки, размером слова должен быть 126 или меньше.

  • Когда вы используете фиксированные точки без знака, размером слова должен быть 125 или меньше.

Программируемое использование

Блочный параметр: ApproximationMethod
Ввод: символьный вектор
Значения: 'Ни один' | 'CORDIC'
Значение по умолчанию: 'none'

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

  • То, когда блок ввел, использует тип данных с плавающей точкой, количество итераций может быть положительным целым числом.

  • Когда блочный входной параметр является типом данных фиксированной точки, количество итераций не может превысить размер слова.

    Например, если блочным входным параметром является fixdt(1,16,15), размер слова равняется 16. В этом случае количество итераций не может превысить 16.

Зависимости

Чтобы включить этот параметр, необходимо установить параметры метода Функции и Приближения можно следующим образом:

  • Функция множества к sin, cos, sincos, cos + jsin или atan2.

  • Установите метод Приближения на CORDIC.

Программируемое использование

Блочный параметр: NumberOfIterations
Ввод: символьный вектор
Значения: положительное целое число, меньше чем или равное размеру слова фиксированной точки, вводится
Значение по умолчанию: '11'

Задайте тип выходного сигнала блока Trigonometric Function как auto, real или complex.

ФункцияТип входного сигналаТип выходного сигнала
'auto'ДействительныйКомплекс
Любой выбор для Параметра функции действительныйдействительныйдействительныйкомплекс
комплекскомплексошибкакомплекс

Зависимости

Установка метода Приближения к CORDIC отключает этот параметр.

Примечание

Когда Функцией является atan2, комплексные входные сигналы не поддержаны для моделирования или генерации кода.

Программируемое использование

Блочный параметр: OutputSignalType
Ввод: символьный вектор
Значения: 'auto' | 'действительный' | 'комплекс'
Значение по умолчанию: 'auto'

Задайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.

Программируемое использование

Блочный параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

Блокируйте характеристики

Типы данных

double | single

Прямое сквозное соединение

No

Многомерные сигналы

Yes

Сигналы переменного размера

Yes

Обнаружение пересечения нулем

No

Больше о

развернуть все

Ссылки

[1] Volder, JE. “Тригонометрический вычислительный метод CORDIC”. Транзакции IRE на электронно-вычислительных машинах EC 8 (1959); 330–334.

[2] Andraka, R. “Обзор алгоритма CORDIC для основанных на FPGA компьютеров”. Продолжения 1998 шестых международных симпозиумов ACM/SIGDA по Программируемым пользователем вентильным матрицам. 22-24 февраля (1998): 191–200.

[3] Вальтер, J.S. “Объединенный Алгоритм для Элементарных функций”. Hewlett-Packard Company, Пало-Альто. Компьютерная Конференция по Соединению Spring (1971): 379–386. (из набора Компьютерного Музея Истории). www. компьютер. org/csdl/proceedings/afips/1971/5077/00/50770379.pdf

[4] Schelin, Чарльз В. “Приближение Функции калькулятора”. Американская Mathematical Monthly 90, № 5 (1983): 317–325.

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

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Представлено до R2006a

Была ли эта тема полезной?