Skip to content

第9章 离散时间线性时不变系统

9.1 引言

在前一章中,我们确定了系统可能具备的若干特性。其中两项特性是线性性和时不变性。在本章中,我们将注意力集中于同时具备这两种特性的系统。这类系统称为线性时不变(LTI)系统。

9.2 离散时间卷积

在 LTI 系统的背景下,一种称为卷积的数学运算显得尤为重要。序列 \(x\)\(h\) 的卷积,记作 \(x * h\),定义为序列

\[ \begin{equation*} x * h(n)=\sum_{k=-\infty}^{\infty} x(k) h(n-k) \tag{9.1} \end{equation*} \]

在此,星号(即 "*")用于表示卷积,而非乘法。区分卷积与乘法非常重要,因为这两种运算本质上不同,通常不会得到相同的结果。

符号上,\(x * h\) 表示一个序列,即 \(x\)\(h\) 卷积后的序列。相比之下,\(x * h(n)\) 表示在 \(n\) 处对序列 \(x * h\) 的取值。虽然我们可以用额外的一对括号写作 \((x * h)(n)\),但通常省略这对括号,因为这样不会引入歧义,并且表示更简洁。换言之,在表达式 \(x * h(n)\) 中,运算的组合方式只有一种合理解释。写作 \(x *[h(n)]\) 是不合理的,因为卷积需要两个序列作为操作数,而 \(h(n)\) 并不是序列,而是 \(h\)\(n\) 处的值。因此,表达式 \(x * h(n)\) 唯一合理的解释是 \((x * h)(n)\)

由于卷积运算在系统理论中被广泛使用,我们需要一些实用方法来计算卷积和。假设对于给定的序列 \(x\)\(h\),我们希望计算

\[ x * h(n)=\sum_{k=-\infty}^{\infty} x(k) h(n-k) \]

当然,我们可以天真地尝试通过对每一个可能的 \(n\) 值单独求和来计算 \(x * h(n)\)。然而,这种方法不可行,因为 \(n\) 可以取无限多个值,因此需要进行无限次求和。相反,我们考虑一种略有不同的方法。令我们用中间序列 \(w_{n}(k)\) 重新定义求和,其中

\[ w_{n}(k)=x(k) h(n-k) \]

(注意 \(w_{n}(k)\) 隐含地是 \(n\) 的函数。)这意味着我们需要计算

\[ x * h(n)=\sum_{k=-\infty}^{\infty} w_{n}(k) \]

现在我们观察到,对于大多数实际感兴趣的序列 \(x\)\(h\)\(w_{n}(k)\) 的形式通常在特定的 \(n\) 范围内保持不变。因此,我们可以通过首先确定每个不同的 \(w_{n}(k)\) 表达式及其适用范围,然后在每个范围内进行求和,来计算卷积结果 \(x * h\)。通过这种方式,我们通常只需要计算少量求和,而不是前述天真方法所需的无限求和。 上面的讨论引出了一种计算卷积的一般方法:

  1. 绘制 \(x(k)\)\(h(n-k)\) 关于 \(k\) 的图像。
  2. 最初,考虑 \(n\) 取一个任意大的负值。这将导致 \(h(n-k)\) 在时间轴上被向左移动很远。
  3. 写出 \(w_{n}(k)\) 的数学表达式。
  4. 逐渐增加 \(n\),直到 \(w_{n}(k)\) 的表达式形式发生变化。记录该表达式有效的区间。
  5. 重复步骤 3 和 4,直到 \(n\) 取一个任意大的正值。这对应于 \(h(n-k)\) 在时间轴上被向右移动很远。
  6. 对上面确定的每个区间,求 \(w_{n}(k)\) 的和,以得到 \(x * h(n)\) 的表达式。这样可以为每个区间得到 \(x * h(n)\) 的表达式。
  7. 将各个区间的结果组合起来,以得到所有 \(n\) 的卷积结果 \(x * h(n)\)

根据被卷积序列的形式,我们可以采用上述策略的多种变体。然而,在大多数情况下,绘制卷积运算中涉及的各序列的图像非常有帮助,因为这通常使答案的一般形式更易于直观理解。有时,从图像中得到的信息也可以更方便地以表格形式表示。因此,使用表格也很有帮助。下面,我们通过几个例子来说明卷积的计算方法。

例 9.1 计算 \(x * h\),其中

\[ x(n)=2^{-|n|} \quad \text { 和 } \quad h(n)=u(n-2) . \]

解答 根据卷积的定义,我们有

\[ \begin{aligned} x * h(n) & =\sum_{k=-\infty}^{\infty} x(k) h(n-k) \\ & =\sum_{k=-\infty}^{\infty} 2^{-|k|} u(n-k-2) \end{aligned} \]

由于 \(u(n-k-2)=0\)\(k>n-2\),我们可以写作

\[ \begin{aligned} x * h(n) & =\sum_{k=-\infty}^{n-2} 2^{-|k|} \\ & = \begin{cases}\sum_{k=-\infty}^{n-2} 2^{k} & n-2 \leq 0 \\ \sum_{k=-\infty}^{0} 2^{k}+\sum_{k=1}^{n-2} 2^{-k} & n-2>0\end{cases} \\ & = \begin{cases}\sum_{k=-\infty}^{n-2} 2^{k} & n \leq 2 \\ \sum_{k=-\infty}^{0} 2^{k}+\sum_{k=1}^{n-2} 2^{-k} & n>2\end{cases} \end{aligned} \]

通常,确定卷积计算中出现的各种情况可能有些棘手。在本例中,我们有两种情况:\(n \leq 2\)\(n>2\)。这些情况的原因可以通过观察 \(x(k)\)\(h(n-k)\) 关于 \(k\) 的图像更容易理解,如图 9.1 所示。现在,我们简化上式中出现的各求和式。我们有

\[ \begin{aligned} \sum_{k=-\infty}^{n-2} 2^{k} & =\sum_{k=2-n}^{\infty}\left(\frac{1}{2}\right)^{k}=\sum_{k=0}^{\infty}\left(\frac{1}{2}\right)^{k+2-n}=\sum_{k=0}^{\infty}\left(\frac{1}{2}\right)^{2-n}\left(\frac{1}{2}\right)^{k} \\ & =\frac{\left(\frac{1}{2}\right)^{2-n}}{1-\frac{1}{2}}=\left(\frac{1}{2}\right)^{2-n}\left(\frac{1}{2}\right)^{-1}=\left(\frac{1}{2}\right)^{1-n} \\ & =2^{n-1} \\ \sum_{k=-\infty}^{0} 2^{k} & =\sum_{k=0}^{\infty} 2^{-k}=\sum_{k=0}^{\infty}\left(\frac{1}{2}\right)^{k} \\ & =\frac{1}{1-\frac{1}{2}}=\frac{1}{\frac{1}{2}}=(1)(2) \\ & =2, \quad \text { 并且 } \\ \sum_{k=1}^{n-2} 2^{-k} & =\sum_{k=0}^{n-3} 2^{-(k+1)}=\sum_{k=0}^{n-3}\left(\frac{1}{2}\right)\left(\frac{1}{2}\right)^{k} \\ & =\left(\frac{1}{2}\right)\left(\frac{\left(\frac{1}{2}\right)^{n-2}-1}{\frac{1}{2}-1}\right)=\left(\frac{1}{2}\right)\left(\frac{\left(\frac{1}{2}\right)^{n-2}-1}{-\frac{1}{2}}\right) \\ & =1-\left(\frac{1}{2}\right)^{n-2} . \end{aligned} \]

将这些简化后的表达式代入之前的 \(x * h\) 公式,得到

\[ x * h(n)= \begin{cases}2^{n-1} & n \leq 2 \\ 3-\left(\frac{1}{2}\right)^{n-2} & n>2\end{cases} \]

例 9.2 计算 \(x * h\),其中

