第 9 讲:离散卷积与差分方程响应

离散 LTI 系统的零状态响应为

y[n]=x[n]∗h[n]=∑k=−∞∞x[k]h[n−k].y[n]=x[n]*h[n] =\sum_{k=-\infty}^{\infty}x[k]h[n-k].

与连续卷积相比,积分变成求和;翻转、平移、找重叠的思想不变。

图解与列表法

固定 nn:

  1. 写出 x[k]x[k];
  2. 把 h[k]h[k] 反转成 h[−k]h[-k];
  3. 平移成 h[n−k]h[n-k];
  4. 对相同 kk 位置的乘积求和。

有限序列也可直接列多项式式乘法。若

x={x0,…,xL−1},h={h0,…,hM−1},x=\{x_0,\ldots,x_{L-1}\},\qquad h=\{h_0,\ldots,h_{M-1}\},

线性卷积长度最多为 L+M−1L+M-1,第 nn 项是所有满足 i+j=ni+j=n 的乘积之和。

指数序列卷积

对两个因果指数

x[n]=anu[n],h[n]=bnu[n],x[n]=a^n u[n],\qquad h[n]=b^n u[n],

因果性把求和范围缩为 0≤k≤n0\le k\le n:

y[n]=∑k=0nakbn−k.y[n]=\sum_{k=0}^{n}a^kb^{n-k}.

若 a≠ba\ne b,

y[n]=bn+1−an+1b−au[n].y[n]=\frac{b^{n+1}-a^{n+1}}{b-a}u[n].

若 a=ba=b,不能直接代入分母为零的公式,应回到求和:

y[n]=(n+1)anu[n].y[n]=(n+1)a^n u[n].

差分与累加

单位阶跃是单位样值的累加:

u[n]=∑k=−∞nδ[k].u[n]=\sum_{k=-\infty}^{n}\delta[k].

因此

x[n]∗u[n]=∑k=−∞nx[k].x[n]*u[n]=\sum_{k=-\infty}^{n}x[k].

而与 δ[n]−δ[n−1]\delta[n]-\delta[n-1] 卷积得到一阶差分:

x[n]∗(δ[n]−δ[n−1])=x[n]−x[n−1].x[n]*(\delta[n]-\delta[n-1]) =x[n]-x[n-1].

累加器和差分器互为逆系统(在适当初始条件下)。

由差分方程求 h[n]h[n]

令输入 x[n]=δ[n]x[n]=\delta[n]、系统初始静止,再递推输出,就得到单位样值响应。

例如

y[n]−ay[n−1]=x[n]y[n]-ay[n-1]=x[n]

在初始静止下有

h[n]=anu[n].h[n]=a^n u[n].

于是任意输入的零状态响应是 x∗hx*h。若另有非零初始条件,还要单独加零输入响应。

系统互联

两个离散 LTI 系统串联:

heq=h1∗h2.h_{\mathrm{eq}}=h_1*h_2.

并联:

heq=h1+h2.h_{\mathrm{eq}}=h_1+h_2.

卷积交换律说明 LTI 串联系统的次序不影响零状态输入输出关系,但实际内部状态、数值溢出和有限字长实现仍可能不同。

线性卷积与循环卷积

这里的卷积和默认是线性卷积,序列在范围外补零。DFT 所对应的是按 NN 周期延拓后的循环卷积:

yN[n]=∑k=0N−1x[k]h[(n−k) mod N].y_N[n]=\sum_{k=0}^{N-1} x[k]h[(n-k)\bmod N].

只有充分补零使 N≥L+M−1N\ge L+M-1,循环卷积才与线性卷积一致。

检查答案

  • 有限序列输出长度是否为 L+M−1L+M-1;
  • 因果输入与因果系统的输出是否仍在 n<0n<0 为零;
  • 卷积总和满足
∑ny[n]=(∑nx[n])(∑nh[n])\sum_n y[n]= \left(\sum_nx[n]\right) \left(\sum_nh[n]\right)

(绝对可和时)。这三个检查能快速发现索引或漏项错误。

评论