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

 
 
> математика фильтра Калмана., как пересчитывать веса в ковариционной матрице
Serj78
сообщение Jun 16 2006, 19:15
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Требуется построить фильтр калмана для 2-х величин. это курс от ИНС и от GPS.
накачал некоторое количество информации, и понял, что подход Бесерского почему-то другой, нежели у буржуев ( в Навгеокоме статья, если надо, выложу.) у буржуев отсутствует формирующий фильтр, что по Бесекерскому есть модель нашего процесса. Пересчет весов вклада компонент вектора измерений как я понял, на каждом шаге вычисляется их дисперсий предыдущих оценок выходного вектора оценки состояния. мне пока не ясно КАК ИМЕННО МАТЕМАТИЧЕСКИ вычислять дисперсии и веса. если кто занимался этим, помогите, пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
neptune-1
сообщение Nov 2 2006, 20:40
Сообщение #2


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

Группа: Свой
Сообщений: 94
Регистрация: 23-10-06
Пользователь №: 21 591



Цитата(Serj78 @ Jun 16 2006, 22:15) *
Требуется построить фильтр калмана для 2-х величин. это курс от ИНС и от GPS.
....
цель построения калмановского фильтра- улучшить динамические характериски автопилота ДПЛА и попытаться прогнозировать отставание курса GPS при больших угловых скоростях - более 35 °/c


Запишем формулы для структуры измерений:

Ygps = PSI - L*PSIdot + ngps;
Yins = PSI + EPS + nins; (1)

PSI - курс, PSIdot - скорость изменения курса, L - коэффициент который отвечает за "отставание курса GPS при больших угловых скоростях", EPS - дрейф ИНС; ngps, nins - шумы измерений, к которым (с натягом можно отнести неучтенные ошибки). Дисперсия nins будет Nins~=(0.001 °/c)^2 (потом можно подобрать вручную). Дисперсия ngps будет Ngps=(рассчитывается на лету, зависит от горизонтальной скорости)

Введем вектор состояний:
X = [ PSI PSIdot L EPS EPSdot]; (2)

EPSdot - скорость дрейфа курса от ИНС.

Введем вектор измерений

Y = [Ygps; Yins]; (3)

Введем векторную сигнальную функцию на основании (1), (3):

S(X) = [PSI - L*PSIdot;
PSI + EPS]; (4)

N=[Nins 0;
0 Ngps]; - матрица дисперсий измерений.

Записываем переходную матрицу для вектора состояний:

F = [1 T 0 0 0;
0 1 0 0 0;
0 0 1 0 0;
0 0 0 1 T;
0 0 0 0 1]; (5)
T - шаг дискретизации по времени, сек.

Т.е.
X(k) = F*X(k-1) + g(k)(вектор формирующих шумов);
- аппроксимация вектора состояний Марковским процессом (чисто для справки).
g = [0 ksiPSIdot ksiL 0 ksiEPS];

ковариационная матрица g равна

G=diag([0; sigmaPSIdot^2; sigmaL^2 0 sigmaEPS^2]); (6)

sigmaPSIdot = T*(среднее угловое ускорение);
sigmaL = (что-то очень маленькое для вычислительной стабильности и демпфирования погрешностей, связанных с гауссовским приближением апостериорной плотности вероятности X);
sigmaEPS = T*(4e-6 рад/с/с - для микромеханической БИНС; 1е-9 рад/с/с для ИНС класса Litton LN-200)

Задаем начальные условия:

X(0) = [Ygps(0); 0; 0; 0; 0];
E(0) = diag([Ngps(0); 100; 1; 0.1; 0.001]); - ковариационная матрица оценок, или матрица дисперсий вектора сосотояний (кому как больше нравится).

Запускаем обсчет расширенного фильтра Калмана. На каждом шаге просчитываются 4 строчки:

Экстраполяция:
Eext(k) = F*E(k-1)*F + G; (7)
Xext(k) = F*X(k-1); (8)

