Jump to content

Фильтр Савицкого – Голея

(Перенаправлено с фильтра Савицкого-Голея )
Анимация, показывающая применение сглаживания при передаче данных слева направо. Красная линия представляет собой локальный полином, используемый для подбора подмножества данных. Сглаженные значения показаны кружками.

Фильтр Савицкого-Голея — это цифровой фильтр , который можно применять к набору точек цифровых данных с целью сглаживания данных, то есть для повышения точности данных без искажения тенденции сигнала. Это достигается в процессе, известном как свертка , путем аппроксимации последовательных подмножеств соседних точек данных полиномом низкой степени с помощью метода линейных наименьших квадратов . Когда точки данных расположены на одинаковом расстоянии друг от друга, можно найти аналитическое решение уравнений наименьших квадратов в форме одного набора «коэффициентов свертки», который можно применять ко всем подмножествам данных, чтобы дать оценки сглаженного сигнал (или производные сглаженного сигнала) в центральной точке каждого подмножества. Метод, основанный на установленных математических процедурах, [1] [2] был популяризирован Авраамом Савицким и Марселем Дж. Голеем , которые опубликовали таблицы коэффициентов свертки для различных полиномов и размеров подмножеств в 1964 году. [3] [4] Исправлены некоторые ошибки в таблицах. [5] Метод был расширен для обработки 2- и 3-мерных данных.

Статья Савицкого и Голея является одной из наиболее широко цитируемых статей в журнале Analytical Chemistry. [6] и классифицируется этим журналом как одна из «10 плодотворных статей», в которой говорится, что «можно утверждать, что зарождение аналитического прибора с компьютерным управлением можно проследить до этой статьи». [7]

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

Приложения

[ редактировать ]

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

Выбранные коэффициенты свертки показаны в таблицах ниже . Например, для сглаживания 5-точечным квадратичным полиномом: и сглаженная точка данных, , определяется

,

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

Ниже приведены приложения численного дифференцирования данных. [8] Примечание. При вычислении n- й производной применяется дополнительный коэффициент масштабирования может применяться ко всем рассчитанным точкам данных для получения абсолютных значений (см. выражения для ниже, подробности).

(1) Синтетический лоренциан + шум (синий) и 1-я производная (зеленый)
(2) Кривая титрования (синяя) малоновой кислоты и 2-го производного (зеленая). Часть в голубой рамке увеличена в 10 раз.
(3) Лоренциан на экспоненциальной базовой линии (синий) и 2-й производной (зеленый)
(4) Сумма двух лоренцианов (синий) и 2-й производной (зеленый)
(5) 4-я производная суммы двух лоренцианов
  1. Расположение максимумов и минимумов на кривых экспериментальных данных. Это была заявка, которая впервые вдохновила Савицкого. [4] Первая производная функции равна нулю в максимуме или минимуме. На диаграмме показаны точки данных, принадлежащие синтетической кривой Лоренца , с добавленным шумом (синие ромбы). Данные нанесены в масштабе половинной ширины относительно максимума пика при нуле. Сглаженная кривая (красная линия) и первая производная (зеленая) были рассчитаны с помощью 7-точечных кубических фильтров Савицкого – Голея. Линейная интерполяция значений первой производной в положениях по обе стороны от перехода через нуль дает положение пикового максимума. Для этой цели также можно использовать третьи производные.
  2. Расположение конечной точки на кривой титрования . Конечная точка — это точка перегиба , где вторая производная функции равна нулю. [9] Кривая титрования малоновой кислоты иллюстрирует эффективность метода. Первая конечная точка при объеме 4 мл едва видна, но вторая производная позволяет легко определить ее значение путем линейной интерполяции для нахождения перехода через нуль.
  3. Выравнивание базовой линии. В аналитической химии иногда необходимо измерить высоту полосы поглощения относительно изогнутой базовой линии. [10] Поскольку кривизна базовой линии намного меньше кривизны полосы поглощения, вторая производная эффективно выравнивает базовую линию. Тремя мерами высоты производной, которая пропорциональна высоте полосы поглощения, являются расстояния «от пика до впадины» h1 и h2 и высота от базовой линии h3. [11]
  4. Повышение разрешения в спектроскопии. Полосы второй производной спектроскопической кривой уже, чем полосы в спектре: они имеют уменьшенную полуширину . Это позволяет частично перекрывающимся полосам «разлагаться» на отдельные (отрицательные) пики. [12] Диаграмма показывает, как это можно использовать и для химического анализа , используя измерение расстояний «от пика до впадины». В этом случае долины являются свойством 2-й производной лоренциана. ( Положение оси X указано относительно положения максимума пика на шкале половины ширины и половины высоты ).
  5. Повышение разрешения с помощью 4-й производной (положительные пики). Минимумы являются свойством 4-й производной лоренциана.

