当前位置: 首页 > news >正文

[学习] 深入解析Z变换:从数学基础到工程应用

深入解析Z变换:从数学基础到工程应用

文章目录

    • 深入解析Z变换:从数学基础到工程应用
      • 摘要
      • 一、Z变换的数学定义
        • 1. 基本表达式
        • 2. 收敛域(Region of Convergence, ROC)
      • 二、数学意义:为什么需要Z变换?
        • 1. 对DTFT的推广
        • 2. 与拉普拉斯变换的关系
        • 3. 微分方程的代数化
      • 三、物理意义:复平面中的信号与系统
        • 1. 复平面(Z平面)的几何解释
        • 2. 零极点分析
        • 3. 系统稳定性判据
      • 四、工程应用:数字信号处理案例
        • 案例1:数字滤波器设计
        • 案例2:系统稳定性分析
        • 案例3:卷积计算的简化
      • 五、Z变换的核心性质
      • 结语:Z变换的工程哲学

摘要

Z变换是离散时间信号系统分析的核心数学工具,通过将时域序列映射到复平面(Z域),为数字滤波器设计、系统稳定性分析和频谱计算提供了理论基础。本文从数学定义出发,结合物理意义与工程案例,系统剖析Z变换在数字信号处理中的核心作用,并提供完整的Python可视化实现。


一、Z变换的数学定义

1. 基本表达式

离散时间信号 x [ n ] x[n] x[n] 的双边Z变换定义为:
X ( z ) = ∑ n = − ∞ ∞ x [ n ] ⋅ z − n X(z) = \sum_{n=-\infty}^{\infty} x[n] \cdot z^{-n} X(z)=n=x[n]zn
其中:

  • z z z 为复变量: z = r e j ω z = re^{jω} z=re r r r 表示幅度衰减/增长因子, ω ω ω 为数字角频率
  • n n n 为离散时间索引:序列在时间轴上的位置

单边Z变换(适用于因果系统)定义为:
X ( z ) = ∑ n = 0 ∞ x [ n ] ⋅ z − n X(z) = \sum_{n=0}^{\infty} x[n] \cdot z^{-n} X(z)=n=0x[n]zn

2. 收敛域(Region of Convergence, ROC)

Z变换的收敛性由收敛域决定。ROC是复平面上使级数绝对可和的 z z z 值集合:
∑ n = − ∞ ∞ ∣ x [ n ] ⋅ r − n ∣ < ∞ \sum_{n=-\infty}^{\infty} |x[n] \cdot r^{-n}| < \infty n=x[n]rn<

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Circle, Wedgedef plot_roc():fig, ax = plt.subplots(figsize=(8, 8))# 单位圆unit_circle = Circle((0, 0), 1, fill=False, color='blue', linestyle='--', alpha=0.7)ax.add_patch(unit_circle)# 右边序列ROC (|z| > 0.5)wedge_out = Wedge((0,0), 1.5, 0, 360, width=0.5, color='red', alpha=0.3)ax.add_patch(wedge_out)ax.text(1.2, 0.1, '|z|>0.5\n(右边序列)', fontsize=10)# 左边序列ROC (|z| < 0.8)wedge_in = Wedge((0,0), 0.8, 0, 360, width=0.8, color='green', alpha=0.3)ax.add_patch(wedge_in)ax.text(0.1, 0.6, '|z|<0.8\n(左边序列)', fontsize=10)# 双边序列ROC (0.4 < |z| < 0.9)ring = Wedge((0,0), 0.9, 0, 360, width=0.5, color='purple', alpha=0.3)ax.add_patch(ring)ax.text(0.3, 0.1, '0.4<|z|<0.9\n(双边序列)', fontsize=10)# 设置坐标轴ax.axhline(0, color='black', alpha=0.3)ax.axvline(0, color='black', alpha=0.3)ax.set_xlim(-1.6, 1.6)ax.set_ylim(-1.6, 1.6)ax.set_aspect('equal')ax.set_title('Z变换收敛域(ROC)类型', fontsize=14)ax.set_xlabel('实部(Re)', fontsize=12)ax.set_ylabel('虚部(Im)', fontsize=12)ax.grid(True, linestyle='--', alpha=0.6)plt.tight_layout()plt.show()# 执行绘图
plot_roc()

