想象你收到一串手工定制的珍珠项链:珍珠一颗接一颗按固定间距串好,这就是离散信号——由一串离散时刻的采样值组成。你想知道这条项链耐不耐用、会不会一碰就散,于是请来一位鉴定师。鉴定师不直接摇晃它,而是用一台透视仪对准每一颗珍珠,把它的位置和振幅写成一行行编码,最后汇成一份鉴定报告。这台透视仪就是 Z 变换,鉴定报告就是系统函数 \(X(z)\)。 但报告不是处处通用的,页脚印着它的“适用区域”——收敛域。报告还附带一张复平面图:圆圈是零点,叉号是极点;零点是平衡扣,极点是薄弱点。安全围栏(单位圆)之内所有薄弱点都安分守己,系统就稳如磐石;只要有一个越界,项链就会越抖越散。需要复制项链时,鉴定师会把大报告拆成若干小报告,逐份还原再拼装——这正是逆 Z 变换的部分分式展开法。

岗位关联

对 AI 从业者而言,Z 变换是打开数字信号处理大门的万能钥匙:语音识别前的滤波、控制系统里的稳定性校验、通信中的信道均衡,都要靠它快速判断系统行为。掌握了它,你就能用一张复平面图看懂任何离散系统的“脾气”。

目录
  1. 可视化演示
  2. 信号映射原理:从珍珠项链到身份编码卡
  3. 收敛域分析:鉴定报告上的“适用区域”
  4. 零极点分析:报告上的“平衡扣”与“薄弱点”
  5. 系统稳定性判别:安全围栏内外的较量
  6. 逆Z变换方法:按报告复制还原项链
  7. 离散系统应用:从差分方程到系统函数
  8. 工程实践策略:让鉴定报告真正落地
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示Z变换核心概念:Z平面模式可视化零点(O)与极点(X)在复平面的分布,单位圆判定系统稳定性,收敛域(ROC)决定变换有效范围;频率响应模式展示由零极点导出的幅度与相位特性曲线。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Z平面零极点分析 极点(X)位于单位圆内,系统因果稳定 零点(O)不影响稳定性但影响频率响应形状 H(z)=B(z)/A(z), ROC: |z|>max|p_k| 收敛域为极点最大模值以外的区域,包含单位圆则系统稳定。

信号映射原理:从珍珠项链到身份编码卡

鉴定师接手项链后,第一步不是去摇晃它,而是给每颗珍珠单独拍照。他关心的只有两件事:这颗珍珠在丝线上的位置序号(对应离散时刻 \(n\)),以及它在当前时刻携带的振幅信息 \(x[n]\)。把每一颗珍珠的信息登记到一张表里,就得到一条完整的离散信号。离散信号因此可以被看作“一串有顺序的数字”,就像项链上“一串有编号的珍珠”。

登记完毕,鉴定师要回答一个关键问题:怎样把这一长串数字浓缩成一张“整体画像”?他的办法是:给每个时刻的值乘上一个复数权重 \(z^{-n}\),然后全部加总。这里的 \(z\) 是复平面上任意一点,不同的 \(z\) 代表不同的观察角度。换句话说,Z 变换把一条“以时间 \(n\) 为索引”的信号,翻译成一张“以复数 \(z\) 为索引”的画像函数 \(X(z)\)。这就是从时域到复频域的映射。

对因果序列(从 \(n=0\) 开始的序列),最常用的是单边 Z 变换:

回到项链的比喻:透视仪每对准一个复数 \(z\),就相当于从一个特定的“观察角度”看整条项链;把所有角度的观察结果汇合,才形成完整的鉴定报告 \(X(z)\)。珍珠从丝线走进档案册,信息没有丢失,只是换了一种陈列方式——这正是 Z 变换最奇妙的地方。

