Article

信号与系统-CH10-Z变换

信号与系统-CH10-Z变换,待补充摘要。

May 24, 2026 修考 20 min read

数字信号处理:Z 变换与滤波器设计

一、 Z 变换的基本概念 (Basic Concepts of Z-Transform)

1.1 提出目的与背景

在离散时间系统分析中,时域离散卷积计算较为繁琐。通过引入 Z 变换 (Z-Transform),我们可以将时域的差分方程与卷积运算映射到复频域(Z 域),将时域的卷积运算简化为 Z 域的代数乘法,从而极大地简化频率响应与系统特性的计算。

1.2 数学定义

对于一个离散时间序列 h[n]h[n],其 Z 变换定义为:

H(z)=k=h[k]zkH(z) = \sum_{k=-\infty}^{\infty} h[k] z^{-k}

其中 zz 是一个复变量:

z=rejω^z = r e^{j\hat{\omega}}

  • 当取 r=1r = 1(即在复平面上的单位圆上评估)时,z=ejω^z = e^{j\hat{\omega}},Z 变换即退化为离散时间傅里叶变换 (DTFT)

    H(ejω^)=k=h[k]ejω^kH(e^{j\hat{\omega}}) = \sum_{k=-\infty}^{\infty} h[k] e^{-j\hat{\omega}k}

1.3 时域、频域与 Z 域的关系图

这三个域相辅相成,构成了离散信号与系统分析的基石:

image-20260524092401662

1.4 基础例题解析

📝 例题 1:求单位冲激响应的 Z 变换

题目:已知某 LTI 系统的单位脉冲响应为 h[n]={2,0,3,0,2}h[n] = \{2, 0, -3, 0, 2\}(假设起点为 n=0n=0),求其 Z 变换 H(z)H(z)

解析: 根据 Z 变换的定义,展开级数:

H(z)=n=04h[n]znH(z) = \sum_{n=0}^{4} h[n] z^{-n}

H(z)=h[0]z0+h[1]z1+h[2]z2+h[3]z3+h[4]z4H(z) = h[0]z^{-0} + h[1]z^{-1} + h[2]z^{-2} + h[3]z^{-3} + h[4]z^{-4}

代入序列值:

H(z)=2z0+0z13z2+0z3+2z4H(z) = 2 \cdot z^0 + 0 \cdot z^{-1} - 3 \cdot z^{-2} + 0 \cdot z^{-3} + 2 \cdot z^{-4}

H(z)=23z2+2z4H(z) = 2 - 3z^{-2} + 2z^{-4}

💡 修正提示:原手写笔记中写成了 2δ(n)z03δ(n)z2+2δ(n)z42\delta(n)z^0 - 3\delta(n)z^{-2} + 2\delta(n)z^{-4},在写出变换域多项式 H(z)H(z) 时,冲激函数 δ[n]\delta[n] 的系数已直接转化为多项式的各项系数,无需再保留 δ(n)\delta(n) 符号。

📝 例题 2:求已知序列的 Z 变换

题目:已知时域输入序列 x[n]={2,4,6,4,2}x[n] = \{2, 4, 6, 4, 2\}(自 n=0n=0 开始),求其 Z 变换 X(z)X(z)

解析

X(z)=n=04x[n]zn=2+4z1+6z2+4z3+2z4X(z) = \sum_{n=0}^{4} x[n]z^{-n} = 2 + 4z^{-1} + 6z^{-2} + 4z^{-3} + 2z^{-4}

📝 例题 3:求逆 Z 变换 (Inverse Z-Transform)

题目:已知系统的 Z 变换多项式为:

X(z)=12z1+3z3z5X(z) = 1 - 2z^{-1} + 3z^{-3} - z^{-5}

求其对应的时域离散序列 x[n]x[n]

解析: 对照 Z 变换的标准级数展开式 X(z)=x[n]znX(z) = \sum x[n] z^{-n},读出各项系数:

  • x[0]=1x[0] = 1z0z^0 的系数)
  • x[1]=2x[1] = -2z1z^{-1} 的系数)
  • x[2]=0x[2] = 0(未出现 z2z^{-2} 项)
  • x[3]=3x[3] = 3z3z^{-3} 的系数)
  • x[4]=0x[4] = 0(未出现 z4z^{-4} 项)
  • x[5]=1x[5] = -1z5z^{-5} 的系数)

因此,时域序列为:

x[n]={1,2,0,3,0,1}(n=0,1,2,3,4,5)x[n] = \{1, -2, 0, 3, 0, -1\} \quad (n = 0, 1, 2, 3, 4, 5)

