Документация Engee

1-D Lookup Table (mod.)

Приближенная одномерная функция.

1 d lookup table

Описание

Поддерживаемые операции с блоками

Блок 1-D Lookup Table вычисляет приближенное значение некоторой функции:

,

где функция может быть эмпирической.

Блок сопоставляет входные данные с таблицей выходных значений, используя методы интерполяции и экстраполяции.

Блок поддерживает следующие методы интерполяции: Flat, Linear point-slope, Linear Lagrange, Nearest, Cubic-spline и Akima spline.

Задание опорных точек и таблицы выходных значений

Эти параметры блока задают значения для опорных точек и таблицы выходных значений.

Параметр блока Назначение

Breakpoints

Задает вектор опорных точек.

Table data

Определяет соответствующий набор выходных значений.

Как блок генерирует выходные данные

Блок 1-D Lookup Table генерирует выходные данные поиском по таблице или путем оценки значений на основе входных значений.

Входные данные блока Поведение блока 1-D Lookup Table

Совпадают со значениями в наборах данных опорных точек

Выводит табличное значение

Не совпадают со значениями в наборах данных опорных точек, но находятся в пределах диапазона

Интерполирует соответствующие значения таблицы, используя выбранный Interpolation method

Не совпадают со значениями в наборах данных опорных точек и находятся вне диапазона

Экстраполирует выходное значение, используя выбранный Extrapolation method

Порты

Вход

Port_1 — входной сигнал
скаляр | вектор | матрица

Входной сигнал u1, сопоставляемый с выходным значением путем поиска или интерполяции по таблице значений.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Выход

Port_1 — выходной сигнал, вычисленный путем поиска или оценки значений таблицы
скаляр | вектор | матрица

Выходной сигнал, вычисленный путем поиска или оценки значений таблицы на основе входных значений.

Когда входные данные блока…​ То блок 1-D Lookup Table…​

Совпадают со значениями в наборах данных опорных точек

Выводит табличное значение

Не совпадают со значениями в наборах данных опорных точек, но находятся в пределах диапазона

Интерполирует соответствующие значения таблицы, используя выбранный Interpolation method

Не совпадают со значениями в наборах данных опорных точек и находятся вне диапазона

Экстраполирует выходное значение, используя выбранный Extrapolation method

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point, Bool

Параметры

Алгоритм

Interpolation method — способ интерполяции между значениями опорных точек
Linear point-slope (по умолчанию) | Flat | Nearest | Linear Lagrange | Cubic spline | Akima spline

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

Зависимости

  • Если вы выберете Akima spline, методом экстраполяции может быть только Akima spline.

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

Параметр блока

InterpMethod

Значения

Linear point-slope | Flat | Nearest | Linear Lagrange | Cubic spline | Akima spline

По умолчанию

Linear point-slope

Extrapolation method — способ обработки входных значений, которые выходят за пределы диапазона набора данных опорные точки
Linear (по умолчанию) | Clip | Cubic spline | Akima spline

Если задан метод экстраполяции Linear, то значение вычисляется путем линейной интерполяции.

Зависимости

  • Чтобы выбрать Cubic spline для Extrapolation method, необходимо также выбрать Cubic spline для Interpolation method.

  • Чтобы выбрать Akima spline для Extrapolation method, вы также должны выбрать Akima spline для Interpolation method.

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

Параметр блока

ExtrapMethod

Значения

Linear | Clip | Cubic spline | Akima spline

По умолчанию

Linear

Таблица и опорные точки

Number of table dimensions — количество измерений таблицы
1 (по умолчанию)

Введите количество измерений в таблице. Этот параметр определяет:

  • Количество независимых переменных для таблицы и количество входных данных блока

  • Количество полей (параметр Breakpoints <n>) для указания наборов опорных точек.

В настоящий момент блок поддерживает только размерность 1.

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

Параметр блока

NumberOfTableDimensions

Значения

1

По умолчанию

1

Table data — таблица выходных значений
tanh.(collect(-5:5)) (по умолчанию)

Таблица выходных значений.

Во время моделирования размер матрицы должен соответствовать размерам, определенным параметром Number of table dimensions таблицы.

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

Параметр блока

Table

Значения

matrix of table values

По умолчанию

tanh.(collect(-5:5))

Breakpoints 1 — значения опорных точек для первого измерения
collect(-5:5) (по умолчанию)

Опорные точки для первого измерения.

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

Параметр блока

BreakpointsForDimension1

Значения

vector, 1-by-n or n-by-1 matrix of monotonically increasing values

По умолчанию

[0.0, 1.0]

Типы данных

Table data — тип данных таблицы
Same as output (по умолчанию) | Float64 | Inherit:auto | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

Укажите тип данных таблицы.

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

Параметр блока

TableDataTypeStr

Тип

character vector

Значения

Same as output (по умолчанию) | Float64 | Inherit:auto | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

По умолчанию

Same as output

