Skip to content

필사 모드: 工程数学完全征服 第3篇:复变函数与Z变换 — 控制/信号处理的核心

中文
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.

工程数学完全征服 第3篇:复变函数与Z变换

在电子/控制工程中,复数绝不只是单纯的数学抽象。交流电路分析中的相量(phasor)、拉普拉斯变换中的 s=σ+jωs = \sigma + j\omega、Z变换中的单位圆、伯德图中的复频率响应 — 这一切都根植于复变函数论。本文将从复数体系出发,一路讲到留数定理、Z变换与数字滤波器设计,彻底征服这一整块内容。


1. 复数体系完全征服

1.1 复数的表示

直角坐标形式(Rectangular Form)z=x+iy=x+jyz = x + iy = x + jy

(电气工程中用 jj 代替 ii,因为 ii 用来表示电流)

  • 实部:Re(z)=x\text{Re}(z) = x
  • 虚部:Im(z)=y\text{Im}(z) = y

极坐标形式(Polar Form)z=reiθ=r(cosθ+isinθ)=rθz = r e^{i\theta} = r(\cos\theta + i\sin\theta) = r\angle\theta

  • 模(大小):r=z=x2+y2r = |z| = \sqrt{x^2 + y^2}
  • 幅角(相位):θ=arg(z)=arctan(y/x)\theta = \arg(z) = \arctan(y/x)(需考虑所在象限)

欧拉公式(Euler's Formula)eiθ=cosθ+isinθe^{i\theta} = \cos\theta + i\sin\theta

由此可得: cosθ=eiθ+eiθ2,sinθ=eiθeiθ2i\cos\theta = \frac{e^{i\theta} + e^{-i\theta}}{2}, \quad \sin\theta = \frac{e^{i\theta} - e^{-i\theta}}{2i}

被誉为数学史上最美公式的欧拉恒等式eiπ+1=0e^{i\pi} + 1 = 0

五个最重要的数(eeiiπ\pi1100)由一个式子连接在一起。

棣莫弗公式(De Moivre's Formula)(reiθ)n=rneinθ=rn(cosnθ+isinnθ)(r e^{i\theta})^n = r^n e^{in\theta} = r^n(\cos n\theta + i\sin n\theta)

n次方根z1/n=r1/nei(θ+2kπ)/nz^{1/n} = r^{1/n} e^{i(\theta + 2k\pi)/n}k=0,1,,n1k = 0, 1, \ldots, n-1

表示单位圆上 nn 等分的点。(1的n次方根:WNk=ej2πk/NW_N^k = e^{j2\pi k/N} — 会在FFT中出现!)

1.2 复数运算

加法/减法(直角坐标形式更方便): (x1+iy1)±(x2+iy2)=(x1±x2)+i(y1±y2)(x_1 + iy_1) \pm (x_2 + iy_2) = (x_1 \pm x_2) + i(y_1 \pm y_2)

乘法(极坐标形式更方便): (r1eiθ1)(r2eiθ2)=r1r2ei(θ1+θ2)(r_1 e^{i\theta_1})(r_2 e^{i\theta_2}) = r_1 r_2 e^{i(\theta_1 + \theta_2)}

模相乘,相位相加 — 这是电气工程中阻抗相乘的基础。

除法r1eiθ1r2eiθ2=r1r2ei(θ1θ2)\frac{r_1 e^{i\theta_1}}{r_2 e^{i\theta_2}} = \frac{r_1}{r_2} e^{i(\theta_1 - \theta_2)}

共轭复数(Complex Conjugate)zˉ=xiy=reiθ\bar{z} = x - iy = r e^{-i\theta}

有用的性质:

  • zzˉ=x2+y2=z2z\bar{z} = x^2 + y^2 = |z|^2
  • Re(z)=(z+zˉ)/2\text{Re}(z) = (z + \bar{z})/2
  • Im(z)=(zzˉ)/(2i)\text{Im}(z) = (z - \bar{z})/(2i)
  • zˉ=z|\bar{z}| = |z|arg(zˉ)=arg(z)\arg(\bar{z}) = -\arg(z)

1.3 工程应用:相量分析

复数的威力,在交流电路分析中得到了充分发挥。

v(t)=Vmcos(ωt+ϕ)v(t) = V_m\cos(\omega t + \phi) 表示为相量: V=Vmejϕ=Vmϕ\mathbf{V} = V_m e^{j\phi} = V_m\angle\phi

阻抗(Impedance)

ZR=R(纯电阻,无相位差)Z_R = R \quad (\text{纯电阻,无相位差}) ZL=jωL(电感,相位超前+90度)Z_L = j\omega L \quad (\text{电感,相位超前+90度}) ZC=1jωC=jωC(电容,相位滞后-90度)Z_C = \frac{1}{j\omega C} = \frac{-j}{\omega C} \quad (\text{电容,相位滞后-90度})

串联RLC阻抗: Z=R+jωL+1jωC=R+j(ωL1ωC)Z = R + j\omega L + \frac{1}{j\omega C} = R + j\left(\omega L - \frac{1}{\omega C}\right)

模:Z=R2+(ωL1/(ωC))2|Z| = \sqrt{R^2 + (\omega L - 1/(\omega C))^2}

相位:ϕ=arctan ⁣(ωL1/(ωC)R)\phi = \arctan\!\left(\frac{\omega L - 1/(\omega C)}{R}\right)

谐振条件:ω0L=1/(ω0C)\omega_0 L = 1/(\omega_0 C)ω0=1/LC\omega_0 = 1/\sqrt{LC}Z=RZ = R(纯电阻)

传递函数(Transfer Function)H(jω)=Y(jω)X(jω)H(j\omega) = \frac{Y(j\omega)}{X(j\omega)}

这就是拉普拉斯域中的 H(s)s=jωH(s)|_{s=j\omega},也是伯德图的基础。


2. 复变函数与解析函数

2.1 复变函数

f(z)=f(x+iy)=u(x,y)+iv(x,y)f(z) = f(x + iy) = u(x, y) + iv(x, y)

其中 u,vu, v 是实值函数。

示例f(z)=z2=(x+iy)2=x2y2+i(2xy)f(z) = z^2 = (x+iy)^2 = x^2 - y^2 + i(2xy)

u(x,y)=x2y2,v(x,y)=2xyu(x,y) = x^2 - y^2, \quad v(x,y) = 2xy

f(z)=ez=ex+iy=ex(cosy+isiny)f(z) = e^z = e^{x+iy} = e^x(\cos y + i\sin y)

u(x,y)=excosy,v(x,y)=exsinyu(x,y) = e^x\cos y, \quad v(x,y) = e^x\sin y

2.2 复数微分与柯西-黎曼方程

f(z)f(z) 的复数导数: f(z0)=limΔz0f(z0+Δz)f(z0)Δzf'(z_0) = \lim_{\Delta z\to 0}\frac{f(z_0 + \Delta z) - f(z_0)}{\Delta z}

与实数不同,Δz\Delta z 必须能在复平面上任意方向趋近于0,且极限值都相同。

沿x轴方向(Δz=Δx\Delta z = \Delta x): f(z)=ux+ivxf'(z) = \frac{\partial u}{\partial x} + i\frac{\partial v}{\partial x}

沿y轴方向(Δz=iΔy\Delta z = i\Delta y): f(z)=1iuy+vy=iuy+vyf'(z) = \frac{1}{i}\frac{\partial u}{\partial y} + \frac{\partial v}{\partial y} = -i\frac{\partial u}{\partial y} + \frac{\partial v}{\partial y}

两个表达式要相等,需要满足:

ux=vy,uy=vx\boxed{\frac{\partial u}{\partial x} = \frac{\partial v}{\partial y}, \quad \frac{\partial u}{\partial y} = -\frac{\partial v}{\partial x}}

这就是柯西-黎曼方程(Cauchy-Riemann Equations)。

u,vu, v 的偏导数连续,且满足柯西-黎曼方程,则 f(z)f(z)解析函数(Analytic Function)。

2.3 调和函数

解析函数的实部和虚部,分别满足拉普拉斯方程

2u=2ux2+2uy2=0\nabla^2 u = \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} = 0

2v=2vx2+2vy2=0\nabla^2 v = \frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2} = 0