\[ x(n)=\left\{\begin{array}{ll} \left(\frac{3}{4}\right)^{-n-4} & n \leq-5 \\[2mm] 1 & -4 \leq n \leq 4 \\[1mm] \left(\frac{3}{4}\right)^{n-4} & n \geq 5 \end{array} \quad \text { 和 } \quad h(n)=u(n+2)-u(n-5)\right. \]


图 9.1:例 9.1 的图像。分别绘制了 (a) \(x(k)\),(b) \(h(k)\),和 (c) \(h(n-k)\) 关于 \(k\) 的图像。

解答 为了帮助直观理解卷积计算中涉及的各种情况,我们在图 9.2 中绘制了 \(x(k)\)\(h(k)\)\(h(n-k)\) 关于 \(k\) 的图像。从这些图像可以推导出卷积计算中有五种情况:

  1. \(n \leq -7\),来自 \(n+2 \leq -5\)
  2. \(-6 \leq n \leq -1\),来自 \(n-4 \leq -5\)\(n+2 \geq -4\)
  3. \(0 \leq n \leq 2\),来自 \(n-4 \geq -4\)\(n+2 \leq 4\)
  4. \(3 \leq n \leq 8\),来自 \(n-4 \leq 4\)\(n+2 \geq 5\)
  5. \(n \geq 9\),来自 \(n-4 \geq 5\)

我们依次考虑上述每种情况。

第一种情况

\[ \begin{aligned} x * h(n) & =\sum_{k=n-4}^{n+2}\left(\frac{3}{4}\right)^{-k-4}(1)=\sum_{k=n-4}^{n+2}\left(\frac{3}{4}\right)^{-k-4} \\ & =\sum_{k=0}^{6}\left(\frac{3}{4}\right)^{-k-n}\sum_{k=0}^{6}\left(\frac{4}{3}\right)^{n}\left(\frac{4}{3}\right)^{k}=\left(\frac{4}{3}\right)^{n} \frac{\left(\frac{4}{3}\right)^{7}-1}{\frac{4}{3}-1} \\ & =\frac{14197}{729}\left(\frac{4}{3}\right)^{n} \end{aligned} \]

第二种情况

\[ \begin{aligned} x * h(n) & =\sum_{k=n-4}^{-5}\left(\frac{3}{4}\right)^{-k-4}(1)+\sum_{k=-4}^{n+2}(1)(1) \\ & =\left[\sum_{k=n-4}^{-5}\left(\frac{4}{3}\right)^{k+4}\right]+n+7 \\ & =n+7+\sum_{k=0}^{-n-1}\left(\frac{4}{3}\right)^{n}\left(\frac{4}{3}\right)^{k}=n+7+\left(\frac{4}{3}\right)^{n} \frac{\left(\frac{4}{3}\right)^{-n}-1}{\frac{4}{3}-1} \\ & =n+7+3\left[1-\left(\frac{4}{3}\right)^{n}\right] \\ & =n-3\left(\frac{4}{3}\right)^{n}+10 \end{aligned} \]

第三种情况

\[ \begin{aligned} x * h(n) & =\sum_{k=n-4}^{n+2}(1)(1) = 7 \end{aligned} \]

第四种情况

\[ \begin{aligned} x * h(n) & =\sum_{k=n-4}^4(1)(1)+\sum_{k=5}^{n+2}\left(\frac{3}{4}\right)^{k-4}(1)=8-n+\sum_{k=5}^{n+2}\left(\frac{3}{4}\right)^{k-4} \\ & =8-n+\sum_{k=0}^{n-3}\left(\frac{3}{4}\right)^{k+5-4}=8-n+\sum_{k=0}^{n-3}\left(\frac{3}{4}\right)\left(\frac{3}{4}\right)^k=8-n+\frac{3}{4} \frac{\left(\frac{3}{4}\right)^{n-2}-1}{\frac{3}{4}-1} \\ & =8-n-4\left(\frac{3}{4}\right)\left[\left(\frac{3}{4}\right)^{n-2}-1\right]=8-n-\left[3\left(\frac{3}{4}\right)^{n-2}-4\right]=12-n-3\left(\frac{3}{4}\right)^{n-2} \\ & =12-\frac{16}{3}\left(\frac{3}{4}\right)^n-n . \end{aligned} \]

第五种情况

\[ \begin{aligned} x * h(n) & =\sum_{k=n-4}^{n+2}\left(\frac{3}{4}\right)^{k-4}(1)=\sum_{k=n-4}^{n+2}\left(\frac{3}{4}\right)^{k-4} \\ & =\sum_{k=0}^6\left(\frac{3}{4}\right)^{k+n-4-4}=\sum_{k=0}^6\left(\frac{3}{4}\right)^{n-8}\left(\frac{3}{4}\right)^k=\left(\frac{3}{4}\right)^{n-8} \frac{\left(\frac{3}{4}\right)^7-1}{\frac{3}{4}-1} \\ & =-4\left(\frac{3}{4}\right)^{n-8}\left[\left(\frac{3}{4}\right)^7-1\right]=\frac{14197}{4096}\left(\frac{3}{4}\right)^{n-8} \\ & =\frac{227152}{6561}\left(\frac{3}{4}\right)^n . \end{aligned} \]

将上述结果结合,得到:

\[ x * h(n)= \begin{cases}\frac{14197}{729}\left(\frac{4}{3}\right)^{n} & n \leq -7 \\[1mm] n-3\left(\frac{4}{3}\right)^{n}+10 & -6 \leq n \leq -1 \\[1mm] 7 & 0 \leq n \leq 2 \\[1mm] 12-\frac{16}{3}\left(\frac{3}{4}\right)^{n}-n & 3 \leq n \leq 8 \\[1mm] \frac{227152}{6561}\left(\frac{3}{4}\right)^{n} & n \geq 9 \end{cases} \]

\(x * h\) 的图像如图 9.3 所示。

例 9.3 计算 \(x * h\),其中

\[ x(n)=\delta(n)+2 \delta(n-1)+\delta(n-2) \quad \text { 和 } \quad h(n)=\frac{1}{2} \delta(n+1)+\frac{1}{2} \delta(n) \]

解答 该卷积最容易通过图解法或表格法进行。下面我们选择表格法。通过构建一张显示 \(x\) 以及 \(h\) 的各种时间反转和移位版本的表格,可以轻松计算 \(x * h\) 的各元素。该过程结果见表 9.1。从表中可得:

\[ x * h(n)=\frac{1}{2} \delta(n+1)+\frac{3}{2} \delta(n)+\frac{3}{2} \delta(n-1)+\frac{1}{2} \delta(n-2) . \]

例 9.4 计算 \(x * h\),其中

\[ x(n)=\left(\frac{1}{2}\right)^{n} u(n) \quad \text { 和 } \quad h(n)=u(n) . \]

解答 根据卷积的定义,我们有

\[ \begin{aligned} x * h(n) & =\sum_{k=-\infty}^{\infty} x(k) h(n-k) \\ & =\sum_{k=-\infty}^{\infty}\left(\frac{1}{2}\right)^{k} u(k) u(n-k) \end{aligned} \]

由于 \(u(k)=0\)\(k<0\)\(u(n-k)=0\)\(k>n\),因此可以写作

\[ \begin{aligned} x * h(n) & = \begin{cases}\sum_{k=0}^{n}\left(\frac{1}{2}\right)^{k} & n \geq 0 \\ 0 & \text { 否则 }\end{cases} \\ & =\left(\sum_{k=0}^{n}\left(\frac{1}{2}\right)^{k}\right) u(n) \end{aligned} \]


图 9.2:例 9.2 的图像。分别绘制了 (a) \(x(k)\),(b) \(h(k)\),和 (c) \(h(n-k)\) 关于 \(k\) 的图像。


图 9.3:例 9.2 的序列 \(x * h\)

表 9.1:例 9.3 的卷积计算

通常,确定卷积计算中出现的各种情况可能有些棘手。在本例中,我们有两种情况:\(n \geq 0\)\(n<0\)。这些情况的原因可以通过观察 \(x(k)\)\(h(n-k)\) 关于 \(k\) 的图像更容易理解,如图 9.4 所示。利用等比数列求和公式,我们可以写作

\[ x * h(n)=\delta(n)+2 \delta(n-1)+6 \delta(n-2)-6 \delta(n-4)-2 \delta(n-5)-\delta(n-6) . \]

进一步简化为

\[ \begin{aligned} x * h(n) & =\left[\frac{\left(\frac{1}{2}\right)^{n+1}-1}{\frac{1}{2}-1}\right] u(n) \\ & =-2\left[\left(\frac{1}{2}\right)^{n+1}-1\right] u(n) \\ & =\left[2-\left(\frac{1}{2}\right)^{n}\right] u(n) \end{aligned} \]

例 9.5 计算 \(x * h\),其中

\[ \begin{gathered} x(n)=\delta(n)+3 \delta(n-1)+9 \delta(n-2)+9 \delta(n-3)+3 \delta(n-4)+\delta(n-5) ,\\ h(n)=\delta(n)-\delta(n-1) \end{gathered} \]

解答 该卷积最容易通过图解法或表格法进行。下面我们选择表格法。通过构建一张显示 \(x\) 以及 \(h\) 的各种时间反转和移位版本的表格,可以轻松计算 \(x * h\) 的各元素。该过程结果见表 9.2。从表中可得:

\[ x * h(n)=\delta(n)+2 \delta(n-1)+6 \delta(n-2)-6 \delta(n-4)-2 \delta(n-5)-\delta(n-6) . \]

9.3 卷积的性质

由于卷积在研究线性时不变(LTI)系统中经常使用,因此了解其一些基本性质是非常重要的。下面,我们将考察其中的一些性质。

图 9.4:示例 9.4 的绘图。绘制了 (a) \(x(k)\), (b) \(h(k)\), 和 (c) \(h(n-k)\) 关于 \(k\) 的变化。

表 9.2:示例 9.5 的卷积计算

定理 9.1(卷积的交换律)。卷积是交换的。也就是说,对于任意两个序列 \(x\)\(h\)

\[ \begin{equation*} x * h=h * x \tag{9.2} \end{equation*} \]

换句话说,卷积的结果不受操作数顺序的影响。

证明。下面给出上述交换律的证明。首先,展开 (9.2) 左边:

\[ x * h(n)=\sum_{k=-\infty}^{\infty} x(k) h(n-k) . \]

接下来,进行变量代换。令 \(v=n-k\),则 \(k=n-v\)。使用此变量代换,可以将上式改写为:

\[ \begin{aligned} x * h(n) & =\sum_{v=n+\infty}^{n-\infty} x(n-v) h(v) \\ & =\sum_{v=\infty}^{-\infty} x(n-v) h(v) \\ & =\sum_{v=-\infty}^{\infty} x(n-v) h(v) \\ & =\sum_{v=-\infty}^{\infty} h(v) x(n-v) \\ & =h * x(n) \end{aligned} \]

因此,我们证明了卷积是交换的。

定理 9.2(卷积的结合律)。卷积是结合的。也就是说,对于任意三个序列 \(x, h_{1}\)\(h_{2}\)

\[ \begin{equation*} \left(x * h_{1}\right) * h_{2}=x *\left(h_{1} * h_{2}\right) . \tag{9.3} \end{equation*} \]

换句话说,多次卷积的最终结果不依赖于卷积操作的分组方式。

证明。首先,利用卷积定义展开 (9.3) 左边:

\[ \begin{aligned} \left(\left[x * h_{1}\right] * h_{2}\right)(n) & =\sum_{\ell=-\infty}^{\infty}\left[x * h_{1}(\ell)\right] h_{2}(n-\ell) \\ & =\sum_{\ell=-\infty}^{\infty}\left(\sum_{k=-\infty}^{\infty} x(k) h_{1}(\ell-k)\right) h_{2}(n-\ell) \end{aligned} \]

现在,交换求和顺序得到:

\[ \left(\left[x * h_{1}\right] * h_{2}\right)(n)=\sum_{k=-\infty}^{\infty} \sum_{\ell=-\infty}^{\infty} x(k) h_{1}(\ell-k) h_{2}(n-\ell) . \]

\(x(k)\) 提到内层求和之外:

\[ \left(\left[x * h_{1}\right] * h_{2}\right)(n)=\sum_{k=-\infty}^{\infty} x(k) \sum_{\ell=-\infty}^{\infty} h_{1}(\ell-k) h_{2}(n-\ell) . \]

接下来,进行变量代换。令 \(\lambda=\ell-k\),则 \(\ell=\lambda+k\)。使用此代换,得到:

\[ \begin{aligned} \left(\left[x * h_{1}\right] * h_{2}\right)(n) & =\sum_{k=-\infty}^{\infty} x(k) \sum_{\lambda=-\infty-k}^{\infty-k} h_{1}(\lambda) h_{2}(n-\lambda-k) \\ & =\sum_{k=-\infty}^{\infty} x(k) \sum_{\lambda=-\infty}^{\infty} h_{1}(\lambda) h_{2}(n-\lambda-k) \\ & =\sum_{k=-\infty}^{\infty} x(k)\left(\sum_{\lambda=-\infty}^{\infty} h_{1}(\lambda) h_{2}([n-k]-\lambda)\right) \\ & =\sum_{k=-\infty}^{\infty} x(k)\left[h_{1} * h_{2}(n-k)\right] \\ & =\left(x *\left[h_{1} * h_{2}\right]\right)(n) \end{aligned} \]

因此,我们证明了卷积是结合的。

定理 9.3(卷积的分配律)。卷积是分配的。也就是说,对于任意三个序列 \(x, h_{1}\)\(h_{2}\)

\[ \begin{equation*} x *\left(h_{1}+h_{2}\right)=x * h_{1}+x * h_{2} \tag{9.4} \end{equation*} \]

换句话说,卷积可以分配到加法上。

证明。此性质的证明相对简单。展开 (9.4) 左边:

\[ \begin{aligned} \left(x *\left[h_{1}+h_{2}\right]\right)(n) & =\sum_{k=-\infty}^{\infty} x(k)\left[h_{1}(n-k)+h_{2}(n-k)\right] \\ & =\sum_{k=-\infty}^{\infty} x(k) h_{1}(n-k)+\sum_{k=-\infty}^{\infty} x(k) h_{2}(n-k) \\ & =x * h_{1}(n)+x * h_{2}(n) \end{aligned} \]

因此,我们已经证明卷积是分配的。 在一个集合上的运算中,了解该运算的单位元通常非常有用。考虑实数的加法和乘法运算。对于任意实数 \(a\),有 \(a+0=a\)。由于将零加到 \(a\) 上不会改变结果(即结果仍为 \(a\)),我们称 0 为加法单位元。对于任意实数 \(a\),有 \(1 \cdot a = a\)。由于将 \(a\) 乘以 1 不会改变结果(即结果仍为 \(a\)),我们称 1 为乘法单位元。可以想象,如果我们不知道 \(a+0=a\)\(1 \cdot a=a\),算术将会多么困难。因此,单位元显然具有根本性的重要性。

前面,我们引入了一种新的运算,称为卷积。因此,结合上述内容,自然会想知道是否存在卷积的单位元。事实上是存在的,如下面的定理所示。 定理 9.4(卷积单位元)。对于任意序列 \(x\),有

\[ \begin{equation*} x * \delta=x \tag{9.5} \end{equation*} \]

换句话说,\(\delta\) 是卷积的单位元(即,将任意序列 \(x\)\(\delta\) 卷积,结果仍为 \(x\))。

证明。假设我们有一个任意序列 \(x\)。根据卷积的定义,可以写作:

\[ x * \delta(n)=\sum_{k=-\infty}^{\infty} x(k) \delta(n-k) \]

现在,我们进行变量代换。令 \(\lambda=-k\),则 \(k=-\lambda\)。应用该变量代换,得到:

\[ \begin{align*} x * \delta(n) & =\sum_{\lambda=-(-\infty)}^{-(\infty)} x(-\lambda) \delta(n+\lambda) \\ & =\sum_{\lambda=\infty}^{-\infty} x(-\lambda) \delta(n+\lambda) \\ & =\sum_{\lambda=-\infty}^{\infty} x(-\lambda) \delta(\lambda+n) \tag{9.6} \end{align*} \]

根据 \(\delta\) 的等效性质,可以将上述方程改写为:

\[ \begin{aligned} x * \delta(n) & =\sum_{\lambda=-\infty}^{\infty} x(-[-n]) \delta(\lambda+n) \\ & =\sum_{\lambda=-\infty}^{\infty} x(n) \delta(\lambda+n) \end{aligned} \]

\(x(n)\) 提出求和符号外,得到:

\[ x * \delta(n)=x(n) \sum_{\lambda=-\infty}^{\infty} \delta(\lambda+n) \]

由于 \(\sum_{\lambda=-\infty}^{\infty} \delta(\lambda)=1\) 意味着 \(\sum_{\lambda=-\infty}^{\infty} \delta(\lambda+n)=1\),因此有:

\[ x * \delta(n)=x(n) \]

因此,\(\delta\) 是卷积的单位元(即 \(x * \delta=x\))。
(或者,我们也可以直接对 (9.6) 应用筛选性质以得到所需结果。)

9.4 周期卷积

两个周期序列的卷积通常不容易明确定义。这促使我们为周期序列引入一种替代的卷积概念,称为周期卷积。\(N\)-周期序列 \(x\)\(h\) 的周期卷积,记作 \(x \circledast h\),定义为:

\[ x \circledast h(n)=\sum_{k=\langle N\rangle} x(k) h(n-k), \]

其中 \(\sum_{k=\langle N\rangle}\) 表示在长度为 \(N\) 的区间上求和。等价地,周期卷积可以写作:

\[ x \circledast h(n)=\sum_{k=0}^{N-1} x(k) h(\bmod (n-k, N)), \]

其中 \(\bmod (a, b)\) 表示 \(a\) 除以 \(b\) 后的余数。\(N\)-周期序列 \(x\)\(h\) 的周期卷积与(线性)卷积的关系为:

\[ x \circledast h(n)=x_{0} * h(n) \quad \text { 其中 } \quad x(n)=\sum_{k=-\infty}^{\infty} x_{0}(n-N k) \]

(即,\(x_{0}(n)\)\(x\) 的一个周期内等于 \(x(n)\),在其他地方为零)。

9.5 LTI 系统的表征与卷积

在术语上,系统 \(\mathcal{H}\) 的冲激响应 \(h\) 定义为

\[ h=\mathcal{H} \delta \]

换句话说,系统的冲激响应是当系统的输入为 \(\delta\) 时产生的输出。事实证明,LTI 系统的输入、输出与冲激响应之间存在一种非常特殊的关系,如下定理所示。

定理 9.5(LTI 系统与卷积)。具有冲激响应 \(h\) 的 LTI 系统 \(\mathcal{H}\) 满足

\[ \mathcal{H} x=x * h \]

换句话说,LTI 系统执行卷积运算。特别地,系统的输出由输入与冲激响应的卷积给出。

证明。首先,假设 \(\mathcal{H}\) 是 LTI 的(即 \(\mathcal{H}\) 既是线性的又是时间不变的)。利用 \(\delta\) 是卷积单位元的事实,有:

\[ \mathcal{H} x=\mathcal{H}\{x * \boldsymbol{\delta}\} . \]

根据卷积定义,有:

\[ \mathcal{H} x=\mathcal{H}\left\{\sum_{k=-\infty}^{\infty} x(k) \boldsymbol{\delta}(\cdot-k)\right\} . \]

由于 \(\mathcal{H}\) 是线性的,我们可以将求和和 \(x(k)\)(对 \(\mathcal{H}\) 的操作而言是常数)提出:

\[ \begin{equation*} \mathcal{H} x=\sum_{k=-\infty}^{\infty} x(k) \mathcal{H}\{\boldsymbol{\delta}(\cdot-k)\} . \tag{9.7} \end{equation*} \]

由于 \(\mathcal{H}\) 是时间不变的,可以交换 \(\mathcal{H}\)\(\delta\) 的时间平移 \(k\) 的顺序,即:

\[ \mathcal{H}\{\boldsymbol{\delta}(\cdot-k)\}=h(\cdot-k) . \]

因此,可以将 (9.7) 改写为:

\[ \begin{aligned} \mathcal{H} x & =\sum_{k=-\infty}^{\infty} x(k) h(\cdot-k) \\ & =x * h . \end{aligned} \]

由此,我们证明了 \(\mathcal{H} x=x * h\),其中 \(h=\mathcal{H} \delta\)

根据上面的定理 9.5,LTI 系统的行为完全由其冲激响应决定。也就是说,如果已知系统的冲激响应,就可以确定系统对任意输入的响应。因此,冲激响应为 LTI 系统的研究提供了一个非常强大的工具。

示例 9.6。考虑一个 LTI 系统 \(\mathcal{H}\),其冲激响应为

\[ \begin{equation*} h(n)=u(n) . \tag{9.8} \end{equation*} \]

证明 \(\mathcal{H}\) 由下式表征:

\[ \begin{equation*} \mathcal{H} x(n)=\sum_{k=-\infty}^{n} x(k) \tag{9.9} \end{equation*} \]

(即,\(\mathcal{H}\) 对应于理想累加器)。

解答。由于系统是 LTI 的,有:

\[ \mathcal{H} x(n)=x * h(n) . \]

将 (9.8) 代入,并化简得到:

\[ \begin{aligned} \mathcal{H} x(n) & =x * h(n) \\ & =x * u(n) \\ & =\sum_{k=-\infty}^{\infty} x(k) u(n-k) \\ & =\sum_{k=-\infty}^{n} x(k) u(n-k)+\sum_{k=n+1}^{\infty} x(k) u(n-k) \\ & =\sum_{k=-\infty}^{n} x(k) \end{aligned} \]

因此,冲激响应为 (9.8) 的系统实际上就是由 (9.9) 给出的理想累加器。

示例 9.7。考虑一个 LTI 系统,输入为 \(x\),输出为 \(y\),冲激响应为 \(h\),其中

\[ h(n)= \begin{cases}1 & 0 \leq n \leq 2 \\ 0 & \text { 其他情况 }\end{cases} \]

求并绘制系统对以下输入 \(x\) 的响应:

\[ x(n)= \begin{cases}n+1 & 0 \leq n \leq 3 \\ 7-n & 4 \leq n \leq 6 \\ 0 & \text { 其他情况 }\end{cases} \]

解答。由于系统是 LTI 的,有:

\[ y=x * h \]

因此,在此例中,本质上要求我们计算 \(x * h\)。该卷积通常可通过图形法或表格法最容易完成。下面,我们选择使用表格法。通过构建显示 \(x\)\(h\) 的各个时间翻转和平移版本的表格,可以轻松计算 \(x * h\) 的各个元素。该过程的结果如表 9.3 所示。从该表中,我们得到:

\[ x * h(n)= \begin{cases}1 & n=0 \\ 3 & n=1 \\ 6 & n=2 \\ 9 & n=3 \\ 10 & n=4 \\ 9 & n=5 \\ 6 & n=6 \\ 3 & n=7 \\ 1 & n=8 \\ 0 & \text { 其他情况 }\end{cases} \]

表 9.3:示例 9.7 的卷积计算

9.6 LTI 系统的单位阶跃响应

系统 \(\mathcal{H}\) 的阶跃响应 \(s\) 定义为:

\[ s=\mathcal{H} u \]

(即,系统的阶跃响应是其在单位阶跃序列输入下产生的输出)。对于 LTI 系统,阶跃响应与冲激响应关系密切,如下定理所示。

定理 9.6。LTI 系统的阶跃响应 \(s\) 与冲激响应 \(h\) 的关系为:

\[ h(n)=s(n)-s(n-1) \quad \text { 且 } \quad s(n)=\sum_{k=-\infty}^{n} h(k) . \]

也就是说,冲激响应 \(h\) 是阶跃响应 \(s\) 的一阶差分。

证明。利用 \(s=u * h\),我们可以写作:

\[ \begin{aligned} s(n) & =u * h(n) \\ & =h * u(n) \\ & =\sum_{k=-\infty}^{\infty} h(k) u(n-k) \\ & =\sum_{k=-\infty}^{n} h(k) . \end{aligned} \]


图 9.5:离散时间 LTI 系统的方框图表示,输入为 \(x\),输出为 \(y\),冲激响应为 \(h\)

因此,\(s\) 可以通过累加 \(h\) 得到。对 \(s\) 取一阶差分,我们得到:

\[ \begin{aligned} s(n)-s(n-1) & =\sum_{k=-\infty}^{n} h(k)-\sum_{k=-\infty}^{n-1} h(k) \\ & =h(n)+\sum_{k=-\infty}^{n-1} h(k)-\sum_{k=-\infty}^{n-1} h(k) \\ & =h(n) \end{aligned} \]

因此,\(h\)\(s\) 的一阶差分。

阶跃响应在实际中常常具有重要意义,因为它可用于确定 LTI 系统的冲激响应。特别地,冲激响应可以通过对阶跃响应进行差分来得到。

9.7 离散时间 LTI 系统的方框图表示

在很多情况下,用方框图表示离散时间 LTI 系统是非常方便的。由于 LTI 系统完全由其冲激响应决定,因此在方框图中通常用冲激响应来标注系统。也就是说,我们将输入为 \(x\)、输出为 \(y\)、冲激响应为 \(h\) 的 LTI 系统表示为图 9.5 所示。

9.8 离散时间 LTI 系统的互连

假设我们有一个 LTI 系统,其输入为 \(x\),输出为 \(y\),冲激响应为 \(h\)。我们知道 \(x\)\(y\) 的关系为 \(y=x * h\)。换句话说,该系统可以看作是执行卷积运算。根据前面介绍的卷积性质,我们可以推导出若干关于串联和并联互连系统冲激响应的等价关系。

考虑两个 LTI 系统,其冲激响应分别为 \(h_{1}\)\(h_{2}\),并以串联方式连接,如图 9.6(a) 左侧所示。从图 9.6(a) 左侧的方框图中,我们有:

\[ y=\left(x * h_{1}\right) * h_{2} . \]

由于卷积的结合律,这等价于:

\[ y=x *\left(h_{1} * h_{2}\right) . \]

因此,两个 LTI 系统的串联互连表现为一个冲激响应为 \(h_{1} * h_{2}\) 的单一 LTI 系统。换句话说,我们得到了图 9.6(a) 所示的等价关系。

考虑两个 LTI 系统,其冲激响应分别为 \(h_{1}\)\(h_{2}\),并以串联方式连接,如图 9.6(b) 左侧所示。从图 9.6(b) 左侧的方框图中,我们有:

\[ y=\left(x * h_{1}\right) * h_{2} . \]

由于卷积的结合律和交换律,这等价于:

\[ \begin{aligned} y & =x *\left(h_{1} * h_{2}\right) \\ & =x *\left(h_{2} * h_{1}\right) \\ & =\left(x * h_{2}\right) * h_{1} . \end{aligned} \]


图 9.6:离散时间 LTI 系统串联互连的等价关系。(a) 第一种等价,(b) 第二种等价。


图 9.7:离散时间 LTI 系统并联互连的等价关系。

因此,交换两个 LTI 系统的位置不会改变输入 \(x\) 与输出 \(y\) 的整体系统行为。换句话说,我们得到了图 9.6(b) 所示的等价关系。

考虑两个 LTI 系统,其冲激响应分别为 \(h_{1}\)\(h_{2}\),并以并联方式连接,如图 9.7 左侧所示。从图 9.7 左侧的方框图中,我们有:

\[ y=x * h_{1}+x * h_{2} . \]

由于卷积具有分配性,该方程可以改写为:

\[ y=x *\left(h_{1}+h_{2}\right) . \]

因此,两个 LTI 系统的并联互连表现为一个冲激响应为 \(h_{1}+h_{2}\) 的单一 LTI 系统。换句话说,我们得到了图 9.7 所示的等价关系。

示例 9.8。考虑如图 9.8 所示的系统,输入为 \(x\),输出为 \(y\),冲激响应为 \(h\)。方框图中的每个子系统都是 LTI 的,并标注其冲激响应。求系统的冲激响应 \(h\)

解答。从方框图的左半部分,我们可以写作:

\[ \begin{aligned} v & =x+x * h_{1}+x * h_{2} \\ & =x * \delta+x * h_{1}+x * h_{2} \\ & =x *\left(\delta+h_{1}+h_{2}\right) \end{aligned} \]

类似地,从方框图的右半部分,我们可以写作:

\[ y=v * h_{3} . \]

\(v\) 的表达式代入上式,得到:

\[ \begin{aligned} y & =v * h_{3} \\ & =\left(x *\left[\delta+h_{1}+h_{2}\right]\right) * h_{3} \\ & =x *\left(\left[\delta+h_{1}+h_{2}\right] * h_{3}\right) \\ & =x *\left(h_{3}+h_{1} * h_{3}+h_{2} * h_{3}\right) . \end{aligned} \]


图 9.8:系统互连示例。

因此,整体系统的冲激响应 \(h\) 为:

\[ h=h_{3}+h_{1} * h_{3}+h_{2} * h_{3} . \]

9.9 离散时间 LTI 系统的性质

在前一章中,我们介绍了系统可能具备的一些性质(例如,存储性、因果性、BIBO 稳定性以及可逆性)。由于 LTI 系统完全由其冲激响应决定,因此有人可能会想,先前介绍的一些性质是否与冲激响应存在联系。下面,我们将探讨这些关系。

9.9.1 存储性(Memory)

首先考虑的系统性质是存储性。

定理 9.7(LTI 系统的无存储性)。具有冲激响应 \(h\) 的 LTI 系统在且仅在

\[ h(n)=0 \text { 对所有 } n \neq 0 \]

时是无存储的。

证明。回忆一下,如果系统在任意时间的输出 \(y\) 仅依赖于该时间的输入 \(x\),则系统是无存储的。假设我们现在有一个 LTI 系统,其输入为 \(x\),输出为 \(y\),冲激响应为 \(h\)。在某个任意时间 \(n_{0}\) 的输出为:

\[ \begin{aligned} y\left(n_{0}\right) & =x * h\left(n_{0}\right) \\ & =h * x\left(n_{0}\right) \\ & =\sum_{k=-\infty}^{\infty} h(k) x\left(n_{0}-k\right) . \end{aligned} \]

考虑上式中的求和。为了使系统无存储,求和结果必须只依赖于 \(x(n)\)\(n=n_{0}\) 的值。这只有在

\[ h(n)=0 \quad \text { 对所有 } n \neq 0 \]

时才可能成立。

由上述定理可知,无存储的 LTI 系统的冲激响应 \(h\) 必须为:

\[ \begin{equation*} h=K \delta \tag{9.10} \end{equation*} \]

其中 \(K\) 是一个复常数。因此,所有无存储 LTI 系统的输入输出关系必须为:

\[ \begin{aligned} y & =x *(K \delta) \\ & =K(x * \delta) \\ & =K x . \end{aligned} \]

换句话说,无存储的 LTI 系统必须是理想放大器(即仅执行幅度缩放的系统)。

示例 9.9。考虑冲激响应为

\[ h(n)=e^{-a n} u(n) \]

的 LTI 系统,其中 \(a\) 为实常数。判断该系统是否具有存储性。

解答。该系统具有存储性,因为 \(h(n) \neq 0\) 对某些 \(n \neq 0\) 成立(例如,\(h(1)=e^{-a} \neq 0\))。

示例 9.10。考虑冲激响应为

\[ h(n)=\delta(n) \]

的 LTI 系统。判断该系统是否具有存储性。

解答。显然,\(h\) 仅在原点非零。这直接由单位冲激序列 \(\delta\) 的定义可知。因此,该系统是无存储的(即不具有存储性)。

9.9.2 因果性(Causality)

下一个要考虑的系统性质是因果性。

定理 9.8(LTI 系统的因果性)。具有冲激响应 \(h\) 的 LTI 系统在且仅在

\[ h(n)=0 \text { 对所有 } n<0 \]

时是因果的(即 \(h\) 是因果的)。

证明。回忆一下,如果系统在任意时间 \(n_{0}\) 的输出 \(y\) 不依赖于其输入 \(x\)\(n_{0}\) 之后的值,则系统是因果的。假设我们有一个 LTI 系统,其输入为 \(x\),输出为 \(y\),冲激响应为 \(h\)。在 \(n_{0}\) 时刻的输出为:

\[ \begin{align*} y\left(n_{0}\right) & =x * h\left(n_{0}\right) \\ & =\sum_{k=-\infty}^{\infty} x(k) h\left(n_{0}-k\right) \\ & =\sum_{k=-\infty}^{n_{0}} x(k) h\left(n_{0}-k\right)+\sum_{k=n_{0}+1}^{\infty} x(k) h\left(n_{0}-k\right) . \tag{9.11} \end{align*} \]

为了使 \(y\left(n_{0}\right)\) 不依赖于 \(n>n_{0}\)\(x(n)\),必须满足:

\[ \begin{equation*} h(n)=0 \quad \text { 对 } n<0 \tag{9.12} \end{equation*} \]

(即 \(h\) 是因果的)。此时,(9.11) 可简化为:

\[ y\left(n_{0}\right)=\sum_{k=-\infty}^{n_{0}} x(k) h\left(n_{0}-k\right) . \]

显然,该求和结果不依赖于 \(n>n_{0}\)\(x(n)\)(因为 \(k\)\(-\infty\)\(n_{0}\) 变化)。因此,如果冲激响应 \(h\) 满足 (9.12),则 LTI 系统是因果的。

示例 9.11。考虑冲激响应为

\[ h(n)=e^{-a n} u(n) \]

的 LTI 系统,其中 \(a\) 为实常数。判断该系统是否因果。

解答。显然,对于 \(n<0\)\(h(n)=0\)(由于 \(h(n)\) 中的 \(u(n)\) 因子)。因此,该系统是因果的。

示例 9.12。考虑冲激响应为

\[ h(n)=\delta\left(n+n_{0}\right) \]

的 LTI 系统,其中 \(n_{0}\) 为严格正数。判断该系统是否因果。

解答。根据 \(\delta\) 的定义,可以容易地推导出 \(h(n)\)\(n=-n_{0}\) 外均为零。由于 \(-n_{0}<0\),该系统不是因果的。

9.9.3 可逆性

下一个需要考虑的系统性质是可逆性。
定理 9.9(LTI 系统的逆)。设 \(\mathcal{H}\) 是一个冲激响应为 \(h\) 的 LTI 系统。如果 \(\mathcal{H}\) 的逆 \(\mathcal{H}^{-1}\) 存在,则 \(\mathcal{H}^{-1}\) 也是 LTI 系统,并且其冲激响应 \(h_{\mathrm{inv}}\) 满足

\[ h * h_{\mathrm{inv}}=\delta . \]

证明。首先,我们需要证明 LTI 系统的逆(如果存在)也必须是 LTI 系统。然而,这部分证明留给读者作为练习题 9.9。(解决此问题的一般方法是:1)证明线性系统的逆(如果存在)是线性的;2)证明时不变系统的逆(如果存在)是时不变的。)我们假设这部分证明已经完成,并继续进行。

