Оглавление
- 1 Фильтр Савицкого–Голея
- 1.1 Фильтр Савицкого–Голея
- 1.2 Применение фильтра
- 1.3 Примеры использования
- 1.4 Вывод коэффициентов свертки
- 1.5 Алгебраические выражения
- 1.6 Обработка первого и последнего пунктов
- 1.7 Расширение данных для расчета коэффициентов свертки
- 1.8 Взвешивание данных
- 1.9 Коэффициенты двумерной свертки
- 1.10 Коэффициенты многомерной свертки
- 1.11 Свойства свертки
- 1.12 Подавление искажений и шума
- 1.13 Многопроходные фильтры
- 1.14 Многопроходность и её эффекты
- 1.15 Частотные характеристики сверточных фильтров
- 1.16 Свертка и корреляция
- 1.17 Многопроходные фильтры
- 1.18 Сравнение с другими фильтрами и альтернативы
- 1.19 Реализации на языках программирования
- 1.20 Таблицы выбранных коэффициентов свертки
- 1.21 Полный текст статьи:
- 2 Фильтр Савицкого–Голея
Фильтр Савицкого–Голея
-
Фильтр Савицкого–Голея
- Цифровой фильтр для сглаживания данных
- Основан на методе линейных наименьших квадратов
- Популяризирован Абрахамом Савицки и Марселем Дж. Голеем
-
Применение фильтра
- Сглаживание данных для повышения точности
- Предотвращение распространения шума
- Численное дифференцирование данных
-
Примеры использования
- Расположение максимумов и минимумов на кривых
- Определение конечной точки на кривой титрования
- Выравнивание базовой линии в аналитической химии
- Повышение разрешающей способности в спектроскопии
- Скользящая средняя для сглаживания временных рядов
-
Вывод коэффициентов свертки
- Аналитическое решение уравнений наименьших квадратов
- Использование матрицы Вандермонда
- Таблицы коэффициентов свертки для различных многочленов
-
Алгебраические выражения
- Возможность получения коэффициентов свертки в замкнутом виде
- Использование ортогональных многочленов для упрощения вычислений
-
Обработка первого и последнего пунктов
- Фильтры Савицкого–Голея чаще всего используются для центральной точки z = 0
-
Расширение данных для расчета коэффициентов свертки
- Данные могут быть искусственно расширены путем добавления копий первых и последних точек.
- Это позволяет вычислить коэффициенты свертки для отсутствующих точек.
-
Взвешивание данных
- Целевая функция минимизации в процессе наименьших квадратов имеет единичные веса.
- При использовании диагональных весов можно записать аналитическое решение нормальных уравнений.
-
Коэффициенты двумерной свертки
- Двумерное сглаживание и дифференцирование применяются к таблицам значений данных.
- Якобиан содержит 10 столбцов и 35 строк.
- Коэффициенты свертки вычисляются аналогично одномерному случаю.
-
Коэффициенты многомерной свертки
- Идея двумерных коэффициентов свертки распространяется на многомерные случаи.
- Рекомендуется использовать многочлен вида a^s u^t, где D – размерность пространства.
- Точные вычисления C сложны из-за недостаточной точности чисел с плавающей запятой.
-
Свойства свертки
- Сумма коэффициентов свертки для сглаживания равна единице.
- Сумма коэффициентов для нечетных производных равна нулю.
- Сумма квадратов коэффициентов свертки для сглаживания равна значению центрального коэффициента.
-
Подавление искажений и шума
- Свертка уменьшает высоту пика и увеличивает полуширину.
- Степень искажения и соотношение сигнал/шум улучшаются с увеличением степени многочлена и ширины функции свертки.
- Функция скользящего среднего удаляет больше шума, но не подходит для кривых данных.
- Квадратичный фильтр не подходит для кривых с точкой перегиба.
-
Многопроходные фильтры
- Использование фильтра меньшей ширины и выполнение нескольких сверток улучшает удаление шума и уменьшает искажения.
- Недостаток многопроходного фильтра – эквивалентная ширина фильтра увеличивается с каждым проходом.
-
Многопроходность и её эффекты
- Многопроходность сопряжена с большими конечными эффектами
- Около 40-80 передач данных с отношением сигнал/шум 5 дали полезные результаты
- Корреляция между точками данных увеличивается с каждым проходом
-
Частотные характеристики сверточных фильтров
- Свертка сопоставляется с умножением в области Фурье
- Дискретное преобразование Фурье сверточного фильтра представляет собой вещественнозначную функцию
- График для 9-точечной квадратичной/кубической функции сглаживания показывает, что низкочастотные компоненты практически не изменяются, а высокочастотные ослабляются
-
Свертка и корреляция
- Свертка влияет на корреляцию между ошибками в данных
- Эффект свертки выражается в виде линейного преобразования дисперсионно-ковариационной матрицы данных
- Корреляция распространяется на m − 1 вычисленных точек одновременно
-
Многопроходные фильтры
- Влияние многократного прохождения на уровень шума и корреляцию данных
- После двух проходов стандартное отклонение центральной точки уменьшилось до 0,48σ
- Корреляция теперь распространяется на диапазон из 4 последовательных точек
-
Сравнение с другими фильтрами и альтернативы
- Фильтры Савицкого-Голея обладают более плоской характеристикой и четким срезом в частотной области
- Недостатки: слабое подавление высоких частот и искажения при использовании полиномиальных подгонок
- Альтернативные методы: фильтры Савицкого-Голея с альтернативными весами, сглаживание Уиттекера-Хендерсона, фильтр Ходрика-Прескотта, свертка с оконной функцией sinc
-
Реализации на языках программирования
- MATLAB: сголайфильтруй из панели инструментов обработки сигналов
- Python: выровняйте с помощью модуля Lightkurve, scipy.signal.savgol_filter из модуля SciPy
-
Таблицы выбранных коэффициентов свертки
- Таблицы Савицкого-Голея для случая, когда шаг xj − xj-1 является постоянной величиной h
- Примеры использования коэффициентов свертки с кубическим многочленом и размером окна m, равным 5 точкам
- Значения коэффициентов свертки для многочленов степени 1, 2, 3, 4 и 5 приведены в таблицах