二、 Z 变换的性质与级联系统分析 (Properties & Cascade Systems)

2.1 延迟性质 (Delay Property)

x[n]X(z)x[n] \leftrightarrow X(z),则序列移位一期对应在 Z 域乘上 z1z^{-1}

x[n1]z1X(z)x[n-1] \leftrightarrow z^{-1}X(z)

  • 单位延迟系统 (Unit Delay System): 输入为 x[n]x[n],输出为 y[n]=x[n1]y[n] = x[n-1]。 其系统函数(传递函数)为:

    H(z)=Y(z)X(z)=z1H(z) = \frac{Y(z)}{X(z)} = z^{-1}

    其系统框图为:

    x[n] -----> [ z⁻¹ ] -----> y[n]

2.2 卷积性质 (Convolution Property)

时域的离散卷积对应 Z 域的代数乘积:

y[n]=h[n]x[n]Y(z)=H(z)X(z)y[n] = h[n] * x[n] \quad \Longleftrightarrow \quad Y(z) = H(z) \cdot X(z)

📐 卷积性质证明 (Mathematical Proof):

已知 y[n]=k=h[k]x[nk]y[n] = \sum_{k=-\infty}^{\infty} h[k]x[n-k],对其求 Z 变换:

Y(z)=n=y[n]zn=n=[k=h[k]x[nk]]znY(z) = \sum_{n=-\infty}^{\infty} y[n] z^{-n} = \sum_{n=-\infty}^{\infty} \left[ \sum_{k=-\infty}^{\infty} h[k]x[n-k] \right] z^{-n}

交换求和顺序:

Y(z)=k=h[k][n=x[nk]zn]Y(z) = \sum_{k=-\infty}^{\infty} h[k] \left[ \sum_{n=-\infty}^{\infty} x[n-k] z^{-n} \right]

m=nkm = n - k,则 n=m+kn = m + k,上式变为:

Y(z)=k=h[k][m=x[m]z(m+k)]Y(z) = \sum_{k=-\infty}^{\infty} h[k] \left[ \sum_{m=-\infty}^{\infty} x[m] z^{-(m+k)} \right]

Y(z)=k=h[k]zkm=x[m]zmY(z) = \sum_{k=-\infty}^{\infty} h[k] z^{-k} \cdot \sum_{m=-\infty}^{\infty} x[m] z^{-m}

Y(z)=H(z)X(z)Y(z) = H(z) \cdot X(z)

证明完毕。

2.3 卷积例题分析(多项式乘积表格法)

📝 例题 4:利用 Z 变换计算系统响应

题目:已知输入信号 x[n]x[n] 与系统的单位脉冲响应 h[n]h[n] 分别为:

x[n]=δ[n1]δ[n2]+δ[n3]δ[n4]x[n] = \delta[n-1] - \delta[n-2] + \delta[n-3] - \delta[n-4]

h[n]=δ[n]+2δ[n1]+3δ[n2]+4δ[n3]h[n] = \delta[n] + 2\delta[n-1] + 3\delta[n-2] + 4\delta[n-3]

求输出响应 y[n]=h[n]x[n]y[n] = h[n] * x[n]

解析: 首先将时域信号转换至 Z 域:

X(z)=z1z2+z3z4X(z) = z^{-1} - z^{-2} + z^{-3} - z^{-4}

H(z)=1+2z1+3z2+4z3H(z) = 1 + 2z^{-1} + 3z^{-2} + 4z^{-3}

计算 Z 域乘积 Y(z)=X(z)H(z)Y(z) = X(z) \cdot H(z)。我们可以利用多项式乘积表格(错位相加法)来进行高效计算:

乘数项 \ 系数对应z0z^0z1z^{-1}z2z^{-2}z3z^{-3}z4z^{-4}z5z^{-5}z6z^{-6}z7z^{-7}
X(z)X(z) 的系数01-11-1
乘上 H(z)H(z) 的第一项 (1)01-11-1
乘上 H(z)H(z) 的第二项 (2z12z^{-1})02-22-2
乘上 H(z)H(z) 的第三项 (3z23z^{-2})03-33-3
乘上 H(z)H(z) 的第四项 (4z34z^{-3})04-44-4
列相加结果 Y(z)Y(z)01122-31-4

通过对列进行求和,我们直接得出 Y(z)Y(z) 每一项的系数:

Y(z)=z1+z2+2z3+2z43z5+z64z7Y(z) = z^{-1} + z^{-2} + 2z^{-3} + 2z^{-4} - 3z^{-5} + z^{-6} - 4z^{-7}

通过逆 Z 变换转换回时域:

