Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня
Simulink / Математические операции
HDL Coder / Операции Плавающей точки HDL
HDL Coder / Математические операции
Блок Sqrt вычисляет квадратный корень, подписанный квадратный корень или обратную величину квадратного корня на входном сигнале. Выберите одну из следующих функций из списка параметров Function.
Функция | Описание | Математическое выражение | MATLAB® Equivalent |
---|---|---|---|
sqrt
| Квадратный корень из входа |
|
sqrt
|
signedSqrt
| Квадратный корень из абсолютного значения входа, умноженного на знак входа |
| — |
rSqrt
| Обратная величина квадратного корня из входа |
| — |
Значок блока изменяется, чтобы совпадать с функцией.
Port_1
— Входной сигналВходной сигнал к блоку, чтобы вычислить квадратный корень, подписанный квадратный корень или обратную величину квадратного корня. Функция sqrt
принимает действительные или комплексные входные параметры, за исключением комплексных сигналов фиксированной точки. signedSqrt
и rSqrt
не принимают комплексные входные параметры.
Если вход отрицателен, установите Output signal объединять.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Port_1
— Выходной сигналВыходной сигнал, который является квадратным корнем, подписанным квадратным корнем или обратной величиной квадратного корня из входного сигнала. Когда вход является целым числом или фиксированной точкой, вывод должен быть плавающей точкой.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Функция
Функционируйте блок выполняетsqrt
(значение по умолчанию) | signedSqrt
| rSqrt
Задайте математическую функцию, которую вычисляет блок. Значок блока изменяется, чтобы совпадать с функцией, которую вы выбираете.
Функция | Блокируйте значок |
---|---|
sqrt
| |
signedSqrt
| |
rSqrt
|
Параметры блоков: Operator |
Ввод: символьный вектор |
Значения: 'sqrt' | 'signedSqrt' | 'rSqrt' |
Значение по умолчанию: 'sqrt' |
Output signal type
— Тип выходного сигналаauto
(значение по умолчанию) | real
| complex
Задайте тип выходного сигнала блока.
Функция | Тип входного сигнала | Тип выходного сигнала | ||
---|---|---|---|---|
'auto' | Действительный | Комплекс | ||
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
Параметры блоков: OutputSignalType |
Ввод: символьный вектор |
Значения: 'auto' | 'real' | 'complex' |
Значение по умолчанию: 'auto' |
'SampleTime'
Задайте шаг расчета как значение кроме -1
-1
(значение по умолчанию) | скалярЗадайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.
Этот параметр не видим, если он явным образом не установлен в значение кроме -1
. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.
Параметры блоков:
SampleTime |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'-1' |
Method
— Метод, чтобы вычислить обратную величину квадратного корняExact
(значение по умолчанию) | Newton-Raphson
Задайте метод для вычисления обратной величины квадратного корня. Этот параметр только допустим для функции rSqrt
.
Метод | Поддерживаемые типы данных | Когда использовать этот метод |
---|---|---|
Exact
| Плавающая точка Если вы используете фиксированную точку или встроенный целочисленный тип, восходящее к типу с плавающей точкой происходит. | Вы не хотите приближение. ПримечаниеВвод или вывод должен быть плавающей точкой. |
Newton-Raphson
| Фиксированная точка с плавающей точкой и встроенные целочисленные типы | Вы хотите быстрое, приближенное вычисление. |
Метод Exact
обеспечивает результаты, которые сопоставимы с вычислениями MATLAB.
Алгоритмы для sqrt
и signedSqrt
всегда имеют тип Exact
, неважно, какой выбор появляется на диалоговом окне блока.
Параметры блоков: AlgorithmType |
Ввод: символьный вектор |
Значения: 'Exact' | 'Newton-Raphson' |
Значение по умолчанию: 'Exact' |
Number of iterations
— Количество итераций используется для алгоритма Ньютона Рэфсона3
(значение по умолчанию) | целое числоЗадайте количество итераций, чтобы выполнить алгоритм Ньютона-Raphson. Этот параметр допустим с функцией rSqrt
и значением Newton-Raphson
для Method.
Если вы входите 0, блок вывод является исходным предположением алгоритма Ньютона-Raphson.
Параметры блоков: Iterations |
Ввод: символьный вектор |
Значения: целое число |
Значение по умолчанию: '3' |
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Intermediate results data type
— Тип данных промежуточных результатовInherit:Inherit via internal rule
(значение по умолчанию) | Inherit: Inherit: Inherit from input
| Inherit: Inherit: Inherit from output
| double
| single
| int8
| int32
| uint32
| int64
| uint64
| fixdt(1,16,2^0,0)
| <data type expression>
Задайте тип данных для промежуточных результатов, когда вы установите Function на sqrt
или rSqrt
на панели Main.
Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как Simulink.NumericType
.
Следуйте этим инструкциям по установке промежуточного типа данных явным образом для функции квадратного корня, sqrt
:
Типы входных и выходных данных | Промежуточный тип данных |
---|---|
Ввод или вывод является двойным. | Используйте дважды. |
Ввод или вывод является одним, и любой многократный тип данных не является двойным. | Используйте один или двойной. |
Ввод и вывод является фиксированной точкой. | Используйте фиксированную точку. |
Следуйте этим инструкциям по установке промежуточного типа данных явным образом для взаимной функции квадратного корня, rSqrt
:
Типы входных и выходных данных | Промежуточный тип данных |
---|---|
Вход является двойным, и вывод не является одним. | Используйте дважды. |
Вход не является одним, и вывод является двойным. | Используйте дважды. |
Ввод и вывод является фиксированной точкой. | Используйте фиксированную точку. |
Не устанавливайте Intermediate results data type на Inherit:Inherit from output
когда:
Вы выбираете Newton-Raphson
, чтобы вычислить обратную величину квадратного корня.
Тип входных данных является плавающей точкой.
Тип выходных данных является фиксированной точкой.
При этих условиях, выбор Inherit:Inherit from output
приводит к субоптимальной производительности и производит ошибку.
Чтобы избежать этой ошибки, преобразуйте входной сигнал от с плавающей точкой до типа данных с фиксированной точкой. Например, вставьте блок Data Type Conversion перед блоком Sqrt, чтобы выполнить преобразование.
Параметры блоков: IntermediateResultsDataTypeStr |
Ввод: символьный вектор |
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Inherit from input' | 'Inherit: Inherit from output' | 'double' | 'single' , 'int8' , 'uint8' , int16 , 'uint16' , 'int32' , 'uint32' , 'int64' , 'uint64' , fixdt(1,16,0) , fixdt(1,16,2^0,0) , fixdt(1,16,2^0,0) . '<data type expression>' |
Значение по умолчанию: 'Inherit: Inherit via internal rule' |
Вывод
Тип выходных данныхInherit: Same as first input
(значение по умолчанию) | Inherit: Inherit via internal rule
| Inherit: Inherit via back propagation
| double
| single
| int8
| int32
| uint32
| int64
| uint64
| fixdt(1,16,2^0,0)
| <data type expression>
|...Задайте тип выходных данных. Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как Simulink.NumericType
.
Параметры блоков: OutDataTypeStr |
Ввод: символьный вектор |
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'Inherit: Same as first input' | 'double' | 'single' , 'int8' , 'uint8' , int16 , 'uint16' , 'int32' , 'uint32' , 'int64' , 'uint64' , fixdt(1,16,0) , fixdt(1,16,2^0,0) , fixdt(1,16,2^0,0) . '<data type expression>' |
Значение по умолчанию: 'Inherit: Same as first input' |
Lock output data type setting against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили типы данныхoff
(значение по умолчанию) | on
Выберите, чтобы заблокировать установку типа выходных данных этого блока против изменений Fixed-Point Tool и Советником Фиксированной точки. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).
Параметры блоков: LockScale |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Saturate on integer overflow
— Выберите поведение, когда целочисленное переполнение произойдетon
(значение по умолчанию) | булевская переменная
Действие | Причины принятия этих мер | Что происходит для переполнения | Пример |
---|---|---|---|
Установите этот флажок. |
Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде. |
Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. |
Максимальное значение, которое может представлять |
Не устанавливайте этот флажок. |
Вы хотите оптимизировать эффективность своего сгенерированного кода. Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Проверку на Ошибки Диапазона сигнала. |
Переполнение переносится к соответствующему значению, которое является представимым, по условию вводят. |
Максимальное значение, которое может представлять |
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, не только выводу или результату. Обычно, процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщения.
Параметры блоков: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значение: 'off' | 'on' |
Значение по умолчанию: 'on' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Для получения информации о поддержке генерации HDL-кода смотрите Sqrt, Sqrt Со знаком.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.