X(z)=∑n=0∞x[n] z−n\displaystyle X(z) = \sum_{n=0}^{\infty} x[n]\, z^{-n}
这个式子像鉴定师给整条项链的每颗珍珠拍照并加权叠加:每个时刻的采样值乘上对应权重,累加成一张完整的“指纹报告”。
  1. 序列值 \(x[n]\)第 \(n\) 颗珍珠的振幅信息,也就是离散时刻 \(n\) 的采样值,是整条项链的“本体”。
    x[n]x[n]
  2. 加权因子 \(z^{-n}\)给每个时刻编码的身份权重,\(z\) 是复平面的“观察角度”,不同 \(z\) 看到项链的不同侧面。
    z−nz^{-n}
  3. 累加求和从 0 到无穷把所有时刻的加权值叠加,像把整条项链压缩进一张卡片。
    ∑n=0∞(⋅)\sum_{n=0}^{\infty} (\cdot)
  4. 变换结果 \(X(z)\)以复数 \(z\) 为自变量的函数,也就是系统或信号在复频域的“指纹报告”。
    X(z)X(z)

收敛域分析:鉴定报告上的“适用区域”

每份鉴定报告上都印着一行小字:“本报告仅在××区域内有效。”同一个代数表达式,适用区域不同,背后对应的项链可能完全不同。这个“适用区域”就是收敛域(ROC)——使 \(X(z)\) 的累加求和能收敛到有限值的 \(z\) 的取值范围。没有收敛域的 \(X(z)\),就像没有盖章的报告,无法唯一说明问题。

最经典的例子是等比衰减序列 \(a^n u[n]\)。把它代入 Z 变换定义,得到一个等比级数。回忆中学知识:等比级数只有在公比的模小于 1 时才收敛。这里公比是 \(a z^{-1}\),于是收敛条件自然浮现:

收敛域的形态有三个要点:第一,它一定是某类环形区域(圆外、圆内或圆环),绝不会是乱七八糟的形状;第二,收敛域内不包含任何极点,边界通常由极点位置圈定;第三,因果序列的收敛域是最外层极点之外的圆外区域,反因果序列则是最内层极点之内的圆内区域。拿到一份 \(X(z)\) 先看收敛域再下结论,这是鉴定师的职业素养——两条项链可能外观不同,却共用同一个代数表达式。

X(z)=∑n=0∞anu[n] z−n=11−az−1,∣z∣>∣a∣\displaystyle X(z) = \sum_{n=0}^{\infty} a^{n} u[n]\, z^{-n} = \frac{1}{1 - a z^{-1}}, \qquad |z| > |a|
这个式子说明:一个看起来很简单的分式,只有在其收敛域 \(|z| > |a|\) 内才有意义,正如鉴定报告只在盖章区域内生效。
  1. 等比序列 \(a^n u[n]\)每颗珍珠按公比 \(a\) 等比放大或缩小,\(u[n]\) 表示项链从第 0 颗开始串起。
    anu[n]a^{n} u[n]
  2. 代入定义求和把等比序列代入 Z 变换定义,得到公比为 \(a z^{-1}\) 的等比级数。
    ∑n=0∞(az−1)n\sum_{n=0}^{\infty} (a z^{-1})^{n}
  3. 级数闭合公比模长小于 1 时级数收敛为简洁分式;公比模长大于等于 1 时级数发散,报告失效。
    11−az−1\frac{1}{1 - a z^{-1}}
  4. 收敛条件 \(|z| > |a|\)这是报告的“适用区域”,区域边界恰好由极点 \(a\) 的模决定。
    ∣z∣>∣a∣|z| > |a|

零极点分析:报告上的“平衡扣”与“薄弱点”

鉴定报告的核心是一张复平面图:圆圈代表零点,叉号代表极点。你可以把零点想象成项链上的“平衡扣”——在它附近,信号被强力压制;把极点想象成“薄弱点”——在它附近,信号会被急剧放大。整条项链的“脾气”(频率特性),几乎就由这些平衡扣和薄弱点的位置决定。

系统函数 \(H(z)\) 通常是有理分式:分子多项式等于 0 的点是零点 \(c_k\),分母多项式等于 0 的点是极点 \(d_k\)。把有理分式写成因子乘积形式,零极点便一目了然:

当 \(z\) 沿着单位圆行走(令 \(z = e^{j\omega}\)),\(H(z)\) 就变成频率响应 \(H(e^{j\omega})\)——一条“体检曲线”。幅度谱上,靠近零点的频段凹陷,靠近极点的频段隆起;极点越靠近单位圆,隆起越尖锐,形成共振峰。设计师看零极点图,就能预判整条项链在抖动下的反应:哪几段易断(极点),哪几段负责平衡(零点),一目了然。