现在假设逆系统 \(\mathfrak{H}^{-1}\) 存在。我们有

\[ \mathcal{H} x = x * h \quad \text{且} \quad \mathcal{H}^{-1} x = x * h_{\mathrm{inv}} . \]

根据逆系统的定义,对于每一个序列 \(x\),都有

\[ \mathcal{H}^{-1} \mathcal{H} x = x . \]

展开上述方程的左边,我们得到

\[ \begin{align*} & \mathcal{H}^{-1}[x * h] = x \\ \Leftrightarrow \quad & x * h * h_{\mathrm{inv}} = x . \tag{9.13} \end{align*} \]

图 9.9:系统与其逆系统的串联系统。 这一关系在图 9.9 中以示意图的形式表示。由于单位冲激序列是卷积的单位元,我们可以等价地将 (9.13) 重写为

\[ x * h * h_{\mathrm{inv}} = x * \delta . \]

然而,该方程必须对任意 \(x\) 成立。因此,通过比较该方程的左右两边,我们可以得到结论

\[ \begin{equation*} h * h_{\mathrm{inv}} = \delta . \tag{9.14} \end{equation*} \]

因此,如果 \(\mathcal{H}^{-1}\) 存在,它必然具有满足 (9.14) 的冲激响应 \(h_{\text{inv}}\)。证毕。

