[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Требуется просто отфильтровать постоянный сигнал от переменной составляющей. Вычисления проводятся целочисленные 16-разрядные. Использую простой алгоритм: НОВОЕ ЗНАЧЕНИЕ НА ВЫХОДЕ ФИЛЬТРА = (ПРЕДЫДУЩЕЕ ЗНАЧЕНИЕ НА ВЫХОДЕ ФИЛЬТРА * (Т-1) + НОВОЕ ЗНАЧЕНИЕ ВХОДНОЙ ВЕЛИЧИНЫ) / Т. Здесь Т - условно постоянная времени фильтра. Впринципе фильтр работает, но изменения входной величины не более чем на Т фильтром не чувствуются. К примеру, если имеем Т=10, входная величина равна 10000 и столько же выходная, и при изменении входной величины до 10009 выходная величина останется без изменения на уровне 10000, а должна постепенно (по экспоненте) достигнуть величины 10009. :( Кто знает как решить проблему?
E-mail: info@telesys.ru