ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ. Аппроксимация сигналов. Цифровая обработка сигналов
Скачать 360.5 Kb.
|
14.3. сплайновая интерполяция [39]. Сплайн - кусочный многочлен степени K с непрерывной производной степени K - 1 в точках соединения сегментов. При сплайновой интерполяции обычно используются локальные полиномы не выше третьей степени. Так, например, кубические сплайны проходят через три смежные узловые точки (текущие опорные точки вычислений), при этом в граничных точках совпадают как значения полинома и функции, так и значения их первых и вторых производных. Коэффициенты полиномов, проходящих через три узловые точки, рассчитываются так, чтобы непрерывными были их первая и вторая производные. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закреплённую в узловых точках. Это создает высокую плавность сплайнового полинома по сравнению с другими методами аппроксимации и наглядно видно на рис. 14.3.1. Полиномы более высоких порядков чрезмерно громоздки для практики. Рис. 14.3.1. Сплайновая интерполяция и интерполяция по Лагранжу. Сплайновая аппроксимация может применяться для достаточно быстро изменяющихся функций, не имеющих разрывов функции и ее производных. Основной недостаток сплайнов – отсутствие единого аналитического выражения для описания функции. Заметим также, что результаты экстраполяции функций, как это можно видеть на рис. 14.3.1, существенно зависят от метода аппроксимации, и, соответственно, к их достоверности нужно подходить достаточно осторожно. Сплайновая интерполяция обычно применяется в составе математических пакетов по определенной технологии. Так, в системе Mathcad при выполнении сплайновой интерполяции по узловым точкам функции (векторам X и Y) сначала вычисляется вектор (обозначим его индексом S) вторых производных входной функции y(x) по одной из программ: S:= cspline(X,Y) – возвращает вектор S вторых производных при приближении в опорных точках к кубическому полиному; S:= pspline(X,Y) – возвращает вектор S при приближении в опорных точках к параболической кривой; S:= lspline(X,Y) – возвращает вектор S при приближении в опорных точках к прямой. По значениям вектора S функцией interp(S,X,Y,x) вычисляются значения аппроксимирующей функции по аргументам х. На рис. 14.3.2 приведен пример кубической сплайновой интерполяции двумерных цифровых данных с одновременным повышением узловой сетки цифровых данных в 4 раза. Рис. 14.3.2. Сплайн - интерполяция двумерных данных. |