H(z)=K∏k=1M(1−ckz−1)∏k=1N(1−dkz−1)\displaystyle H(z) = K \frac{\prod_{k=1}^{M}(1 - c_k z^{-1})}{\prod_{k=1}^{N}(1 - d_k z^{-1})}
这个式子把系统函数拆成零点和极点两串因子:分子上的零点让响应“凹陷”,分母上的极点让响应“隆起”,增益 \(K\) 只负责整体缩放。
  1. 增益常数 \(K\)系统总体的放大倍率,只整体抬升或压低响应,不改变零极点位置。
    KK
  2. 分子零点因子每个 \(c_k\) 使 \(H(z)\) 在该处取 0,对应幅度谱上的“谷底”。
    ∏k=1M(1−ckz−1)\prod_{k=1}^{M}(1 - c_k z^{-1})
  3. 分母极点因子每个 \(d_k\) 使 \(H(z)\) 在该处趋于无穷,对应幅度谱上的“尖峰”。
    ∏k=1N(1−dkz−1)\prod_{k=1}^{N}(1 - d_k z^{-1})
  4. 乘积结构任意有理系统都能拆成一阶因子的乘积,正如整条项链由许多小节组成。
    H(z)=K∏k=1M(⋅)∏k=1N(⋅)H(z) = K \frac{\prod_{k=1}^{M}(\cdot)}{\prod_{k=1}^{N}(\cdot)}

系统稳定性判别:安全围栏内外的较量

鉴定报告最关键的结论是:这条项链经得起折腾吗?把项链猛地一抖(注入一个单位冲激),然后观察它是否恢复平静。如果振幅随时间的流逝逐渐衰减到零,系统就是稳定的;如果越抖越厉害,就是不稳定的。这个“抖动试验”在数学上对应冲激响应 \(h[n]\) 的收敛性。

稳定性与极点位置直接挂钩。鉴定师在复平面上画下一个单位圆作为安全围栏:对因果系统,所有极点都必须安分地待在围栏内。用数学语言说:

需要强调:对任意离散 LTI 系统(不论因果与否),稳定的充要条件是收敛域包含单位圆。对因果系统,收敛域是最外极点之外的圆外区域,于是“收敛域含单位圆”等价于“所有极点都在单位圆内”。动画演示中的红叉就是极点:把它拖进圆内,冲激响应迅速衰减;拖到圆外,柱状图疯长。工程师判断系统稳不稳定,根本不需要真的把项链摇几百下,只要拿起报告看一眼极点位置——这就是 Z 变换带来的效率革命。

lim⁡n→∞h[n]=0⟺∣dk∣<1,  ∀ k(因果系统)\displaystyle \lim_{n \to \infty} h[n] = 0 \quad \Longleftrightarrow \quad |d_k| < 1, \; \forall \, k \quad (\text{因果系统})
这个式子把“系统稳不稳”翻译成一个简单的模长检查:因果系统的冲激响应衰减到零,当且仅当所有极点的模都小于 1。
  1. 极限趋于零冲激响应在时间足够长后被“抖没”,系统恢复平静。
    lim⁡n→∞h[n]=0\lim_{n \to \infty} h[n] = 0
  2. 全部极点达标每个极点的模都小于 1,即所有薄弱点都在安全围栏内,一个都不能越界。
    ∣dk∣<1,  ∀ k|d_k| < 1, \; \forall \, k
  3. 因果系统前提该结论在因果系统下成立;对一般系统,更通用的判据是“收敛域包含单位圆”。
    收敛域⊃{∣z∣=1}\text{收敛域} \supset \{ |z| = 1 \}

逆Z变换方法:按报告复制还原项链

有时候鉴定师需要反向操作:拿着报告 \(X(z)\),把原来的时域序列 \(x[n]\) 重新复制出来。这就像工匠拿到图纸,要把珍珠项链一根根重新串起来。逆 Z 变换就是从复频域回到时域的“反翻译”过程。