根据前述定理,我们得到以下结论:
定理 9.10(LTI 系统的可逆性)。一个冲激响应为 \(h\) 的 LTI 系统 \(\mathcal{H}\) 当且仅当存在一个序列 \(h_{\mathrm{inv}}\) 满足

\[ h * h_{\mathrm{inv}} = \delta \]

时,可逆。
证明。由定理 9.9 的结果可以直接得到该结论,只需注意 \(\mathfrak{H}\) 可逆等价于 \(\mathcal{H}^{-1}\) 存在即可。

例 9.13. 考虑一个冲激响应为 \(h\) 的 LTI 系统 \(\mathcal{H}\),其冲激响应为

\[ h(n) = A \delta\left(n-n_{0}\right), \]

其中 \(A\) 是非零实常数,\(n_{0}\) 是整数常数。判断 \(\mathcal{H}\) 是否可逆,如果可逆,求系统 \(\mathfrak{H}^{-1}\) 的冲激响应 \(h_{\text{inv}}\)

解。若系统 \(\mathcal{H}^{-1}\) 存在,其冲激响应 \(h_{\mathrm{inv}}\) 是下列方程的解:

\[ \begin{equation*} h * h_{\mathrm{inv}} = \delta . \tag{9.15} \end{equation*} \]

现在尝试求解 \(h_{\text{inv}}\)。将给定序列 \(h\) 代入 (9.15) 并通过直接的代数运算,我们得到

