Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Фильтруем, балансируя на границе разных терминологий :) Задача,
Отправлено
Леонид Иванович 15 февраля 2008 г. 14:36
В ответ на:
Идея простая. отправлено
Oldring 15 февраля 2008 г. 10:12
осуществить фильтрацию показаний прибора, затратив минимум вычислительных ресурсов. К качеству фильтрации требований жестких нет, лишь бы была. Подойдет ФНЧ 1-го порядка с частотой среза, регулируемой пользователем.
Скользящее среднее - это FIR с прямоугольным окном, хотя используют и другие окна: треугольные, и даже очень кривые, расчитанные матёрыми финансистами :) Мне не подходит то, что нужен буфер на длину окна фильтра. Длина будет задаваться в широких пределах.
Иногда не думая делают следующий шаг: добавляют новый отсчет, а вместо вычитания самого старого (чтобы его не хранить), вычитают результат, т.е. сумму, деленную на N. Таким простым движением переходим от FIR к IIR:
Y[n] = Y[n-1] + 1/N(X[n] - Y[n-1])
Если N здесь будет степенью двойки, то деление можно заменить сдвигом. Характеристики фильтра, конечно, существенно меняются, но и такой фильтр пойдет. Только плохо, что теперь будет сказываться ошибка округления. Как бы это оценить?
Составить ответ | Вернуться на конференцию
Ответы