Скользящее среднее

[ редактировать ]

«Фильтр скользящего среднего» — это тривиальный пример фильтра Савицкого-Голея, который обычно используется с данными временных рядов для сглаживания краткосрочных колебаний и выделения долгосрочных тенденций или циклов. Каждое подмножество набора данных соответствует прямой горизонтальной линии, а не полиному более высокого порядка. Невзвешенный фильтр скользящего среднего — это самый простой фильтр свертки.

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

Он не был включен в некоторые таблицы коэффициентов свертки Савицкого-Голея, поскольку все значения коэффициентов идентичны, причем значение .

Вывод коэффициентов свертки

[ редактировать ]

Когда точки данных расположены на одинаковом расстоянии друг от друга, можно найти аналитическое решение уравнений наименьших квадратов. [2] Это решение лежит в основе сверточного метода численного сглаживания и дифференцирования. Предположим, что данные состоят из набора из n точек ( x j , y j ) ( j = 1, ..., n ), где x j — независимая переменная, а y j — исходное значение. Полином будет аппроксимироваться линейным методом наименьших квадратов набору из m (нечетное число) соседних точек данных, каждая из которых разделена интервалом h . Сначала производится замена переменной

где значение центральной точки. z принимает значения (например, m = 5 → z = −2, −1, 0, 1, 2). [примечание 1] Полином степени k определяется как

[примечание 2]

Коэффициенты a 0 , a 1 и т. д. получаются путем решения нормальных уравнений (жирным шрифтом a обозначен вектор , жирным шрифтом J обозначена матрица ).

где является матрицей Вандермонда , то есть -й ряд имеет ценности .

Например, для кубического полинома, сопоставленного с 5 точками, z = −2, −1, 0, 1, 2, нормальные уравнения решаются следующим образом.

Теперь нормальные уравнения можно разделить на две отдельные группы уравнений, переставив строки и столбцы, при этом

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

Обычные уравнения становятся

и

Умножая и удаляя общие факторы,

Коэффициенты при y в этих выражениях известны как коэффициенты свертки . Они являются элементами матрицы

В общем,

В матричной записи этот пример записывается как

Таблицы коэффициентов свертки, рассчитанные таким же образом для m до 25, были опубликованы для сглаживающего фильтра Савицкого – Голея в 1964 г. [3] [5] Значение центральной точки z = 0 получается из одного набора коэффициентов: для й производной и т. д . 1 - 0 для сглаживания, 1 Численные производные получаются путем дифференцирования Y . Это означает, что производные рассчитываются для сглаженной кривой данных . Для кубического многочлена

В общем случае полиномы степени (0 и 1), [примечание 3] (2 и 3), (4 и 5) и т. д. дают одинаковые коэффициенты сглаживания и четные производные. Полиномы степени (1 и 2), (3 и 4) и т. д. дают одинаковые коэффициенты при нечетных производных.

Алгебраические выражения

[ редактировать ]

Не обязательно всегда использовать таблицы Савицкого–Голея. Суммы в матрице J Т J можно оценить в закрытой форме ,

так что для коэффициентов свертки можно вывести алгебраические формулы. [13] [примечание 4] Функции, которые подходят для использования с кривой, имеющей точку перегиба :

Сглаживание, полиномиальная степень 2,3: (диапазон значений i также применим к выражениям ниже)
1-я производная: полиномиальная степень 3,4
2-я производная: полиномиальная степень 2,3
3-я производная: полиномиальная степень 3,4

Более простые выражения, которые можно использовать с кривыми, не имеющими точки перегиба:

Сглаживание, степень полинома 0,1 (скользящее среднее):
1-я производная, полиномиальная степень 1,2:

Могут быть получены высшие производные. Например, четвертую производную можно получить, выполнив два прохода функции второй производной. [14]

Использование ортогональных полиномов

[ редактировать ]

Альтернативой аппроксимации m точек данных простым полиномом во вспомогательной переменной z является использование ортогональных полиномов .

где Р 0 , ..., П к представляет собой набор взаимно ортогональных многочленов степени 0,..., k . Полную информацию о том, как получить выражения для ортогональных многочленов и взаимосвязь между коэффициентами b и a, дает Гость. [2] Выражения для коэффициентов свертки легко получить, поскольку матрица нормальных уравнений J Т J , является диагональной матрицей , поскольку произведение любых двух ортогональных многочленов равно нулю в силу их взаимной ортогональности. Следовательно, каждый ненулевой элемент обратного ему элемента является просто обратной величиной соответствующего элемента в матрице нормального уравнения. Вычисление еще больше упрощается за счет использования рекурсии для построения ортогональных полиномов Грама . Весь расчет можно закодировать в нескольких строках PASCAL — компьютерного языка, хорошо адаптированного для вычислений, включающих рекурсию. [15]

