离散时间系统的模拟与基本原理
前置知识回顾
本节把前面学过的时域与变换域工具翻译成"可画图、可搭建"的工程语言。开始前建议确认:
一个离散时间 LTI 系统可以用差分方程写,也可以用系统函数 $H(z)$ 写。两者都是数学描述,但工程实现时还需要回答:加法器、乘法器、延迟器应该怎样连接?
系统框图与信号流图就是这类问题的图形化语言。它们把抽象的递推关系变成可见的数据流:节点代表变量,支路代表运算(延迟或乘常数),加法器把多路信号合并。画好图之后,硬件工程师可以直接布线,软件工程师可以按图写循环,理论分析则可以用梅森公式由图直接读出系统函数。
无论系统多复杂,实现它所需的基本运算只有三种:加法、乘常数、单位延迟。
三种基本运算
| 运算 | 时域表示 | Z 域表示 | 在结构图中的角色 |
|---|---|---|---|
| 加法 | $y[n]=x_1[n]+x_2[n]$ | $Y(z)=X_1(z)+X_2(z)$ | 汇合节点,把多个支路输出相加 |
| 乘常数 | $y[n]=a\,x[n]$ | $Y(z)=a\,X(z)$ | 滤波器系数,决定每条支路权重 |
| 单位延迟 | $y[n]=x[n-1]$ | $Y(z)=z^{-1}X(z)$ | 存储一个采样周期,形成历史样本或状态 |
离散时间系统最基本的构件是单位延时单元(Delay),通常用方框 D 表示。它把输入信号延迟一个采样周期:
输入 $y[n]$ 经过 D 后输出 $y[n-1]$——当前时刻的输入变成下一时刻的输出。所有离散系统的结构都可以用 D 延时单元、加法器和乘法器组合而成。
方框图法用方框、箭头、加法节点、乘法系数和单位延迟器直接画出样本如何流动。它最适合从差分方程出发检查"先延迟、再乘系数、最后在哪里相加"。
把延时单元和反馈路径组合,就得到差分方程的物理实现。下面是一个一阶 LTI 系统:
对应的差分方程:
输出由当前输入和过去输出递推决定。只要给定初始条件,就能一步一步算出所有后续值。
二抽头 FIR 方框图可以直接按差分方程阅读:输入 $x[n]$ 分成两路,一路直接乘 $b_0$,另一路先经过一个单位延迟 $z^{-1}$ 得到 $x[n-1]$,再乘 $b_1$,最后两路相加得到输出。
| 支路 | 经过的操作 | 贡献项 |
|---|---|---|
| 直接支路 | 不延迟,只乘 $b_0$ | $b_0x[n]$ |
| 延迟支路 | 先经 $z^{-1}$,再乘 $b_1$ | $b_1x[n-1]$ |
| 输出节点 | 两路相加 | $y[n]=b_0x[n]+b_1x[n-1]$ |
上图对应一个最简单的二抽头 FIR:
如果差分方程含有过去输出项,例如 $y[n]=b_0x[n]+a_1y[n-1]$,方框图中就会出现从输出端经过 $z^{-1}$ 和系数 $a_1$ 回到加法节点的反馈支路。这正是递归型(IIR)结构与非递归型(FIR)结构的图形区别。
信号流图法把每个中间变量画成节点,把乘常数、单位延迟和直接传递画成有向支路。它比方框图更紧凑,适合推导直接型、级联型、并联型,以及后面的转置定理。
graph LR
X(("x[n]")) -->|"b₀"| Y(("y[n]"))
X -->|"z⁻¹"| N1(("x[n-1]"))
N1 -->|"b₁"| Y
N1 -->|"z⁻¹"| N2(("x[n-2]"))
N2 -->|"b₂"| Y
这张信号流图对应三抽头 FIR:
节点表示变量,支路上的标注表示支路增益或延迟。这里从 $x[n]$ 到 $x[n-1]$、从 $x[n-1]$ 到 $x[n-2]$ 都必须经过一个单位延迟 $z^{-1}$;若一条支路不标传输系数,默认增益为 1。多个支路汇入同一节点时,节点值等于所有输入支路信号之和。
信号流图的等效变换
与电阻网络一样,信号流图也有一套等效变换规则,用于把复杂流图逐步化简。最常用的三条是:串联合并、并联合并和节点消去(自环等效)。
三条核心化简规则
| 规则 | 图示关系 | 等效结果 |
|---|---|---|
| 串联合并 | $x_1 \xrightarrow{a} x_2 \xrightarrow{H_1} x_3$ | $x_1 \xrightarrow{aH_1} x_3$ |
| 并联合并 | $x_1$ 分两路分别 $\xrightarrow{H_1}$、$\xrightarrow{H_2}$ 到 $x_2$ | $x_1 \xrightarrow{H_1+H_2} x_2$ |
| 自环消去 | $x_1 \xrightarrow{a} x_2 \xrightarrow{b} x_3$,且 $x_2 \xrightarrow{c} x_2$ | $x_1 \xrightarrow{\frac{ab}{1-bc}} x_3$ |
这些规则是梅森公式的前身:对于简单流图,可以直接化简得到系统函数;对于复杂流图,用梅森公式更系统、更不容易漏掉回路组合。
两种表示法怎么选
| 表示法 | 更适合回答的问题 | 优势 | 局限 |
|---|---|---|---|
| 方框图法 | 这个系统怎么按硬件/程序步骤实现? | 直观,便于检查延迟、乘法和加法位置 | 高阶结构会很拥挤 |
| 信号流图法 | 这些结构是否等价?能否转置、级联或共享延迟? | 紧凑,便于代数变换和结构推导 | 初看不如方框图具象 |
同一个系统函数 $H(z)$ 可以用不同的结构实现。除了直接型,工程上最常用的两种是级联型(Cascade)和并联型(Parallel):
- 级联型:把 $H(z)$ 的分子和分母因式分解,写成多个一阶或二阶节的乘积 $H(z)=H_1(z)H_2(z)\cdots H_K(z)$。前一节的输出直接作为后一节的输入。
- 并联型:把 $H(z)$ 做部分分式展开,写成多个一阶或二阶节的和 $H(z)=H_1(z)+H_2(z)+\cdots+H_K(z)$。各支路独立计算,最后在输出端相加。
例题:级联与并联形式实现
题目:已知某离散 LTI 系统的差分方程为
分别用级联和并联形式模拟该系统。
解:先写出系统函数:
分母因式分解:
分子:$2-2z^{-2}=2(1-z^{-2})$。
级联形式:把分子分母按一阶和二阶节分组:
即一个一阶节 $H_1(z)=\frac{2}{1-0.5z^{-1}}$ 与一个二阶节 $H_2(z)=\frac{1-z^{-2}}{1+0.25z^{-2}}$ 串联。
并联形式:做部分分式展开:
通分后比较分子系数,解得 $A=-3,\;B=5,\;C=2.5$。因此:
即一个一阶支路 $H_3(z)=\frac{-3}{1-0.5z^{-1}}$ 与一个二阶支路 $H_4(z)=\frac{5+2.5z^{-1}}{1+0.25z^{-2}}$ 在输出端相加。
对于复杂流图,梅森公式(Mason's Formula)提供了一种不需要逐步化简就能写出系统函数的方法:
梅森公式
其中:
- $P_k$:第 $k$ 条从输入到输出的前向通路增益;
- $\Delta$:流图特征式,$\Delta=1-\sum L_i+\sum L_iL_j-\sum L_iL_jL_l+\cdots$,依次减去所有单回路增益、加上所有两两不接触回路增益乘积、减去所有三个互不接触回路增益乘积,依此类推;
- $\Delta_k$:第 $k$ 条前向通路的余子式,即把与该通路接触的所有回路去掉后剩余流图的 $\Delta$。
使用步骤:
- 找出所有从输入节点到输出节点的前向通路,计算 $P_k$;
- 找出所有回路,计算各回路增益 $L_i$;
- 判断哪些回路互不接触,按公式写出 $\Delta$;
- 对每个前向通路,去掉与其接触的全部回路,写出 $\Delta_k$;
- 代入梅森公式得到 $H(z)$。
例题:用梅森公式求系统函数
题目:某信号流图有两条前向通路:$P_1=a$(不接触回路),$P_2=b c$(与回路 $d$ 接触);一个回路 $L_1=d$。求系统函数 $H(z)=Y(z)/X(z)$。
解:
- 流图特征式:$\Delta=1-L_1=1-d$。
- $P_1=a$ 不接触回路,所以 $\Delta_1=1$。
- $P_2=bc$ 与回路 $d$ 接触,所以 $\Delta_2=1$(去掉接触回路后无剩余回路)。
例题 1:由差分方程画直接 II 型结构
题目:已知差分方程 $y[n]-\frac{1}{2}y[n-1]=x[n]+x[n-1]$,画出其直接 II 型信号流图。
解:把差分方程改写成递推形式:
输入 $x[n]$ 经过两条前向支路:直接支路增益 1,延迟支路增益 1;输出 $y[n]$ 经过延迟 $z^{-1}$ 和反馈增益 $\frac{1}{2}$ 回到输入端相加。把两条前向链和反馈链共用一条延迟链,即得直接 II 型。
例题 2:由结构求系统函数
题目:一阶系统 $y[n]=x[n]+a\,y[n-1]$,求 $H(z)$。
解:对差分方程取 Z 变换(零状态):
整理得:
例题 3:由时域框图写差分方程并求系统函数
题目:已知某离散 LTI 系统的时域框图如下,根据输入输出关系写出系统的差分方程并求出系统函数 $H(z)$。
解:设左端加法器输出为 $w[n]$。观察框图,两条反馈支路均进入加法器“$+$”端:
- 反馈支路 1:$w[n]$ 经一次延迟得 $w[n-1]$,再乘 $-1$,因此贡献为 $-w[n-1]$。
- 反馈支路 2:$w[n]$ 经两次延迟得 $w[n-2]$,再乘 $0.02$,因此贡献为 $+0.02w[n-2]$。
- 输出端:$y[n]=0.5w[n]+w[n-2]$。
于是得到中间变量递推式:
取 Z 变换(零状态):
整理得:
输出端 Z 变换为:
因此系统函数:
对应差分方程:
掌握系统框图与信号流图之后,数字滤波器的结构就不再是孤立图形:直接型从差分方程直接翻译,级联型从因式分解翻译,并联型从部分分式展开翻译。下一节 数字滤波器基础与结构 会在此基础上讨论 FIR 与 IIR 的各种实现结构以及它们的工程取舍。
复习速查
- 三种基本元件:加法器、常数乘法器、单位延迟器($z^{-1}$)。
- 方框图法:直观按差分方程布线,适合硬件实现思维。
- 信号流图法:节点为变量,支路为增益/延迟,适合结构推导与等价变换。
- 梅森公式:$H(z)=\frac{1}{\Delta}\sum P_k\Delta_k$,注意"不接触"的定义。
参考来源
- 课程讲义:DSP 第五讲,系统结构表示法。