3. Z变换基础:Z变换定义、收敛域、常用序列的Z变换

好,咱们进入Z变换的世界。说实话,我刚学数字信号处理那会儿,Z变换让我头疼了好一阵子。拉普拉斯变换在连续域里用得挺顺手,怎么到了离散域就换了个玩法?后来做项目做多了才明白——Z变换其实就是离散系统的「灵魂翻译器」。

你想想看,我们在时域里处理离散序列,差分方程写出来一堆递推关系,看着就烦。Z变换能把这些烦人的递推变成代数方程,就跟拉普拉斯变换把微分方程变成代数方程一个道理。嗯,咱们今天就把这个基础打牢。

3.1 Z变换的定义

先看定义。对于一个离散时间序列 x[n],它的Z变换定义为:

X(z) = Σ_{n=-∞}^{∞} x[n] · z^{-n}

这里 z 是一个复变量。注意求和是从负无穷到正无穷——这叫双边Z变换。实际工程中,我们处理的序列往往从 n=0 开始,那就是单边Z变换

X(z) = Σ_{n=0}^{∞} x[n] · z^{-n}

我个人习惯用单边Z变换做系统分析,因为大多数因果系统都从 n=0 开始。但双边Z变换在理论推导中更通用,你得两个都心里有数。

核心要点:Z变换把时域序列映射到复频域(z域)。z^{-1} 可以理解为「延迟一个采样点」的操作符。这个视角在滤波器设计中特别有用。

3.2 收敛域(ROC)—— 这个坑我踩过

定义写出来简单,但Z变换不是对所有 z 都收敛的。使级数收敛的 z 的取值范围,就是收敛域(Region of Convergence, ROC)

我曾经在做一个数字均衡器项目时,直接套用Z变换公式算系统函数,结果仿真出来的频率响应完全不对。查了两天才发现——我忽略了收敛域!系统极点落在单位圆外,系统根本不稳定,我还傻乎乎地在那算幅频响应。

所以记住:Z变换表达式 + 收敛域 = 完整的Z变换。缺了ROC,你手里的表达式可能对应多个不同的时域序列。

收敛域有几个重要性质:

  • ROC是z平面上的环形区域(或圆外、圆内区域)
  • ROC内不能包含任何极点
  • 对于有限长序列,ROC是整个z平面(可能除去0和∞)
  • 对于右边序列(n≥0),ROC是某个圆的外部
  • 对于左边序列(n≤0),ROC是某个圆的内部
  • 对于双边序列,ROC是环形区域
小技巧:判断系统稳定性,就看ROC是否包含单位圆。如果单位圆在ROC内,系统就是BIBO稳定的。我在做音频处理时,每次设计完滤波器第一件事就是检查极点位置和ROC。

3.3 常用序列的Z变换

这些是吃饭的家伙,得背下来。我刚开始做项目时,每次都要翻书查,后来发现查多了自然就记住了。

时域序列 x[n] Z变换 X(z) 收敛域 ROC
δ[n](单位脉冲) 1 整个z平面
u[n](单位阶跃) 1 / (1 - z^{-1}) |z| > 1
a^n · u[n](右边指数) 1 / (1 - a z^{-1}) |z| > |a|
-a^n · u[-n-1](左边指数) 1 / (1 - a z^{-1}) |z| < |a|
n · a^n · u[n] a z^{-1} / (1 - a z^{-1})² |z| > |a|
cos(ω₀ n) · u[n] (1 - cos(ω₀) z^{-1}) / (1 - 2cos(ω₀) z^{-1} + z^{-2}) |z| > 1
sin(ω₀ n) · u[n] sin(ω₀) z^{-1} / (1 - 2cos(ω₀) z^{-1} + z^{-2}) |z| > 1

注意看,a^n·u[n] 和 -a^n·u[-n-1] 的Z变换表达式一模一样,但收敛域完全不同。这就是为什么我说「表达式+ROC才完整」。你想想看,如果只给你 1/(1 - a z^{-1}),你能知道它对应的是右边指数还是左边指数吗?不能。

避坑指南:我曾经在分析一个IIR滤波器时,直接用了系统函数的表达式,没检查ROC。结果那个滤波器在理论上稳定,但实际实现时因为量化误差导致极点偏移,系统就炸了。所以——永远别只看表达式,要盯着ROC和极点位置

3.4 Z变换的性质

这些性质在推导系统函数、计算频率响应时能省不少事。我挑几个最常用的说说:

  • 线性性:Z{ax[n] + by[n]} = aX(z) + bY(z)。这个不用多解释,基本操作。
  • 时移性质:Z{x[n-k]} = z^{-k}X(z)。这个太重要了——差分方程转系统函数全靠它。
  • 卷积定理:Z{x[n] * h[n]} = X(z) · H(z)。说白了,时域卷积等于z域相乘。滤波器设计就是靠这个。
  • 初值定理:x[0] = lim_{z→∞} X(z)。检查计算结果对不对时,这个很好用。
  • 终值定理:lim_{n→∞} x[n] = lim_{z→1} (1 - z^{-1}) X(z)。系统稳态响应分析必备。
我的习惯:拿到一个系统,先用Z变换把差分方程转成系统函数 H(z),然后用卷积定理分析输入输出关系。这套流程在数字滤波器设计中几乎是标准操作。

3.5 知识体系总览

下面这张图是我自己梳理的Z变换知识结构,你看一眼就能明白各部分之间的关系:

Z变换基础 Z变换定义 收敛域 ROC 常用序列Z变换 双边Z变换 单边Z变换 右边序列ROC 左边序列ROC 指数序列 正余弦序列 Z变换性质:线性 | 时移 | 卷积 | 初值 | 终值 应用:系统函数 H(z) → 频率响应 → 滤波器设计

从这张图你能看到,Z变换的定义是根基,收敛域是灵魂,常用序列是工具,性质是桥梁,最终都指向系统分析和滤波器设计这个目标。

3.6 一个小例子

咱们来个简单的。假设有个系统,差分方程是:

y[n] = x[n] + 0.5 y[n-1]

两边做Z变换(用线性性和时移性质):

Y(z) = X(z) + 0.5 z^{-1} Y(z)
Y(z) - 0.5 z^{-1} Y(z) = X(z)
Y(z) (1 - 0.5 z^{-1}) = X(z)
H(z) = Y(z)/X(z) = 1 / (1 - 0.5 z^{-1})

系统函数 H(z) 的极点在 z=0.5,ROC 是 |z| > 0.5。单位圆(|z|=1)在ROC内,所以系统稳定。你看,几步就搞定了,比在时域里折腾差分方程省事多了。

我的建议:刚开始学的时候,多动手算几个例子。把常见序列的Z变换和ROC背熟,把线性、时移、卷积这三个性质用熟。后面学系统函数和频率响应时,你会发现这些基础越扎实,理解越轻松。

好了,Z变换的基础就说到这。记住三件事:定义要清楚,ROC不能丢,常用变换要熟。下一节咱们用这些工具去分析离散系统的频率响应,那才是真正好戏开场的地方。


公众号:蓝海资料掘金营,微信deep3321