Лечение первой и последней точки

[ редактировать ]

Фильтры Савицкого – Голея чаще всего используются для получения сглаженного или производного значения в центральной точке z = 0 с использованием одного набора коэффициентов свертки. ( m − 1)/2 точки в начале и конце серии не могут быть вычислены с помощью этого процесса. Чтобы избежать этого неудобства, можно использовать различные стратегии.

  • Данные можно было искусственно расширить, добавив в обратном порядке копии первых ( m − 1)/2 точек в начале и копии последних ( m − 1)/2 точек в конце. Например, при m = 5 две точки добавляются в начале и конце данных y 1 , ..., y n .
y 3 , y 2 , y 1 , ... , y n , y n -1 , y n -2 .
  • Снова взглянув на подгоночный полином, становится очевидным, что данные можно вычислить для всех значений z , используя все наборы коэффициентов свертки для одного полинома a 0 .. a k .
Для кубического многочлена
  • Коэффициенты свертки для отсутствующих первой и последней точек также можно легко получить. [15] Это также эквивалентно оснащению первых ( m + 1)/2 точек одним и тем же полиномом, и аналогично для последних точек.

Взвешивание данных

[ редактировать ]

В приведенном выше подходе подразумевается, что всем точкам данных придается одинаковый вес. Технически целевая функция

минимизация в процессе наименьших квадратов имеет единичные веса, w i = 1. Когда веса не одинаковы, нормальные уравнения становятся

,

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

Явное выражение для обратной этой матрицы можно получить с помощью правила Крамера . Затем набор коэффициентов свертки можно получить как

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

Было показано, что фильтр Савицкого – Голея можно улучшить, введя веса, уменьшающиеся на концах подгоночного интервала. [16]

Коэффициенты двумерной свертки

[ редактировать ]

Двумерное сглаживание и дифференцирование также можно применять к таблицам значений данных, например, значений интенсивности в фотографическом изображении, состоящем из прямоугольной сетки пикселей. [17] [18] Такая сетка называется ядром, а точки данных, составляющие ядро, называются узлами. Хитрость заключается в том, чтобы преобразовать прямоугольное ядро ​​в одну строку, просто упорядочив индексы узлов. В то время как одномерные коэффициенты фильтра находятся путем подгонки полинома во вспомогательной переменной z к набору из m точек данных, двумерные коэффициенты находятся путем подгонки полинома во вспомогательных переменных v и w к набору значений в узлы ядра m × n . Следующий пример для двумерного полинома общей степени 3, m = 7 и n = 5 иллюстрирует процесс, который аналогичен процессу для одномерного случая, описанному выше. [19]

Прямоугольное ядро ​​из 35 значений данных, d 1 d 35.

v
В
−3 −2 −1 0 1 2 3
−2 д 1 д 2 д 3 д 4 д 5 д 6 d 7
−1 д 8 д 9 д 10 д 11 д 12 д 13 д 14
0 д 15 д 16 д 17 д 18 d19 д 20 д 21
1 д 22 д 23 д 24 д 25 д 26 д 27 д 28
2 д 29 д 30 д 31 д 32 д 33 д 34 д 35

становится вектором, когда строки располагаются одна за другой.

d = ( d 1 ... d 35 ) Т

Якобиан имеет 10 столбцов, по одному для каждого из параметров a 00 a 03 , и 35 строк, по одной для каждой пары значений v и w . Каждая строка имеет вид

Коэффициенты свертки рассчитываются как

Первая строка C содержит 35 коэффициентов свертки, которые можно умножить на 35 значений данных соответственно, чтобы получить полиномиальный коэффициент. , которое представляет собой сглаженное значение в центральном узле ядра (т. е. в 18-м узле приведенной выше таблицы). Аналогично, другие строки C можно умножить на 35 значений, чтобы получить другие полиномиальные коэффициенты, которые, в свою очередь, можно использовать для получения сглаженных значений и различных сглаженных частных производных в разных узлах.

Никитас и Паппа-Луизи показали, что в зависимости от формата используемого полинома качество сглаживания может существенно различаться. [20] Они рекомендуют использовать полином вида

