Всем доброго времени суток,
Есть алгоритм, результаты которого хотелось бы улучшить.
Задача такова: Есть некоторый медленно меняющийся процесс, зашумленный белым шумом. Обработка в реальном времени, то есть в каждый момент времени появляется новый отсчет данных и по нему нужно построить линейную аппроксимацию последнего участка кривой (скажем последние 100 точек). Аппроксимация считает по методу наименьших квадратов. Выходным параметром является коэффициент наклона прямой (которой мы аппроксимируем кривую). Сразу скажу, что реальный процесс сильно низкочастотный по сравнению с интервалом аппроксимации (эти 100 точек), то есть из-за этого существенной ошибки не возникает. Причем ошибка получаемого коэффициента выглядит как гармонический процесс с периодом в 1.5 раза большим, чем интервал, по которому строится аппроксимация (100 точек). На картинке временная реализация ошибки коэффициента и ее спектр. Причем если построить частотную характеристику этого алгоритма, получается, что на этой частоте коэффициент передачи имеет максимум, то есть она выглядит как ЧХ колебательной системы.
Значит алгоритм усиливает шум в полосе, близкой к этой частоте, а как этого можно избежать?
*линейная аппроксимация берется, потому что известно что процесс действительно медленно меняющийся. А для проверки берется вообще не меняющийся процесс (то есть просто шум) и проходя по нему такой же обработкой, я получаю тот же результат.