y[n]={0,1,1,2,2,3,1,4}(n=0,1,,7)y[n] = \{0, 1, 1, 2, 2, -3, 1, -4\} \quad (n = 0, 1, \dots, 7)

2.4 系统级联 (Cascaded Systems)

当两个线性时不变 (LTI) 系统串联接在一起时:

x[n] -----> [ H₁(z) ] -----> w[n] -----> [ H₂(z) ] -----> y[n]

等效的整体传递函数为两者的乘积:

H(z)=H1(z)H2(z)H(z) = H_1(z) \cdot H_2(z)

由于代数乘法满足交换律,串联系统的先后顺序可以任意调换(即 H1(z)H2(z)=H2(z)H1(z)H_1(z)H_2(z) = H_2(z)H_1(z)),其总系统的特性保持不变。

📝 例题 5:求级联系统的等效系统方程

题目:已知级联系统由两个子系统构成,差分方程分别为: 子系统 1:w[n]=x[n]x[n1]w[n] = x[n] - x[n-1] 子系统 2:y[n]=w[n]+w[n1]y[n] = w[n] + w[n-1] 求整个级联系统的系统函数 H(z)H(z) 以及时域差分方程。

解析

  • 方法一:Z 域分析法(推荐) 对两个子系统方程分别求 Z 变换:

    W(z)=X(z)z1X(z)    H1(z)=W(z)X(z)=1z1W(z) = X(z) - z^{-1}X(z) \implies H_1(z) = \frac{W(z)}{X(z)} = 1 - z^{-1}

    Y(z)=W(z)+z1W(z)    H2(z)=Y(z)W(z)=1+z1Y(z) = W(z) + z^{-1}W(z) \implies H_2(z) = \frac{Y(z)}{W(z)} = 1 + z^{-1}

    等效传递函数为:

    H(z)=H1(z)H2(z)=(1z1)(1+z1)=1z2H(z) = H_1(z) \cdot H_2(z) = (1 - z^{-1})(1 + z^{-1}) = 1 - z^{-2}

    转换为时域差分方程:

    Y(z)X(z)=1z2    Y(z)=X(z)z2X(z)\frac{Y(z)}{X(z)} = 1 - z^{-2} \implies Y(z) = X(z) - z^{-2}X(z)

    y[n]=x[n]x[n2]y[n] = x[n] - x[n-2]

  • 方法二:时域代入法(互相印证) 将子系统 1 的方程代入子系统 2 中:

    y[n]=w[n]+w[n1]y[n] = w[n] + w[n-1]

    y[n]=(x[n]x[n1])+(x[n1]x[n2])y[n] = (x[n] - x[n-1]) + (x[n-1] - x[n-2])

    y[n]=x[n]x[n2]y[n] = x[n] - x[n-2]

两种方法结果完全一致。

三、 零点与极点及其物理意义 (Zeros & Poles)

在 Z 域中,我们可以通过系统函数 H(z)H(z) 的零极点分布来直观分析系统的特性。

3.1 零点 (Zeros)

使系统传递函数值为 0 的复数 zz 值称为零点。即求解:

H(z)=0H(z) = 0

3.2 极点 (Poles)

使系统传递函数值趋于无穷大(\infty)的复数 zz 值称为极点。即求解:

H(z)分母多项式=0H(z) \to \infty \quad \Longleftrightarrow \quad \text{分母多项式} = 0

3.3 经典例题分析

📝 例题 6:求零极点并绘制零极点图

题目:已知某 LTI 系统:

H(z)=12z1+2z2z3H(z) = 1 - 2z^{-1} + 2z^{-2} - z^{-3}

求该系统的所有零点与极点,并在复平面上绘制示意图。

