线性差分方程的迭代分析法
在离散时间系统中,线性时不变系统的一种重要的子系统的表征如下:
$\displaystyle{ \sum_{i=0}^N a_i y[n-i] = \sum_{k=0}^M b_k x[n-k] } \qquad (a_0=1)$
其中$x[n-M],…,x[n]$分别为系统的M+1个输入,$y[n-N],…,y[n]$分别为系统的N+1个输出。这种式子正好是一个N阶线性常系数差分方程。
如之前我们对线性差分方程的分析,线性差分方程可以通过求解得到闭式解(closed-form solution),不过由于闭式解是幂多项式,因此不利于计算机实。在此,我们可以通过上述式子,容易得到差分方程的迭代式(recursive form),而迭代式由于只包含乘法与加法,有利于计算机实现。
迭代式如下:
$\displaystyle{ \underbrace{y[n]}_{current\ output\ value} = -\underbrace{\sum_{i=1}^N a_i y[n-i]}_{past\ output\ values} + \underbrace{\sum_{k=0}^M b_k x[n-k]}_{current\ and\ past\ input\ values} }$
如下是一个差分方程:
$y[n+2]-1.5y[n+1]+y[n] = 2x[n]$
可以把该方程变为如下形式:
$y[n]-1.5y[n-1]+y[n-2] = 2x[n-2]$
转换成迭代式:
$y[n] = 1.5y[n-1]-y[n-2]+2x[n-2]$
如果给出条件:$x[n]$为跃阶序列(unit step),即$x[n] = u[n] = \left\{\begin{matrix} 0 & n<0\\ 1 &n \geq 1 \end{matrix}\right.$;$y[n]$有初始值 $\left\{\begin{matrix} y[-2] = 2\\ y[-1] = 1 \end{matrix}\right.$
那么$y[n]$有如下结果:
n | x[n] = u[n] | y[n] |
-2 | 0 | 2 |
-1 | 0 | 1 |
0 | 1 | 1.5*1 – 2 + 2*0 = –0.5 |
1 | 1 | 1.5*(-0.5) – 1 + 2*0 = –1.75 |
2 | 1 | -0.125 |
3 | 1 | 3.563 |