证明:由柯西-黎曼方程可得 uxx=vyxu_{xx} = v_{yx}uyy=vxyu_{yy} = -v_{xy},因此 uxx+uyy=vyxvxy=0u_{xx} + u_{yy} = v_{yx} - v_{xy} = 0(混合偏导数可交换求导顺序)。

已知 uu 时,可利用柯西-黎曼方程求出 vv(调和共轭函数)。

工程意义:势流理论中速度势与流函数的关系,静电学中电势与电力线的关系。

2.4 重要的解析函数

指数函数 ez=ex(cosy+isiny)e^z = e^x(\cos y + i\sin y)

  • 在整个复平面上解析
  • (ez)=ez(e^z)' = e^z
  • ez=ex|e^z| = e^xarg(ez)=y\arg(e^z) = y

三角函数cosz=eiz+eiz2,sinz=eizeiz2i\cos z = \frac{e^{iz} + e^{-iz}}{2}, \quad \sin z = \frac{e^{iz} - e^{-iz}}{2i}

  • cosz\cos zsinz\sin z 在整个复平面上解析
  • 与实数三角函数不同,模可以趋向无穷大:cos(iy)=coshy|\cos(iy)| = \cosh y \to \infty

双曲函数coshz=ez+ez2,sinhz=ezez2\cosh z = \frac{e^z + e^{-z}}{2}, \quad \sinh z = \frac{e^z - e^{-z}}{2}

