网站大量收购独家精品文档,联系QQ:2885784924

现设线性时变系统的离散状态方程及观测方程.docx

现设线性时变系统的离散状态方程及观测方程.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现设线性时变系统的离散状态方程及观测方程

现设线性时变系统的离散状态方程和观测方程为: X(k) = F(k,k-1)·X(k-1)+T(k,k-1)·U(k-1) Y(k) = H(k)·X(k)+N(k) 其中 X(k)和Y(k)分别是k时刻的状态矢量和观测矢量 F(k,k-1)为状态转移矩阵 U(k)为k时刻动态噪声 T(k,k-1)为系统控制矩阵 H(k)为k时刻观测矩阵 N(k)为k时刻观测噪声 则卡尔曼滤波的算法流程为: 预估计X(k)^= F(k,k-1)·X(k-1) 计算预估计协方差矩阵 C(k)^=F(k,k-1)×C(k)×F(k,k-1)+T(k,k-1)×Q(k)×T(k,k-1) Q(k) = U(k)×U(k) 计算卡尔曼增益矩阵 K(k) = C(k)^×H(k)×[H(k)×C(k)^×H(k)+R(k)]^(-1) R(k) = N(k)×N(k) 更新估计 X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^] 计算更新后估计协防差矩阵 C(k)~ = [I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]+K(k)×R(k)×K(k) X(k+1) = X(k)~ C(k+1) = C(k)~ 重复以上步骤 ********************************************** Matlab实现代码 ********************************************************************************************************************************* %%%% Constant Velocity Model Kalman Filter Simulation %%%% %========================================================================== clear all; close all; clc; %% Initial condition ts = 1; % Sampling time t = [0:ts:100]; T = length(t); %% Initial state x = [0 40 0 20]; x_hat = [0 0 0 0]; %% Process noise covariance q = 5 Q = q*eye(2); %% Measurement noise covariance r = 5 R = r*eye(2); %% Process and measurement noise w = sqrt(Q)*randn(2,T); % Process noise v = sqrt(R)*randn(2,T); % Measurement noise %% Estimate error covariance initialization p = 5; P(:,:,1) = p*eye(4); %========================================================================== %% Continuous-time state space model %{ x_dot(t) = Ax(t)+Bu(t) z(t) = Cx(t)+Dn(t) %} A = [0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 0 0]; B = [0 0; 1 0; 0 0; 0 1]; C = [1 0 0 0; 0 0 1 0]; D = [1 0; 0 1]; %% Discrete-time state space model %{ x(k+1) = Fx(k)+Gw(k) z(k) = Hx(k)+Iv(k) Continuous to discrete form by zoh %} sysc = ss(A,B,C,D); sysd = c2d(sysc, ts, zoh); [F G H I] = ssdata(sysd); %% Practice state of target for i = 1:T-1 x(:,i+1) = F*x(:,i); %% Prediction phase x_hat(:,i+1) = F*x_hat(:,i); % State estimate predict P(:,:,i+1) = F*P(:,:,i)*F+G*Q*G; % Tracking error

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档