поскольку такие полиномы позволяют добиться хорошего сглаживания как в центральной, так и в приграничных областях ядра, и поэтому их можно уверенно использовать при сглаживании как во внутренних, так и в приграничных точках данных выборочной области. Чтобы избежать плохой обусловленности при решении задачи наименьших квадратов, p < m и q < n . Информацию о программном обеспечении, которое рассчитывает двумерные коэффициенты, и о базе данных таких C см. в разделе, посвященном многомерным коэффициентам свертки, ниже.

Многомерные коэффициенты свертки

[ редактировать ]

Идея двумерных коэффициентов свертки может быть просто распространена и на более высокие пространственные измерения: [17] [21] путем организации многомерного распределения узлов ядра в один ряд. После вышеупомянутого открытия Никитаса и Паппа-Луизи [20] в двумерных случаях в многомерных случаях рекомендуется использовать следующий вид полинома:

где D — размерность пространства, 's - полиномиальные коэффициенты, а u 's - координаты в различных пространственных направлениях. Алгебраические выражения для частных производных любого порядка, смешанного или другого, можно легко вывести из приведенного выше выражения. [21] Обратите внимание, что C зависит от способа расположения узлов ядра в ряду и от способа расположения различных членов расширенной формы вышеуказанного многочлена при построении якобиана.

Точное вычисление C в многомерных случаях становится сложной задачей, поскольку точность стандартных чисел с плавающей запятой, доступных в языках компьютерного программирования, больше не остается достаточной. Недостаточная точность приводит к тому, что ошибки усечения с плавающей запятой становятся сравнимыми с величинами некоторых элементов C , что, в свою очередь, серьезно ухудшает его точность и делает его бесполезным. Чандра Шекхар представил два программного обеспечения с открытым исходным кодом : Advanced Convolution Coefficient Calculator (ACCC) и Precision Convolution Coefficient Calculator (PCCC) , которые адекватно справляются с этими проблемами точности. ACCC выполняет вычисления, используя числа с плавающей запятой, итеративным образом. [22] Точность чисел с плавающей запятой постепенно увеличивается на каждой итерации с помощью GNU MPFR . Как только полученные C в двух последовательных итерациях начинают иметь одинаковые значащие цифры до достижения заранее заданного расстояния, считается, что сходимость достигнута. Если расстояние достаточно велико, вычисление дает высокоточное значение C . PCCC использует вычисления рациональных чисел с использованием арифметической библиотеки множественной точности GNU и выдает полностью точный C в формате рациональных чисел . [23] В конце концов, эти рациональные числа преобразуются в числа с плавающей запятой, до достижения заранее заданного количества значащих цифр.

Доступна база данных C , рассчитанных с использованием ACCC для симметричных ядер и как симметричных, так и асимметричных полиномов на узлах ядра с единичным интервалом в 1-, 2-, 3- и 4-мерном пространствах. [24] Чандра Шекхар также изложил математическую основу, которая описывает использование C, рассчитанного на узлах ядра с единичным интервалом, для выполнения фильтрации и частичного дифференцирования (различного порядка) на узлах ядра с неравномерным расположением. [21] позволяющее использовать C, представленный в вышеупомянутой базе данных. Хотя этот метод дает лишь приблизительные результаты, они приемлемы в большинстве инженерных приложений при условии, что неравномерность узлов ядра является слабой.

Некоторые свойства свертки

[ редактировать ]
  1. Сумма коэффициентов свертки для сглаживания равна единице. Сумма коэффициентов при нечетных производных равна нулю. [25]
  2. Сумма квадратов коэффициентов свертки для сглаживания равна значению центрального коэффициента. [26]
  3. Сглаживание функции оставляет область под функцией неизменной. [25]
  4. Свертка симметричной функции с коэффициентами четной производной сохраняет центр симметрии. [25]
  5. Свойства производных фильтров. [27]

Искажение сигнала и снижение шума

[ редактировать ]

Неизбежно, что сигнал будет искажен в процессе свертки. Согласно свойству 3, приведенному выше, при сглаживании данных, имеющих пик, высота пика будет уменьшена, а полуширина увеличена . Как степень искажения, так и улучшение отношения сигнал/шум ( отношение сигнал/шум ):

  • уменьшаются по мере увеличения степени полинома
  • увеличивается по мере увеличения ширины m функции свертки
Влияние сглаживания на точки данных с некоррелированным шумом единичного стандартного отклонения

Например, если шум во всех точках данных некоррелирован и имеет постоянное отклонение стандартное σ , стандартное отклонение шума будет уменьшено путем свертки с функцией сглаживания m -точки до [26] [примечание 5]

полиномиальная степень 0 или 1: ( скользящее среднее )
полином 2 или 3 степени: .