Оценивание (учет измерений):
E(k) = inv(Eext(k) + (dS(Xext)/dX)'*inv(N(k))*(dS(Xext)/dX)); (9)
X(k) = Xest(k) + E(k)*(dS(Xext)/dX)'*inv( N(k) )*( Y(k) - S(Xext(k)) ); (10)

X(k) - и есть оценка вектора состояний, а его первый компонент (PSI) - оптимальная оценка курсового угла. Третий компонент (L) - коэффициент запаздывания курсовых измерений из GPS.

Задача решена.

Пояснения:

dS(Xext)/dX - это МАТРИЦА 2х5, производная сигнальной функции по вектору состояний. Считается на каждом шаге для экстраполированных значений X=Xext(k). В данном cлучае:

(dS(X)/dX) = [1 -L -PSIdot 0 0;
1 0 0 1 0]; (11)

Если темп GPS меньше темпа ФК, то для тех моментов времени, когда данные GPS недоступны полагается

inv( N(k) ) = [0 0; 0 (1/Nins)]; (12)


Желаю удачи.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Serj78   математика фильтра Калмана.   Jun 16 2006, 19:15
- - Serj78   линки http://www.navgeocom.ru/gps/kalman/ это по...   Jun 17 2006, 18:50
|- - SDFF   цель построения калмановского фильтра- улучшить ди...   Jun 18 2006, 11:04
- - NickNich   Не читайте попсовых статей - только мозги себе зап...   Jun 17 2006, 22:26
- - Serj78   Огромное спасибо за пояснения- буду изучать дальше...   Nov 4 2006, 22:12
|- - wookX   Serj78 У меня проблема почти такая же. Может пояс...   Apr 2 2007, 10:50
||- - NickNich   Цитата(wookX @ Apr 2 2007, 11:50) Serj78 ...   Apr 2 2007, 17:56
||- - wookX   Акселерометры ведь трех осевые. Измеряют ускорения...   Apr 2 2007, 22:12
||- - NickNich   Т.е. конечная цель применения разнесеных блоков ак...   Apr 3 2007, 10:38
|- - wookX   А у Analog Devices можно заказать samples? А то я ...   Apr 3 2007, 08:41
- - Макс_Мат   Вук, вопрос сложный задал в связи с тем, что много...   Apr 2 2007, 10:58
- - Serj78   Подход в принципе правильный, но я бы не заморачив...   Apr 2 2007, 23:42
- - Serj78   увы, AD гироскопы на халяву не раздает- наверное, ...   Apr 3 2007, 10:04
- - wookX   Три блока акселерометров ставлю, так как мне их тр...   Apr 4 2007, 13:57
|- - wookX   И еще вот, я тут нашел. Вроде то что нужно, но не ...   Apr 4 2007, 15:36
|- - wookX   Погуглил я книжку GPS, Inertial Navigation and Int...   Apr 5 2007, 11:07
- - pdk   От исходников бы не отказался Вот еще интересны...   Apr 7 2007, 09:10
|- - wookX   Цитата(pdk @ Apr 7 2007, 09:10) От исходн...   Apr 10 2007, 09:54
|- - wookX   Алгоритм получается следующий: [font=Courier New] ...   Apr 26 2007, 14:11
|- - CodeWarrior1241   ЦитатаНичего не забыл? кто разбирается может подск...   May 3 2007, 17:43
|- - wookX   Пока запустить не удалось ( Нашлось несколько ошиб...   May 7 2007, 07:37
|- - pdk   Цитата(wookX @ May 7 2007, 11:37) А как U...   May 10 2007, 04:16
- - pdk   Удалось запустить? А почему выбран именно EKF? Есл...   May 3 2007, 08:25
- - wookX   И еще вот недостающая информация. [font=Courier Ne...   May 15 2007, 03:26
- - Хочу_знать   Здравствуйте. Я новинький на этом сайте и форуме. ...   Feb 7 2008, 13:54
|- - Goofy   Цитата(Хочу_знать @ Feb 7 2008, 20:54) Зд...   Feb 17 2008, 09:48
- - Хочу_знать   Спасибо. Найду и прочитаю   Feb 18 2008, 18:22
- - Пеньков   Советую почитать книжки: Шахтарин "Случайные ...   Nov 25 2009, 10:20
- - krutskikh   Могу помочь Вам компонентом на Borlan Delphi 6.0 с...   Dec 3 2009, 07:00


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

 


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


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