二、数学意义:为什么需要Z变换?

1. 对DTFT的推广

离散时间傅里叶变换(DTFT)可视为Z变换在单位圆上的特例:
X ( e j ω ) = X ( z ) ∣ z = e j ω X(e^{jω}) = X(z) \big|_{z=e^{jω}} X(e)=X(z) z=e
DTFT要求信号绝对可和,而Z变换通过引入衰减因子 r − n r^{-n} rn 放宽了收敛条件。

2. 与拉普拉斯变换的关系

对连续信号采样后(采样周 T T T),其拉普拉斯变换为超越函数:
X ( s ) = ∑ n = − ∞ ∞ x ( n T ) e − s n T X(s) = \sum_{n=-\infty}^{\infty} x(nT) e^{-snT} X(s)=n=x(nT)esnT
通过变量代换 z = e s T z = e^{sT} z=esT,得到Z变换:
X ( z ) = ∑ n = − ∞ ∞ x [ n ] z − n X(z) = \sum_{n=-\infty}^{\infty} x[n] z^{-n} X(z)=n=x[n]zn
这一变换将超越函数转化为有理分式,极大简化了计算。

3. 微分方程的代数化

Z变换将差分方程(离散系统的描述工具)转化为代数方程:
时域差分方程: a 0 y [ n ] + a 1 y [ n − 1 ] = b 0 x [ n ] → Z域代数方程: ( a 0 + a 1 z − 1 ) Y ( z ) = b 0 X ( z ) \begin{aligned} \text{时域差分方程:} & \quad a₀y[n] + a₁y[n-1] = b₀x[n] \\ \rightarrow \text{Z域代数方程:} & \quad (a₀ + a₁z⁻¹)Y(z) = b₀X(z) \end{aligned} 时域差分方程:Z域代数方程:a0y[n]+a1y[n1]=b0x[n](a0+a1z1)Y(z)=b0X(z)
这一特性类比于拉普拉斯变换对微分方程的简化作用。


三、物理意义:复平面中的信号与系统

1. 复平面(Z平面)的几何解释
  • 单位圆( ∣ z ∣ = 1 |z|=1 z=1):对应稳态频率响应
  • 圆内区域( ∣ z ∣ < 1 |z|<1 z<1):信号分量衰减
  • 圆外区域( ∣ z ∣ > 1 |z|>1 z>1):信号分量增长
2. 零极点分析

Z变换常表示为有理:
X ( z ) = ∑ k = 0 M b k z − k ∑ k = 0 N a k z − k = K ∏ i = 1 M ( 1 − c i z − 1 ) ∏ j = 1 N ( 1 − d j z − 1 ) X(z) = \frac{\sum_{k=0}^{M} b_k z^{-k}}{\sum_{k=0}^{N} a_k z^{-k}} = K \frac{\prod_{i=1}^{M} (1 - c_i z^{-1})}{\prod_{j=1}^{N} (1 - d_j z^{-1})} X(z)=k=0Nakzkk=0Mbkzk=Kj=1N(1djz1)i=1M(1ciz1)

  • 零点 z = c i z=c_i z=ci:使分子为零的点,抑制对应频率
  • 极点 z = d j z=d_j z=dj:使分母为零的点,放大对应频率
    在这里插入图片描述