cos(iz)=coshz,sin(iz)=isinhz\cos(iz) = \cosh z, \quad \sin(iz) = i\sinh z

对数函数(多值函数): lnz=lnr+i(θ+2kπ),kZ\ln z = \ln r + i(\theta + 2k\pi), \quad k \in \mathbb{Z}

主值(principal value):Lnz=lnr+iθ\text{Ln}\,z = \ln r + i\thetaπ<θπ-\pi < \theta \leq \pi

z=0z = 0 与负实轴上会出现奇异性(分支切割,branch cut)。


3. 复积分

3.1 路径积分(Line Integral)

CC:复平面上的曲线(参数化 z(t)=x(t)+iy(t)z(t) = x(t) + iy(t)atba \leq t \leq b)

Cf(z)dz=abf(z(t))z(t)dt\int_C f(z)\,dz = \int_a^b f(z(t))z'(t)\,dt

示例Cz2dz\int_C z^2\,dz(CC:从原点到 1+i1+i 的直线)

参数化:z(t)=t+itz(t) = t + itz(t)=1+iz'(t) = 1+i0t10 \leq t \leq 1

01(t+it)2(1+i)dt=01t2(2i)(1+i)dt=(2i)(1+i)13=2i+2i23=2+2i3\int_0^1 (t+it)^2(1+i)\,dt = \int_0^1 t^2(2i)(1+i)\,dt = (2i)(1+i)\cdot\frac{1}{3} = \frac{2i+2i^2}{3} = \frac{-2+2i}{3}

