Чтобы указать настройку фильтрации Калмана, вам нужно указать, что вы хотите оценить («состояния») и что вы собираетесь измерять («наблюдения»).Кроме того, вам нужно сказать, как наблюдения зависят от состояний, то есть вам нужно выразить наблюдения как функции состояний и как перенести состояния во времени, то есть вам нужно выразить состояния позжекак функции состояний в более раннее время.Когда мы говорим о линейности или иным образом о фильтре, речь идет о том, являются ли эти два набора уравнений (уравнения наблюдения и уравнения прогнозирования) линейными или нет.То есть имеет значение, являются ли наблюдения линейными функциями состояний и являются ли будущие состояния линейными функциями предыдущих состояний.То, как состояния или наблюдения зависят от времени, не имеет значения.
В качестве игрушечного примера предположим, что у нас была 1d-система, и мы могли измерять положение P и ускорение A. В качестве состояний мы могли принимать положение p, скорость vи ускорение а.Тогда уравнения наблюдения предельно просты:
P = p
A = a
Уравнения прогнозирования лишь немного сложнее: слева (с ') мы имеем предсказанные состояния в момент времени t, больший, чем время предыдущегорасчетные состояния
p' = p + t*v + 0.5*t*t*a
v' = v + t*a
a' = a
Поскольку каждый из этих наборов уравнений, очевидно, является линейным по p, v и a, система является линейной.
Однако реальная (3d) система может быть значительно большесложный.Например, может быть так, что показания акселерометров относятся к координатной рамке, зафиксированной в теле, а положение (и скорость, если она доступна) относительно совершенно другой координатной системы.Вы должны быть в состоянии связать эти два кадра.Может случиться так, что измерения, скажем, тангажа и рыскания, доступны, и вы можете ввести новые состояния «ориентации»;однако вполне вероятно, что и наблюдения, и предсказания будут тогда нелинейными функциями состояний.