Найти в Дзене
Андрей Куликов

Сглаживание по семи точкам, исследование и усовершенствование

....................."Вершины понизятся, а низины повысятся", - Исус Христос. Сглаживание по семи точкам является свёрткой (конволюцией) исходных числовых данных с семичленным многочленом (полиномом), называемым окном [5]. Окно задаётся формулой и семью весовыми коэффициентами. Линейное и нелинейные сглаживания производятся по одним и тем же формулам и алгоритмам, меняются только весовые коэффициенты в сглаживающем окне. При линейном сглаживании все весовые коэфффициенты равны и сглаживающее окно прямоугольное. При нелинейном сглаживании весовые коэффициенты не равны и сглаживающее окно может быть треугольным, как у Хана [5] при N=5, квадратичным (параболическим), как у Савицкого-Голея [6][7], экспоненциальным, одним из приближений функции нормального распределения Гаусса [4], как у Хэннинга, Блэкмана, Кайзера и др. [5], или прямо функцией нормального распределения Гаусса. Проверим линейное сглаживание по семи точкам зашумлённой наклонной линии методом "простого среднего (арифметичес

....................."Вершины понизятся, а низины повысятся", - Исус Христос.

Сглаживание по семи точкам является свёрткой (конволюцией) исходных числовых данных с семичленным многочленом (полиномом), называемым окном [5]. Окно задаётся формулой и семью весовыми коэффициентами.

Линейное и нелинейные сглаживания производятся по одним и тем же формулам и алгоритмам, меняются только весовые коэффициенты в сглаживающем окне. При линейном сглаживании все весовые коэфффициенты равны и сглаживающее окно прямоугольное. При нелинейном сглаживании весовые коэффициенты не равны и сглаживающее окно может быть треугольным, как у Хана [5] при N=5, квадратичным (параболическим), как у Савицкого-Голея [6][7], экспоненциальным, одним из приближений функции нормального распределения Гаусса [4], как у Хэннинга, Блэкмана, Кайзера и др. [5], или прямо функцией нормального распределения Гаусса.

Проверим линейное сглаживание по семи точкам зашумлённой наклонной линии методом "простого среднего (арифметического)":

SY[I]=(SY[I-3]+SY[I-2]+SY[I-1]+SY[I]+SY[I+1]+SY[I+2]+SY[I+3])/7, 3<=I<=N-3.

Так как в справочнике Дьяконова [1] для линейного семиточечного сглаживания весовые коэффициенты для крайних точек не приводятся, то возьмём их из нелинейного пятиточечного сглаживания [10]:

На снимке видно, что сглаженные точки (зелёные) приблизились к исходной наклонной линии (чёрной), т.е. сглаживание произошло, но не очень точное. Внутри отрезка сглаженные точки "рыщут" зиг-загом около исходной наклонной линии. SY[3]=4.42, SY[4]=4.57, SY[5]=6.42, SY[6]=6.57.

В литературе по семиточечному сглаживанию не редко приводятся формулы нелинейного сглаживания (свёртки, конволюции) равно отстоящих цифровых данных по семи точкам с весовыми коэффициентами Савицкого-Голея [1][6][7] с неизвестно откуда взятыми весовыми коэффициентами для крайних точек:

SY[0]=(39*Y[0]+8*Y[1]-4Y[2]-4*Y[3]+4*Y[4]+Y[5]-2*Y[6])/42,

SY[1]=(8*Y[0]+19*Y[1]+16*Y[2]+6*Y[3]-4*Y[4]-7*Y[5]+4*Y[6])/42,

SY[2]=(-4*Y[0]+16*Y[1]+19*Y[2]+12*Y[3]+2*Y[4]-4*Y[5]+Y[6])/42,

SY[I]=(-2*Y[I-3]+3*Y[I-2]+6*Y[I-1]+7*Y[I]+6*Y[I+1]+3*Y[I+2]-2*Y[I+3])/21, 3<=I<=N-3,

SY[N-2]=(Y[N-6]-4*Y[N-5]+2*Y[N-4]+12*Y[N-3]+19*Y[N-2]+16*Y[N-1]-4*Y[N])/42,

SY[N-1]=(Y[N-6]-7*Y[N-5]-4*Y[N-4]+6*Y[N-3]+16*Y[N-2]+19*Y[N-1]+8*Y[N])/42,

SY[N]=(-2*Y[N-6]+4*Y[N-5]+Y[N-4]-4*Y[N-3]-4*Y[N-2]+8*Y[N-1]+39*Y[N])/42.

Проверим формулы с этими весовыми коэффициентами на контрольном примере, в котором точки исходной наклонной линии (чёрная) периодически отклонены по оси Y смоделированными "шумами" на +3 и -3 (окружности чёрного цвета):

-2

На снимке видно, что сглаженные точки приблизились к исходной наклонной прямой, т.е. сглаживание произошло, но не очень точное. Внутри отрезка сглаженные точки (4 штуки) "рыщут" зиг-загом около исходной наклонной прямой, а крайние сглаженные точки образуют "хвосты", слева загнутый вверх, а справа - вниз. SY[3]=3.28, SY[4]=5.71, SY[5]=5.28, SY[6]=7.71 т.е. нелинейное семиточечное сглаживание по Савицкому-Голею [1][6][7] хуже даже линейного сглаживания.

Применим для точек внутри отрезка весовые коэффициенты из колоколообразной функции нормального распределения Гаусса [4]:

