Z变换终值定理证明过程及深度解析

探索离散时间信号处理的基石:从数学推导到工程应用的全方位指南

〓〓〓〓〓〓〓〓〓〓

什么是Z变换终值定理?

在信号与系统分析,尤其是离散控制系统中,Z变换终值定理(Final Value Theorem, FVT)是一个极为强大的工具。它允许我们直接通过Z域的表达式 F(z) 来求得时域序列 f(n) 在时间趋于无穷大时的稳态值,而无需进行繁琐的逆Z变换。

若极限存在,则:
f(∞) = lim(n→∞) f(n) = lim(z→1) [(z - 1)F(z)]

这一定理不仅在理论推导中占据核心地位,在实际工程中也广泛用于计算系统的稳态误差。然而,许多初学者往往忽略了其严格的适用条件,导致计算结果出现严重偏差。本文将深入剖析其证明过程,并梳理网友们普遍关注的周边知识点。

Z变换终值定理的详细证明过程

为了严谨地证明该定理,我们需要从Z变换的定义出发,并结合单边Z变换的位移性质。以下是逐步推导过程:

1. 回顾Z变换定义与位移性质

设序列 f(n) 的单边Z变换为 F(z),定义为:

F(z) = Σ [f(n) z^(-n)], n从0到∞

根据单边Z变换的后向位移性质(或称为超前性质),序列 f(n+1) 的Z变换为:

Z[f(n+1)] = zF(z) - zf(0)

2. 构造极限表达式

我们考察表达式 (z - 1)F(z) 在 z → 1 时的极限。首先展开 zF(z):

zF(z) = z Σ [f(n)z^(-n)] = Σ [f(n)z^(1-n)]

现在考虑 (z - 1)F(z) = zF(z) - F(z)。我们将这两个级数展开并相减:

zF(z) - F(z) = [zf(0) + f(1) + f(2)z^(-1) + ...] - [f(0) + f(1)z^(-1) + f(2)z^(-2) + ...]

整理各项系数,我们会发现这是一个 telescoping series(裂项相消级数)的变体。更直观的方法是利用差分性质。定义一阶差分 Δf(n) = f(n+1) - f(n)。

根据线性性质:

Z[Δf(n)] = Z[f(n+1) - f(n)] = [zF(z) - zf(0)] - F(z) = (z - 1)F(z) - zf(0)

因此,我们可以写出:

(z - 1)F(z) = Z[Δf(n)] + zf(0)

3. 取极限 z → 1

现在对等式两边同时取 z → 1 的极限:

lim(z→1) [(z - 1)F(z)] = lim(z→1) Z[Δf(n)] + lim(z→1) [zf(0)]

分析右边第一项 lim(z→1) Z[Δf(n)]:

Z[Δf(n)] = Σ [Δf(n)z^(-n)] = Δf(0) + Δf(1)z^(-1) + Δf(2)z^(-2) + ...

当 z → 1 时,该级数变为:

Σ [Δf(n)] = Δf(0) + Δf(1) + Δf(2) + ...

这是一个无穷级数的求和。让我们看看部分和:

当 N → ∞ 时,如果 f(n) 收敛于终值 f(∞),则:

lim(N→∞) S_N = f(∞) - f(0)

回到之前的等式,右边第二项 lim(z→1) [zf(0)] = 1 f(0) = f(0)。

综合起来:

lim(z→1) [(z - 1)F(z)] = [f(∞) - f(0)] + f(0) = f(∞)

证毕。 这个证明清晰地展示了终值定理的本质:它实际上是序列差分在无穷远处的累积效应。

核心难点:适用条件与极点分析

这是网友们在搜索“Z变换终值定理证明过程”时最关心的部分。证明过程中隐含了一个关键假设:极限 lim(n→∞) f(n) 必须存在。如果序列发散或振荡,终值定理将给出错误的结果,甚至无意义。

⚠️ 稳定条件

函数 F(z) 的所有极点必须位于 单位圆内(|z| < 1)。

唯一例外是:在 z = 1 处可以有一个一阶极点。这是因为阶跃输入或恒定偏置会导致终值非零,但系统仍需稳定。

⛔ 不适用情况