3.2 柯西积分定理(Cauchy's Integral Theorem)

Cf(z)dz=0\oint_C f(z)\,dz = 0

条件f(z)f(z) 在单连通闭曲线 CC 上及其内部解析。

直观理解:解析函数的积分与路径无关。

与格林定理的关系

Cf(z)dz=C(u+iv)(dx+idy)=C(udxvdy)+iC(vdx+udy)\oint_C f(z)\,dz = \oint_C (u+iv)(dx+idy) = \oint_C (u\,dx - v\,dy) + i\oint_C (v\,dx + u\,dy)

应用格林定理和柯西-黎曼方程,两项都为0。

路径无关性:闭曲线积分为0 ↔ 积分与路径无关

原函数(antiderivative):若 F(z)=f(z)F'(z) = f(z),则 abf(z)dz=F(b)F(a)\int_a^b f(z)\,dz = F(b) - F(a)

3.3 柯西积分公式(Cauchy's Integral Formula)

f(a)=12πiCf(z)zadz\boxed{f(a) = \frac{1}{2\pi i}\oint_C \frac{f(z)}{z-a}\,dz}

条件f(z)f(z)CC 上及其内部解析,aa 位于 CC 内部。

解读f(z)/(za)f(z)/(z-a)z=az = a 处有一个极点。柯西公式说明,极点周围的积分与函数值直接相关。

高阶导数公式f(n)(a)=n!2πiCf(z)(za)n+1dzf^{(n)}(a) = \frac{n!}{2\pi i}\oint_C \frac{f(z)}{(z-a)^{n+1}}\,dz

这说明了解析函数可以无限次求导!


4. 洛朗级数与留数定理

4.1 泰勒级数与洛朗级数

泰勒级数:若 f(z)f(z)z=z0z = z_0 附近解析,则: f(z)=n=0an(zz0)n,an=f(n)(z0)n!f(z) = \sum_{n=0}^{\infty}a_n(z-z_0)^n, \quad a_n = \frac{f^{(n)}(z_0)}{n!}

洛朗级数(Laurent Series):若 f(z)f(z) 在环形区域 r1<zz0<r2r_1 < |z - z_0| < r_2 上解析,则:

f(z)=n=an(zz0)n=n=0an(zz0)n+n=1bn(zz0)nf(z) = \sum_{n=-\infty}^{\infty}a_n(z-z_0)^n = \sum_{n=0}^{\infty}a_n(z-z_0)^n + \sum_{n=1}^{\infty}\frac{b_n}{(z-z_0)^n}

负幂次部分称为主要部分(principal part)。

4.2 奇点分类

f(z)f(z)z=z0z = z_0 处不解析时:

可去奇点(Removable Singularity):洛朗级数中没有负幂次项。

sinzz=1z26+z4120(z=0 为可去奇点)\frac{\sin z}{z} = 1 - \frac{z^2}{6} + \frac{z^4}{120} - \cdots \quad (z=0\text{ 为可去奇点})

只要在 z=0z = 0 处赋予函数值1,函数就变为解析的。

m阶极点(Pole of Order m):有限个负幂次项。

f(z)=1(zz0)m(解析函数)(m阶极点)f(z) = \frac{1}{(z-z_0)^m}(\text{解析函数}) \quad (m\text{阶极点})

本性奇点(Essential Singularity):无穷多个负幂次项。

e1/z=1+1z+12!z2+(z=0 为本性奇点)e^{1/z} = 1 + \frac{1}{z} + \frac{1}{2!z^2} + \cdots \quad (z=0\text{ 为本性奇点})

皮卡定理:在本性奇点附近,函数值几乎能取遍所有复数。

4.3 留数(Residue)与留数定理

留数的定义f(z)f(z) 的洛朗级数中 (zz0)1(z-z_0)^{-1} 项的系数。

Res[f,z0]=b1=12πizz0=ϵf(z)dz\text{Res}[f, z_0] = b_1 = \frac{1}{2\pi i}\oint_{|z-z_0|=\epsilon} f(z)\,dz

留数的计算方法

单极点(m=1m=1): Res[f,z0]=limzz0(zz0)f(z)\text{Res}[f, z_0] = \lim_{z\to z_0}(z - z_0)f(z)

有理函数 f=p/qf = p/q(单极点): Res[f,z0]=p(z0)q(z0)\text{Res}[f, z_0] = \frac{p(z_0)}{q'(z_0)}

m重极点: Res[f,z0]=1(m1)!limzz0dm1dzm1[(zz0)mf(z)]\text{Res}[f, z_0] = \frac{1}{(m-1)!}\lim_{z\to z_0}\frac{d^{m-1}}{dz^{m-1}}\left[(z-z_0)^m f(z)\right]

留数定理(Residue Theorem)

Cf(z)dz=2πikRes[f,zk]\oint_C f(z)\,dz = 2\pi i \sum_k \text{Res}[f, z_k]

zkz_kCC 内部的所有奇点。

4.4 用留数定理计算实积分

复变函数论最强大的应用之一:把很难计算的实积分变得简单。

例1I=dx1+x2\displaystyle I = \int_{-\infty}^{\infty}\frac{dx}{1+x^2}

f(z)=1/(1+z2)=1/[(z+i)(zi)]f(z) = 1/(1+z^2) = 1/[(z+i)(z-i)]

使用上半平面的半圆路径。z=iz = i 是上半平面的单极点:

Res[f,i]=limzizi(z+i)(zi)=12i\text{Res}[f, i] = \lim_{z\to i}\frac{z-i}{(z+i)(z-i)} = \frac{1}{2i}

RR \to \infty 时,半圆弧的贡献趋于0(约当引理)。

I=2πi12i=πI = 2\pi i \cdot \frac{1}{2i} = \pi

因此 dx1+x2=π\displaystyle\int_{-\infty}^{\infty}\frac{dx}{1+x^2} = \pi(验证:arctan(x)=π\arctan(x)\Big|_{-\infty}^{\infty} = \pi)

例2I=0cosxx2+a2dx(a>0)\displaystyle I = \int_0^{\infty}\frac{\cos x}{x^2+a^2}dx \quad (a > 0)

f(z)=eizz2+a2=eiz(z+ia)(zia)f(z) = \frac{e^{iz}}{z^2+a^2} = \frac{e^{iz}}{(z+ia)(z-ia)}

上半平面的极点:z=iaz = ia

Res[f,ia]=ei(ia)2ia=ea2ia\text{Res}[f, ia] = \frac{e^{i(ia)}}{2ia} = \frac{e^{-a}}{2ia}

eixx2+a2dx=2πiea2ia=πeaa\int_{-\infty}^{\infty}\frac{e^{ix}}{x^2+a^2}dx = 2\pi i \cdot \frac{e^{-a}}{2ia} = \frac{\pi e^{-a}}{a}

只取实部: I=0cosxx2+a2dx=πea2aI = \int_0^{\infty}\frac{\cos x}{x^2+a^2}dx = \frac{\pi e^{-a}}{2a}

例302πdθ2+cosθ\displaystyle\int_0^{2\pi}\frac{d\theta}{2+\cos\theta}

z=eiθz = e^{i\theta}dz=izdθdz = iz\,d\thetacosθ=(z+z1)/2\cos\theta = (z + z^{-1})/2

02πdθ2+cosθ=z=1dz/iz2+(z+z1)/2=2dzi(z2+4z+1)\int_0^{2\pi}\frac{d\theta}{2+\cos\theta} = \oint_{|z|=1}\frac{dz/iz}{2+(z+z^{-1})/2} = \oint\frac{2\,dz}{i(z^2+4z+1)}

极点:z=2±3z = -2 \pm \sqrt{3}。位于单位圆内部的是:z1=2+3z_1 = -2 + \sqrt{3}

=2πi2i2(z1z2)=2π3= 2\pi i \cdot \frac{2}{i \cdot 2(z_1 - z_2)} = \frac{2\pi}{\sqrt{3}}

4.5 在拉普拉斯逆变换中的应用

布罗姆维奇积分(Bromwich Integral)

f(t)=12πiσiσ+iF(s)estdsf(t) = \frac{1}{2\pi i}\int_{\sigma-i\infty}^{\sigma+i\infty}F(s)e^{st}\,ds

这是 ss 平面上沿一条竖直线的路径积分,若用一个包含左侧所有极点的半圆把路径闭合起来,就可以应用留数定理:

f(t)=kRes[F(s)est,sk]f(t) = \sum_k \text{Res}\left[F(s)e^{st}, s_k\right]

示例F(s)=1/(s2+ω2)F(s) = 1/(s^2+\omega^2) 的拉普拉斯逆变换

极点:s=±iωs = \pm i\omega

Res[ests2+ω2,iω]=eiωt2iω\text{Res}\left[\frac{e^{st}}{s^2+\omega^2}, i\omega\right] = \frac{e^{i\omega t}}{2i\omega}

Res[ests2+ω2,iω]=eiωt2iω\text{Res}\left[\frac{e^{st}}{s^2+\omega^2}, -i\omega\right] = \frac{e^{-i\omega t}}{-2i\omega}

f(t)=eiωteiωt2iω=sinωtωf(t) = \frac{e^{i\omega t} - e^{-i\omega t}}{2i\omega} = \frac{\sin\omega t}{\omega}

验证:L{sinωt/ω}=1/(s2+ω2)\mathcal{L}\{\sin\omega t/\omega\} = 1/(s^2+\omega^2)


5. Z变换

5.1 定义与收敛域

离散时间信号 x[n]x[n] 的Z变换:

X(z)=Z{x[n]}=n=x[n]znX(z) = \mathcal{Z}\{x[n]\} = \sum_{n=-\infty}^{\infty}x[n]z^{-n}

z=rejΩz = re^{j\Omega} 是复变量。收敛条件:x[n]zn<\sum|x[n]||z|^{-n} < \infty

收敛域(ROC, Region of Convergence)

  • 单边因果信号:z>rmax|z| > r_{\max}(极点之外)
  • 单边反因果信号:z<rmin|z| < r_{\min}(极点之内)
  • 双边信号:环形区域 r1<z<r2r_1 < |z| < r_2

5.2 主要Z变换对

单位脉冲x[n]=δ[n]X(z)=1,对所有 zx[n] = \delta[n] \Rightarrow X(z) = 1, \quad \text{对所有 } z

单位阶跃x[n]=u[n]X(z)=zz1=11z1,z>1x[n] = u[n] \Rightarrow X(z) = \frac{z}{z-1} = \frac{1}{1-z^{-1}}, \quad |z| > 1

指数信号x[n]=anu[n]X(z)=zza=11az1,z>ax[n] = a^n u[n] \Rightarrow X(z) = \frac{z}{z-a} = \frac{1}{1-az^{-1}}, \quad |z| > |a|

正弦信号x[n]=cosΩ0nu[n]X(z)=z(zcosΩ0)z22zcosΩ0+1,z>1x[n] = \cos\Omega_0 n \cdot u[n] \Rightarrow X(z) = \frac{z(z-\cos\Omega_0)}{z^2 - 2z\cos\Omega_0 + 1}, \quad |z| > 1

x[n]=sinΩ0nu[n]X(z)=zsinΩ0z22zcosΩ0+1,z>1x[n] = \sin\Omega_0 n \cdot u[n] \Rightarrow X(z) = \frac{z\sin\Omega_0}{z^2 - 2z\cos\Omega_0 + 1}, \quad |z| > 1

单位斜坡x[n]=nu[n]X(z)=z(z1)2,z>1x[n] = nu[n] \Rightarrow X(z) = \frac{z}{(z-1)^2}, \quad |z| > 1

5.3 Z变换的性质

线性性Z{ax[n]+by[n]}=aX(z)+bY(z)\mathcal{Z}\{ax[n] + by[n]\} = aX(z) + bY(z)

时移Z{x[nk]}=zkX(z)\mathcal{Z}\{x[n-k]\} = z^{-k}X(z)

z1z^{-1} 就是单位延迟算子。差分方程由此变为代数方程!

z缩放(频移): Z{anx[n]}=X(z/a)\mathcal{Z}\{a^n x[n]\} = X(z/a)

时间反转Z{x[n]}=X(z1)\mathcal{Z}\{x[-n]\} = X(z^{-1})

卷积(Z变换的核心)Z{x[n]h[n]}=X(z)H(z)\mathcal{Z}\{x[n]*h[n]\} = X(z)H(z)

LTI系统分析的核心:卷积变成了乘法!

初值定理x[0]=limzX(z)x[0] = \lim_{z\to\infty} X(z)

终值定理limnx[n]=limz1(z1)X(z)\lim_{n\to\infty} x[n] = \lim_{z\to 1}(z-1)X(z)

5.4 Z逆变换

部分分式法

X(z)=B(z)A(z)=kAkzzpkX(z) = \frac{B(z)}{A(z)} = \sum_k \frac{A_k z}{z - p_k}

pkp_k 为极点,Ak=[(zpk)X(z)/z]z=pkA_k = [(z-p_k)X(z)/z]_{z=p_k}

示例X(z)=z2(z1)(z0.5)X(z) = \frac{z^2}{(z-1)(z-0.5)}

X(z)z=z(z1)(z0.5)=Az1+Bz0.5\frac{X(z)}{z} = \frac{z}{(z-1)(z-0.5)} = \frac{A}{z-1} + \frac{B}{z-0.5}

A=zz0.5z=1=2,B=zz1z=0.5=1A = \left.\frac{z}{z-0.5}\right|_{z=1} = 2, \quad B = \left.\frac{z}{z-1}\right|_{z=0.5} = -1

X(z)=2zz1zz0.5X(z) = \frac{2z}{z-1} - \frac{z}{z-0.5}

x[n]=2u[n](0.5)nu[n]=[2(0.5)n]u[n]x[n] = 2u[n] - (0.5)^n u[n] = [2 - (0.5)^n]u[n]

幂级数展开法(长除法):

X(z)=x[0]+x[1]z1+x[2]z2+X(z) = x[0] + x[1]z^{-1} + x[2]z^{-2} + \cdots

X(z)X(z) 展开为 z1z^{-1} 的幂级数,即可直接读出 x[n]x[n]

5.5 用Z变换求解差分方程

示例y[n]0.5y[n1]=x[n]y[n] - 0.5y[n-1] = x[n],初始静止状态,x[n]=u[n]x[n] = u[n]

应用Z变换(初始条件为0): Y(z)0.5z1Y(z)=X(z)=zz1Y(z) - 0.5z^{-1}Y(z) = X(z) = \frac{z}{z-1}

Y(z)(10.5z1)=zz1Y(z)(1 - 0.5z^{-1}) = \frac{z}{z-1}

Y(z)=z/(z1)10.5z1=z2(z1)(z0.5)Y(z) = \frac{z/(z-1)}{1 - 0.5z^{-1}} = \frac{z^2}{(z-1)(z-0.5)}

用部分分式做逆变换(与上例相同): y[n]=2u[n](0.5)nu[n]=[2(0.5)n]u[n]y[n] = 2u[n] - (0.5)^n u[n] = [2 - (0.5)^n]u[n]

nn \to \inftyy[]=2y[\infty] = 2(用终值定理验证:(z1)z2/[(z1)(z0.5)]z=1=1/0.5=2(z-1)\cdot z^2/[(z-1)(z-0.5)]|_{z=1} = 1/0.5 = 2)

5.6 数字滤波器设计

传递函数 H(z)

LTI系统的输出与输入之比: H(z)=Y(z)X(z)=b0+b1z1++bMzM1+a1z1++aNzNH(z) = \frac{Y(z)}{X(z)} = \frac{b_0 + b_1 z^{-1} + \cdots + b_M z^{-M}}{1 + a_1 z^{-1} + \cdots + a_N z^{-N}}

零点(zero):使 H(z)=0H(z) = 0zz

极点(pole):使 H(z)=H(z) = \inftyzz

稳定性条件:所有极点都必须位于单位圆内部。

稳定所有极点 pk:pk<1\text{稳定} \Leftrightarrow \text{所有极点 } p_k: |p_k| < 1

FIR滤波器(有限脉冲响应): H(z)=b0+b1z1++bMzMH(z) = b_0 + b_1 z^{-1} + \cdots + b_M z^{-M}

极点只在原点,因此总是稳定。可以实现线性相位特性。

IIR滤波器(无限脉冲响应): H(z)=B(z)A(z)H(z) = \frac{B(z)}{A(z)}

只要极点位于单位圆内部就稳定。用较少的系数即可实现陡峭的特性。

5.7 用Python设计和分析数字滤波器

from scipy import signal
import numpy as np
import matplotlib.pyplot as plt

# 1. IIR滤波器:巴特沃斯低通
N_order = 4   # 滤波器阶数
Wn = 0.2      # 归一化截止频率 (0~1, 1 = 奈奎斯特频率)

b, a = signal.butter(N_order, Wn, btype='low')
print("巴特沃斯LPF系数:")
print(f"  b = {b}")
print(f"  a = {a}")

# 2. 频率响应
w, h = signal.freqz(b, a, worN=2048)

# 3. 极-零点图
zeros, poles, gain = signal.tf2zpk(b, a)
print(f"\n零点: {zeros}")
print(f"极点: {poles}")
print(f"增益: {gain:.4f}")
print(f"极点模: {np.abs(poles)}")

fig, axes = plt.subplots(2, 2, figsize=(14, 10))

# 频率响应(幅度)
axes[0, 0].plot(w/np.pi, 20*np.log10(abs(h) + 1e-15), 'b-', linewidth=2)
axes[0, 0].axhline(y=-3, color='r', linestyle='--', label='-3dB')
axes[0, 0].set_xlabel('归一化频率 (x pi rad/samples)')
axes[0, 0].set_ylabel('幅度 (dB)')
axes[0, 0].set_title('巴特沃斯LPF频率响应(幅度)')
axes[0, 0].set_xlim([0, 1])
axes[0, 0].set_ylim([-80, 5])
axes[0, 0].legend()
axes[0, 0].grid(True, alpha=0.3)

# 相位响应
angles = np.unwrap(np.angle(h))
axes[0, 1].plot(w/np.pi, angles*180/np.pi, 'g-', linewidth=2)
axes[0, 1].set_xlabel('归一化频率 (x pi rad/samples)')
axes[0, 1].set_ylabel('相位 (度)')
axes[0, 1].set_title('巴特沃斯LPF相位响应')
axes[0, 1].set_xlim([0, 1])
axes[0, 1].grid(True, alpha=0.3)

# 极-零点图
unit_circle = np.exp(1j * np.linspace(0, 2*np.pi, 200))
axes[1, 0].plot(unit_circle.real, unit_circle.imag, 'k--', alpha=0.5)
axes[1, 0].scatter(zeros.real, zeros.imag, s=100, marker='o',
                   color='blue', zorder=5, label='零点')
axes[1, 0].scatter(poles.real, poles.imag, s=100, marker='x',
                   color='red', linewidths=2, zorder=5, label='极点')
axes[1, 0].axhline(0, color='gray', alpha=0.3)
axes[1, 0].axvline(0, color='gray', alpha=0.3)
axes[1, 0].set_xlabel('实部')
axes[1, 0].set_ylabel('虚部')
axes[1, 0].set_title('极-零点图 (z平面)')
axes[1, 0].legend()
axes[1, 0].grid(True, alpha=0.3)
axes[1, 0].set_aspect('equal')

# 脉冲响应
imp = np.zeros(50)
imp[0] = 1.0
h_imp = signal.lfilter(b, a, imp)
axes[1, 1].stem(h_imp, markerfmt='bo', linefmt='b-', basefmt='k-')
axes[1, 1].set_xlabel('采样点 n')
axes[1, 1].set_ylabel('h[n]')
axes[1, 1].set_title('脉冲响应 (IIR 无限)')
axes[1, 1].grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('digital_filter_analysis.png', dpi=150)
plt.show()

5.8 FIR与IIR滤波器比较

from scipy import signal
import numpy as np
import matplotlib.pyplot as plt

# FIR滤波器(窗函数法)
N_fir = 50
Wn = 0.2
h_fir = signal.firwin(N_fir + 1, Wn, window='hamming')

# IIR滤波器(巴特沃斯)
b_iir, a_iir = signal.butter(6, Wn, btype='low')

# 频率响应比较
w_fir, H_fir = signal.freqz(h_fir, [1], worN=2048)
w_iir, H_iir = signal.freqz(b_iir, a_iir, worN=2048)

fig, axes = plt.subplots(1, 2, figsize=(14, 5))

axes[0].plot(w_fir/np.pi, 20*np.log10(abs(H_fir)+1e-15),
             'b-', linewidth=2, label=f'FIR (N={N_fir})')
axes[0].plot(w_iir/np.pi, 20*np.log10(abs(H_iir)+1e-15),
             'r-', linewidth=2, label='IIR 巴特沃斯 6阶')
axes[0].set_xlabel('归一化频率')
axes[0].set_ylabel('幅度 (dB)')
axes[0].set_title('FIR vs IIR 频率响应')
axes[0].set_xlim([0, 1])
axes[0].set_ylim([-80, 5])
axes[0].legend()
axes[0].grid(True, alpha=0.3)

# 相位响应比较(FIR的线性相位特性)
ph_fir = np.unwrap(np.angle(H_fir))
ph_iir = np.unwrap(np.angle(H_iir))
axes[1].plot(w_fir/np.pi, ph_fir*180/np.pi,
             'b-', linewidth=2, label='FIR (线性相位)')
axes[1].plot(w_iir/np.pi, ph_iir*180/np.pi,
             'r-', linewidth=2, label='IIR (非线性相位)')
axes[1].set_xlabel('归一化频率')
axes[1].set_ylabel('相位 (度)')
axes[1].set_title('FIR vs IIR 相位响应')
axes[1].set_xlim([0, 0.5])
axes[1].legend()
axes[1].grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('fir_vs_iir.png', dpi=150)
plt.show()

print("系数个数比较:")
print(f"  FIR: {len(h_fir)} 个系数")
print(f"  IIR: b={len(b_iir)}, a={len(a_iir)} 系数合计 {len(b_iir)+len(a_iir)}")

6. 拉普拉斯变换与Z变换的对应关系

6.1 s平面与z平面的关系

z=esTs,s=1Tslnzz = e^{sT_s}, \quad s = \frac{1}{T_s}\ln z

对于 s=σ+jωs = \sigma + j\omega

z=eσTsejωTs=eσTs(ωTs)z = e^{\sigma T_s}e^{j\omega T_s} = e^{\sigma T_s}\angle(\omega T_s)

| s平面特性 | z平面特性 | | --------------------------------------- | ------------- | --- | ---- | | jωj\omega 轴 (σ=0\sigma = 0) | 单位圆 z=1 | z | = 1 | | 左半平面 (σ<0\sigma < 0) | 单位圆内部 z<1 | z | < 1 | | 右半平面 (σ>0\sigma > 0) | 单位圆外部 z>1 | z | > 1 | | 直流 (s=0s = 0) | z=1z = 1 | | 奈奎斯特频率 (ω=π/Ts\omega = \pi/T_s) | z=1z = -1 |

稳定性对应

  • 连续系统:所有极点在左半平面 → 离散系统:所有极点在单位圆内部

6.2 双线性变换 (Bilinear Transform)

将模拟滤波器转换为数字滤波器的方法:

s=2Tsz1z+1s = \frac{2}{T_s}\cdot\frac{z-1}{z+1}

会产生频率翘曲(frequency warping):ωanalog=2Tstan ⁣(Ωdigital2)\omega_{analog} = \frac{2}{T_s}\tan\!\left(\frac{\Omega_{digital}}{2}\right)

需要用预翘曲(pre-warping)修正后再设计。

from scipy import signal
import numpy as np

# 模拟巴特沃斯原型
N = 4  # 滤波器阶数
Wn_analog = 2 * np.pi * 1000  # 1000 Hz 模拟截止频率

z_a, p_a, k_a = signal.buttap(N)
b_analog, a_analog = signal.zpk2tf(z_a, p_a, k_a)
b_analog, a_analog = signal.lp2lp(b_analog, a_analog, Wn_analog)

# 用双线性变换转换为数字滤波器
fs = 8000  # 采样频率
b_digital, a_digital = signal.bilinear(b_analog, a_analog, fs)

print("模拟滤波器极点:", np.roots(a_analog))
print("数字滤波器极点:", np.roots(a_digital))
print("数字极点模:", np.abs(np.roots(a_digital)))

7. 在控制系统中的应用

7.1 传递函数与稳定性分析

连续系统传递函数: G(s)=K(s+z1)(s+z2)(s+p1)(s+p2)G(s) = \frac{K(s+z_1)(s+z_2)\cdots}{(s+p_1)(s+p_2)\cdots}

劳斯-赫尔维茨判据(Routh-Hurwitz Criterion)

利用特征多项式 ansn+an1sn1++a0a_n s^n + a_{n-1}s^{n-1} + \cdots + a_0 的劳斯阵列,判断右半平面极点的个数。

奈奎斯特判据

根据 G(jω)G(j\omega) 的奈奎斯特图对 (1,0)(-1, 0) 点的包围次数来判断稳定性。

7.2 离散控制系统

数字控制器的传递函数 C(z)C(z)

PID数字实现(后向欧拉近似)

C(z)=Kp+KiTszz1+Kdz1TszC(z) = K_p + K_i\frac{T_s z}{z-1} + K_d\frac{z-1}{T_s z}


总结与下一步

本文涉及的内容:

  1. 复数体系:直角坐标形式、极坐标形式、欧拉公式、棣莫弗公式、相量分析、阻抗
  2. 复变函数与解析函数:复数微分、柯西-黎曼方程、调和函数
  3. 复积分:路径积分、柯西定理、柯西公式
  4. 洛朗级数与留数定理:奇点分类、留数计算、实积分应用、拉普拉斯逆变换
  5. Z变换:定义、收敛域、主要变换对、求解差分方程
  6. 数字滤波器设计:FIR/IIR、极-零点图、稳定性、双线性变换
  7. s平面 vs z平面:稳定性条件对应关系

下一篇将讲解数值分析(Numerical Methods)。从方程求解、数值微分/积分、ODE数值解法、线性系统,到插值,全部用Python完整实现。


参考资料

  • Churchill, R. & Brown, J. "Complex Variables and Applications", 9th Edition
  • Oppenheim, A. & Schafer, R. "Discrete-Time Signal Processing", 3rd Edition
  • Proakis, J. & Manolakis, D. "Digital Signal Processing", 4th Edition
  • Ogata, K. "Modern Control Engineering", 5th Edition
  • SciPy 信号处理官方文档

현재 단락 (1/372)

在电子/控制工程中,复数绝不只是单纯的数学抽象。交流电路分析中的相量(phasor)、拉普拉斯变换中的 $s = \sigma + j\omega$、Z变换中的单位圆、伯德图中的复频率响应 — 这一切...

작성 글자: 0원문 글자: 15,284작성 단락: 0/372