Николай Коровин (01.12.2015 18:32 - 19:27, просмотров: 338) ответил IBAH на По многочисленным просьбам трудящихся, повторяем содержание первого поста темы
Взаимоисключающие параграфы сколько ни повторяй, яснее не станет. Судя по формулировке — интерполяция, по числовому примеру — тупо ФНЧ методом оконного усреднения, по упоминанию быстродействия — проблема оптимизации (Кся в помощь), по упоминанию рекурсии — странные желания, по «ограничителю скорости нарастания» — подгонка зависимости под ответ с потерей адекватности выхода входу, по карабасной-барабасной реализации — в голове какой-то «горький катаклизм».
«Вы, Иван, поконкретнее как-то выражайтесь, как именно встать, а то у нас, лошадей, ассоциативный ряд-то послабее будет». Если проблема только в скорости и задача только в том, чтобы урезать ВЧ — Кся всё сказала. Если там какие-то (настолько же необъяснённые) проблемы с «большой ступенькой» — я, конечно, дико извиняюсь, а почему тогда скользящее среднее подходит? Ведь оно от «ксеноалгоритма» отличается только скоростью, выдавая ровно тот же результат. И при чём, ради памяти Гаусса, Коши и Стьюдента, робастные эстиматорымать твою по языкувыбросоустойчивая реализация алгоритма оценки среднего, она же совершенно про другое — про фильтрацию «иголок»! Иголок, Карл!!! Не снижения задранного сгоряча сэмплирования!
Короче, вот крот, вот хомяк, хрум-хрум-шмяк-шмяк-шмяк ээээ входное значение, вот выходное.
int S=0;
int history[256]={0};
int i=0;
int ave (int new)
{
int Old = history[i%256];
history[i%256] = new;
S+=new;
S-=Old;
i++;
return S>>8;
}
Куда быстрее-то? Никакие 256 суммировать не надо каждый раз.
Но если так уж надо прикрутить эту робин-бобинность… выбросоустойчивость, которой при физически более медленном сэмплировании, конечно, и рядом бы не было (ибо было бы тупо аппаратное усреднение вместе со всеми выбросами) — чего проще, чем её сюда прикрутить? Пришло на вход что-то неправдоподобно отличающееся от нынешнего среднего — всё, никто никуда не едет, вместо данных заводим на вход само нынешнее среднее.
Суть этих терзаний-метаний так-таки и непонятна совершенно.