\[ \begin{aligned} & h * h_{\mathrm{inv}}(n) = \delta(n) \\ \Rightarrow & \sum_{k=-\infty}^{\infty} h(k) h_{\mathrm{inv}}(n-k) = \delta(n) \\ \Rightarrow & \sum_{k=-\infty}^{\infty} A \delta\left(k-n_{0}\right) h_{\mathrm{inv}}(n-k) = \delta(n) \\ \Rightarrow & \sum_{k=-\infty}^{\infty} \delta\left(k-n_{0}\right) h_{\mathrm{inv}}(n-k) = \frac{1}{A} \delta(n) . \end{aligned} \]

利用单位冲激序列的筛选性质,可将上述方程左边的求和简化为

\[ \begin{equation*} h_{\mathrm{inv}}\left(n-n_{0}\right) = \frac{1}{A} \delta(n) . \tag{9.16} \end{equation*} \]

\(n+n_{0}\) 代入上式中的 \(n\),得到

\[ \begin{aligned} & h_{\mathrm{inv}}\left(\left[n+n_{0}\right]-n_{0}\right) = \frac{1}{A} \delta\left(n+n_{0}\right) \\ \Rightarrow \quad & h_{\mathrm{inv}}(n) = \frac{1}{A} \delta\left(n+n_{0}\right) . \end{aligned} \]