解析

  1. 求解零点: 令 H(z)=0H(z) = 0

    12z1+2z2z3=01 - 2z^{-1} + 2z^{-2} - z^{-3} = 0

    对该多项式进行因式分解:

    H(z)=(1z1)(1z1+z2)=0H(z) = (1 - z^{-1})(1 - z^{-1} + z^{-2}) = 0

    • 零点 11z1=0    z=11 - z^{-1} = 0 \implies z = 1

    • 零点 2, 31z1+z2=01 - z^{-1} + z^{-2} = 0 为了方便计算,两边同乘 z2z^2 得:

      z2z+1=0z^2 - z + 1 = 0

      由一元二次方程求根公式:

      z=(1)±(1)24(1)(1)2=1±j32=e±jπ/3z = \frac{-(-1) \pm \sqrt{(-1)^2 - 4(1)(1)}}{2} = \frac{1 \pm j\sqrt{3}}{2} = e^{\pm j\pi/3}

    所以系统的 3 个零点为:

    z=1,z=ejπ/3,z=ejπ/3z = 1, \quad z = e^{j\pi/3}, \quad z = e^{-j\pi/3}

  2. 求解极点: 为了寻找极点,我们将 H(z)H(z) 改写为带有正次方幂的有理分式形式:

    H(z)=12z+2z21z3=z32z2+2z1z3H(z) = 1 - \frac{2}{z} + \frac{2}{z^2} - \frac{1}{z^3} = \frac{z^3 - 2z^2 + 2z - 1}{z^3}

    令分母为零:z3=0z^3 = 0,解得 z=0z = 0(三重根)。 因此,系统在原点处有 3 个极点:

    p1=p2=p3=0p_1 = p_2 = p_3 = 0

  3. 零极点图 (Pole-Zero Plot): 在复平面(Z 平面)上,零点用 \circ 表示,极点用 ×\times 表示,单位圆 z=1|z|=1 是一条重要的参考边界:

image-20260524192633928

💡 核心答疑:如何用极点和零点来直观观察系统响应与发散(稳定性)?

你提到手写笔记中关于这一块有些疑惑,其实可以用以下两点来非常直观地理解:

1. 极点决定系统的“稳定性”(系统会不会发散)

  • 物理本质:极点代表系统的自然共振频率。在时域中,如果系统极点 pkp_k 的模大于 1(pk>1|p_k| > 1,即极点落在单位圆外部),那么该系统对应的脉冲响应会随着时间呈指数级增长 h[n]pknh[n] \propto p_k^n,导致系统发散(不稳定)
  • 稳定性充要条件因果 LTI 系统稳定的充要条件是,所有的极点都必须位于单位圆的内部(即 pk<1|p_k| < 1)。
  • 本题分析:上面的例题中,所有极点都位于原点 z=0<1z = 0 < 1,所以它是一个有限长冲激响应(FIR)系统,FIR 系统没有分母(或者说极点全在原点),因此绝对稳定,绝不发散

2. 零点和极点共同决定系统的“频率响应”(决定是高通/低通/带通)

  • 几何视角:当我们计算频率响应 H(ejω^)H(e^{j\hat{\omega}}) 时,我们实际上是让复变量 zz 沿着单位圆滑动(其对应的角度就是数字角频率 ω^\hat{\omega})。
  • 零点的作用(消减):当单位圆上的滑动点靠近某个零点时,系统在该频率处的响应会受到强烈抑制。如果零点正好落在单位圆上(如 z=ejπ/3z = e^{j\pi/3}),那么当频率 ω^=π/3\hat{\omega} = \pi/3 时,频率响应增益刚好为 0(对应的频率信号被完全滤除)。
  • 极点的作用(放大):如果系统有极点靠近单位圆,当单位圆上的滑动点滑到极点附近时,由于分母变得极小,系统在对应频率处的增益会产生一个巨大的共振峰值

image-20260524192657145

四、 FIR 滤波器设计 (FIR Filter Design)

4.1 核心设计思想:高通 vs 低通

  • 低通滤波器 (LPF):我们希望低频(接近 ω^=0\hat{\omega} = 0,即 z=1z=1 附近)信号通过,而高频(接近 ω^=π\hat{\omega} = \pi,即 z=1z=-1 附近)信号被滤除。因此,应该把零点放在高频区域,使高频处的增益为 0。
  • 高通滤波器 (HPF):我们希望高频信号通过,低频信号被滤除。因此,应该把零点放在低频区域(如 z=1z=1 处),使低频增益为 0。

💡 概念修正:在你的手写笔记 image_643110.jpg 中,标题写着“如何设计 high pass filter”,而下方写着“Reject completely 0.7π,0.8π,0.9π0.7\pi, 0.8\pi, 0.9\pi”。 事实上,因为 0.7π,0.8π,0.9π0.7\pi, 0.8\pi, 0.9\pi 属于高频成分,要把它们完全滤除(Reject),意味着让低频通过。所以这个例子实际设计的是一个低通滤波器 (Low-Pass Filter),而非高通。

4.2 案例分析:根据消减频率要求设计 FIR 滤波器

任务目标

  1. 设计一个低通 FIR 滤波器,确定其系数 bkb_k
  2. 要求完全消除频率为 ω^=0.7π,0.8π,0.9π\hat{\omega} = 0.7\pi, 0.8\pi, 0.9\pi 的信号。
  3. 确定滤波器的长度和需要多少个系数 bkb_k

设计步骤 1:根据阻带需求确定基础零点