def plot_pole_zero():# 系统函数: H(z) = (z-0.8)(z+0.5)/[(z-0.6+0.4j)(z-0.6-0.4j)(z+0.7)]zeros = [0.8, -0.5]poles = [complex(0.6, 0.4), complex(0.6, -0.4), -0.7]fig, ax = plt.subplots(figsize=(8, 8))# 单位圆unit_circle = Circle((0, 0), 1, fill=False, color='blue', linestyle='--', alpha=0.5)ax.add_patch(unit_circle)# 绘制零点ax.scatter(np.real(zeros), np.imag(zeros), s=100, marker='o', facecolors='none', edgecolors='r', label='零点')# 绘制极点ax.scatter(np.real(poles), np.imag(poles), s=100, marker='x', color='b', label='极点')# 设置坐标轴ax.axhline(0, color='black', alpha=0.3)ax.axvline(0, color='black', alpha=0.3)ax.set_xlim(-1.2, 1.2)ax.set_ylim(-1.2, 1.2)ax.set_aspect('equal')ax.set_title('系统零极点分布图', fontsize=14)ax.set_xlabel('实部(Re)', fontsize=12)ax.set_ylabel('虚部(Im)', fontsize=12)ax.grid(True, linestyle='--', alpha=0.6)ax.legend(loc='best')# 添加稳定性分析for pole in poles:mag = np.abs(pole)color = 'green' if mag < 1 else 'red'ax.text(np.real(pole)+0.05, np.imag(pole), f'|p|={mag:.2f}', color=color, fontsize=10)plt.tight_layout()plt.show()# 执行绘图
plot_pole_zero()
3. 系统稳定性判据

系统稳定的充要条件:所有极点位于单位圆内( ∣ d j ∣ < 1 |d_j| < 1 dj<1


四、工程应用:数字信号处理案例

案例1:数字滤波器设计

设计一Butterworth低通滤波器:

  1. 确定指标:通带截止频率 ω p = 0.2 π \omega_p=0.2\pi ωp=0.2π,阻带截止 ω s = 0.4 π \omega_s=0.4\pi ωs=0.4π
  2. 通过双线性变换将模拟滤波器转为数字:
    s = 2 T 1 − z − 1 1 + z − 1 s = \frac{2}{T} \frac{1 - z^{-1}}{1 + z^{-1}} s=T21+z11z1
  3. 得到Z域传递函数:
    H ( z ) = 0.067 + 0.134 z − 1 + 0.067 z − 2 1 − 1.142 z − 1 + 0.412 z − 2 H(z) = \frac{0.067 + 0.134z^{-1} + 0.067z^{-2}}{1 - 1.142z^{-1} + 0.412z^{-2}} H(z)=11.142z1+0.412z20.067+0.134z1+0.067z2

在这里插入图片描述

from scipy import signal
import matplotlib.pyplot as pltdef plot_filter_response():# 定义滤波器系数b = [0.067, 0.134, 0.067]  # 分子系数a = [1, -1.142, 0.412]     # 分母系数# 创建频率响应图plt.figure(figsize=(12, 8))# 幅频响应plt.subplot(2, 1, 1)w, h = signal.freqz(b, a)plt.plot(w/np.pi, 20 * np.log10(np.abs(h)), 'b')plt.axvline(0.2, color='r', linestyle='--')  # 通带截止plt.axvline(0.4, color='g', linestyle='--')  # 阻带截止plt.title('Butterworth低通滤波器幅频响应')plt.ylabel('幅度 (dB)')plt.xlabel('归一化频率 (×π rad/sample)')plt.grid(True)plt.ylim([-50, 5])# 相频响应plt.subplot(2, 1, 2)angles = np.unwrap(np.angle(h))plt.plot(w/np.pi, angles, 'g')plt.title('相频响应')plt.ylabel('角度 (弧度)')plt.xlabel('归一化频率 (×π rad/sample)')plt.grid(True)plt.tight_layout()plt.show()# 执行绘图
plot_filter_response()
案例2:系统稳定性分析

已知系统函数:
H ( z ) = 1 1 − 1.2 z − 1 + 0.35 z − 2 H(z) = \frac{1}{1 - 1.2z^{-1} + 0.35z^{-2}} H(z)=11.2z1+0.35z21

  1. 求极点:解方程 z 2 − 1.2 z + 0.35 = 0 z^2 - 1.2z + 0.35 = 0 z21.2z+0.35=0 → 极点 z = 0.6 ± j 0.2 z=0.6 \pm j0.2 z=0.6±j0.2
  2. 计算模: ∣ z ∣ = 0.6 2 + 0.2 2 ≈ 0.632 < 1 |z| = \sqrt{0.6^2 + 0.2^2} \approx 0.632 < 1 z=0.62+0.22 0.632<1
  3. 结论:所有极点在单位圆内 → 系统稳定
案例3:卷积计算的简化

时域卷积 y [ n ] = x [ n ] ∗ h [ n ] y[n] = x[n] * h[n] y[n]=x[n]h[n] 在Z域变为乘积:
Z { x [ n ] ∗ h [ n ] } = X ( z ) ⋅ H ( z ) \mathcal{Z}\{x[n] * h[n]\} = X(z) \cdot H(z) Z{x[n]h[n]}=X(z)H(z)
工程价值:

  • 复杂度从 O ( N 2 ) O(N^2) O(N2) 降至 O ( N log ⁡ N ) O(N \log N) O(NlogN)(结合FFT实现)
  • 硬件实现时减少乘法器数量

五、Z变换的核心性质

性质时域Z域条件
线性 a x 1 [ n ] + b x 2 [ n ] ax₁[n]+bx₂[n] ax1[n]+bx2[n] a X 1 ( z ) + b X 2 ( z ) aX₁(z)+bX₂(z) aX1(z)+bX2(z)ROC取交集
时移 x [ n − k ] x[n-k] x[nk] z − k X ( z ) z^{-k}X(z) zkX(z)ROC可能增删 0 / ∞ 0/\infty 0/∞
卷积 x [ n ] ∗ h [ n ] x[n]*h[n] x[n]h[n] X ( z ) H ( z ) X(z)H(z) X(z)H(z)ROC至少重叠
频移 e j ω 0 n x [ n ] e^{jω₀n}x[n] ejω0nx[n] X ( e − j ω 0 z ) X(e^{-jω₀}z) X(ejω0z)ROC不变
初值定理 x x x lim ⁡ z → ∞ X ( z ) \lim_{z\to\infty} X(z) limzX(z)仅因果序列

结语:Z变换的工程哲学

Z变换的本质是在复平面中重建离散信号的动力学特征。它将时间域的差分方程转化为复平面中的几何问题(零极点分布),将卷积运算转化为乘法操作,为实时数字信号处理奠定了数学基础。在5G通信、音频编码、医学成像等领域,Z换持续发挥着不可替代的作用——理解它,便是掌握了数字世界的一把钥匙。

所有Python绘图代码均可直接复制运行,需安装以下库:

pip install numpy matplotlib scipy

研究学习不易,点赞易。
工作生活不易,收藏易,点收藏不迷茫 :)