1. 极点在单位圆外:系统不稳定,f(n) 发散至无穷大。
2. 共轭复极点在单位圆上:系统产生等幅振荡,无稳态值。
3. z=1 处有多重极点:例如 1/(z-1)^2,对应斜坡输入,终值发散。

极点分布与终值关系表

极点位置 时域响应 f(n) 终值 f(∞) 终值定理是否适用
|z| < 1 (所有极点) 衰减至0 0 是
z = 1 (单极点), 其余|z|<1 收敛至常数 非零常数 是
z = 1 (多重极点) 发散 (如斜坡) ∞ 否
|z| > 1 发散 (指数增长) ∞ 否
单位圆上 (z≠1) 等幅振荡 不存在 否

典型实例演算与对比

理论需要实践来检验。以下两个示例展示了如何正确应用定理,以及如何避免常见错误。

示例1:稳定系统

已知 F(z) = z / (z - 0.5)。求 f(∞)。

步骤1:检查极点

极点为 z = 0.5。因为 |0.5| < 1,位于单位圆内,系统稳定,定理适用。

步骤2:应用定理

f(∞) = lim(z→1) [(z - 1) z / (z - 0.5)]
= lim(z→1) [(1 - 1) 1 / (1 - 0.5)]
= 0 1 / 0.5
= 0

验证:逆Z变换得 f(n) = (0.5)^n u(n)。当 n→∞ 时,(0.5)^n → 0。结果一致。

示例2:振荡系统(不适用)

已知 F(z) = z(z + 1) / (z^2 + 1)。求 f(∞)。

步骤1:检查极点

分母 z^2 + 1 = 0 ⇒ z = ±j。极点为 j 和 -j。模长 |j| = 1,位于单位圆上,但不是 z=1。

结论:系统产生振荡,终值不存在。定理不适用。

错误应用演示:

若强行计算:
lim(z→1) [(z - 1) z(z + 1) / (z^2 + 1)]
= (1 - 1) 1(2) / 2 = 0

计算结果为0,但实际序列 f(n) 是 0, 1, 0, -1, 0, 1... 并不收敛于0。这证明了检查极点的重要性。

示例3:斜坡输入(不适用)

已知 F(z) = z / (z - 1)^2(对应斜坡序列 nu(n))。

步骤1:检查极点

在 z=1 处有二重极点。

错误应用:

lim(z→1) [(z - 1) z / (z - 1)^2] = lim(z→1) [z / (z - 1)] = 1 / 0 = ∞

虽然极限趋向无穷,但在工程计算中,我们通常要求终值为有限常数。对于发散系统,使用终值定理没有实际意义,且容易混淆。

常见问题解答 (FAQ)

Q1: 如果F(z)在z=1处有极点,终值定理还能用吗?

可以,但仅限于单极点。 如果z=1是F(z)的单极点,且其他极点都在单位圆内,则系统具有非零的稳态值(如阶跃响应),此时终值定理完全适用。如果z=1是多重极点,系统发散,定理不适用。

Q2: 为什么证明中要乘以(z-1)而不是其他项?

在Z域中,(z-1)对应于离散时间的一阶差分算子 Δ。乘以(z-1)并取极限,相当于在时域中考察序列的累积变化。在S域中,s 是微分算子,乘以 s 取 s→0 极限同理。这是频域分析稳态值的通用数学结构。

Q3: 终值定理能否用于求平均值?

不能直接求平均值。 终值定理求的是序列在 n→∞ 时的瞬时值。如果序列振荡(如 sin(n)),终值不存在。求平均值需要用到其他信号处理技术,如滑动平均滤波器的频域响应。

Q4: 编程实现时如何避免数值误差?

在MATLAB或Python中,直接计算极限可能遇到除以零或数值不稳定问题。建议先解析化简表达式,或使用 `limit` 符号计算工具。对于数值仿真,应检查系统极点,确保稳定后再计算稳态响应。

Z变换终值定理是连接离散频域与时域稳态行为的桥梁。掌握其证明过程不仅有助于理解数学原理,更能帮助工程师在实际应用中规避陷阱。请务必牢记:先判极点,后求终值。

END
✨ 更多精彩
🏷️ 标签:Z变换离散时间系统差分方程
墨卷研习录
CopyRight@educfa.com.cn