傅里叶变换、拉普拉斯变换和 Z 变换常被分成三章来学,于是很容易只记住三套公式,却不知道它们为什么长得相似、什么时候应该换工具。
这篇笔记只围绕一条主线展开:
傅里叶变换观察“纯旋转”,拉普拉斯变换观察“带伸缩的旋转”,Z 变换把同一件事搬到了离散时间。
先把结论压缩成三句话:
- 傅里叶变换回答:信号里有哪些频率?各有多强、相位是多少?
- 拉普拉斯变换回答:给连续信号乘上指数权重后能否收敛?连续系统的暂态、初值和稳定性怎样?
- Z 变换是面向离散序列与差分方程的对应工具;在单位圆上观察 Z 变换,就是 DTFT。
文中的动画均在浏览器本地计算。可以拖动滑块,也可以暂停;不需要上传数据或加载第三方绘图库。
0. 先看全景图
移动端可在图中横向滑动查看 s 平面、z 平面和收敛域细节;系统启用“减少动态效果”时会自动显示静态图。
最重要的两条“切片关系”是:
XF(jω)=XL(s)s=jω,前提:拉普拉斯收敛域包含虚轴
XDTFT(ejΩ)=XZ(z)z=ejΩ,前提:Z 变换收敛域包含单位圆
连续与离散之间,则由采样关系连接:
z=esT
其中 T 是采样周期。
| 工具 |
输入对象 |
核函数 |
结果在哪里 |
常见工程用途 |
| 连续时间傅里叶变换(CTFT) |
x(t) |
e−jωt |
连续频率轴 |
频谱、滤波、稳态响应 |
| 拉普拉斯变换 |
x(t) |
e−st |
s=σ+jω 平面 |
微分方程、暂态、控制、电路 |
| DTFT |
x[n] |
e−jΩn |
单位圆上的连续角度 |
离散频谱、数字滤波 |
| Z 变换 |
x[n] |
z−n |
z=rejΩ 平面 |
差分方程、数字控制、极点零点 |
| DFT |
N 个样本 |
e−j2πkn/N |
N 个频点 |
计算机中的频谱估计 |
1. 它们为什么都使用复指数
欧拉公式把正弦与复平面旋转连在一起:
ejωt=cos(ωt)+jsin(ωt)
复指数不只是漂亮的记号。对线性时不变系统(LTI),在相应卷积收敛且讨论零状态响应时,它是特征函数:输入一个复指数,输出仍是同频率的复指数,只改变复数增益。
连续时间系统:
H{est}=H(s)est
离散时间系统:
H{zn}=H(z)zn
因此,在时域里比较麻烦的操作,进入变换域后会变简单:
| 时域操作 |
变换域结果 |
| 卷积 y=h∗x |
乘法 Y=HX |
| 连续求导 x˙(t) |
sX(s)−x(0−)(单边拉普拉斯) |
| 离散延迟 x[n−1] |
z−1X(z) |
| 差分 x[n]−x[n−1] |
(1−z−1)X(z) |
这就是为什么电路的微分方程、机械系统的动力学方程和数字滤波器的递推式,最后都会变成关于 s 或 z 的代数式。
2. 傅里叶变换:用“旋转探针”找频率
采用本篇的角频率约定,连续时间傅里叶变换为:
X(jω)=∫−∞∞x(t)e−jωtdt
逆变换为:
x(t)=2π1∫−∞∞X(jω)ejωtdω
可以把 e−jωt 想成一根反向旋转的探针:
- 探针频率和信号中的某个频率匹配时,那一部分会被“转停”,累积后得到较大的向量;
- 频率不匹配时,乘积仍在转,长时间累积后大多互相抵消;
- 向量长度给出强度,方向给出相位。
下面的实验使用有限观察窗,所以它计算的是有限时间相关量,而不是严格的无限区间积分。这也正好展示真实测量为何会出现有限分辨率与谱泄漏。
试着依次把探针调到 1 Hz、2 Hz 和 3 Hz:双频信号在 1 Hz 最强、3 Hz 次之,而 2 Hz 附近会明显抵消。换成方波后,还会在 3 Hz、5 Hz 看到奇次谐波。
傅里叶变换最擅长什么?
“稳定运行以后,各个正弦频率被系统放大了多少、延迟了多少。”它通常不是处理开机瞬间和初始条件的首选。
3. 拉普拉斯变换:先加指数权重,再做傅里叶分析
双边拉普拉斯变换定义为:
X(s)=∫−∞∞x(t)e−stdt,s=σ+jω
把核函数拆开:
e−st=e−σte−jωt
于是:
X(σ+jω)=F{x(t)e−σt}
这句话非常关键:拉普拉斯变换是一整族带指数权重的傅里叶变换。 这里选取的 σ 必须位于拉普拉斯 ROC 内,右侧积分才收敛。
- ω 控制旋转速度,也就是频率;
- σ 控制沿时间方向的指数加权;
- 改变 σ,一些原本不能直接做傅里叶积分的信号也可能收敛。
3.1 收敛域不是附加备注
考虑因果衰减信号:
x(t)=e−atu(t),a>0
其拉普拉斯变换是:
X(s)=∫0∞e−(s+a)tdt=s+a1,Re(s)>−a
右侧条件就是收敛域(region of convergence,ROC)。因为 a>0 时虚轴 σ=0 位于 ROC 内,所以普通傅里叶变换存在:
X(jω)=a+jω1
如果换成增长信号 eatu(t),拉普拉斯变换仍可在 Re(s)>a 的区域内存在,但虚轴不在 ROC 内,所以普通傅里叶积分不收敛。
因此,“令 s=jω 就得到傅里叶变换”只说了一半;另一半是:必须先确认虚轴处在 ROC 中。
3.2 双边与单边拉普拉斯各管什么
- 双边拉普拉斯积分范围是 (−∞,∞),适合讨论信号支撑、ROC、因果性与频谱关系;
- 单边拉普拉斯通常从 0− 积到 ∞,能自然带入初始条件,工程上常用来解电路和控制系统的初值问题。
例如:
L+{x˙(t)}=sX(s)−x(0−)
初值不是“消失了”,而是明确进入了代数方程。
4. Z 变换:离散时间中的伸缩与旋转
双边 Z 变换定义为:
X(z)=n=−∞∑∞x[n]z−n
令 z=rejΩ,则:
X(rejΩ)=n=−∞∑∞x[n]r−ne−jΩn
也就是说,半径 r 负责指数权重,角度 Ω 负责离散旋转。令 r=1,在 ROC 包含单位圆的前提下,就得到 DTFT:
X(ejΩ)=n=−∞∑∞x[n]e−jΩn
4.1 最简单、也最重要的 Z 变换对
对于:
x[n]=anu[n]
有:
X(z)=n=0∑∞anz−n=1−az−11,∣z∣>∣a∣
- 若 ∣a∣<1,序列衰减,单位圆位于 ROC 内,DTFT 存在;
- 若 ∣a∣>1,序列增长,Z 变换仍可能存在,但单位圆不在 ROC 内,普通 DTFT 不存在。
同一个代数式还可能对应左边序列:
−anu[−n−1],∣z∣<∣a∣
所以真正完整的答案不是只有 X(z),而是 X(z) 加 ROC。ROC 帮助判断序列是右边、左边还是双边,并决定单位圆上的 DTFT 是否存在;若 x[n] 是系统冲激响应,还需结合时移与系统假设判断因果性及频率响应。
4.2 DTFT、DFT 与 FFT 不要混为一谈
对于截取到的 N 个样本,DFT 为:
X[k]=n=0∑N−1x[n]e−j2πkn/N,k=0,1,…,N−1
它可以理解为:先把长度为 N 的有限序列做 DTFT,再在单位圆上等角度取 N 个样点:
X[k]=Xwindowed DTFT(ej2πk/N)
- DTFT 是关于连续角度 Ω 的周期函数;
- DFT/IDFT 变换对对应长度为 N 的周期延拓;在 DFT 域相乘,对应时域循环卷积;
- FFT 只是高效计算 DFT 的算法,不是第四种新变换。
5. 连续与离散的桥:为什么是 z = e^(sT)
连续模态 est 按周期 T 采样:
estt=nT=esTn=(esT)n
因此自然得到:
z=esT
若 s=σ+jω:
∣z∣=eσT,argz=ωT(mod2π)
这给出一张非常有用的稳定性地图:
- σ<0 的左半 s 平面映射到 ∣z∣<1;
- σ=0 的虚轴映射到单位圆;
- σ>0 的右半 s 平面映射到 ∣z∣>1;
- s 平面中相差 j2π/T 的点映射到同一个 z 点;等价地,连续角频率相差 2π/T 时会得到同一个离散角度。
这里还有一个很容易踩的坑:z=esT 精确描述了连续状态模态或状态矩阵特征值的采样映射;在模态可控、可观且没有被抵消时,它们才表现为离散传递函数极点。这个关系不等于“把任意 H(s) 中的 s 直接替换成 lnz/T 就完成数字化”。零阶保持、冲激响应不变法和双线性变换会得到不同的零点、增益与频率扭曲,必须根据实际输入保持方式和设计目标选择。
6. 极点、单位圆与频率响应
对于有理系统:
H(s)=K∏k(s−pk)∏i(s−zi),H(z)=K∏k(z−pk)∏i(z−zi)
当系统冲激响应的 ROC 分别包含虚轴或单位圆时,连续系统沿 s=jω 看频率响应,离散系统沿 z=ejΩ 看频率响应。几何上,响应幅值由观察点到零点、极点的距离决定:
∣H(ejΩ)∣=∣K∣∏k∣ejΩ−pk∣∏i∣ejΩ−zi∣
- 扫频点靠近零点,响应被压低;
- 扫频点靠近极点,响应被抬高;
- 因果有理离散系统要 BIBO 稳定,所有极点必须在单位圆内。
下面直接用一个 50 Hz 数字陷波器观察这件事。圆圈是零点,叉号是极点,亮点沿单位圆扫频。
7. 工程例题:从简单计算到完整链路
7.1 基础例题:RC 低通的暂态与稳态
电阻 R、电容 C 组成一阶低通,输入电压为 x(t),电容电压为 y(t):
RCy˙(t)+y(t)=x(t)
在零初始条件下做拉普拉斯变换:
(RCs+1)Y(s)=X(s)
所以传递函数为:
H(s)=X(s)Y(s)=RCs+11
若输入为幅值 V0 的阶跃,X(s)=V0/s:
y(t)=V0(1−e−t/(RC))u(t)
而把同一个 H(s) 放到虚轴上,就得到正弦稳态频率响应:
H(jω)=1+jωRC1
∣H(jω)∣=1+(ωRC)21,∠H(jω)=−arctan(ωRC)
取 R=10 kΩ、C=1 μF:
τ=RC=10 ms,fc=2πRC1≈15.9 Hz
若 V0=5 V,经过一个时间常数输出约为 3.16 V,经过 5τ 约为 4.97 V。
**怎么选工具:**上电过程和初始电压用拉普拉斯;正弦噪声能通过多少用傅里叶频响;二者来自同一个系统模型。
7.2 基础例题:10 点滑动平均能滤掉什么
长度为 M 的滑动平均:
y[n]=M1k=0∑M−1x[n−k]
Z 域传递函数:
H(z)=M1(1+z−1+⋯+z−(M−1))=M11−z−11−z−M
放到单位圆上:
H(ejΩ)=e−jΩ(M−1)/2Msin(Ω/2)sin(MΩ/2)
若采样率 fs=1000 Hz、M=10:
- 第一处零点在 100 Hz,也会在 200,300,… Hz 出现零点;
- 线性相位延迟为 (M−1)/2=4.5 个样本,即 4.5 ms;
- 增大 M 会增强平均效果,但会增加延迟并造成更明显的通带下垂。
这说明“平均得越多越好”并不成立。实时控制中,延迟往往和降噪同样重要。
7.3 进阶例题:振动传感器做 FFT 故障诊断
假设加速度传感器以 fs=1000 Hz 采样,记录 N=2000 点:
Trecord=fsN=2 s,Δf=Nfs=0.5 Hz
这里的 Δf 是 DFT 频点间隔,并不等于实际可分辨的最小谱线间隔;后者还受窗函数主瓣宽度、信噪比和估计方法影响。理想的 120 Hz 分量位于第:
k=fsfN=240
个频点。但真正的工程流程不能只写一句“做 FFT”:
- ADC 前抗混叠。 模拟低通必须在采样之前;混叠发生后无法靠数字滤波恢复。
- 去均值、去趋势。 否则 DC 和低频漂移可能淹没小故障特征。
- 选择窗函数。 非整周期截断会产生谱泄漏;Hann 窗常用,但会改变幅值与等效噪声带宽,需要做相应校正。
- 看记录时长而不只看采样率。 Δf=fs/N=1/Trecord 只是频点间隔;想可靠分开相距 0.2 Hz 的谱线,2 秒记录通常不够,还要结合窗函数主瓣与信噪比判断。
- 核对幅值定义。 单边谱、双边谱、峰值、RMS 与功率谱密度的标定不同,不能直接混用。
一个典型混叠例子是:
x1(t)=cos(2π100t),x2(t)=cos(2π900t)
以 1000 Hz 采样后:
x1[n]=cos(0.2πn)
x2[n]=cos(1.8πn)=cos(0.2πn)
两种模拟信号产生完全相同的离散样本。这不是 FFT 算错了,而是采样前已经丢失了可区分的信息。
7.4 进阶例题:把一阶连续对象精确采样
考虑一阶对象:
τy˙(t)+y(t)=u(t)
若 DAC 在每个采样周期内把输入保持为常数(零阶保持),则精确离散模型为:
y[k+1]=ay[k]+(1−a)u[k],a=e−T/τ
改写索引,并在零初始条件下做 Z 变换:
y[k]=ay[k−1]+(1−a)u[k−1]
Gd(z)=1−az−1(1−a)z−1
连续极点 s=−1/τ 映射成离散极点 z=e−T/τ。
如果只是给传感器实现“使用当前样本、没有额外整拍输入延迟”的一阶平滑器,常写成:
y[k]=ay[k−1]+(1−a)x[k]
两条递推式只差输入索引,却代表不同的采样时序;建模时不能把它们随意互换。
取 τ=20 ms、fs=500 Hz:
T=2 ms,a=e−0.1≈0.90484
实现只需要一次状态更新:
y = a * y + (1.0f - a) * x;
|
按连续的时间尺度计算,误差衰减到 2% 约需要 39.1 个采样周期,即 78.2 ms;按离散更新次数取整,第一次严格低于 2% 是第 40 次更新,即 80 ms。这是调节时间和响应速度,不是纯延迟;它比只说“截止频率大约是多少”更直接地回答了滤波动态有多慢。
7.5 复杂例题:质量—弹簧—阻尼系统从 s 平面到 z 平面
动力学方程:
my¨(t)+cy˙(t)+ky(t)=F(t)
零初始条件下:
H(s)=F(s)Y(s)=ms2+cs+k1
定义:
ωn=mk,ζ=2mkc
取 m=1 kg、c=4 Ns/m、k=100 N/m:
ωn=10 rad/s,ζ=0.2
极点为:
p1,2=−2±j9.798
这两个数字已经讲出了大部分动态特性:
- 实部 −2 决定包络约按 e−2t 衰减;
- 虚部 9.798 rad/s 决定阻尼振荡频率;
- 约 4/2=2 s 进入 2% 近似稳定带。
正弦外力下的稳态幅值由傅里叶切片给出:
∣H(jω)∣=(k−mω2)2+(cω)21
若以 fs=100 Hz 采样,T=0.01 s,连续极点映射为:
z1,2=ep1,2T=0.98020e±j0.09798≈0.97550±j0.09589
半径小于 1 表示离散模态仍然衰减;角度 0.09798 rad/sample 对应相同的物理振荡频率。这个例子把三种视角连了起来:拉普拉斯求模态和暂态,傅里叶看共振,Z 变换分析采样后的递推与稳定性。
如果有初始位移 y0 和速度 v0,单边拉普拉斯还能直接保留它们:
(ms2+cs+k)Y(s)=F(s)+msy0+mv0+cy0
7.6 复杂例题:50 Hz 工频陷波器
设采样率 fs=1000 Hz,目标频率 f0=50 Hz:
Ω0=2πfsf0=0.1π
把两个零点放在单位圆的目标角度,把一对极点放在同一角度、半径 r<1:
z1,2=e±jΩ0,p1,2=re±jΩ0
传递函数为:
H(z)=K1−2rcosΩ0z−1+r2z−21−2cosΩ0z−1+z−2
令直流增益为 1:
K=2−2cosΩ01−2rcosΩ0+r2
对应差分方程:
y[n]=2rcosΩ0y[n−1]−r2y[n−2]+K(x[n]−2cosΩ0x[n−1]+x[n−2])
当 r=0.98 时,极点的冲激响应包络大约按 rn 衰减:
Nτ≈−lnr1≈49.5 samples
即约 50 ms。把 r 推近单位圆会让陷波更窄,但暂态更长、系数误差也更敏感。前面的互动实验可以直接看到这组权衡。
7.7 综合例题:数字控制中的一拍延迟为什么危险
仍考虑一阶对象,采样模型为:
y[k+1]=ay[k]+bu[k],a=e−T/τ,b=1−a
若做零参考值调节,并能在本拍立即使用 u[k]=−Ky[k],闭环极点是:
λ=a−bK
稳定条件 ∣λ∣<1 给出:
−1<K<b1+a
若计算、通信或执行器引入一拍延迟,实际变成 u[k]=−Ky[k−1]:
y[k+1]=ay[k]−bKy[k−1]
特征方程变为:
λ2−aλ+bK=0
此时必须在 Z 域检查两个根是否都在单位圆内。二阶 Jury 条件为:
∣bK∣<1,1−a+bK>0,1+a+bK>0
由于 0<a<1 且 b=1−a>0,合并得到:
−1<K<b1
取 τ=0.1 s、fs=100 Hz:
a=0.90484,b=0.09516
无额外延迟时,正增益上限约为 20.02;加入一拍延迟后,Jury 稳定条件把正增益上限降到:
0<K<b1≈10.51
也就是说,只多一拍,允许的控制增益几乎减半。这是 Z 变换比“只看连续模型”更能揭示的典型数字控制问题。
8. 收敛域、因果性与稳定性的工程判据
对于有理变换,ROC 不包含极点。常见结论如下:
| 系统 |
因果有理系统的 ROC |
BIBO 稳定要求 |
因果 + 稳定时的极点位置 |
| 连续时间 |
最右侧极点右边 |
ROC 包含虚轴 |
全部在左半平面 |
| 离散时间 |
最外侧极点外面 |
ROC 包含单位圆 |
全部在单位圆内 |
这些结论有前提:因果、有理、讨论输入输出 BIBO 稳定性。 如果系统存在极零精确抵消,传递函数还可能隐藏状态空间中的内部不稳定模态,不能只看约分后的输入输出传递函数。
9. 常见误区与排错清单
9.1 “把 s 换成 jω 就是傅里叶变换”
不完整。先检查拉普拉斯 ROC 是否包含虚轴。否则只能在广义函数等更扩展的框架中讨论,不能把普通积分当作已经收敛。
9.2 “把 z 换成 e^(jΩ) 就是 DTFT”
同样需要单位圆位于 Z 变换 ROC 内。增长序列可能有 Z 变换,却没有普通 DTFT。
9.3 “DFT 就是连续信号的真实频谱”
DFT 看到的是:模拟前端、采样、有限记录窗和频率采样共同作用后的结果。混叠、泄漏、栅栏效应和幅值标定都要单独检查。
9.4 “采样率够高,DFT 就一定看得更细”
DFT 频点间隔由记录时长决定:
Δf=Nfs=Trecord1
提高 fs 却保持 N 不变,记录反而更短,频点间隔会变粗。实际谱线分辨能力还要结合窗函数主瓣、信噪比和估计方法判断。
9.5 “极点在稳定区就万事大吉”
极点位置不直接保证噪声、饱和、量化、计算延迟和未建模动态都可接受。它只回答给定线性模型下的一部分问题。
9.6 “z = e^(sT) 就是唯一离散化方法”
它准确映射指数模态,但完整传递函数离散化还取决于零阶保持、双线性变换、冲激响应不变法等选择。尤其要检查零点、增益、相位和频率翘曲。
10. 真正做题时怎样选择
最后可以把整篇笔记压缩成一句口诀:
看频率,用傅里叶;解连续暂态,用拉普拉斯;解离散递推,用 Z;从连续走向离散,先看 z=esT,再说明离散化方法。
参考书目与继续阅读
- A. V. Oppenheim, A. S. Willsky, Signals and Systems。
- A. V. Oppenheim, R. W. Schafer, Discrete-Time Signal Processing。
- K. Ogata, Modern Control Engineering。
- 本站笔记:Bode 图,可继续理解极点、频率响应和稳定裕度。