数学上,逆 Z 变换是一条围线积分:在收敛域内绕原点画一个闭合回路,对 \(X(z)\, z^{n-1}\) 做围线积分并除以 \(2\pi j\):

围线积分在工程中很少直接计算,更常用的是部分分式展开法。把高阶分式拆成若干一阶分式的加权和,每个一阶项都对应一张“熟面孔”——等比序列:

除了部分分式展开,留数定理和幂级数(长除法)展开也是常用手段:前者通过围线内极点处的留数求和,后者直接把 \(X(z)\) 展成 \(z^{-1}\) 的幂级数读出系数。工匠把复杂图纸拆成一张张小零件图,逐一加工再拼装——逆 Z 变换正是这种“拆解—还原—叠加”的智慧。

x[n]=12πj∮CX(z) zn−1 dz\displaystyle x[n] = \frac{1}{2\pi j} \oint_{C} X(z)\, z^{n-1} \, dz
围线积分像工匠沿着一个闭合路径“扫描”整份报告,路径上的每个点都对第 \(n\) 颗珍珠做一次贡献,最后叠加成完整的序列。
  1. 部分分式展开把高阶分式拆成 \(N\) 个一阶分式之和,每一项对应一个极点的“贡献”。
    X(z)=∑i=1NAi1−diz−1X(z) = \sum_{i=1}^{N} \frac{A_i}{1 - d_i z^{-1}}
  2. 留数系数 \(A_i\)第 \(i\) 个薄弱点的贡献权重,可通过留数公式或待定系数求出。
    Ai=lim⁡z→di(1−diz−1) X(z)A_i = \lim_{z \to d_i} (1 - d_i z^{-1})\, X(z)
  3. 逐项反变换每个一阶项对应表中熟悉的等比序列,直接写出时域表达式。
    Ai1−diz−1  ⟷  Ai di nu[n]\frac{A_i}{1 - d_i z^{-1}} \;\longleftrightarrow\; A_i\, d_i^{\,n} u[n]
  4. 叠加还原把小项的时域结果全部相加,得到最终序列 \(x[n]\)。
    x[n]=∑i=1NAi di nu[n]x[n] = \sum_{i=1}^{N} A_i\, d_i^{\,n} u[n]

离散系统应用:从差分方程到系统函数

现实世界中的数字滤波器、控制器、信道均衡器,本质上都是离散系统,而它们最常见的描述方式是差分方程。差分方程像项链的“编织口诀”:当前时刻的输出,由过去的输入与过去的输出共同推出来。它把物理规律写成了“一步接着一步”的递推规则。

面对差分方程,Z 变换的时移性质登场:序列延迟 \(k\) 拍,对应 \(X(z)\) 乘上 \(z^{-k}\)。对差分方程两边同时做 Z 变换,微积分般的复杂关系立刻变成代数关系:

拿到 \(H(z)\) 后,令 \(z = e^{j\omega}\) 即得频率响应,这就是数字滤波器设计的入口:低通、高通、带通,本质上都在安排零极点位置,雕刻幅度谱的形状。工匠不需要再一根根试珠子,只要在图纸上挪动零极点,就能预判成品的声音特质——数字滤波器设计,从此变成一门“画零极点”的手艺。

H(z)=Y(z)X(z)=∑k=0Mbkz−k1+∑k=1Nakz−k\displaystyle H(z) = \frac{Y(z)}{X(z)} = \frac{\sum_{k=0}^{M} b_k z^{-k}}{1 + \sum_{k=1}^{N} a_k z^{-k}}
这个式子把差分方程的“编织口诀”翻译成系统函数:分子上的 \(b_k\) 是“向前看”的前馈系数,分母上的 \(a_k\) 是“向后看”的反馈系数。
  1. 分子前馈项\(b_k\) 表示过去 \(M+1\) 个输入如何影响当前输出,对应口诀中向前看的记忆。
    ∑k=0Mbkz−k\sum_{k=0}^{M} b_k z^{-k}
  2. 分母反馈项\(a_k\) 表示过去 \(N\) 个输出如何回流影响自己,对应输出回环。
    1+∑k=1Nakz−k1 + \sum_{k=1}^{N} a_k z^{-k}
  3. 系统函数输出 Z 变换与输入 Z 变换之比,是系统在复频域的“完整档案”。
    H(z)=Y(z)X(z)H(z) = \frac{Y(z)}{X(z)}