为了完全滤除 0.7π,0.8π,0.9π0.7\pi, 0.8\pi, 0.9\pi 三个角频率,系统必须在这三个位置拥有零点:

z1=ej0.7π,z2=ej0.8π,z3=ej0.9πz_1 = e^{j0.7\pi}, \quad z_2 = e^{j0.8\pi}, \quad z_3 = e^{j0.9\pi}

此时的基础系统函数为:

Hbase(z)=(zej0.7π)(zej0.8π)(zej0.9π)H_{\text{base}}(z) = (z - e^{j0.7\pi})(z - e^{j0.8\pi})(z - e^{j0.9\pi})

设计步骤 2:添加共轭对称零点(实系数约束)

如果直接展开 Hbase(z)H_{\text{base}}(z),得到的滤波器系数 bkb_k 会是复数,这在实际电路或程序中很难实现。为了保证系数全部为实数,必须引入对应的共轭对称零点

z1=ej0.7π,z2=ej0.8π,z3=ej0.9πz_1^* = e^{-j0.7\pi}, \quad z_2^* = e^{-j0.8\pi}, \quad z_3^* = e^{-j0.9\pi}

组合共轭对称项:

(zejθ)(zejθ)=z2(ejθ+ejθ)z+e0=z22cos(θ)z+1(z - e^{j\theta})(z - e^{-j\theta}) = z^2 - (e^{j\theta} + e^{-j\theta})z + e^0 = z^2 - 2\cos(\theta)z + 1

将三组共轭零点两两配对,得到修正后的多项式:

Hreal(z)=(z22cos(0.7π)z+1)(z22cos(0.8π)z+1)(z22cos(0.9π)z+1)H_{\text{real}}(z) = (z^2 - 2\cos(0.7\pi)z + 1)(z^2 - 2\cos(0.8\pi)z + 1)(z^2 - 2\cos(0.9\pi)z + 1)

由于 cos(0.7π),cos(0.8π),cos(0.9π)\cos(0.7\pi), \cos(0.8\pi), \cos(0.9\pi) 都是实数,由此展开得到的系数必然全为实数。

设计步骤 3:引入原点极点(因果性约束)

此时展开的 Hreal(z)H_{\text{real}}(z) 含有 z6,z5z^6, z^5 \dots 等正次方项。

  • 物理意义:含有正次方项的系统在时域中表示为 y[n]=x[n+6]+y[n] = x[n+6] + \dots,这意味着系统需要用到未来的信号。这在实时处理系统中是无法实现的(非因果系统)。

  • 解决方法:我们在原点处引入 66 个极点(即整体除以 z6z^6),将其转化为因果系统:

    H(z)=Hreal(z)z6=z6Hreal(z)H(z) = \frac{H_{\text{real}}(z)}{z^6} = z^{-6} H_{\text{real}}(z)

    H(z)=(12cos(0.7π)z1+z2)(12cos(0.8π)z1+z2)(12cos(0.9π)z1+z2)H(z) = (1 - 2\cos(0.7\pi)z^{-1} + z^{-2})(1 - 2\cos(0.8\pi)z^{-1} + z^{-2})(1 - 2\cos(0.9\pi)z^{-1} + z^{-2})

4.3 最终设计结果

  1. 滤波器系统函数 H(z)H(z)

    H(z)=i=13(12cos(θi)z1+z2)其中 θi{0.7π,0.8π,0.9π}H(z) = \prod_{i=1}^{3} (1 - 2\cos(\theta_i)z^{-1} + z^{-2}) \quad \text{其中 } \theta_i \in \{0.7\pi, 0.8\pi, 0.9\pi\}

  2. 滤波器长度与系数数量: 因为最高的延迟项为 z6z^{-6}33 个二次多项式相乘),所以该 FIR 滤波器的阶数为:

    M=6M = 6

    所需的滤波器系数 bkb_k 数量(即滤波器长度 LL)为:

    L=M+1=7 个系数 (b0,b1,b2,b3,b4,b5,b6)L = M + 1 = 7 \text{ 个系数 } (b_0, b_1, b_2, b_3, b_4, b_5, b_6)

  3. 系数计算方式: 将多项式全部展开后:

    H(z)=b0+b1z1+b2z2+b3z3+b4z4+b5z5+b6z6H(z) = b_0 + b_1 z^{-1} + b_2 z^{-2} + b_3 z^{-3} + b_4 z^{-4} + b_5 z^{-5} + b_6 z^{-6}

    各系数对应时域差分方程:

    y[n]=k=06bkx[nk]y[n] = \sum_{k=0}^{6} b_k x[n-k]