如何判断时变系统?

简卓宏简卓宏最佳答案最佳答案

这个问题有点大,我尝试着回答一下。 首先,要说明的是,这里所说的“时变”和信号处理中的“时变”是一个概念吗?我的理解是不是这样: 如果一个系统是确定的(deterministic)的,那么其状态空间表达式一定是时变的;如果它是一阶离散系统,那么它的状态空间表达式就是如下形式 \[x(k+1)=Ax(k)\] 其中 x(k) 是系统在时刻 k 的所有输入输出信息的全集合, A\in R^{{n}\times {n}} 是一个不可观测的状态转移矩阵。

这样的系统,显然随着时间变化,状态不断转移,信息完全被用来构造下一时刻的系统状态。当然,这样的系统时变性是很强烈的了~ 但是,如果我们不要求系统的输入、输出的信息完备,而只是要求在某些时刻或者某些条件下有充足的输入输出数据可供使用,并且这些有限的输入输出数据能够充分拟合一个确定性系统,这时候通过最小二乘法等估计方法得到的系统往往不是时变的。

举个例子,对于下面的系统,

\[ x(k+1)=\left [\begin{array}{cc}4&3\\0 &2 \end{array}\right ]x(k)+w(k)\]

其中 w(k) 是零均值的高斯白噪声序列,我们可以通过最小二乘法求出这个系统的参数向量 \(\theta\) 使得 \[\theta=\mathrm{argmin}_\theta \sum_{k=0}^l (x(k+1)-A_\theta x(k))^2\]

但这是一个一阶线性系统,系统函数为 g(z) = z^{-1}\] 所以 \(\theta\) 并不是一个时变的系统参数向量,因为系统函数不是时变的。可以证明,当噪声存在时,即使我们对系统函数并不要求充分的先验知识,用最小二乘法也不能得到时变的系数向量 \(\theta\) 。

但是如果删掉最小二乘法的条件,假定我们已知系统函数具有如下形式:

\[g(z) = \frac{\alpha}{z}+\frac{\beta}{z^2}\]

而且我们也知道 \(\alpha\) 和 \(\beta\) 的数值大小,那就可以通过迭代的方法计算出时变的系统参数向量 \(\theta\) 。这种通过选代的方法要求每一步送代的误差都要比前一步小,即 \|\theta^{(m)}-\theta^{(m+1)}\|<\delta,\forall m\in N\]

否则算法会陷入局部最小值。如果迭代的步数足够多,算法是可以收敛到一个时变的系数量 \(\theta\) 的。

发表评论
请发表正能量的言论,文明评论!