工程实践策略:让鉴定报告真正落地

理论报告再漂亮,落到芯片和代码里还有一段路要走。直接按高阶差分方程实现,对系数量化误差极其敏感:就像用一根极细的丝线串很重的珍珠,稍微一抖就绷断。工程上首先要做“拆项链”——把高阶系统拆成一阶或二阶子系统的级联。

级联结构的意义在于:每个子系统只含少量系数,量化误差相互独立,整体数值稳定性大幅提高。数学上就是系统函数的乘积分解:

除级联分解外,工程上还有三条经验:其一,判断极点时慎用高阶直接求根,\(np.roots\) 对 50 阶以上的多项式往往数值病态,应拆成二阶节分别求根;其二,实系数系统的复零点、复极点必须共轭成对出现,否则系统函数无法用实数系数实现;其三,计算频率响应时,用 \(z^{-k}\) 递推累加比直接代多项式更稳定。工程师与鉴定师的分野就在这里:鉴定师负责读懂报告,工程师负责让报告在真实世界中经受住抖动——把大项链拆成小节再串,是最朴素也最实用的智慧。

H(z)=H1(z) H2(z)⋯Hm(z),Hi(z)=1+βi,1z−11+αi,1z−1\displaystyle H(z) = H_1(z)\, H_2(z) \cdots H_m(z), \qquad H_i(z) = \frac{1 + \beta_{i,1} z^{-1}}{1 + \alpha_{i,1} z^{-1}}
这个式子展示工程中最实用的策略:把一个大而脆弱的系统,拆成多个小而结实的“一贯珠”(二阶节),逐一实现再串联。
  1. 级联乘积总系统被拆成 \(m\) 个子系统依次串联,整体行为不变,数值行为更稳。
    H(z)=H1(z) H2(z)⋯Hm(z)H(z) = H_1(z)\, H_2(z) \cdots H_m(z)
  2. 一阶节标准型每个小节只有一两个系数,便于硬件与代码实现。
    Hi(z)=1+βi,1z−11+αi,1z−1H_i(z) = \frac{1 + \beta_{i,1} z^{-1}}{1 + \alpha_{i,1} z^{-1}}
  3. 整体稳定性各小节极点都在单位圆内时,整体必然稳定。
    ∣αi,1∣<1,  ∀ i|\alpha_{i,1}| < 1, \; \forall \, i

AI 应用场景

语音降噪中的数字滤波器设计

阶段:信号预处理(特征工程)

解决的问题:语音识别前需要对原始音频去噪,传统被动滤波很难精确雕刻语音频段的幅度谱。用 Z 变换分析滤波器的零极点,可以快速判断其是否因果稳定、目标频段是否隆起或凹陷。

具体案例:某语音助手唤醒词检测流水线中,工程师用 IIR 滤波器做高通预加重。先在 Python 里求出 \(H(z)\) 的极点,发现一个极点模长为 1.02 落在单位圆外,导致递推发散。改用级联二阶节实现后,系统稳定且语音频段增益提升 6 dB,唤醒率明显改善。

自动驾驶控制环路的稳定性分析

阶段:控制策略验证

解决的问题:自动驾驶横向控制器的离散控制律在采样周期不匹配时会震荡甚至发散。传统做法靠实车反复试,成本高且有安全风险。

具体案例:工程师把控制律写成差分方程,再做 Z 变换画出零极点图,发现极点随车速升高逐渐移出单位圆,判定高速工况不稳定。于是调整控制增益与采样频率,把极点拉回圆内,上线前就在仿真中完成了稳定性验证。

通信信道均衡器的收敛设计

阶段:信号恢复

解决的问题:无线信道多径效应造成符号间干扰,均衡器本质上是一个逆滤波器,其系统函数必须稳定,否则会把噪声无限放大。

具体案例:设计 16 阶自适应均衡器时,工程师用部分分式展开检查 \(H(z)\) 的收敛域是否包含单位圆,定位到一对共轭极点落在圆外,调整均衡器抽头系数后重新验证零极点分布,最终误码率下降一个数量级。

