Измените точки прерывания интерполяционной таблицы, чтобы иметь четные интервалы
xdata_modified
= fixpt_evenspace_cleanup(xdata
,xdt
,xscale
)
изменяет контрольные точки интерполяционной таблицы, чтобы иметь четные интервалы после квантования. Путем корректировки точек прерывания, чтобы иметь четные интервалы после квантования, Simulink® Coder™ сгенерированного кода могут исключить точки останова из памяти.xdata_modified
= fixpt_evenspace_cleanup(xdata
,xdt
,xscale
)
xdata
- вектор точек по оси Х интерполяционной таблицы с равномерными интервалами, например 0:0.005:1
. xdt
- тип данных точек останова, таких как sfix(16)
. xscale
- масштабирование точек останова, таких как 2^-12
. Используя эти три входа, fixpt_evenspace_cleanup
возвращает измененные точки останова в xdata_modified
.
Эта функция работает только с нетронутыми данными и считает, что данные имеют четные интервалы относительно наклона масштаба. Для примера вектор точек по оси Х [0 2 5], который имеет значение интервала 2 и 3, по-видимому, имеет неравномерное расстояние. Однако различие между максимальным интервалом 3 и минимальным интервалом 2 равна 1. Если наклон масштаба 1 или больше, изменение интервала 1 представляет 1-битовое изменение или меньше. В этом случае, fixpt_evenspace_cleanup
функция рассматривает изменение интервала 1 бит или менее как четное.
Изменения точек по оси Х могут изменить численное поведение интерполяционной таблицы. Чтобы проверить на изменения, протестируйте модель с помощью симуляции, быстрого прототипирования или других соответствующих методов.
Измените точки останова интерполяционной таблицы, чтобы иметь четные интервалы после квантования:
xdata = 0:0.005:1; xdt = sfix(16); xscale = 2^-12; xdata_modified = fixpt_evenspace_cleanup(xdata,xdt,xscale)
fixdt
| fixpt_interp1
| fixpt_look1_func_approx
| fixpt_look1_func_plot
| sfix
| ufix