状态空间模型是现代控制理论的基础,但是在建立状态空间矩阵的时候系统噪声方差阵Q和测量噪声方差阵R很难
通过模型得到,所以需要一种算法利用已知的输出数据y(t)来估计上述两个变量。
首先摆出状态空间模型:
(1)
首先由(1)迭代可知:
(2)
(3)
这里x(0)不妨设单位阵。可以令:
(4)
对矩阵进行左素分解,可得:
(5)
左素分解就是将一个矩阵分解成两个没有公约数的矩阵,具体的方法如下:
引理1:对多项式矩阵实行一系列的初等列变换(即相当于右乘一个单位模阵),则可以化成如下形式:
(6)
则为和的极大左因式。
由上述引理就可以对其进行左素分解,具体分解可以看等下的例子:
通过左素分解后,式2可以化简成如下式子:
(7)
不妨令:
(8)
则有:
(9)
在已知y(t)的前提下,、也是已知量,所以z(t)已知,则方差R(k)有:
(10)
将Q、R中的未知参数组成n*1列的位置向量,由此可以通过最小二乘法来进行参数估计:
(11)
于是得到了状态转移矩阵的白噪声的方差估计。
例:考虑目标跟踪系统,状态转移矩阵如下:
(12)
这里不妨取仿真周期T0=1,系统噪声方差为1,测量噪声v(t)方差为0.04,由将T0带入式(2)可知:
(13)
这里我们不妨取:
(14)
对A,B进行左素分解,具体过程如下:
(15)
上述矩阵进行列变换后为[1,0],表明A和B本身互素,而A中第一个元素的系数也为1,所以可以得到:
(16)
其中a0=1,a1=-1,a2=1,b0=1,b1=0.5,b2=0.5,协方差z(t)表达式如下:
(17)
(18)
下面对R(i)进行求取,迭代公式如下:
(19)
而对于每一时刻的z(t)我们是已知的,利用最小二乘法进行参数估计则可以估计出系统误差w(t)的方差和测量误差v(t)
的方差,便于我们系统方程的建立。