Python 演示

python64 行
import numpy as np def check_stability(den):    # 求系统函数分母的极点, 判断全部极点是否在单位圆内    poles = np.roots(den)    max_mag = np.max(np.abs(poles))    return poles, max_mag, max_mag < 1.0 def freq_response(num, den, N=512):    # 在单位圆 z = e^{j*w} 上计算频率响应 H(e^{j*w})    w = np.linspace(0, np.pi, N)    H = np.zeros(N, dtype=complex)    for i in range(N):        z = np.exp(-1j * w[i])        s_num = 0.0 + 0.0j        for k, bk in enumerate(num):            s_num += bk * z ** k        s_den = 0.0 + 0.0j        for k, ak in enumerate(den):            s_den += ak * z ** k        H[i] = s_num / s_den    return w, H def impulse_response(num, den, n_steps=40):    # 用差分方程递推计算单位冲激响应 h[n]    h = np.zeros(n_steps)    x = np.zeros(n_steps)    x[0] = 1.0            # 注入单位冲激, 模拟"抖项链"    for n in range(n_steps):        acc = 0.0        for k, bk in enumerate(num):            if n - k >= 0:                acc += bk * x[n - k]        for k in range(1, len(den)):            if n - k >= 0:                acc -= den[k] * h[n - k]        h[n] = acc    return h def main():    # 例1: 稳定系统 H(z) = 1 / (1 - 0.8 z^{-1}), 极点在单位圆内    b1 = [1.0]    a1 = [1.0, -0.8]    poles1, mag1, ok1 = check_stability(a1)    print("例1 极点:", poles1, "|p|max =", round(mag1, 3), "稳定 =", ok1)     # 例2: 不稳定系统 H(z) = 1 / (1 - 1.2 z^{-1}), 极点在单位圆外    b2 = [1.0]    a2 = [1.0, -1.2]    poles2, mag2, ok2 = check_stability(a2)    print("例2 极点:", poles2, "|p|max =", round(mag2, 3), "稳定 =", ok2)     h1 = impulse_response(b1, a1)    h2 = impulse_response(b2, a2)    print("例1 冲激响应: h[10] =", round(h1[10], 4), ", h[30] =", round(h1[30], 5))    print("例2 冲激响应: h[10] =", round(h2[10], 3), ", h[30] =", round(h2[30], 3))     w, H = freq_response(b1, a1)    mag = np.abs(H)    print("例1 频率响应: |H(e^j0)| =", round(mag[0], 3),          ", |H(e^jpi)| =", round(mag[-1], 3)) if __name__ == "__main__":    main()
目的:用 NumPy 复现 Z 变换的核心分析流程——求极点判稳定性、递推冲激响应、在单位圆上计算频率响应,是“项链抖动试验”的数字化版本。
  1. poles = np.roots(den)求分母多项式的根,即系统函数的极点位置
  2. max_mag < 1.0检查全部极点的最大模是否小于 1,等价于“是否都在单位圆内”
  3. x[0] = 1.0注入单位冲激作为激励,模拟鉴定师“抖一下项链”
  4. acc -= den[k] * h[n - k]反馈项:过去的输出回流影响当前输出,是差分方程的灵魂
  5. z = np.exp(-1j * w[i])让 \(z\) 在单位圆上行走,采样得到频率响应
  6. if __name__ == "__main__":脚本可直接运行入口,输出两个系统的对比结论

常见误区

误区“我都写出 \(X(z)=1/(1-0.8z^{-1})\) 了,收敛域不用写吧,反正就是那个分式,结果都一样。”

正解同一个代数分式,收敛域不同,对应的时域序列完全不同:\(|z|>0.8\) 对应右序列 \(0.8^n u[n]\),\(|z|<0.8\) 对应左序列 \(-0.8^n u[-n-1]\)。收敛域是报告的“适用区域”印章,没有它,报告无法唯一还原成一条项链。

为何常见:课堂推导常常跳过级数收敛性检查,让人误以为 \(X(z)\) 只取决于代数式,而忘了 Z 变换从级数求和而来,收敛条件天然内嵌在定义中。

误区“只要所有极点的模都小于 1,系统就一定稳定,跟因果不因果没关系。”

