Фильтр Савицкого — Голея
Фильтр Савицкого — Голея (полиноминальный метод Савицкого — Голея[1]) это сглаживающий цифровой фильтр, основанный на аппроксимации окрестности каждого измерения степенным полиномом второго и большего порядка[2][3]. Является линейным симметричным фильтром, а так же методом численного дифференцирования экспериментальных данных.[4] Фильтр Савицкого — Голея был предложен Савицким и Голеем в 1964 году в виде КИХ-фильтров для разных полиномов и разных размеров скользящего окна, он нашёл широкое применение для сглаживания зашумлённых данных в частности в спектроскопии, где используется для выделения пиков спектров, а также для численного определения[1] производных[5]. Метод подвергают модификации для устранения его основных недостатков в конкретных применениях[6][1].
Теоретическая основа фильтра
По существу фильтр Савицкого — Голея является[2] развитием метода скользящего среднего, и так же является одним из видов свёртки.
Исходная функция обычно представляет собой последовательность данных с фиксированным шагом по оси абсцисс (время, частота и т. п.). Выбирается фиксированный размер скользящего окна в окрестности текущей (центральной) точки. Окно определяет подмножество последовательности исходных данных, которые используются для расчёта сглаживающей фильтрации в текущей точке. На этом подмножестве исходных данных рассчитываются коэффициенты выбранного степенного полинома (обычно 2-й или 3-й степени) с помощью метода наименьших квадратов (МНК). Точка этого полинома, соответствующая абсциссе текущей (центральной) точки, является результатом сглаживания для данной точки. Коэффициенты полинома, рассчитанные для центральной точки, могут быть использованы для расчёта производных с порядком вплоть до степени полинома, что и является методом дифференцирования Савицкого — Голея.[2]
Классическая реализация фильтра

Фильтр Савицкого — Голея обычно реализуют в виде свёртки с постоянными коэффициентами, но это требует фиксированного шага данных по оси абсцисс (время, частота и т. п.), то есть равномерной дискретизации по оси абсцисс[5]. Коэффициенты свёртки не зависят от исходных данных, а определяются лишь порядком аппроксимирующего степенного полинома и шириной скользящего окна[5][2]. Коэффициенты свёртки можно взять из таблиц[5], или рассчитать, например, используя функцию savgol_coeffs библиотеки SciPy. Таким образом, сглаживание исходных данных полностью аналогично работе двустороннего (симметричного) КИХ-фильтра:
где:
- — исходная последовательность (например, измерения),
- — выходная последовательность (сглаженная функция),
- — половина ширины скользящего окна,
- — коэффициенты свёртки, которые зависят только от ширины скользящего окна и от выбранной степени аппроксимирующего полинома.
Аналогично вычисляются производные с порядком вплоть до степени полинома[2].
Примечания
- 1 2 3 Берштейн И.Я.,Каминский Ю.Л. Спектрофотометрический анализ в органической химии // М.: Химия, 1986. — 200 с. - С.25, С.192
- 1 2 3 4 5 Ляхов А. А., Шкуркин В. В. Применение фильтров Савицкого-Голея для обработки вольтамперных характеристик зондов Ленгмюра // Вестник Омского университета. — 2012. — № 4 (66).
- ↑ Tikhomirov V. V. Finite-memory digital filters based on polynomial approximation (англ.) // Moscow University Mechanics Bulletin. — 2012. — April (vol. 67, no. 2). — P. 46—48. — ISSN 0027-1330. — doi:10.3103/S0027133012020057.
- ↑ Руководство по газовой хроматографии : пер. с нем. : В 2-х ч. / ред.: Э. Лейбниц, Х. Г. Штруппе. - М. : Мир, 1988. - Ч. II. - С.446
- 1 2 3 4 Savitzky A., Golay M. J. Smoothing and differentiation of data by simplified least squares procedures // Anal. Chem. 1964. Vol. 36. Р. 1627–1639. (англ.)
- ↑ Kawata Satoshi, Minami Shigeo. Adaptive Smoothing of Spectroscopic Data by a Linear Mean-Square Estimation (англ.) // Applied Spectroscopy. — 1984. — January (vol. 38, no. 1). — P. 49—58. — ISSN 0003-7028. — doi:10.1366/0003702844554305.