Эти функции показаны на графике справа. Например, с помощью 9-точечной линейной функции (скользящее среднее) удаляется две трети шума, а с помощью 9-точечной квадратичной/кубической функции сглаживания удаляется только около половины шума. Большая часть оставшегося шума — это низкочастотный шум (см. Частотные характеристики сверточных фильтров ниже).

Хотя функция скользящего среднего обеспечивает лучшее подавление шума, она не подходит для сглаживания данных, кривизна которых превышает m точек. Функция квадратичного фильтра не подходит для получения производной кривой данных с точкой перегиба , поскольку у квадратичного многочлена ее нет. Оптимальный выбор порядка полинома и количества коэффициентов свертки будет компромиссом между шумоподавлением и искажениями. [28]

Многопроходные фильтры

[ редактировать ]

Один из способов смягчить искажения и улучшить удаление шума — использовать фильтр меньшей ширины и выполнить с ним более одной свертки. Для двух проходов одного и того же фильтра это эквивалентно одному проходу фильтра, полученного сверткой исходного фильтра с самим собой. [29] Например, 2 прохода фильтра с коэффициентами (1/3, 1/3, 1/3) эквивалентны 1 проходу фильтра с коэффициентами (1/9, 2/9, 3/9, 2/9, 1/9).

Недостатком многопроходного режима является то, что эквивалентная ширина фильтра для пропуски –точечная функция поэтому многопроходная передача приводит к более серьезным конечным эффектам. Тем не менее, многопроходная передача используется с большим преимуществом. Например, около 40–80 проходов данных с соотношением сигнал/шум всего 5 дали полезные результаты. [30] Приведенные выше формулы снижения шума не применимы, поскольку корреляция между рассчитанными точками данных увеличивается с каждым проходом.

Частотные характеристики сверточных фильтров

[ редактировать ]
Преобразование Фурье 9-точечной квадратичной/кубической функции сглаживания

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

θ изменяется от 0 до 180 градусов , после чего функция просто повторяется. График 9-точечной квадратичной/кубической функции сглаживания является типичным. Под очень малым углом график почти плоский, а это означает, что низкочастотные компоненты данных практически не изменятся в результате операции сглаживания. По мере увеличения угла значение уменьшается, так что более высокочастотные компоненты все больше и больше ослабляются. Это показывает, что сверточный фильтр можно описать как фильтр нижних частот : удаляемый шум представляет собой в основном высокочастотный шум, а низкочастотный шум проходит через фильтр. [31] Некоторые высокочастотные компоненты шума ослабляются сильнее, чем другие, о чем свидетельствуют волнистости преобразования Фурье под большими углами. Это может привести к небольшим колебаниям в сглаженных данных. [32] и обращение фазы, т. е. высокочастотные колебания в данных инвертируются с помощью фильтрации Савицкого – Голея. [33]

Свертка и корреляция

[ редактировать ]

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

По закону распространения ошибок дисперсионно -ковариационная матрица данных A будет преобразована в B согласно

Чтобы увидеть, как это применяется на практике, рассмотрим влияние 3-точечного скользящего среднего на первые три расчетные точки, Y 2 Y 4 , предполагая, что точки данных имеют одинаковую дисперсию и что между ними нет корреляции. A будет единичной матрицей , умноженной на константу σ 2 , дисперсия в каждой точке.

В этом случае коэффициенты корреляции ,

между расчетными точками i и j будет

В общем, расчетные значения коррелируют, даже если наблюдаемые значения не коррелируют. Корреляция распространяется на m − 1 расчетную точку одновременно. [34]

Многопроходные фильтры

[ редактировать ]

Чтобы проиллюстрировать влияние многопроходной передачи на шум и корреляцию набора данных, рассмотрим влияние второго прохода трехточечного фильтра скользящего среднего. Для второго прохода [примечание 6]

После двух проходов стандартное отклонение центральной точки уменьшилось до , по сравнению с 0,58 σ за один проход. Снижение шума немного меньше, чем было бы получено при одном проходе 5-точечного скользящего среднего, что при тех же условиях привело бы к тому, что сглаженные точки имели бы меньшее стандартное отклонение 0,45 σ .

Корреляция теперь распространяется на диапазон из 4 последовательных точек с коэффициентами корреляции.

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

Сравнение с другими фильтрами и альтернативами

[ редактировать ]

