Форум сайта python.su
Решается задача сглаживания графика показаний реального прибора. В показаниях очень много шума, нужно его отфильтровать и сгладить график до чистой кривой…
Графики в прикрепленных файлах
Прошу помощи в поиске алгоритмов реализации данной задачи
Прикреплённый файлы: CMZ.7z (381,7 KБ)
Офлайн
Во первых это не шум, а ошибка квантования, но это сути не меняет.
Для начала, зная шаг дискретизации почему бы просто не проредить ряд (децимация) и не построить некий осредненный график?
Офлайн
http://wiki.scipy.org/Cookbook/Interpolation#head-34818696f8d7066bb3188495567dd776a451cf11
SciPy кажется умеет делать то что вы хотите.
Офлайн
JOHN_16, это самое простое и естественное действие, задача стояла именно интерполирования...
Отредактировано NikitaKoshelev (Июль 29, 2014 19:17:12)
Офлайн
GreyZmeem, спасибо огромное за наводку...
Играя с параметрами сглаживания и числом узлов интерполирования, вот только не могло дойти, что сплайн должен быть первого порядка, получилось достичь нужного результата(файл в прикрепленных)..
tckp,u = splprep([x, y] ,s=100.0, k=1, nest=-1)
xnew,ynew = splev(linspace(0, 1, len(y)), tckp)
Отредактировано NikitaKoshelev (Июль 29, 2014 19:31:36)
Прикреплённый файлы: figure_1.png (94,3 KБ)
Офлайн