正解“极点全在单位圆内”是因果系统稳定的条件。对非因果系统,正确判据是收敛域包含单位圆。同一个分式,若收敛域取 \(|z|<0.8\),对应左序列,收敛域不包含单位圆,系统并不稳定。因果性决定了收敛域是圆外还是圆内,也就决定了稳定性结论。

为何常见:教材大量用因果系统举例,读者容易把特例条件记成普适结论,忽略了 ROC 的“适用区域”属性。

误区“把拉普拉斯变换里的 \(s\) 换成 \(z\) 就是 Z 变换,两者完全一回事,可以互相代换。”

正解两者确实通过 \(z = e^{sT}\) 关联,但映射是非线性的:\(s\) 域左半平面映射到 \(z\) 域单位圆内,而 \(s\) 轴的虚轴被“卷”成了单位圆,导致频率发生非线性压缩(频率弯曲)。模拟频率越高,弯折越明显,设计滤波器时不能直接照搬模拟原型。

为何常见:两个变换的定义式长得像,初学者容易把域之间的映射理解成逐点替换,忽略了指数映射的“卷绕”效应。

误区“逆 Z 变换就是查表,把分式跟表里比对,对上就抄答案,对不上就没办法。”

正解查表只能覆盖寥寥几种简单形式。工程中真正通用的是部分分式展开:把高阶 \(H(z)\) 拆成一阶/二阶子系统,每个子系统再用留数或待定系数求权重,最终落到等比序列的叠加。理解原理后,任意阶系统都能处理。

为何常见:教材例题都太规整,让人误以为查表能包打天下,实际工程系统往往高阶且带复数极点。

误区“用 `np.roots` 直接求 50 阶分母多项式的根,计算机算得又快又准,结果肯定没问题。”

正解高阶多项式求根对系数微小扰动极其敏感,这是数值分析的著名病态问题。直接求根往往得到错误极点,误判稳定性。工程做法是先把系统拆成二阶子系统再逐个求根,或对系数做平衡缩放,这正是级联结构的价值所在。

为何常见:计算机的高精度让人忽略了算法固有的数值缺陷,直到高维场景翻车才追悔莫及。

面试题

Q1. Z 变换的定义式中,当 \(z\) 的模等于 1(即 \(z = e^{j\omega}\))时,\(X(z)\) 退化成什么?

单选题 · easy

  • A.拉普拉斯变换
  • B.离散时间傅里叶变换(DTFT)← 正确答案
  • C.傅里叶级数
  • D.连续小波变换

答案:B。把 \(z=e^{j\omega}\) 代入 \(X(z)=\sum x[n]z^{-n}\),得到 \(\sum x[n]e^{-j\omega n}\),这正是 DTFT 的定义。就像鉴定师把观察角度固定到单位圆这个“标准看台”上,透视仪就变成了普通望远镜(DTFT)。

Q2. 已知 \(X(z) = 1/(1-0.8z^{-1})\),不指定收敛域时,它对应的时域序列是否唯一?

单选题 · easy

  • A.唯一,就是 \(0.8^n u[n]\)
  • B.唯一,就是 \(-0.8^n u[-n-1]\)
  • C.不唯一,取决于收敛域取圆外还是圆内← 正确答案
  • D.唯一,与收敛域无关

答案:C。同样的代数式,\(|z|>0.8\) 对应右序列 \(0.8^n u[n]\),\(|z|<0.8\) 对应左序列,两者完全不同。收敛域是鉴定报告的“适用范围”印章,没有它,报告无法唯一还原成项链。

Q3. 因果 LTI 离散系统稳定的充要条件是什么?

单选题 · mid

  • A.全部零点都在单位圆内
  • B.全部极点都在单位圆内← 正确答案
  • C.全部零点都在单位圆外
  • D.收敛域为空集

答案:B。因果系统的收敛域是最外层极点之外的圆外区域,要使收敛域包含单位圆,所有极点必须落在单位圆内。极点像“薄弱点”,全部待在安全围栏内,项链才经得起抖动。

Q4. 离散 LTI 系统(不限于因果)稳定的充要条件是?