По сравнению с другими сглаживающими фильтрами, например сверткой с гауссовой фильтрацией или многопроходной фильтрацией скользящего среднего , фильтры Савицкого – Голея имеют изначально более плоскую характеристику и более острую границу в частотной области, особенно для высоких порядков аппроксимирующего полинома (см. частотные характеристики ). . Для данных с ограниченной полосой пропускания сигнала это означает, что фильтрация Савицкого – Голея может обеспечить лучшее соотношение сигнал/шум, чем многие другие фильтры; например, высота пиков спектра сохраняется лучше, чем у других фильтров с аналогичным подавлением шума. Недостатками фильтров Савицкого-Голея являются сравнительно плохое подавление некоторых высоких частот (плохое подавление полосы задерживания ) и артефакты при использовании полиномиальной аппроксимации для первой и последней точек . [16]

Альтернативными методами сглаживания, которые разделяют преимущества фильтров Савицкого-Голея и смягчают, по крайней мере, некоторые их недостатки, являются фильтры Савицкого-Голея с правильно выбранными альтернативными весами подгонки , сглаживание Уиттекера-Хендерсона и фильтр Ходрика-Прескотта (эквивалентные методы, тесно связанные со сглаживающими сплайнами ), и свертка с оконной функцией sinc . [16]

См. также

[ редактировать ]

Приложение

[ редактировать ]

Таблицы выбранных коэффициентов свертки

[ редактировать ]

Рассмотрим набор точек данных . Таблицы Савицкого – Голея относятся к случаю, когда шаг постоянна, ч . примеры использования так называемых коэффициентов свертки с кубическим полиномом и размером окна m Ниже приведены , равным 5 точкам.

Сглаживание
 ;
1-я производная
 ;
2-я производная
.

Выбранные значения коэффициентов свертки для полиномов степени 1, 2, 3, 4 и 5 приведены в следующих таблицах. [примечание 7] Значения были рассчитаны с использованием кода PASCAL, предоставленного в Gorry. [15]

Коэффициенты сглаживания
Полиномиальный
Степень
квадратичный или кубический
2 или 3
квартика или квинтика
4 или 5
Размер окна 5 7 9 7 9
−4 −21 15
−3 −2 14 5 −55
−2 −3 3 39 −30 30
−1 12 6 54 75 135
0 17 7 59 131 179
1 12 6 54 75 135
2 −3 3 39 −30 30
3 −2 14 5 −55
4 −21 15
Нормализация 35 21 231 231 429
Коэффициенты для 1-й производной
Полиномиальный
Степень
линейный или квадратичный
1 или 2
кубический или четвертичный
3 или 4
Размер окна 3 5 7 9 5 7 9
−4 −4 86
−3 −3 −3 22 −142
−2 −2 −2 −2 1 −67 −193
−1 -1 −1 −1 −1 −8 −58 −126
0 0 0 0 0 0 0 0
1 1 1 1 1 8 58 126
2 2 2 2 −1 67 193
3 3 3 −22 142
4 4 −86
Нормализация 2 10 28 60 12 252 1,188
Коэффициенты для 2-й производной
Полиномиальный
Степень
квадратичный или кубический
2 или 3
квартика или квинтика
4 или 5
Размер окна 5 7 9 5 7 9
−4 28 −126
−3 5 7 −13 371
−2 2 0 −8 −1 67 151
−1 −1 −3 −17 16 −19 −211
0 −2 −4 −20 −30 −70 −370
1 −1 −3 −17 16 −19 −211
2 2 0 −8 −1 67 151
3 5 7 −13 371
4 28 −126
Нормализация 7 42 462 12 132 1716
Коэффициенты для 3-й производной
Полиномиальный
Степень
кубический или четвертичный
3 или 4
квинтика или секстик
5 или 6
Размер окна 5 7 9 7 9
−4 −14 100
−3 −1 7 1 −457
−2 −1 1 13 −8 256
−1 2 1 9 13 459
0 0 0 0 0 0
1 −2 −1 −9 −13 −459
2 1 −1 −13 8 −256
3 1 −7 −1 457
4 14 −100
Нормализация 2 6 198 8 1144
Коэффициенты для 4-й производной
Полиномиальный
Степень
квартика или квинтика
4 или 5
Размер окна 7 9
−4 14
−3 3 −21
−2 −7 −11
−1 1 9
0 6 18
1 1 9
2 -7 −11
3 3 −21
4 14
Нормализация 11 143

Примечания

