Оптимизация интерполяционной таблицы

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

Оптимизировать интерполяционные таблицы в вашей модели:

  • Ограничьте неровные интерполяционные таблицы.

    Неравномерно распределенные точки останова требуют, чтобы алгоритм общего назначения, такой как двоичный поиск определил, где вход находится относительно точек останова. Это дополнительное вычисление увеличивает ROM и время выполнения.

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

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

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

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

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

Следующая таблица обобщает эффекты интервала точки останова интерполяционной таблицы.

Параметр

Даже степень 2 расположенных с интервалами данных

Равномерно распределенные данные

Неравномерно распределенные данные

Скорость выполнения

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

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

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

Ошибка

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

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

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

Использование ROM

Использование меньше команды ROM, но больше данных ROM.

Использование меньше команды ROM, но больше данных ROM.

Использование больше команды ROM, но меньше данных ROM.

Использование оперативной памяти

Не значительный.

Не значительный.

Не значительный.

Использование Model Advisor Идентифицирует Сомнительную проверку Операций Фиксированной точки, чтобы идентифицировать блоки интерполяционной таблицы, где существует потенциал для улучшений эффективности.

Похожие темы