-
- Использовать БИХ ФНЧ 2 порядка с управляемой частотой среза. Усреднение - весьма посредственный фильтр НЧ (АЧХ = sin(F)/F) - argus98(15.05.2013 17:23)
- А выбросы у Вас есть, может их сперва порезать можно, например, медианным фильтром, а потом уже фильтровать БИХом или КИХом ? - Хитрый Китаец(11.05.2012 22:54)
- Я примняю "Tau" филтер. Очень простой и быстрый. - johann(11.05.2012 14:16)
- Ссылкой не могу помочь, а вот свою реализацию - пожалуста. johann(12.05.2012 22:22)
- Дайте ссылочку, пожалуйста - mrengineer(12.05.2012 08:17)
- Скорее всего, это то же самое экспоненциальное скользящее среднее (EMA). - rezident(12.05.2012 13:36, ссылка)
- зачем это нужно? Если для фильтрации, то используйте БИХ-фильтр вместо своего КИХ-фильтра, если задача позволяет произвести такую замену - koyodza(11.05.2012 13:49)
- Уточните условия задачи, а лучше расскажите, зачем всё это нужно. N фиксированное или нет? SciFi(100 знак., 11.05.2012 11:32 - 11:34)
- Осреднение данных. Раньше я каждый раз осреднял весь буффер. Теперь ушел от этого и сильно выиграл по времени. Но значение, полученное N вызовов назад по-прежнему нужно. mrengineer(70 знак., 11.05.2012 11:39)
- Если значения - это целые числа, то можно попробовать замутить арифметику с дельтами. Если не ошибаюсь, достаточно хранить три дельты: D(0, N), D(0, 1), D(N, N-1). - SciFi(11.05.2012 11:53)
- А подробней нет ссылочки на метод? - mrengineer(11.05.2012 11:54)
- Кажется, ерунду ляпнул. Так не получается. - SciFi(11.05.2012 12:47)
- В свое время много бился за экономию памяти при усреднении. И плюнул - буфер - самый надежный и стабильный результат. - Vladimir Ljaschko(11.05.2012 12:52)
- Для усреднения есть простой IIR фильтр: F(n+1) = S(n) + F(n) - F(n)/N, вход фильтра - S(n), выход - F(n)/N, деление заменяется сдвигом. SciFi(47 знак., 11.05.2012 13:01)
- При использовании вместо F(n)/N для выхода F(n+1)/N - получается переходная характеристика на скачок чуть быстрее - symbions(15.05.2013 13:53)
- Знаю я, пробовал. Получалось хуже. - Vladimir Ljaschko(11.05.2012 13:05)
- Нунинаю... Я использую повсеместно для индикации медленно меняющихся показателей: напряжение питания, температура и т.д. - SciFi(11.05.2012 13:11)
- Пробовал на фотодатчиках. Усреднять текущее значение, усреднять несколько точек освещенности. Видимо, результат зависит от дисперсии. - Vladimir Ljaschko(11.05.2012 13:16)
- Нунинаю... Я использую повсеместно для индикации медленно меняющихся показателей: напряжение питания, температура и т.д. - SciFi(11.05.2012 13:11)
- Для усреднения есть простой IIR фильтр: F(n+1) = S(n) + F(n) - F(n)/N, вход фильтра - S(n), выход - F(n)/N, деление заменяется сдвигом. SciFi(47 знак., 11.05.2012 13:01)
- В свое время много бился за экономию памяти при усреднении. И плюнул - буфер - самый надежный и стабильный результат. - Vladimir Ljaschko(11.05.2012 12:52)
- Кажется, ерунду ляпнул. Так не получается. - SciFi(11.05.2012 12:47)
- А подробней нет ссылочки на метод? - mrengineer(11.05.2012 11:54)
- Если у вас считается скользящее среднее, то от буфера никуда не деться. Можно лишь применить некоторые приемы, сокращающие время вычислений. Во-первых, весь массив сдвигать не нужно. Изменяется лишь указатель (индекс) элемента буфера, указывающий rezident(398 знак., 11.05.2012 11:48)
- по ходу именно все это я и сделал mrengineer(29 знак., 11.05.2012 12:13)
- От буфера можно уйти при экспоненциальном скользящем среднем, если оно подойдёт по условиям задачи - Sergey_B(11.05.2012 12:53)
- по ходу именно все это я и сделал mrengineer(29 знак., 11.05.2012 12:13)
- Буффер на N_макс_макс.И круги нарезать по N_макс_текущее. - PlainUser(11.05.2012 11:44)
- .................. - PlainUser(11.05.2012 11:46, ссылка)
- кольцевой буфер с переменной длиной не устраивает? - Vit(11.05.2012 11:44)
- Если значения - это целые числа, то можно попробовать замутить арифметику с дельтами. Если не ошибаюсь, достаточно хранить три дельты: D(0, N), D(0, 1), D(N, N-1). - SciFi(11.05.2012 11:53)
- Осреднение данных. Раньше я каждый раз осреднял весь буффер. Теперь ушел от этого и сильно выиграл по времени. Но значение, полученное N вызовов назад по-прежнему нужно. mrengineer(70 знак., 11.05.2012 11:39)