реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите построить модель для фильтра Калмана, 1-осевой акселерометр -> velocity -> position
brag
сообщение Jun 29 2012, 21:09
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Привет всем!
С самим фильтром разобрался, а вот модель не могу слепить... Есть 1-осевой акселерометр, надо получить скорость и дистанцию. Задача более теоретическая, чем практическая.
Отбросим все шумы.
Код
x[k] = F*x[k-1] + B*u[k]; - Модель реального состояния
z[k] = H*x[k]; - Модель измеренного состояния
Вктор состояния x=[real_acceleration; real_velocity; real_position];

Вектор воздействия по идее должен быть u=[real_acceleration; 0; 0];, верно?
Тогда матрицы F, B, H по идее должны быть такими:
Код
F=[
    0       0       0
    Ts      1       0
    0       Ts      1  ];
B=H=[
    1       0       0
    0       0       0
    0       0       0  ];

Теперь вот в чем запутался - вкторы z и u, которые собственно подаем на фильтр калмана. в какой из них пихать данные с акселерометра? Ведь, если пихать в u, а z обнулить - не будет работать корректор. Если пихать в z, а u обнулить - не будет работать эстиматор? Или я чего-то не понял до конца?

Напрашивается только приведение матрицы F до такого вида, приняв, что ускорение не меняется:
Код
F=[
    1       0       0
    Ts      1       0
    0       Ts      1  ];

Тогда обнулив u, B и установив вектор z=[measured_acc; 0; 0]; вроде все логично получается, если я все правильно понял...
пс. Имена переменных такие, как тут http://en.wikipedia.org/wiki/Kalman_Filter#The_Kalman_filter
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Jul 2 2012, 09:41
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Цитата(brag @ Jun 30 2012, 01:09) *
z[k] = H*x[k]; - Модель измеренного состояния

Подразумевает именно наличие измерений [ускорения скорости положения].

Go to the top of the page
 
+Quote Post
brag
сообщение Jul 2 2012, 11:28
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



На сколько я понял, если у нас только 1 вход(ускорение), то на этапе предсказания мы предсказываем, что он, на пример, не изменится (u=0,B=0) или изменится по какому-то закону. тогда мы его корректируем по реалным измерениям (z).
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Jul 2 2012, 16:27
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



А прогноз при этом будет связан измерениями?
Go to the top of the page
 
+Quote Post
brag
сообщение Jul 2 2012, 17:35
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



С 1 датчиком оно мало чего даст, эт чисто так, теоретически - поигратся, абы абы суть вловить...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016