由于 \(A \neq 0\),序列 \(h_{\text{inv}}\) 总是良好定义的。因此,\(\mathcal{H}^{-1}\) 存在,从而 \(\mathcal{H}\) 是可逆的。

图 9.10:输入为 \(x\),输出为 \(y\) 的反馈系统。

例 9.14. 考虑图 9.10 所示的系统,其输入为 \(x\),输出为 \(y\)。方框图中的每个子系统都是 LTI 系统,并标注了其冲激响应。利用逆系统的概念,将 \(y\)\(x\) 表示出来。

解。从图 9.10 可以写出:

\[ \begin{gather*} v = x - y * h_{2} \quad \text{且} \tag{9.17} \\ y = v * h_{1} . \tag{9.18} \end{gather*} \]

将 (9.17) 代入 (9.18) 并简化,得到

\[ \begin{array}{ll} & y = \left[x - y * h_{2}\right] * h_{1} \\ \Rightarrow & y = x * h_{1} - y * h_{2} * h_{1} \\ \Rightarrow & y + y * h_{2} * h_{1} = x * h_{1} \\ \Rightarrow & y * \delta + y * h_{2} * h_{1} = x * h_{1} \\ \Rightarrow & y * \left[\delta + h_{2} * h_{1}\right] = x * h_{1} . \tag{9.19} \end{array} \]

为了方便,我们现在定义序列 \(g\)

\[ \begin{equation*} g = \delta + h_{2} * h_{1} . \tag{9.20} \end{equation*} \]

于是,我们可以将 (9.19) 重写为

\[ \begin{equation*} y * g = x * h_{1} . \tag{9.21} \end{equation*} \]

这样,我们几乎就得到了 \(y\) 关于 \(x\) 的表达式。为了完成求解,需要将方程左侧的 \(g\) 消去。为此,我们使用逆系统的概念。考虑冲激响应为 \(g\) 的系统的逆系统。该逆系统的冲激响应 \(g_{\text{inv}}\) 满足

\[ \begin{equation*} g * g_{\mathrm{inv}} = \delta . \tag{9.22} \end{equation*} \]

该关系来自逆系统的定义。现在,我们使用 \(g_{\text{inv}}\) 来简化 (9.21):

\[ \begin{aligned} & y * g = x * h_{1} \\ \Rightarrow & y * g * g_{\mathrm{inv}} = x * h_{1} * g_{\mathrm{inv}} \\ \Rightarrow & y * \delta = x * h_{1} * g_{\mathrm{inv}} \\ \Rightarrow & y = x * h_{1} * g_{\mathrm{inv}} . \end{aligned} \]

因此,我们可以将输出 \(y\) 用输入 \(x\) 表示为

\[ y = x * h_{1} * g_{\mathrm{inv}}, \]

其中 \(g_{\text{inv}}\) 由 (9.22) 给出,\(g\) 由 (9.20) 给出。

9.9.4 BIBO 稳定性

最后需要考虑的系统性质是 BIBO 稳定性。
定理 9.11(LTI 系统的 BIBO 稳定性)。一个冲激响应为 \(h\) 的 LTI 系统当且仅当

\[ \begin{equation*} \sum_{n=-\infty}^{\infty} |h(n)| < \infty \tag{9.23} \end{equation*} \]

(即 \(h\) 绝对可和)时,才是 BIBO 稳定的。

证明。回顾一下,当系统对每个有界输入产生有界输出时,该系统被称为 BIBO 稳定。假设我们有一个输入为 \(x\)、输出为 \(y\)、冲激响应为 \(h\) 的 LTI 系统。

首先,考虑 (9.23) 对 BIBO 稳定性的充分性。假设对所有 \(n\)\(|x(n)| \leq A < \infty\)(即 \(x\) 是有界的)。我们可以写出

\[ \begin{aligned} y(n) & = x * h(n) \\ & = h * x(n) \\ & = \sum_{k=-\infty}^{\infty} h(k) x(n-k) . \end{aligned} \]

取上述方程两边的绝对值,得到

\[ \begin{equation*} |y(n)| = \left| \sum_{k=-\infty}^{\infty} h(k) x(n-k) \right| \tag{9.24} \end{equation*} \]

可以证明,对于任意两个序列 \(f_{1}\)\(f_{2}\),有

\[ \left| \sum_{n=-\infty}^{\infty} f_{1}(n) f_{2}(n) \right| \leq \sum_{n=-\infty}^{\infty} |f_{1}(n) f_{2}(n)| \]

利用该不等式,我们可以将 (9.24) 重写为

\[ |y(n)| \leq \sum_{k=-\infty}^{\infty} |h(k) x(n-k)| = \sum_{k=-\infty}^{\infty} |h(k)| |x(n-k)| \]

根据假设,\(|x(n)| \leq A\) 对所有 \(n\) 成立,因此可以将上式中的 \(|x(n-k)|\) 用其上界 \(A\) 替代,得到

\[ \begin{equation*} |y(n)| \leq \sum_{k=-\infty}^{\infty} |h(k)| |x(n-k)| \leq \sum_{k=-\infty}^{\infty} A |h(k)| = A \sum_{k=-\infty}^{\infty} |h(k)| \tag{9.25} \end{equation*} \]

因此,我们有

\[ \begin{equation*} |y(n)| \leq A \sum_{k=-\infty}^{\infty} |h(k)| \tag{9.26} \end{equation*} \]

由于 \(A\) 是有限的,由 (9.26) 可得,如果

\[ \begin{equation*} \sum_{k=-\infty}^{\infty} |h(k)| < \infty \tag{9.27} \end{equation*} \]

(即 \(h\) 绝对可和),则 \(y\) 是有界的。因此,冲激响应 \(h\) 的绝对可和性是 BIBO 稳定性的充分条件。 现在,我们考虑 (9.23) 对 BIBO 稳定性的必要性。假设 \(h\) 不是绝对可和的。也就是说,假设

\[ \sum_{k=-\infty}^{\infty} |h(k)| = \infty \]

在这种情况下,我们可以证明该系统不是 BIBO 稳定的。首先,考虑特定输入 \(x\),其定义为

\[ x(n) = e^{-j \arg [h(-n)]} \]

由于对所有实数 \(\theta\)\(\left| e^{j \theta} \right| = 1\),因此 \(x\) 是有界的(即对所有 \(n\)\(|x(n)| \leq 1\))。输出 \(y\) 给出为

\[ \begin{align*} y(n) & = x * h(n) \\ & = \sum_{k=-\infty}^{\infty} x(k) h(n-k) \\ & = \sum_{k=-\infty}^{\infty} \left[e^{-j \arg [h(-k)]}\right] h(n-k) . \tag{9.28} \end{align*} \]

现在,考虑输出在 \(n=0\) 时的取值。由 (9.28) 可得

\[ \begin{equation*} y(0) = \sum_{k=-\infty}^{\infty} \left[e^{-j \arg [h(-k)]}\right] h(-k) \tag{9.29} \end{equation*} \]

由于对所有复数 \(z\)\(e^{-j \arg z} z = |z|\),因此 \(\left[e^{-j \arg [h(-k)]}\right] h(-k) = |h(-k)|\),于是 (9.29) 可简化为

