В некоторых случаях размерности вашего набора данных диктуют, какие из блоков интерполяционной таблицы подходят вашему приложению. Если вы аппроксимируете одномерную функцию, рассмотрите использование блока 1-D Lookup Table или Lookup Table Dynamic. Если вы аппроксимируете двумерную функцию, рассмотрим 2-D Lookup Table блок. Блоки, такие как n-D Lookup Table и Direct Lookup Table (n-D), позволяют вам аппроксимировать функцию от N переменных.
Числовые и типы данных вашего набора данных влияют на решение, какой блок интерполяционной таблицы является наиболее подходящим. Хотя все блоки интерполяционной таблицы поддерживают вещественные числа, блоки Direct Lookup Table (n-D), 1-D Lookup Table, 2-D Lookup Table и n-D Lookup Table также поддерживают сложные данные таблицы. Все блоки интерполяционной таблицы поддерживают целое число и данные с фиксированной точкой в дополнение к double
и single
типы данных.
Примечание
Для блока Direct Lookup Table (n-D) поддерживаются фиксированные точки для данных таблицы, выходного порта и опционального входного порта таблицы.
Необходимая точность и сглаженность данных, возвращаемых интерполяционной таблицей, определяют, какой из блоков вы должны использовать. Большинство блоков обеспечивают опции для выполнения интерполяции и экстраполяции, улучшая точность значений, которые находятся между или вне данных таблицы, соответственно. Например, блок Lookup Table Dynamic выполняет линейную интерполяцию и экстраполяцию, в то время как блок n-D Lookup Table выполняет или линейную, кубическую сплайн интерполяцию и экстраполяцию, или сплайн-интерполяцию Акимы и экстраполяцию. Напротив, блок Direct Lookup Table (n-D) выполняет поиск таблицы без какой-либо интерполяции или экстраполяции. Вы можете добиться сочетания методов интерполяции и экстраполяции, используя блок Prelookup с блоком Interpolation Using Prelookup.
Динамика входов интерполяционной таблицы влияет на то, какие из блоков интерполяционной таблицы идеально подходят для вашего приложения. Блоки используют различные методы поиска по индексу, чтобы связать входы интерполяционной таблицы с наборами данных точек по оси Х таблицы. Большинство блоков интерполяционной таблицы предлагают двоичный алгоритм поиска, который работает хорошо, если входы значительно изменяются от одного временного шага к следующему. Блоки 1-D Lookup Table, 2-D Lookup Table, n-D Lookup Table и Prelookup предлагают линейный алгоритм поиска. Использование этого алгоритма с опцией, которая возобновляет поиск из предыдущего результата, хорошо работает, если входы изменяются медленно. Некоторые блоки интерполяционной таблицы также обеспечивают алгоритм поиска, который лучше всего работает для наборов данных точек по оси Х, состоящих из равномерно расположенных точек по оси Х. Вы можете добиться сочетания методов поиска по индексу, используя блок Prelookup с блоком Interpolation Using Prelookup.
Когда эффективность, с которой работают интерполяционные таблицы, важна, рассмотрите использование блока Prelookup с блоком Interpolation Using Prelookup. Эти блоки разделяют процесс поиска таблицы на два компонента - поиск по индексу, который связывает входы с данными таблицы, далее следует этап интерполяции и экстраполяции, который вычисляет выходы. Эти блоки позволяют вам выполнить один поиск по индексу, а затем повторно использовать результаты для поиска данных в нескольких таблицах. Кроме того, блок Interpolation Using Prelookup может выполнить выбор подтаблицы, где блок интерполирует фрагмент данных таблицы вместо всей таблицы. Для примера, если данные 3-D таблицы составляют набор 2-D таблиц, подлежащих интерполяции, можно задать вход порта выбора, чтобы выбрать одну или несколько таблиц 2-D из стека для интерполяции. Полная 3-D интерполяция имеет 7 субинтерполяций, но 2-D интерполяция требует только 3 субинтерполяций. В результате значительные улучшения скорости возможны, когда некоторые размерности таблицы используются для сложения данных и не предназначены для интерполяции. Эти функции делают операции поиска таблицы более эффективными, уменьшая вычислительные усилия и время симуляции.
Используйте следующую таблицу, чтобы идентифицировать функции, которые соответствуют конкретным блокам интерполяционной таблицы, а затем выберите блок, который наилучшим образом соответствует вашим требованиям.
Функция | 1-D Lookup Table | 2-D Lookup Table | Lookup Table Dynamic | n-D Lookup Table | Direct Lookup Table (n-D) | Prelookup | Interpolation Using Prelookup |
---|---|---|---|---|---|---|---|
Методы интерполяции | |||||||
Квартира | • | • | • | • | • | ||
Ближайший | • | • | • | • | |||
Линейный | • | ||||||
Линейная точка-уклон | • | • | • | • | |||
Линейный Лагранж | • | • | • | • | |||
Кубический сплайн | • | • | • | ||||
Сплайн Акима | • | • | • | ||||
Методы экстраполяции | |||||||
Клип | • | • | • | • | • | • | |
Линейный | • | • | • | • | • | • | |
Кубический сплайн | • | • | • | ||||
Сплайн Акима | • | • | |||||
Поддержка числовых и данных | |||||||
Комплекс | • | • | • | • | |||
Double, Single | • | • | • | • | • | • | • |
Целое число | • | • | • | • | • | • | • |
Фиксированная точка | • | • | • | • | • | • | • |
Методы поиска по индексу | |||||||
Набор из двух предметов | • | • | • | • | • | ||
Линейный | • | • | • | • | |||
Равномерно разнесенные точки | • | • | • | • | • | ||
Начните с предыдущего индекса | • | • | • | • | |||
Разное | |||||||
Выбор подтаблицы | • | • | |||||
Динамические данные точек по оси Х | • | ||||||
Динамические данные таблицы | • | • | • | ||||
Проверка входной области значений | • | • | • | • | • | • |