Цитата
amusin:
Есть измерения фазы в диапазоне 0...359 градусов.
Допустим, показания болтаются около отметки 0 градусов:
половина значений в первом квадранте, половина - в четвертом.
Среднее арифметическое даст примерно 180 градусов, что неверно.
Пока видится одно решение:
сохраняем массив измерений,
доворачиваем измерения настолько, чтобы сектор "болтанки" не лежал на угле 0 градусов.
Решение не нравится тем, что надо копить данные в ОЗУ.
Есть более красивые варианты?
Фазу привести в диапазон -180 ... 180
Если микроконтроллер c алу в n разрядов - удобнее положить например -(2^(n-1)) ... 2^(n-1) - 1 (-pi ... pi)
Усреднение fmean(n) = fmean(n-1) + ( f(n) - fmean(n-1) )*k
умножение на k можно заменить арифметическим правым сдвигом.