单选题 · mid

  • A.所有极点模小于 1
  • B.所有零点模小于 1
  • C.收敛域包含单位圆← 正确答案
  • D.系统函数没有零点

答案:C。通用判据是收敛域包含单位圆。对因果系统它等价于极点全在圆内,但非因果系统不能直接套用极点判据。稳定系统的冲激响应绝对可和,单位圆必然落在收敛域内,这是最本质的条件。

Q5. 关于系统函数 \(H(z)\) 的极点,下列说法正确的有?

多选题 · mid

  • A.在极点处 \(|H(z)|\) 趋于无穷大← 正确答案
  • B.极点个数通常等于系统分母多项式阶数← 正确答案
  • C.极点位置直接决定因果系统的稳定性← 正确答案
  • D.极点与零点可以任意互相抵消而无副作用

答案:ABC。极点使系统函数发散,个数由分母阶数决定,并直接决定因果系统稳定性。零极点虽可数学对消,但物理实现中系数微小误差会让“对消”失效,并非无副作用。

Q6. 求解逆 Z 变换的常用方法包括哪些?

多选题 · hard

  • A.部分分式展开法← 正确答案
  • B.留数定理(围线积分法)← 正确答案
  • C.幂级数展开(长除法)← 正确答案
  • D.直接对差分方程求通解

答案:ABC。部分分式展开把大分式拆成小分式,留数定理沿围线积分提取第 \(n\) 项,长除法把 \(X(z)\) 展成 \(z^{-1}\) 的幂级数直接读系数,三者是经典逆变换方法。差分方程求通解是纯时域路线,不借助 Z 变换,无法反向恢复任意 \(X(z)\) 对应的序列。

Q7. 用部分分式展开法求逆 Z 变换时,核心思想是什么?

单选题 · hard

  • A.将高阶系统拆成一阶/二阶子系统,分别还原再叠加← 正确答案
  • B.把序列截断成有限长
  • C.对 \(H(z)\) 取对数再展开
  • D.把收敛域平移到实轴上

答案:A。部分分式把有理分式拆成若干一阶项的加权和,每项对应熟悉的等比序列 \(A_i d_i^n u[n]\),最后叠加得到完整序列。这正是工匠把复杂图纸拆成小零件图、逐一加工再拼装的过程。

Q8. 数字系统的频率响应 \(H(e^{j\omega})\) 是 \(H(z)\) 在复平面上哪个位置的取值?

单选题 · easy

  • A.实轴上的点
  • B.虚轴上的点
  • C.单位圆上的点← 正确答案
  • D.收敛域边界上的点

答案:C。令 \(z=e^{j\omega}\),\(\omega\) 从 0 扫到 \(2\pi\),相当于让 \(z\) 在单位圆上走一圈。单位圆是“标准看台”,频率响应就是站在看台上观察系统在不同频率下的行为。

Q9. 下列关于零点对系统影响的说法,正确的有?

多选题 · mid

  • A.零点使 \(H(z)\) 在对应位置取零← 正确答案
  • B.零点的位置影响幅度谱的凹陷← 正确答案
  • C.零点越多系统一定越稳定
  • D.实系数系统的复零点必须共轭成对出现← 正确答案

答案:ABD。零点使系统函数取零,在幅度谱上制造凹陷(陷波);但稳定性只由极点与收敛域决定,与零点多少无关。实系数多项式若有复根,必共轭成对出现,否则系数无法保持实数。

Q10. 某因果系统 \(H(z) = 1\big/((1-z^{-1})(1-0.5z^{-1}))\),关于其稳定性下列说法正确的是?

单选题 · extreme

  • A.系统稳定,因为极点的实部都小于 1
  • B.系统不稳定,因为极点 \(z=1\) 落在单位圆上,收敛域不含单位圆← 正确答案
  • C.系统临界稳定且适合实际实现
  • D.无法判断,需要知道零点位置

答案:B。系统极点分别为 \(z=1\) 和 \(z=0.5\),其中 \(z=1\) 恰好在单位圆上。因果系统的收敛域为 \(|z|>1\),不包含单位圆,因此不稳定。其冲激响应 \(h[n]=2-0.5^n\) 不衰减到零,而是趋于常数 2,印证了判别结论。