Введение
Алгоритм сглаживания точек данных
Фильтр Савицкого – Голея — это цифровой фильтр, который можно применить к набору цифровых точек данных для сглаживания данных, то есть для повышения точности данных без искажения тенденции сигнала. Это достигается в процессе, известном как свёртка, путём подгонки последовательных подмножеств соседних точек данных полиномом низкой степени методом наименьших квадратов. Когда точки данных расположены с равными интервалами, можно найти аналитическое решение уравнений наименьших квадратов в виде единого набора «коэффициентов свёртки», которые можно применить ко всем подмножествам данных для получения оценок сглаженного сигнала (или производных сглаженного сигнала) в центральной точке каждого подмножества. Метод, основанный на устоявшихся математических процедурах, был популяризирован Абрахамом Савицким и Марселем Дж. Е. Голеем, которые в 1964 году опубликовали таблицы коэффициентов свёртки для различных полиномов и размеров подмножеств. Некоторые ошибки в таблицах были исправлены. Метод был расширен для обработки двух- и трёхмерных данных. Статья Савицкого и Голея является одной из наиболее цитируемых в журнале Analytical Chemistry и классифицируется этим журналом как одна из «10 основополагающих статей», в которой утверждается, что «можно утверждать, что начало эры компьютерно-управляемых аналитических приборов связано с этой статьёй».
Средняя скользящая величина
"Фильтр скользящей средней" — это тривиальный пример фильтра Савицкого-Голея, который обычно используется для сглаживания краткосрочных колебаний и выявления долгосрочных трендов или циклов во временных рядах данных. Каждый участок набора данных аппроксимируется прямой горизонтальной линией, в отличие от полинома более высокой степени. Не взвешенный фильтр скользящей средней является простейшим фильтром свёртки. Скользящая средняя часто применяется для быстрого технического анализа финансовых данных, таких как цены акций, доходность или объемы торгов. Она также используется в экономике для анализа валового внутреннего продукта, занятости и других макроэкономических временных рядов. Этот фильтр не был включен в некоторые таблицы коэффициентов свёртки Савицкого-Голея, так как все коэффициенты имеют одинаковое значение, равное .
Использование ортогональных многочленов
Альтернативой аппроксимации m точек данных простым многочленом относительно вспомогательной переменной z является использование ортогональных многочленов, где P₀, …, Pₖ – набор взаимно ортогональных многочленов степени 0, …, k. Полные сведения о получении выражений для ортогональных многочленов и связи между коэффициентами b и a приведены в работе Геста. Это также эквивалентно аппроксимации первых (m + 1)/2 точек одним и тем же многочленом, и аналогично для последних точек.
Коэффициенты многомерной свёртываемости
Идея коэффициентов двумерной свертки может быть прямолинейно расширена на более высокие пространственные размерности путем упорядочивания многомерного распределения узлов ядра в один ряд. В соответствии с вышеупомянутым открытием Никитаса и Паппа Луизи, точность чисел с плавающей запятой постепенно увеличивается на каждой итерации с использованием GNU MPFR. Когда полученные значения C в двух последовательных итерациях начинают иметь одинаковые значащие цифры до заранее заданного расстояния, считается, что достигнута сходимость. Если это расстояние достаточно велико, вычисление дает высокоточное значение C. PCCC использует вычисления с рациональными числами, используя библиотеку GNU Multiple Precision Arithmetic Library, и выдает полностью точное значение C в формате рациональных чисел. В конечном итоге эти рациональные числа преобразуются в числа с плавающей запятой до заранее заданного количества значащих цифр. Предоставляется база данных значений C, рассчитанных с помощью ACCC для симметричных ядер и как симметричных, так и асимметричных полиномов, на узлах ядра с единичным шагом в пространствах размерности 1, 2, 3 и 4. Чандра Шехар также разработал математическую основу, описывающую использование C, рассчитанного на узлах ядра с единичным шагом, для выполнения фильтрации и частных дифференцирований (различных порядков) на узлах ядра с неравномерным шагом. Сумма квадратов коэффициентов свертки для сглаживания равна значению центрального коэффициента.
The sum of squared convolution coefficients for smoothing is equal to the value of the central coefficient.
Многопроходные фильтры
Один из способов уменьшить искажения и улучшить подавление шума — использовать фильтр меньшей ширины и выполнять с ним несколько свёрток. Два прохода одного и того же фильтра эквивалентны одному проходу фильтра, полученного в результате свёртки исходного фильтра с самим собой. Например, два прохода фильтра с коэффициентами (1/3, 1/3, 1/3) эквивалентны одному проходу фильтра с коэффициентами (1/9, 2/9, 3/9, 2/9, 1/9). Недостатком многократного прохода является то, что эквивалентная ширина фильтра для *n* проходов *m*-точечной функции составляет *n* * m*, поэтому многократные проходы более подвержены краевым эффектам. Тем не менее, многократные проходы успешно применялись на практике. Например, от 40 до 80 проходов данных с отношением сигнал/шум всего 5 давали полезные результаты. Формулы снижения шума, представленные выше, неприменимы, поскольку корреляция между вычисленными точками данных возрастает с каждым проходом.
(1/9, 2/9, 3/9, 2/9, 1/9). The disadvantage of multipassing is that the equivalent filter width for passes of an –point function is so multipassing is subject to greater end effects. Nevertheless, multipassing has been used to great advantage. For instance, some 40–80 passes on data with a signal to noise ratio of only 5 gave useful results. The noise reduction formulae given above do not apply because correlation between calculated data points increases with each pass.
Частотность фильтров свертывания
Конволюция соответствует умножению в Фурье-пространстве. Дискретное преобразование Фурье сверточного фильтра является вещественнозначной функцией, которую можно представить следующим образом: θ изменяется от 0 до 180 градусов, после чего функция просто повторяется. График для 9-точечной квадратичной/кубической функции сглаживания является типичным. При очень малых углах график почти плоский, что означает, что низкочастотные компоненты данных практически не изменятся в результате операции сглаживания. С увеличением угла значение уменьшается, так что высокочастотные компоненты все сильнее ослабляются. Это показывает, что сверточный фильтр можно описать как фильтр нижних частот: удаляемый шум в основном является высокочастотным, а низкочастотный шум проходит через фильтр. Некоторые высокочастотные компоненты шума ослабляются сильнее, чем другие, что проявляется в виде волнистости на преобразовании Фурье при больших углах. Это может приводить к небольшим колебаниям в сглаженных данных и инверсии фазы, то есть высокочастотные колебания в данных инвертируются при фильтрации Савицкого-Голея.
θ runs from 0 to 180 degrees, after which the function merely repeats itself. The plot for a 9 point quadratic/cubic smoothing function is typical. At very low angle, the plot is almost flat, meaning that low frequency components of the data will be virtually unchanged by the smoothing operation. As the angle increases the value decreases so that higher frequency components are more and more attenuated. This shows that the convolution filter can be described as a low pass filter: the noise that is removed is primarily high frequency noise and low frequency noise passes through the filter. Some high frequency noise components are attenuated more than others, as shown by undulations in the Fourier transform at large angles. This can give rise to small oscillations in the smoothed data and phase reversal, i. e., high frequency oscillations in the data get inverted by Savitzky–Golay filtering.
Сравнение с другими фильтрами и альтернативными средствами
По сравнению с другими фильтрами сглаживания, например, сверткой с гауссовым ядром или многопроходным скользящим средним, фильтры Савицкого-Голея характеризуются изначально более плоской частотной характеристикой и более резким спадом, особенно при использовании полиномов высокой степени (см. частотные характеристики). Для данных с ограниченной полосой пропускания сигнала это означает, что фильтрация Савицкого-Голея может обеспечить лучшее отношение сигнал/шум, чем многие другие фильтры; например, высоты пиков в спектрах сохраняются лучше, чем при использовании других фильтров с аналогичным уровнем подавления шума. К недостаткам фильтров Савицкого-Голея относится сравнительно слабое подавление некоторых высоких частот (недостаточное подавление в полосе задерживания) и возникновение артефактов при аппроксимации полиномами первых и последних точек. Альтернативные методы сглаживания, сочетающие преимущества фильтров Савицкого-Голея и смягчающие некоторые из их недостатков, включают фильтры Савицкого-Голея с правильно подобранными весами, сглаживание Уиттакера-Хендерсона (метод, тесно связанный со сглаживающими сплайнами) и свертку с оконной функцией sinc.