S[I]=(1/SQR(2*Pi))*EXP(-(I-3)^2/2), где 0<=I<=6 - номер точки в окне, а Pi=3.1415,

SY[I]=0.00443*Y[I-3]+0.05399*Y[I-2]+0.24197*Y[I-1]+0.39894**Y[I]+0.24197*Y[I+1]+0.05399*Y[I+2]+0.00443*Y[I+3], 3<=I<=N-3,

весовые коэффициенты для крайних трёх левых и трёх правых точек остаются по Савицкому-Голею [1][6][7]:

-3

На снимке видно, что внутри отрезка сглаженные точки почти точно попали в исходную наклонную линию, а крайние точки, "хвосты" Савицкого-Голея, остались на прежних местах.

Применим нелинейные весовые коэффициенты для крайних трёх левых и трёх правых точек из пятиточечного нелинейного сглаживания [10]:

SY[0]=(3*Y[0]+2*Y[1]-Y[2])/4, т.е. коэффициенты (3,2-1,0,0,0,0)/4,

SY[1]=(Y[0]+2*Y[1]+Y[2])/4, т.е. коэффициенты (1,2,1,0,0,0,0)/4,

SY[2]=(Y[0]+4*Y[1]+6*Y[2]+4*Y[3]+Y[4])/16, т.е. (1,4,6,4,1,0,0)/16,

SY[N-2]=(Y[N-4]+4*Y[N-3]+6*Y[N-2]+4*Y[N-1]+Y[N])/16, т.е. (0,0,1,4,6,4,1)/16,

SY[N-1]=(Y[N-2]+2*Y[N-1]+Y[N])/4, т.е. коэффициенты (0,0,0,0,1,2,1)/4,

SY[N]=(-Y[N-2]+2*Y[N-1]+3*Y[N])/4. т.е. коэффициенты (0,0,0,0,-1,2,3)/4.

-4

На снимке видно, что и крайние точки тоже точно попали в исходную наклонную прямую линию, а "хвосты" Савицкого-Голея исчезли.

Проверим нелинейное сглаживание зашумлённой ломанной линии с отклонениями +1 и -1 по формулам с весовыми коэффициентами Савицкого-Голея [1][6][7] из справочника Дьяконова [1]:

-5

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

Проверим нелинейное сглаживание той же зашумлённой ломанной линии по формулам с новыми весовыми коэффициентами:

-6

На снимке видно, что семиточечное нелинейное сглаживание с новыми весовыми коэффициентами лучше, чем семиточечное нелинейное сглаживание по Савицкому-Голею [1][6][7].

Проверим семиточечное нелинейное сглаживание зашумлённой ломанной второго порядка (параболы) по Савицкому-Голею [1][6][7]:

-7

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

Проверим новое семиточечное нелинейное сглаживание той же зашумлённой ломанной второго порядка (параболы):

-8

На снимке видно, что новое семиточечное нелинейное сглаживание зашумлённой ломанной второго порядка (параболы) тоже оказалось лучше, чем по Савицкому-Голею [1][6][7].

Проверим нелинейное сглаживание зашумлённой ломанной третьего порядка (кубической параболы) по Савицкому-Голею [1][6][7]:

-9

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

Проверим новое нелинейное сглаживание той же зашумлённой ломанной третьего порядка (кубической параболы):

-10

На снимке видно, что новое семиточечное нелинейное сглаживание зашумлённой ломанной третьего порядка (кубической параболы) тоже оказалось лучше, чем по Савицкому-Голею [1][6][7].

1. Д ь я к о н о в В. П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник. — М.: Наука. Гл. ред. физ.-мат. лит., 1989. — 240 с. — ISBN 5-02-014530-0. Файл: diakonovvp8.djvu

2. Боброва А. А. Сравнительный анализ методов сглаживания контурных линий на изображении. Глава 1. 2. Алгоритм сглаживания по трём точкам с коэффициентом. Выпускная квалификационная работа бакалавра. Санкт-Петербургский государственный университет. Кафедра моделирования экономических систем. Санкт-Петербург. 2016.

3. Весовое сглаживание навигационных данных с переменными интервалами измерений. Васьков А. С., Мельник В. Г. Государственный морской университет имени адмирала Ф.Ф.Ушакова. Новороссийск. Интернет-журнал «НАУКОВЕДЕНИЕ». Выпуск 4 (23), июль – август 2014. Таблица 1.

4. Нормальное распределение. Википедия.

5. Оконное преобразование Фурье. Википедия.

6. Фильтр Савицкого-Голея. Википедия.

7. Smoothing and Differentiation of Data by Simplified Least Squares Pro,cedures. Abraham Savitzky and Marsel J. E. Golay. The Perkin-Elmer Corp. Norwalk, Conn. Anal. Chem. Vol. 36, No. 8, July 1964, p.1635.

8. Сглаживание по двум точкам. Куликов А. С.

9. Сглаживание по трём точкам. Куликов А. С.

10. Сглаживание по пяти точкам. Куликов А. С.

11. Сглаживание по девяти точкам. Куликов А. С.

Приложения:

1. Скачать Borland TurboBasic 1.1:

https://andserkul.narod.ru/TB.rar

2. Скачать программу сглаживания и построения графиков в TurboBasic'е:

https://andserkul.narod.ru/SMOOTH7G.bas

Версия 2025.02.28.