\[ \begin{aligned} y(0) & = \sum_{k=-\infty}^{\infty} |h(-k)| \\ & = \sum_{k=-\infty}^{\infty} |h(k)| \\ & = \infty \end{aligned} \]

因此,我们已经证明,有界输入 \(x\) 将导致输出 \(y\) 发散(在 \(n=0\) 时,\(y(n)\) 发散)。因此,\(h\) 的绝对可和性对于 BIBO 稳定性也是必要的。证毕。

例 9.15. 考虑冲激响应为

\[ h(n) = e^{a n} u(n) \]

的 LTI 系统,其中 \(a\) 是实常数。判断系统在何种 \(a\) 值下是 BIBO 稳定的。
解。我们需要确定冲激响应 \(h\) 在何种 \(a\) 值下是绝对可和的。假设 \(a \neq 0\),则有

\[ \begin{aligned} \sum_{n=-\infty}^{\infty} |h(n)| & = \sum_{n=-\infty}^{\infty} \left| e^{a n} u(n) \right| \\ & = \sum_{n=-\infty}^{\infty} e^{a n} u(n) \\ & = \sum_{n=-\infty}^{-1} 0 + \sum_{n=0}^{\infty} e^{a n} \\ & = \sum_{n=0}^{\infty} e^{a n} \\ & = \sum_{n=0}^{\infty} \left(e^{a}\right)^{n} \end{aligned} \]

右侧是一个无穷等比数列。当且仅当

\[ e^{a} < 1 \]

时,该数列收敛。对两边取对数,得到

\[ a < \log 1 = 0 . \]

因此,当 \(a < 0\) 时,\(h\) 是绝对可和的;当 \(a \geq 0\) 时,\(h\) 发散。因此,系统当且仅当 \(a < 0\) 时是 BIBO 稳定的。

例 9.16(理想累加器)。考虑输入为 \(x\)、输出为 \(y\) 的 LTI 系统,定义为

\[ y(n) = \sum_{k=-\infty}^{n} x(k) \]

判断该系统是否 BIBO 稳定。
解。首先,求该系统的冲激响应 \(h\)。我们有

\[ \begin{aligned} h(n) & = \sum_{k=-\infty}^{n} \delta(k) \\ & = \begin{cases}1 & n \geq 0 \\ 0 & n < 0 \end{cases} \\ & = u(n) \end{aligned} \]

利用此冲激响应 \(h\),检查其是否绝对可和:

\[ \begin{aligned} \sum_{n=-\infty}^{\infty} |h(n)| & = \sum_{n=-\infty}^{\infty} |u(n)| \\ & = \sum_{n=0}^{\infty} 1 \\ & = \infty \end{aligned} \]

因此,\(h\) 不是绝对可和的,系统不是 BIBO 稳定的。

9.10 离散时间 LTI 系统的特征序列

在第 8.7.7 节中,我们已经介绍了系统特征序列的概念。鉴于特征序列能够简化与系统相关的数学运算,自然而然地会想知道 LTI 系统可能有哪些特征序列。在这方面,下面的定理具有启发性。

定理 9.12(LTI 系统的特征序列)。对于任意 LTI 系统 \(\mathcal{H}\),其冲激响应为 \(h\),以及形式为 \(x(n) = z^{n}\) 的序列,其中 \(z\) 是任意复常数(即 \(x\) 是任意复指数序列),有如下结论:

\[ \begin{equation*} \mathcal{H} x(n) = H(z) z^{n}, \tag{9.30a} \end{equation*} \]

其中

\[ \begin{equation*} H(z) = \sum_{n=-\infty}^{\infty} h(n) z^{-n} \tag{9.30b} \end{equation*} \]

也就是说,\(x\) 是系统 \(\mathcal{H}\) 的特征序列,其对应的特征值为 \(H(z)\)。注意,(9.30a) 仅对 \(H(z)\) 收敛的 \(z\) 值成立(即 \(z\) 位于 \(H\) 的收敛域内)。

证明。首先,我们观察到系统 \(\mathcal{H}\) 为 LTI 系统当且仅当它计算卷积(即对于某个 \(h\)\(\mathcal{H} x = x * h\))。于是有

\[ \begin{aligned} \mathcal{H} x(n) & = x * h(n) \\ & = h * x(n) \\ & = \sum_{k=-\infty}^{\infty} h(k) x(n-k) \\ & = \sum_{k=-\infty}^{\infty} h(k) z^{n-k} \\ & = z^{n} \sum_{k=-\infty}^{\infty} h(k) z^{-k} \\ & = z^{n} H(z) \end{aligned} \]

术语说明:在上述定理(即定理 9.12)中出现的函数 \(H\) 称为系统 \(\mathcal{H}\) 的系统函数(或传递函数)。系统函数完全描述了 LTI 系统的行为。因此,在处理 LTI 系统时,系统函数通常非常有用。事实上,(9.30b) 中出现的求和形式具有重要意义,它定义了所谓的 \(z\) 变换。我们将在第 12 章中对 \(z\) 变换进行深入研究。

注意,LTI 系统的特征序列不一定只有复指数序列。例如,例 8.38 中的系统是 LTI 系统,其每个序列都是其特征序列。此外,一个系统如果每个复指数序列都是其特征序列,也不一定是 LTI 系统。这可以通过下面的例子(以及练习 9.17)轻松说明。

例 9.17. 设 \(S\) 表示所有复指数序列的集合(即 \(S\) 是所有形式为 \(x(n) = b a^{n}\) 的序列 \(x\) 的集合,其中 \(a, b \in \mathbb{C}\))。考虑系统 \(\mathcal{H}\),定义为

\[ \mathcal{H} x = \begin{cases} x & x \in S \\ 1 & \text{其他情况} \end{cases} \]

对于任意序列 \(x \in S\),有 \(\mathcal{H} x = x\),这意味着 \(x\)\(\mathcal{H}\) 的特征序列,对应特征值为 1。因此,每个复指数序列都是 \(\mathcal{H}\) 的特征序列。

现在,我们证明 \(\mathcal{H}\) 不是线性的。以下令 \(a\) 为任意复常数。考虑序列 \(x(n) = n\),显然 \(x \notin S\)。由于 \(x \notin S\),我们有 \(\mathcal{H} x = 1\),因此

\[ a \mathcal{H} x = a . \]

接着,考虑序列 \(a x(n) = a n\)。由于 \(a x \notin S\),我们有

\[ \mathcal{H}(a x) = 1 . \]

由以上方程可知,\(\mathcal{H}(a x) = a \mathcal{H} x\) 仅在 \(a = 1\) 时成立。因此,\(\mathcal{H}\) 不是齐次的,从而也不是线性的。所以,\(\mathcal{H}\) 是一个例子,它的每个复指数序列都是特征序列,但系统本身不是 LTI。

现在,我们考虑特征序列的一个应用。由于卷积在计算上往往比较繁琐,我们可以利用特征序列,在某些情况下避免直接处理卷积。

假设我们有一个输入为 \(x\)、输出为 \(y\)、冲激响应为 \(h\) 的 LTI 系统。假设现在我们可以将任意输入 \(x\) 表示为复指数的线性组合:

\[ x(n) = \sum_{k} a_{k} z_{k}^{n} \]

根据 LTI 系统的特征序列性质,对于输入 \(a_{k} z_{k}^{n}\) 的响应为 \(a_{k} H(z_{k}) z_{k}^{n}\)。利用这一性质以及叠加性,可以写出

\[ \begin{aligned} y(n) & = \mathcal{H} x(n) \\ & = \mathcal{H} \left\{ \sum_{k} a_{k} z_{k}^{n} \right\} (n) \\ & = \sum_{k} a_{k} \mathcal{H} \left\{ z_{k}^{n} \right\} (n) \\ & = \sum_{k} a_{k} H(z_{k}) z_{k}^{n} . \end{aligned} \]

因此,如果 LTI 系统的输入可以表示为复指数的线性组合,则输出也可以表示为相同复指数的线性组合。

例 9.18. 考虑冲激响应为

\[ \begin{equation*} h(n) = \delta(n-1) \tag{9.31} \end{equation*} \]

的 LTI 系统 \(\mathcal{H}\)
(a) 求系统函数 \(H\)
(b) 利用系统函数 \(H\),求系统 \(\mathcal{H}\) 对输入

\[ x(n) = e^{n} \cos(\pi n) \]

的响应 \(y\)

解。(a) 将 (9.31) 代入 (9.30b),得到

\[ \begin{aligned} H(z) & = \sum_{n=-\infty}^{\infty} h(n) z^{-n} \\ & = \sum_{n=-\infty}^{\infty} \delta(n-1) z^{-n} \\ & = z^{-1} \end{aligned} \]

(b) 首先,将 \(x\) 重写为

\[ \begin{aligned} x(n) & = e^{n} \left[ \frac{1}{2} \left( e^{j \pi n} + e^{-j \pi n} \right) \right] \\ & = \frac{1}{2} (e^{1+j\pi})^{n} + \frac{1}{2} (e^{1-j\pi})^{n} \end{aligned} \]

因此,输入 \(x\) 可表示为