相关文章:

  • 基于高性能的光频域反射(OFDR)分布式光纤传感解决方案
  • 爬虫技术:从基础到高级,探索数据抓取的奥秘
  • 写实数字人课程制作平台:教育科技的未来已来
  • 在劲牌工厂,探寻一瓶草本酒的科技之旅
  • C++ 继承特性
  • 3-19 WPS JS宏调用工作表函数(JS 宏与工作表函数双剑合壁)学习笔记
  • skynet源码学习-skynet_env守护进程
  • 如何用conda 安装pytorch
  • LangSmith 深度解析:构建企业级LLM应用的全生命周期平台
  • 编译器、调试器、仿真器:嵌入式开发的“三把刀”深度解析
  • ​​信息系统项目管理师-项目进度管理 知识点总结与例题分析​​
  • java spring boot Swagger安装及使用
  • 轻松搭建Linux开发环境:使用`build-essential`安装GCC编译器**
  • React Native 搭建iOS与Android开发环境
  • 【matlab】图片转视频
  • 如何理解DDD的领域和子域?
  • git回滚操作
  • 失业学习-前端工程化-webpack基础
  • 【图像处理入门】9. 基础项目实战:从去噪到图像加密
  • App Trace 快速安装解析(开发者视角)
  • 普通电脑怎么做网站服务器吗/日喀则网站seo
  • 新建设网站如何推广/青岛seo
  • 做美女写真网站犯法吗/如何快速优化网站排名
  • 网络运营主要做什么/seo网站推广服务
  • 独立网站建设费用列表/互联网广告推广是什么
  • 做电商网站的公司/新闻软文范例大全