首页 > 编程知识 正文

拉力平衡器,卡尔曼

时间:2023-05-05 14:57:31 阅读:170420 作者:4275

在看到静笔《信息融合滤波理论及其应用》后,可以发现信息融合的研究方向是以下两个方面: 1 .系统状态滤波、平滑、估计; 2 .系统噪声和观测噪声估计。 系统状态的过滤是指根据1、2、t时刻的观测值来推测当前的t时刻的状态值; 系统状态的平滑化是指使用1,2, t, t k时刻的观测值来推测当前的t时刻的状态值; 系统状态的预测是指,使用1、2、 t的观测值预测时刻t 1的状态值。 估计系统噪声是使用前t-n时间点的观测值来估计系统噪声w(t )的量值。估计的噪声是使用前t-n时间点的观测值来估计观测噪声v(t )的量值,其表示为

在我之前博客中卡尔曼滤波器的推导中,卡尔曼滤波器的五个公式包含了状态的预测和估计过程。 这个博客主要谈论系统状态的平滑过程。

卡尔曼滤波平滑主要有固定点平滑、固定滞后平滑、固定区间平滑三种平滑方式。 我想这三种流畅方法的介绍在yydxf老师的课上已经说得很清楚了,所以我就直接贴讲义的说明:

关于具体的卡尔曼滤波算法的记述,不准备采用psddy讲义的算法。 psddy算法容易理解,但不实用,且存在大量的矩阵求逆过程,计算过程过于复杂,现介绍一种安静的笔电平滑算法。

定理1 )对于以下系统:

(1) ) ) )。

(2) ) ) )。

最佳递归固定点Kalman平滑器如下。

(3) ) )。

平滑化误差如下。

(4) ) )。

其中:

(5) ) )。

由于t N时的新信息,不明白的地方可以通过浏览前一篇博客的卡尔曼滤波推导出来,其中有具体介绍。

证明过程:

从递归射影定理可以看出:

(6) ) )。

其中:

(7) ) )。

因为有:

(8) )。

(9) ) )。

通过式9的进一步误差递归式,与的关系式如下求出。

(十) )。

在式9中,Ai、Bi分别是系数矩阵。

                        (11)

因为存在:

                                                       

                                                                  当时

                                                                    当时                                           

                                                                  当时

                                                                    当时

由式10和式11可得:

                                              (12)

则有:

(13)

因为有:

                                          (14)

                                   (15)

定理得证。

定理2:最优固定滞后Kalman平滑器如下:

                                                         (16)

                                          (17)

定理2可以通过定理1递推证明。

定理3:固定区间Kalman平滑器如下:

                                                                        (18)

其中:

                                          (19)

其中有.

方差阵为:

(20)

其中有:

(21)

其中有:

证明过程:

由定理2可知

当N=N-t时,带入上式有:

                                          (22)

将K(t/t+i)的表达式带入上式可得:

(23)

则有:

                                           (24)

                    (25)

则有:

对于方差:

                                             (26)

                                                    (27)

由此有:

                                                 (28)

              (29)

由此定理三得证。

综上所述,卡尔曼平滑器介绍完毕(这一篇文章用到了很多我上一篇讲到的知识点,有不懂的可以看看的上一篇博客卡尔曼滤波的推导)。

算法仿真:

考虑随机系统:

其中Qw=0.4,R=10,仿真效果图如下:

 

matlab仿真代码如下:

clc;clear;N=500;A=[1,0;0.2,0.6];G=[1;2];H=[1,1];Q=0.4;R=10;RandNum=normrnd(0,sqrt(Q),1,N);RandNum1=normrnd(0,sqrt(R),1,N);%%获得测量数据x(:,1)=[0;0];y(1)=0;for i=2:N x(:,i)=A*x(:,i-1)+G*RandNum(i); y(i)=H*x(:,i)+RandNum1(i);endPk(:,:,1)=[Q,0;0,R];X(:,1)=[0;0];I=eye(2);K(:,1)=[0;0];Xk(:,1)=[0;0];Pkk(:,:,1)=[0,0;0,0];for i=2:N Xk(:,i)=A*X(:,i-1); Pkk(:,:,i)=A*Pk(:,:,i-1)*A'+G*Q*G'; K(:,i)=Pkk(:,:,i)*H'/(H*Pkk(:,:,i)*H'+R); X(:,i)=Xk(:,i)+K(:,i)*(y(i)-H*Xk(:,i)); Pk(:,:,i)=(I-K(:,i)*H)*Pkk(:,:,i);endN1=3;for i=2:N-N1-1 Ks=K(:,i)*(y(i)-H*Xk(:,i)); for j=2:N1+1 KN=eye(2); for k=1:j-1 KN=KN*(I-K(:,i+k-1)*H)'*A'; end KN=Pkk(i)*KN*H'/(H*Pkk(i+j-1)*H'+R); Ks=Ks+KN*(y(i+j-1)-H*Xk(:,i+j-1)); end X2(:,i)=Xk(:,i)+Ks;end X2(:,N-2)=X(:,N-2);X2(:,N-1)=X(:,N-1);X2(:,N)=X(:,N);t=1:N;figure(1);subplot(2,2,1);plot(t,x(1,:),'r',t,X(1,:),'k');subplot(2,2,2);plot(t,x(2,:),'r',t,X(2,:),'k');subplot(2,2,3);plot(t,X(1,:),'r',t,X2(1,:),'k');subplot(2,2,4);plot(t,X(2,:),'r',t,X2(2,:),'k');figure(2);plot(t,X(1,:)-x(1,:),'r',t,X2(1,:)-x(1,:),'k');figure(3);plot(t,X(2,:)-x(2,:),'r',t,X2(2,:)-x(2,:),'k');

 

 

 

 

 

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。