[ редактировать ]
  1. ^ При четных значениях m z m будет изменяться от 1 - до m - 1 с шагом 2.
  2. ^ Простое скользящее среднее — это особый случай с k = 0, Y = a 0 . В этом случае все коэффициенты свертки равны 1/ m .
  3. ^ Сглаживание с использованием скользящего среднего эквивалентно с равноотстоящими точками локальной аппроксимации (наклонной) прямой линией.
  4. ^ Приведенные здесь выражения отличаются от выражений Мэддена, которые даются через переменную m' = (m - 1)/2.
  5. ^ Выражения под знаком квадратного корня такие же, как выражение для коэффициента свертки при z=0.
  6. ^ Тот же результат получается за один проход эквивалентного фильтра с коэффициентами (1/9, 2/9, 3/9, 2/9, 1/9) и единичной дисперсионно-ковариационной матрицей.
  7. ^ Более подробные таблицы и метод расчета дополнительных коэффициентов первоначально были предоставлены Савицким и Голеем. [3]
  1. ^ Уиттакер, ET; Робинсон, Дж. (1924). Исчисление наблюдений . Блэки и сын. стр. 291–6 . ОСЛК   1187948 . . «Выпускные формулы, полученные путем подбора полинома».
  2. ^ Перейти обратно: а б с Гость, ПГ (2012) [1961]. «Глава 7: Оценка полиномиальных коэффициентов» . Численные методы аппроксимации кривой . Издательство Кембриджского университета. стр. 147–. ISBN  978-1-107-64695-7 .
  3. ^ Перейти обратно: а б с Савицкий, А .; Голей, MJE (1964). «Сглаживание и дифференциация данных с помощью упрощенных процедур наименьших квадратов». Аналитическая химия . 36 (8): 1627–39. Бибкод : 1964АнаЧ..36.1627С . дои : 10.1021/ac60214a047 .
  4. ^ Перейти обратно: а б Савицкий, Авраам (1989). «Историческое сотрудничество». Аналитическая химия . 61 (15): 921А–3А. дои : 10.1021/ac00190a744 .
  5. ^ Перейти обратно: а б Штайнье, Жан; Термония, Ив; Дельтур, Жюль (1972). «Сглаживание и дифференциация данных с помощью упрощенной процедуры наименьших квадратов». Аналитическая химия . 44 (11): 1906–9. дои : 10.1021/ac60319a045 . ПМИД   22324618 .
  6. ^ Ларив, Синтия К.; Свидлер, Джонатан В. (2013). «Празднование 75-летия отдела аналитической химии ACS: специальный сборник наиболее цитируемых статей по аналитической химии, опубликованных в период с 1938 по 2012 год». Аналитическая химия . 85 (9): 4201–2. дои : 10.1021/ac401048d . ПМИД   23647149 .
  7. ^ Риордон, Джеймс; Зубрицкий, Елизавета; Ньюман, Алан (2000). «10 лучших статей» . Аналитическая химия . 72 (9): 24 A–329 A. doi : 10.1021/ac002801q .
  8. ^ Тальский, Герхард (4 октября 1994 г.). Производная спектрофотометрия . Уайли. ISBN  978-3527282944 .
  9. ^ Аббаспур, Абдолкарим; Хаджезадеха, Абдолреза (2012). «Определение конечной точки титрования осадков методом сканометрии без использования индикатора». Анальный. Методы . 4 (4): 923–932. дои : 10.1039/C2AY05492B .
  10. ^ Ли, Н; Ли, XY; Цзоу, XZ; Лин, ЛР; Ли, YQ (2011). «Новый метод коррекции базовой линии для спектров производных на основе стандартных добавок и его применение для количественного анализа бензо(а)пирена в образцах растительного масла». Аналитик . 136 (13): 2802–10. Бибкод : 2011Ана...136.2802L . дои : 10.1039/c0an00751j . ПМИД   21594244 .
  11. ^ Диксит, Л.; Рам, С. (1985). «Количественный анализ методом производной электронной спектроскопии». Обзоры прикладной спектроскопии . 21 (4): 311–418. Бибкод : 1985АпСРв..21..311Д . дои : 10.1080/05704928508060434 .
  12. ^ Гизе, Артур Т.; Френч, К. Стейси (1955). «Анализ перекрывающихся спектральных полос поглощения методом производной спектрофотометрии». Прил. Спектроск . 9 (2): 78–96. Бибкод : 1955АпСпе...9...78Г . дои : 10.1366/000370255774634089 . S2CID   97784067 .
  13. ^ Мэдден, Ганнибал Х. (1978). «Комментарии к методу свертки Савицкого – Голея для сглаживания и дифференциации цифровых данных методом наименьших квадратов» (PDF) . Анальный. Хим . 50 (9): 1383–6. дои : 10.1021/ac50031a048 .
  14. ^ Ганс 1992 , стр. 153–7, «Повторное сглаживание и дифференцирование»
  15. ^ Перейти обратно: а б с А., Горри (1990). «Общее сглаживание и дифференцирование методом наименьших квадратов методом свертки (Савицкого – Голея)». Аналитическая химия . 62 (6): 570–3. дои : 10.1021/ac00205a007 .
  16. ^ Перейти обратно: а б с Шмид, Майкл; Рат, Дэвид; Дибольд, Ульрика (2022). «Почему и как следует заменять фильтры Савицкого – Голея» . ACS Measurement Science Au . 2 (2): 185–196. doi : 10.1021/acsmeasuresciau.1c00054 . ПМЦ   9026279 . ПМИД   35479103 .
  17. ^ Перейти обратно: а б Торнли, Дэвид Дж. Анизотропные многомерные ядра Савицкого-Голея для сглаживания, дифференциации и реконструкции (PDF) (Технический отчет). Факультет вычислительной техники Имперского колледжа. 2066/8.
  18. ^ Рацлафф, Кеннет Л.; Джонсон, Джин Т. (1989). «Вычисление двумерных полиномиальных целых чисел сглаживания свертки методом наименьших квадратов». Анальный. Хим . 61 (11): 1303–5. дои : 10.1021/ac00186a026 .
  19. ^ Крамм, Джон. «Фильтры Савицкого – Голея для 2D-изображений» . Microsoft Research, Редмонд.
  20. ^ Перейти обратно: а б Никитас и Паппа-Луизи (2000). «Комментарии к двумерному сглаживанию данных». Аналитика Химика Акта . 415 (1–2): 117–125. дои : 10.1016/s0003-2670(00)00861-8 .
  21. ^ Перейти обратно: а б с Шекхар, Чандра (2015). Об упрощенном применении многомерных фильтров и дифференциаторов Савицкого-Голея . Прогресс прикладной математики в науке и технике. Материалы конференции AIP. Том. 1705. с. 020014. Бибкод : 2016AIPC.1705b0014S . дои : 10.1063/1.4940262 .
  22. ^ Чандра, Шекхар (2 августа 2017 г.). «Расширенный калькулятор коэффициентов свертки». Зенодо дои : 10.5281/zenodo.835283 .
  23. ^ Чандра, Шекхар (2 июня 2018 г.). «Точный калькулятор коэффициентов свертки». Зенодо дои : 10.5281/zenodo.1257898 .
  24. ^ Шекхар, Чандра. «База данных коэффициентов свертки для многомерных фильтров наименьших квадратов» .
  25. ^ Перейти обратно: а б с Ганс 1992 , Приложение 7
  26. ^ Перейти обратно: а б Зиглер, Хорст (1981). «Свойства полиномиальных фильтров цифрового сглаживания (DISPO)». Прикладная спектроскопия . 35 (1): 88–92. Бибкод : 1981ApSpe..35...88Z . дои : 10.1366/0003702814731798 . S2CID   97777604 .
  27. ^ Ло, Цзяньвэнь; Ин, Куй; Он, Пинг; Бай, Цзин (2005). «Свойства цифровых дифференциаторов Савицкого – Голея» (PDF) . Цифровая обработка сигналов . 15 (2): 122–136. дои : 10.1016/j.dsp.2004.09.008 .
  28. ^ Ганс, Питер; Гилл, Дж. Бернард (1983). «Исследование метода свертки для численного сглаживания и дифференциации спектроскопических данных в теории и на практике». Прикладная спектроскопия . 37 (6): 515–520. Бибкод : 1983ApSpe..37..515G . дои : 10.1366/0003702834634712 . S2CID   97649068 .
  29. ^ Ганс 1992 , с. 153
  30. ^ Проктер, Эндрю; Шервуд, Питер М.А. (1980). «Сглаживание цифровых рентгеновских фотоэлектронных спектров с помощью расширенного метода скользящих наименьших квадратов». Анальный. Хим . 52 (14): 2315–21. дои : 10.1021/ac50064a018 .
  31. ^ Ганс 1992 , с. 207
  32. ^ Бромба, Манфред У.А.; Зиглер, Хорст (1981). «Советы по применению цифровых сглаживающих фильтров Савицкого – Голея». Анальный. Хим . 53 (11): 1583–6. дои : 10.1021/ac00234a011 .
  33. ^ Маршан, П.; Мармет, Л. (1983). «Биномиальный сглаживающий фильтр: способ избежать некоторых ошибок полиномиального сглаживания по методу наименьших квадратов». Обзор научных инструментов . 54 (8): 1034–1041. дои : 10.1063/1.1137498 .
  34. ^ Ганс 1992 , с. 157
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0e48ad0cba90f326f81b3af7d17878bc__1717069800
URL1:https://arc.ask3.ru/arc/aa/0e/bc/0e48ad0cba90f326f81b3af7d17878bc.html
Заголовок, (Title) документа по адресу, URL1:
Savitzky–Golay filter - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)