\[ x(n) = \sum_{k=0}^{1} a_{k} z_{k}^{n} \]

其中

\[ a_{0} = a_{1} = \frac{1}{2}, \quad z_{0} = e^{1+j\pi}, \quad z_{1} = e^{1-j\pi}. \]

在 (a) 部分,我们已求得系统函数 \(H(z) = z^{-1}\)。因此,利用系统函数可计算输出:

\[ \begin{aligned} y(n) & = \sum_{k} a_{k} H(z_{k}) z_{k}^{n} \\ & = a_{0} H(z_{0}) z_{0}^{n} + a_{1} H(z_{1}) z_{1}^{n} \\ & = \frac{1}{2} H(e^{1+j\pi}) e^{(1+j\pi)n} + \frac{1}{2} H(e^{1-j\pi}) e^{(1-j\pi)n} \\ & = \frac{1}{2} e^{-(1+j\pi)} e^{(1+j\pi)n} + \frac{1}{2} e^{-(1-j\pi)} e^{(1-j\pi)n} \\ & = \frac{1}{2} e^{n-1} e^{j \pi (n-1)} + \frac{1}{2} e^{n-1} e^{-j \pi (n-1)} \\ & = e^{n-1} \left[ \frac{1}{2} \left( e^{j \pi (n-1)} + e^{-j \pi (n-1)} \right) \right] \\ & = e^{n-1} \cos[\pi (n-1)] \end{aligned} \]

可以看出,输出 \(y\) 只是输入 \(x\) 的时间延迟 1。这并非巧合,因为具有系统函数 \(H(z) = z^{-1}\) 的 LTI 系统正是理想单位延迟系统(即执行时间延迟 1 的系统)。

9.11 练习

9.11.1 无答案练习

9.1 计算下列每对序列 \(x\)\(h\) 的卷积 \(x * h\)
(a) \(x(n) = n [u(n+2) - u(n-5)]\)\(h(n) = u(n)\)
(b) \(x(n) = 2^{n} u(-n)\)\(h(n) = u(n)\)
(c)

\[ x(n) = \begin{cases} n & 0 \le n \le 3 \\ 6-n & 4 \le n \le 6 \\ 0 & \text{其他情况} \end{cases}, \quad h(n) = u(n) - u(n-6); \]

(d) \(x(n) = u(n)\)\(h(n) = u(n-3)\)

9.2 对下列图中给出的每对序列 \(x\)\(h\),计算 \(x * h\)

(a)

(b)

9.3 证明对于任意序列 \(x\),有 \(x * v(n) = x(n - n_0)\),其中 \(v(n) = \delta(n - n_0)\)\(n_0\) 为任意整数常数。

9.4 设 \(x, y, h, v\) 为序列,满足 \(y = x * h\),且

\[ v(n) = \sum_{k=-\infty}^{\infty} x(-k-b) h(k + a n), \]

其中 \(a\)\(b\) 为整数常数。将 \(v\)\(y\) 表示出来。

9.5 考虑卷积 \(y = x * h\)。假设卷积 \(y\) 存在,证明下列命题成立:
(a) 若 \(x\) 是周期序列,则 \(y\) 也是周期序列。
(b) 若 \(x\) 为偶序列且 \(h\) 为奇序列,则 \(y\) 为奇序列。

9.6 设 \(\mathcal{D} x(n) = x(n) - x(n-1)\)(即 \(\mathcal{D}\) 为一阶差分算子)。根据卷积定义,证明若 \(y = x * h\),则 \(\mathcal{D} y = x * \mathcal{D} h\)。 9.7 设序列 \(x\)\(h\) 满足

\[ \begin{gathered} x(n) = 0 \quad \text{当 } n < A_1 \text{ 或 } n > A_2, \\ h(n) = 0 \quad \text{当 } n < B_1 \text{ 或 } n > B_2, \end{gathered} \]

\(x\)\(h\) 为有限长度序列。确定在何种 \(n\) 值下,卷积 \(x * h(n)\) 必为零。

9.8 考虑一个 LTI 系统,其对序列 \(x_1(n) = u(n) - u(n-2)\) 的响应为序列 \(y_1\)。求系统对图中输入 \(x_2\) 的响应 \(y_2\),并用 \(y_1\) 表示。

9.9 考虑下图所示系统,其中 \(\mathcal{H}\) 为 LTI 系统,\(\mathcal{G}\)\(\mathcal{H}\) 的已知逆系统。设 \(y_1 = \mathcal{H} x_1\)\(y_2 = \mathcal{H} x_2\)

(a) 求系统 \(\mathcal{G}\) 对输入 \(y'(n) = a_1 y_1(n) + a_2 y_2(n)\) 的响应,其中 \(a_1\)\(a_2\) 为复常数。

(b) 求系统 \(\mathcal{G}\) 对输入 \(y_1'(n) = y_1(n - n_0)\) 的响应,其中 \(n_0\) 为整数常数。

(c) 利用前两问的结果,判断系统 \(\mathcal{G}\) 是否线性和/或时不变。

9.10 求下列方程所描述的 LTI 系统 \(\mathcal{H}\) 的冲激响应。

(a) \(\mathcal{H} x(n) = \sum_{k=-\infty}^{n+1} x(k)\)

(b) \(\mathcal{H} x(n) = \sum_{k=-\infty}^{\infty} x(k+5) e^{k-n+1} u(n-k-2)\)

(c) \(\mathcal{H} x(n) = \sum_{k=-\infty}^{n} x(k) v(n-k)\)

(d) \(\mathcal{H} x(n) = \sum_{k=n-1}^{n} x(k)\)。 9.11 考虑图示系统,其输入为 \(x\),输出为 \(y\)。块图中每个系统都是 LTI 系统,并标注了其冲激响应。

(a) 用 \(h_1, h_2, h_3\) 表示整体系统的冲激响应 \(h\)
(b) 当

\[ h_1(n) = \delta(n+1), \quad h_2(n) = \delta(n), \quad h_3(n) = \delta(n) \]

时,求整体系统的冲激响应 \(h\)

9.12 考虑下图所示系统,输入为 \(x\),输出为 \(y\)。该系统由两个 LTI 系统串联而成,其冲激响应分别为 \(h_1\)\(h_2\)

对于下列每对 \(h_1\)\(h_2\),若输入 \(x(n) = u(n)\),求输出 \(y\)
(a) \(h_1(n) = \delta(n)\)\(h_2(n) = \delta(n)\)
(b) \(h_1(n) = \delta(n+1)\)\(h_2(n) = \delta(n+1)\)
(c) \(h_1(n) = 2^{-n} u(n)\)\(h_2(n) = \delta(n)\)

9.13 判断下列每个冲激响应 \(h\) 对应的 LTI 系统是否因果和/或无记忆。
(a) \(h(n) = (n+1) u(n-1)\)
(b) \(h(n) = 2 \delta(n+1)\)
(c) \(h(n) = 2^{-n} u(n-1)\)
(d) \(h(n) = 2^{n} u(-n-1)\)
(e) \(h(n) = 2^{-3|n|}\)
(f) \(h(n) = 3 \delta(n)\)

9.14 已知两个 LTI 系统的冲激响应为

\[ h_1(n) = \frac{1}{2} \delta(n-1), \quad h_2(n) = 2 \delta(n+1) \]

判断这两个系统是否互为逆系统。

9.15 判断下列每个冲激响应 \(h\) 对应的 LTI 系统是否 BIBO 稳定。
(a) \(h(n) = 2^{a n} u(-n)\),其中 \(a>0\)
(b) \(h(n) = n^{-1} u(n-1)\)
(c) \(h(n) = 2^{n} u(n)\)
(d) \(h(n) = \delta(n-10)\)
(e) \(h(n) = u(n) - u(n-9)\)
(f) \(h(n) = 2^{-|n|}\)

9.16 已知系统 \(\mathcal{H}_1, \mathcal{H}_2, \mathcal{H}_3, \mathcal{H}_4\) 对复指数输入 \(x(n) = e^{j 2 n}\) 的响应分别为

\[ \mathcal{H}_1 x(n) = 2 e^{j 2 n}, \quad \mathcal{H}_2 x(n) = n e^{j 2 n}, \quad \mathcal{H}_3 x(n) = e^{j 2 n + \pi/3}, \quad \mathcal{H}_4 x(n) = \cos(2 n) \]

指出哪些系统不可能是 LTI 系统。

9.17 一个系统如果每个复指数序列都是其特征序列,并不一定是 LTI 系统。在本题中,通过反例证明这一点。考虑系统 \(\mathcal{H}\) 定义为

\[ \mathcal{H} x(n) = \begin{cases} \frac{x^2(n)}{x(n-1)} & \text{若 } x(n-1) \neq 0 \\ 0 & \text{否则} \end{cases} \]

(a) 证明每个复指数序列都是 \(\mathcal{H}\) 的特征序列。
(b) 证明 \(\mathcal{H}\) 不是线性(因此不是 LTI 系统)。

9.11.2 带答案的练习

目前,没有带答案的练习。

9.11.3 MATLAB 练习

目前,没有 MATLAB 练习。