第2章:Z变换基础

各位同学,今天我们来聊聊Z变换。说实话,我刚学控制那会儿,总觉得Z变换就是个数学游戏,跟实际工程八竿子打不着。直到有一次调试一个数字伺服系统,采样频率没选好,系统直接震荡了——嗯,从那以后我才真正明白,Z变换就是离散控制世界的「翻译官」。

2.1 Z变换的定义

先说说Z变换到底是个啥。你想想看,连续系统我们用拉普拉斯变换,把微分方程变成代数方程,多方便。离散系统呢?采样后的信号是一串数字序列,没法直接用拉普拉斯。Z变换就是干这个的——把离散序列映射到复平面上的Z域。

定义式其实很简单:

X(z) = Σ x[n] · z^(-n)   (n从0到∞)

这里z是个复数,|z|大于某个收敛半径时级数才收敛。我个人习惯把z^(-1)理解成「一个采样周期的延迟」,这样在分析系统时特别直观。

核心理解:Z变换把时域的离散序列x[n],变成了复频域的复变函数X(z)。说白了,就是换个角度看问题。

2.2 常用序列的Z变换

做项目时常用的就那么几个序列,我建议你背下来,省得每次查表。

序列 x[n] Z变换 X(z) 收敛域
单位脉冲 δ[n] 1 整个z平面
单位阶跃 u[n] z/(z-1) |z| > 1
斜坡序列 n·u[n] z/(z-1)² |z| > 1
指数序列 aⁿ·u[n] z/(z-a) |z| > |a|
正弦序列 sin(ω₀n)·u[n] z·sin(ω₀) / (z² - 2z·cos(ω₀) + 1) |z| > 1

举个例子,单位脉冲δ[n]的Z变换是1。为什么?因为δ[0]=1,其他点都是0,求和就剩一项。我在项目中经常用这个性质来测试系统的冲激响应,一测一个准。

小技巧:指数序列aⁿ的Z变换分母是(z-a),零点在z=a。这个零点位置直接决定了系统的稳定性——|a|<1才稳定。我曾经在电机控制项目里,就因为没注意这个,差点把驱动器烧了。

2.3 Z变换的性质

性质这块,我挑三个最常用的讲。线性、移位、卷积,搞懂了它们,你就能处理90%的离散系统问题。

2.3.1 线性性质

说白了就是「叠加原理」:

Z{a·x[n] + b·y[n]} = a·X(z) + b·Y(z)

这个太自然了,跟拉普拉斯变换一样。我在做数字滤波器设计时,经常把两个滤波器的输出加权求和,用的就是线性性质。

2.3.2 移位性质

这个要小心,分两种情况:

  • 右移(延迟):Z{x[n-k]} = z^(-k)·X(z),前提是x[n]是因果序列
  • 左移(超前):Z{x[n+k]} = z^k·X(z) - 初始项

右移好理解,延迟k个采样周期,就在Z域乘个z^(-k)。左移麻烦点,要减去初始条件。嗯,这里要注意,很多初学者在左移时忘了减初始项,结果系统响应算出来全是错的。

避坑指南:我曾经在写差分方程求解程序时,直接用z^k乘X(z)做左移,结果输出波形跟实际差了十万八千里。后来才发现,左移必须考虑x[0]、x[1]这些初始值。记住:左移不是简单的乘z^k!

2.3.3 卷积性质

这是Z变换最漂亮的性质:

Z{x[n] * y[n]} = X(z) · Y(z)

时域的卷积等于Z域的乘积。你想想看,本来要在时域做一堆累加求和,到了Z域就是一次乘法。我在做数字PID控制器时,就是用这个性质把控制器的传递函数拆成比例、积分、微分三部分相乘,调试起来特别方便。

2.4 知识体系总览

下面这张图,是我自己总结的Z变换知识框架。你照着这个思路学,不会乱。

Z变换知识体系 ① Z变换定义 X(z) = Σ x[n]·z^(-n) 从离散序列到复频域 ② 常用序列Z变换 δ[n]、u[n]、aⁿ、sin 背下来,项目常用 ③ Z变换性质 线性、移位、卷积 三大核心性质 单边Z变换 vs 双边Z变换 收敛域(ROC)的重要性 单位脉冲、阶跃、斜坡 指数序列、正弦序列 线性:叠加原理 移位:右移乘z^(-k) 卷积:时域卷积→Z域乘积 核心思想:用Z域代数运算,替代时域复杂计算 掌握Z变换 = 掌握离散系统的分析工具

2.5 实战小例子

光说不练假把式。我们来看一个实际例子:

假设有个离散系统,输入x[n] = (0.5)ⁿ·u[n],系统的单位脉冲响应h[n] = u[n] - u[n-3](一个持续3个采样点的矩形窗)。求输出y[n]。

用Z变换做:

X(z) = z/(z-0.5),收敛域 |z| > 0.5
H(z) = 1 + z^(-1) + z^(-2) = (z² + z + 1)/z²,收敛域 |z| > 0

Y(z) = X(z)·H(z) = [z/(z-0.5)] · [(z²+z+1)/z²]
     = (z²+z+1) / [z(z-0.5)]

然后做部分分式展开,再查表求逆Z变换,就能得到y[n]。

你看,时域卷积要算半天,Z域就是一次乘法。我在做数字信号处理时,这种操作几乎天天用。

我的习惯:遇到复杂的离散系统分析,先画Z域框图,把每个模块的传递函数写出来,然后直接用代数运算。比在时域折腾差分方程快多了。

好了,Z变换的基础就这些。记住三个关键词:定义、常用序列、三大性质。下次我们聊逆Z变换和系统函数,那才是真正开始「玩」离散系统。


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