ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 ноября
876108 Топик полностью
vitalyn (11.10.2018 12:18, просмотров: 325) ответил Dingo на Спасибо. А из "попроще" есть что-нить, или тот самый IIR?
Фильтр Калмана - это и есть то самое "попроще". Проще некуда. Представьте себе обычный ФНЧ БИХ (IIR). Итерационная формула Yn <= Yn-1*(1-a) + Xn*a. Проще некуда! Yn - отфильтрованное значение, Xn - измеренное. Теперь перепишем уравнение вот в таком виде Yn <= Yn-1 + a*(Xn-Yn-1) - просто перестановка мест слагаемых. Теперь представим, что у нас Yn представляет собой вектор состояния моделируемого объекта, Xn - вектор измеряемых параметров (их может быть меньше, чем количество значений, описывающих состояние объекта, они могут дублироваться, например, можно использовать два акселерометра с разными характеристиками). Соответственно, перепишем это в векторно-матричной форме. Обзовём a "Kalman Gain", добавим матрицы эволюции системы и приведения вектора состояния системы к вектору измерения. Ну, собственно, и всё. Остальные формулы просто используем не вдумываясь, там уже подумали, кому охота было. Остаётся только один корявый момент - это как оценивать шум процесса и шум измерения. В формулы-то надо конкретные значения подставлять! Спасает, что тут значение имеет только их взаимное соотношение. Если у нас шум измерения меньше, чем шум процесса, то в расчёт больше идёт измеренное значение, а не вычисленное. Если шум измерения больше - значит, больше полагаемся на вычисленное значение, а не на измеренное. Соответственно, эти две величины мы всегда можем взять "от балды", потом посмотреть, насколько хорошо наш фильтр работает, поиграться с величинами, подобрать более-менее работоспособную комбинацию, даже если мы совсем не понимаем, что это такое и как это правильно считать. Когда и если будет охота вникать дальше - научимся считать текущий шум измерения в реалтайме, чтобы фильтр динамически подстраивался под реальное качество измеренных сигналов.