Table data fixed-point type — тип данных таблицы с фиксированной точкой
Fixed{Int16, 0} (по умолчанию) | описание типа данных с фиксированной точкой

Укажите тип данных таблицы с фиксированной точкой.

Зависимости

Включается, когда параметр Table data установлен в значение Fixed-point

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

Параметр блока

TableDataTypeStrFixed

Значение

валидное описание типа с фиксированной точкой

По умолчанию

Fixed{Int16, 0}

Breakpoints — тип данных точки останова
Same as input (по умолчанию) | Inherit:auto | Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

Укажите тип данных для набора данных точек останова.

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

Параметр блока

BreakpointsForDimension1DataTypeStr

Тип

character vector

Значения

Same as input | Inherit:auto | Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

По умолчанию

Same as input

Breakpoints fixed-point type — тип данных точки останова с фиксированной точкой
Fixed{Int16, 0} (по умолчанию) | описание типа данных с фиксированной точкой

Укажите тип данных для набора данных точек останова с фиксированной точкой.

Зависимости

Включается, когда параметр Breakpoints установлен в значение Fixed-point

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

Параметр блока

BreakpointsForDimension1DataTypeStrFixed

Значение

валидное описание типа с фиксированной точкой

По умолчанию

Fixed{Int16, 0}

Fraction — тип данных дроби
Inherit: auto (по умолчанию) | Float64 | Float32 | Fixed-point

Укажите тип данных дроби.

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

Параметр блока

FractionDataTypeStr

Тип

character vector

Значения

Inherit: auto | Float64 | Float32 | Fixed-point

По умолчанию

Inherit: auto

Fraction fixed-point type — тип данных дроби с фиксированной точкой
Fixed{Int16, 0} (по умолчанию) | описание типа данных с фиксированной точкой

Укажите тип данных дроби с фиксированной точкой.

Зависимости

Включается, когда параметр Fraction установлен в значение Fixed-point

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

Параметр блока

FractionDataTypeStrFixed

Значение

валидное описание типа с фиксированной точкой

По умолчанию

Fixed{Int16, 0}

Intermediate results — тип данных промежуточных результатов
Same as output (по умолчанию) | Float64 | Inherit:auto | Float32 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

Укажите тип данных промежуточных результатов.

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

Параметр блока

IntermediateResultsDataTypeStr

Тип

character vector

Значения

Same as output | Float64 | Inherit:auto | Float32 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

По умолчанию

Same as output

Intermediate results fixed-point type — тип данных промежуточных результатов с фиксированной точкой
Fixed{Int16, 0} (по умолчанию) | описание типа данных с фиксированной точкой

Укажите тип данных промежуточных результатов с фиксированной точкой.

Зависимости

Включается, когда параметр Intermediate results установлен в значение Fixed-point

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

Параметр блока

IntermediateResultsDataTypeStrFixed

Значение

валидное описание типа с фиксированной точкой

По умолчанию

Fixed{Int16, 0}

Output — тип выходных данных
Same as input (по умолчанию) | Float64 | Inherit: from 'Table data' | Float32 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

Укажите тип выходных данных.

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

Параметр блока

OutDataTypeStr

Тип

character vector

Значения

Same as input | Float64 | Inherit: from 'Table data' | Float32 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Fixed-Point

По умолчанию

Same as input

Output fixed-point type — тип выходных данных с фиксированной точкой
Fixed{Int16, 0} (по умолчанию) | описание типа данных с фиксированной точкой

Укажите тип выходных с фиксированной точкой.

Зависимости

Включается, когда параметр Output установлен в значение Fixed-point

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

Параметр блока

OutDataTypeStrFixed

Значение

валидное описание типа с фиксированной точкой

По умолчанию

Fixed{Int16, 0}

Integer rounding mode — режим округления для операций с фиксированной точкой
Floor (по умолчанию) | Ceiling | Convergent | Floor | Nearest | Round | Zero

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

Эта опция не влияет на округление значений параметров блока.

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

Параметр блока

RndMeth

Тип

character vector

Значения

Floor | Ceiling | Convergent | Floor | Nearest | Round | Zero

По умолчанию

Floor

Saturate on integer overflow — метод действия при переполнении
off (по умолчанию) | on
Действие Причины для принятия этого решения Что происходит при переполнении Пример

Установите этот флажок(on).

В вашей модели возможно переполнение, и вам нужна явная защита от насыщения в генерируемом коде.

Переполнения насыщаются до минимального или максимального значения, которое может представлять данный тип данных

Переполнение, связанное со знаковым 8-битным целым числом, может насытиться до -128 или 127

Не устанавливайте этот флажок(off)

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

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

Число 130 не помещается в знаковое 8-битное целое число и сворачивается в -126

При установке этого флажка насыщение применяется ко всем внутренним операциям блока, а не только к выходу или результату.

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

Параметр блока

SaturateOnIntegerOverflow

Тип

character vector

Значения

off | on

По умолчанию

off

Дополнительные возможности

Генерация Си кода: Да