Z变换如何分析离散系统?从差分方程到系统稳定性一次串讲

发布时间:2026/10/13 4:43:41
Z变换如何分析离散系统?从差分方程到系统稳定性一次串讲 1. 为什么学了傅里叶变换还要再啃Z变换我到现在还记得自己刚学这门课时的困惑连续信号那边已经搞清楚了傅里叶变换和拉普拉斯变换为什么到了离散信号这边又要冒出来一个Z变换这不是重复造轮子吗直到后来做实验才真正想明白**Z变换在离散系统中的地位就相当于拉普拉斯变换在连续系统中的地位而不是傅里叶变换。**这句话你如果能真正吃透后面的学习会顺畅非常多。连续信号是微分方程描述的离散信号是差分方程描述的。你在连续域里用拉普拉斯变换把微分方程变成代数方程来解那么离散域里就需要一个类似的工具把差分方程也变成代数方程来解这个工具就是Z变换。我见过太多同学卡在Z变换这一章原因基本都一样上来就背公式、记性质但根本不知道这些东西是干嘛用的。一旦遇到一个稍微综合一点的题目比如“已知系统函数求单位阶跃响应”“判断系统稳定性”就完全不知道怎么下手。这篇文章的目标很明确把你从“背公式求X(z)”的层面提升到“能用Z变换去分析和设计一个离散系统”的层面。我会把定义、收敛域、性质、逆变换、系统分析全部串起来讲中间穿插我当时踩过的坑、如今教学中反复强调的重点。无论你是正在准备考试还是自学数字信号处理、自动控制原理这篇都值得认真读一遍。我的建议是不要只把这篇文章当成知识点清单看而是跟着每一个例子拿笔算一遍。这个过程很枯燥但这是把知识变成能力最有效的方式。2. Z变换的定义并不难难的是收敛域什么时候算对2.1 单边与双边两个定义处理两类问题Z变换的定义式其实很简单双边Z变换是X(z) Σ_{n-∞}^{∞} x[n] z^{-n}单边Z变换是X(z) Σ_{n0}^{∞} x[n] z^{-n}注意区别就在求和的起始位置上。单边Z变换只考虑n≥0的部分这对于因果系统、或者从某个时刻开始的信号来说非常方便。实际工程里大部分信号都是因果的所以我们做题时默认用的是单边Z变换除非题目明确说考虑双边。那什么情况下必须用双边呢当你处理的信号既有正时间方向、又有负时间方向时比如理想的高通滤波器的单位脉冲响应就不是纯因果的。单边Z变换会把负时间方向信息丢掉导致算出来的结果不对。所以拿到题先别急着套公式先问自己一句这个序列是因果的吗这个概念看着小丢分率却特别高。很多人求完X(z)以后根本不管收敛域直接写答案这在考试里是要吃大亏的。为什么因为同一个X(z)表达式配上不同的收敛域对应的原始序列是完全不同的。举一个最简单的例子X(z) 1/(1-az^{-1})。如果收敛域是|z| |a|对应序列是a^n u[n]因果序列如果收敛域是|z| |a|对应序列是-a^n u[-n-1]反因果序列。你看代数式一个字都没变收敛域变了序列就完全不同了。收敛域就是Z变换的灵魂丢了它你反变换大概率会反错。2.2 收敛域怎么确定先判断是左边还是右边收敛域的判定我总结成一个口诀右边序列的收敛域在某个圆的外面左边序列的收敛域在某个圆的里面双边序列的收敛域是一个环有限长序列的收敛域是整个复平面可能去掉0或无穷远点。为什么要这样不要死记理解背后逻辑。Z变换本质上是一个幂级数求和收敛域就是让这个级数绝对收敛的那些z值。右边序列x[n]u[n]中n越大z^{-n}就越小所以只要|z|大于某个半径级数就能收敛——因为高次项衰减得足够快。左边序列反过来n是负的z^{-n}变成正幂次需要|z|小才能压住所以收敛域在圆内。这样理解以后你就能解释有限长序列为什么收敛域是整个平面了求和项有限每一项都是有限值那还有发散的风险吗零除外因为z0时z^{-n}如果n为正就变成无穷大了。实际做题我推荐先用你的直觉判断再用公式验证。比如求2^n u[n]的Z变换你得出的X(z)z/(z-2)收敛域是|z|2。这里有个检验方法保证收敛域内你取一个具体的z值原级数必须收敛。取z32^n/3^n等比公比2/3小于1收敛没问题。取z1等比公比2发散所以收敛域确实在一圆之外。这个验证习惯建议所有人都养成能抓出大量低级错误。2.3 一个常被忽略的细节零点与极点收敛域画出来以后你还会遇到一群人他们能把极点和零点都求对但在画图时犯了迷糊。这里先说结论后面章节详细展开收敛域的边界一定是极点所在的那条圆但它内部不包含任何极点。所以有时候你只需要把极点画出来收敛域的范围基本就能确定了。我在给某高校学生答疑时发现能把极点求出来但把收敛域画反的人特别多。原因在于他们总盯着“|z| a”里的a而忘了先看序列是因果还是反因果。因果序列一定从某个圆半径向外取反因果一定从内向外。把这一层想清楚了收敛域的正确率至少上一半。3. Z变换的性质做题效率全看它怎么用3.1 四大核心性质线性、时移、Z域微分、卷积Z变换的性质很多但真正做题高频使用的就是下面几个。线性就不多说了和拉普拉斯变换的线性感一样齐次性和叠加性。时移性质要提一句它是解差分方程的关键。双边Z变换的时移性质是x[n-k] ↔ z^{-k} X(z)单边Z变换的时移性质稍微复杂尤其是右移x[n-1] ↔ z^{-1} X(z) x[-1]多出来的这一项x[-1]就是初始条件。这一开始很多人不理解为什么同样是时移单边的就要多个尾巴原因是单边Z变换只对n≥0求和x[n-1]在n0的取值是x[-1]而x[-1]正好落在求和范围之外级数公式里对不到必须单独补出来。这就是为什么单边Z变换天然适合带初始条件的差分方程——初始条件的信息就藏在这些尾巴项里。Z域微分性质也经常用到n x[n] ↔ -z dX(z)/dz这个公式是怎么来的直接对定义式两边关于z求导然后乘个 -z。为什么需要它因为很多序列的表达式中都带着n的幂次比如n a^n u[n]如果你直接用等比公式配凑会绕用了微分性质一步到位。卷积性质就更核心了两个时域序列卷积Z变换做乘积。它是系统分析的理论基石我们在第四章里会反复用到。我给你整理一张表做题时直接对着查性质时域Z域线性a x1[n] b x2[n]a X1(z) b X2(z)单边右移x[n-1]z^{-1}X(z) x[-1]单边左移x[n1]z X(z) - z x[0]Z域微分n x[n]-z dX(z)/dz卷积x1[n] * x2[n]X1(z) X2(z)初值x[0]lim_{z→∞} X(z)终值lim_{n→∞} x[n]lim_{z→1} (1-z^{-1})X(z)3.2 初值和终值定理检验答案的好帮手初值和终值定理在考研真题里出现得不算多但在工程分析和自检时非常好用。初值定理x[0] lim_{z→∞} X(z)。意思是说因果序列的初始值可以直接从X(z)的无穷远处极限看出来。比如X(z) z/(z-0.5)取z→∞X(z)→1所以x[0]1。你可以用已知的序列验证一下0.5^n u[n]的初值确实是1。这个小技巧能让你快速验证自己反变换算得对不对。终值定理如果系统稳定收敛域包含 |z|1则 x[∞] lim_{z→1} (1-z^{-1})X(z)。这个定理非常贴近工程直觉比如一个数字控制系统从阶跃输入到最终稳态稳态值是多少不用做长除法直接套定理就出来了。注意适用条件序列的极限必须存在。如果序列是发散的比如2^n u[n]你用终值定理会得到一个错误结果。做题之前先确认极点是否都在单位圆内这一点漏掉的话定理就会给出荒谬的结论。3.3 我建议你们把变换对表背下来性质之外常用的Z变换对也得滚瓜烂熟。至少在脑子里下面这张表要能随时随地默写出来序列Z变换收敛域δ[n]1全部u[n]z/(z-1)a^n u[n]z/(z-a)n a^n u[n]a z/(z-a)^2n u[n]z/(z-1)^2e^{-a n} u[n]z/(z-e^{-a})sin(ω0 n) u[n]z sin(ω0)/(z^2 - 2z cos(ω0) 1)cos(ω0 n) u[n]z(z - cos(ω0))/(z^2 - 2z cos(ω0) 1)背的时候有个巧劲儿先把a^n u[n]这一行背熟剩下很多公式都能由它推出来。a取1就是u[n]对a^n求导乘以a z就是n a^n三角函数则是把e指数的欧拉公式展开后再合并。所以一套关系记住表格就活了。我不建议你们背每个公式里z的位置而是理解每个序列对应的Z域形态。比如凡是从n0开始向右延展的指数衰减序列Z变换结果基本就是“一个关于z的分式分母是1 - a z^{-1}分子是常数或z的倍数”。想清楚这一点就算忘了分母里是z-a还是a-z也能通过z→∞取极限的方式摸索回去。4. 逆Z变换的三种方法哪一种都不该瘸腿4.1 部分分式展开法考试主力务必熟练求逆Z变换最常用的方法是部分分式展开法。它的思路和拉普拉斯反变换里的部分分式展开非常像都是把复杂的Z域表达式拆成若干个简单分式之和每个分式对应一个基本序列。但这里有一个初学者特别容易翻车的地方很多Z变换表达式是z的多项式而不是z^{-1}的多项式直接套用连续域的展开模板会把因果序列搞错。比如X(z) z/(z-a)你不能直接拆成1/(z-a)的模板去配序列而是要先将X(z)/z展开。我给你们一个规范流程照做就行第一步计算前先确认收敛域是|z| r还是|z| r这决定了每一项对应的是a^n u[n]还是-a^n u[-n-1]。第二步把X(z)/z做部分分式展开。这是关键我当年学的时候不知道为什么大家都要除以一个z直到后来带学生才明白因为基本变换对里a^n u[n]对应的Z变换是z/(z-a)它的分子上天然带着一个z。如果你不对X(z)/z展开最后每一项都不容易直接对表。除以z以后每一项都是形如A_i/(z-p_i)再乘回z就变成A_i z/(z-p_i)这时候就可以直接用基本变换对了。第三步对展开结果乘z恢复X(z)的形态。然后逐项做逆变换。举个例子。求X(z)z/((z-1)(z-0.5))在收敛域|z|1下的逆变换。先算X(z)/z 1/((z-1)(z-0.5))。分解成1/((z-1)(z-0.5)) 2/(z-1) - 2/(z-0.5)两边乘zX(z) 2z/(z-1) - 2z/(z-0.5)收敛域是|z|1两个极点都在收敛域内部所以都是因果序列x[n] 2u[n] - 2(0.5)^n u[n]就这么简单。如果你手头没有分式的分解思路可以用待定系数法先写A/(z-1)B/(z-0.5)通分后让分子等于1解出A2B-2。这个方法最稳建议一开始都用它熟练了再改用观察法。4.2 幂级数展开法验证根因的好工具幂级数展开法也叫长除法是把X(z)展开成z的幂级数然后根据系数直接读出x[n]。它的思路是傅里叶变化的思想——把一个复杂的东西展开成基本分量的叠加。对Z变换来说基本分量就是z^{-n}。这个方法最大的优势是特别直观而且不会出现因果性判断错误。你看一眼X(z)直接做长除出来的第一项就是x[0]第二项就是x[1]根本不需要思考收敛域。比如X(z)z/(z-0.5)做长除z/(z-0.5) 1 0.5 z^{-1} 0.25 z^{-2} ...由此可直接得到x[0]1x[1]0.5x[2]0.25这不就是0.5^n u[n]吗幂级数展开法适合验证你的部分分式法是否算对。考试时用部分分式求出x[n]再用长除快速检查前几项对了就放心往后做。唯一的问题是长除得到的通项公式难推导所以实务中它更适合辅助验证而不是主线方法。4.3 留数法人见人怕但你躲不掉留数法的公式长得很复杂x[n] Σ 各极点处的留数所以劝退了一大批人。但它有一个不可替代的优势可以直接求双边Z变换的逆变换而且当部分分式展开法遇到重极点时不至于手忙脚乱。我的建议是如果你只是为了考试留数法可以作为备用技能能用部分分式解决就用部分分式。但如果你想做控制理论、做信号处理研究留数法值得认真掌握因为后面很多推导会用到它。我当年就是用的时候吃了亏。那是一次做滤波器设计H(z)分母是(z-1)^3这种重根结构。用部分分式展开得连续求导、系数拆分算得慢不说还容易漏项。换了留数法一套公式直接出结果快多了。留数法本质上是复变函数里的留数定理在Z逆变换上的直接应用。你只需要构造X(z) z^{n-1}然后对每一个极点求留数加起来就是x[n]。有一个细节多重极点求导时公式会涉及求导次数k-1这个k是极点的重数。做题时先判断极点阶数再决定求导轮次别搞混。5. 用Z变换分析系统这一章才叫真正用到实处5.1 系统函数H(z)与前向差分方程的转化我们学习Z变换的最终目的往大了说是为了分析和设计离散系统。而从差分方程到系统函数其实只需要一个步骤对方程两边同时做Z变换。举个例子。一个FIR滤波器差分方程y[n] 0.5y[n-1] x[n] - 0.2x[n-2]两边取Z变换利用时移性质前提是初始条件为零得到Y(z) 0.5 z^{-1} Y(z) X(z) - 0.2 z^{-2} X(z)整理得系统函数H(z) Y(z)/X(z) (1 - 0.2 z^{-2}) / (1 - 0.5 z^{-1})看到了吗Z变换把差分方程变成了代数方程这效率和连续系统里拉普拉斯把微分方程变成代数方程是一模一样的。有了H(z)系统的所有行为——稳定性、频率响应、单位脉冲响应——都可以从这里提取。系统函数的物理意义要记住它是系统在Z域中对输入信号x[n]的“放大系数”。信号处理领域里有一句很实用的话给系统一个Z域输入输出就是X(z)乘以H(z)。时域的卷积映射到Z域就是乘法这也是卷积性质的价值所在。5.2 稳定性判断一眼看出收敛域里有没有单位圆判断系统稳定性是Z变换应用里的高频考点。对一个线性时不变离散系统来说稳定条件是系统的单位脉冲响应绝对可和即Σ|h[n]| ∞。用Z变换的语言翻译就是收敛域必须包含单位圆|z|1。这句话可以推演出一个快速判断规则对因果系统而言所有极点都必须满足|p_i| 1即都在单位圆内只要有一个极点在单位圆上或圆外系统就不稳定。别看这个规则简单我在做系统仿真时依赖的就是它。数字控制系统设计尤其是PID控制器离散化以后你要快速判断设计是否稳定直接在Z域里看极点位置比解差分方程快得多。这里有个需要补的细节非因果系统怎么判断它的稳定性要求收敛域包含单位圆但极点在单位圆外也可能稳定只要收敛域是圆内区域而且包含单位圆。原因在于左边序列在负时间方向的“发散”在正时间方向反而是衰减的。所以判断之前先确定系统的因果性。很多教材会故意在这里设陷阱给你一个非因果系统的H(z)问稳定性你把“所有极点在单位圆内”这个因果系统结论直接套上去瞬间中招。5.3 用H(z)求系统响应零输入、零状态一步到位有了系统函数求系统响应就成了一条流水线。给一个输入x[n]输出Y(z) H(z)X(z)然后逆变换就得到完整的响应。分两种情况。求零状态响应时直接做上面的乘法就行。但如果有初始储能也就是差分方程带初始条件比如y[-1]已知你就不能再无视初始条件了。这时候要对差分方程做单边Z变换时移性质里会多出初始条件项把那些项移到等式右边整理出完整Y(z)再做逆变换。这个过程相当于把“系统的过去记忆”也计算进去所以你会看到Y(z)是由两部分构成的一部分来自输入一部分来自初始条件。这也对应时域里的零输入响应加零状态响应。我建议做题时按这个步骤走写出差分方程标清初始条件。对每一项做单边Z变换注意右移序列要补x[-1]、x[-2]等项。把Y(z)项收集到一边其他项到另一边。整理成Y(z)有理分式用逆变换方法求解。检查n0时y[n]0如果解出来前面的项不为零说明中间一步算错了。讲一个完整的例子。差分方程y[n] - 0.5y[n-1] 2u[n]初始条件y[-1]4输入是单位阶跃求y[n],n≥0。单边Z变换Y(z) - 0.5(z^{-1}Y(z) y[-1]) 2z/(z-1)把y[-1]4代进去Y(z) - 0.5z^{-1}Y(z) - 2 2z/(z-1)整理Y(z)(1 - 0.5z^{-1}) 2z/(z-1) 2Y(z) (2z/(z-1) 2) / (1 - 0.5z^{-1})化简后分解部分分式得到Y(z)A z/(z-1)B z/(z-0.5)。解A4B-2。逆变换得y[n]4u[n] - 2(0.5)^n u[n]。检验一下n0: y[0]4-22。从原差分方程直接手算y[0]0.5y[-1]2u[0]0.5*424对不上等一下仔细检查原来是0.5y[-1]2然后y[0]224我上面计算y[0]2是错的。让我重新算一下。差分方程y[n] 0.5y[n-1] 2u[n] 把2u[n]当输入注意是2倍的阶跃信号y[0] 0.54 21 22 4。那么我们重新做变换。原方程y[n] - 0.5y[n-1] 2u[n]。Z变换后Y(z) - 0.5(z^{-1}Y(z) y[-1]) 2 * z/(z-1)代入y[-1]4Y(z) - 0.5z^{-1}Y(z) - 2 2z/(z-1)Y(z)(1 - 0.5z^{-1}) 2z/(z-1) 2所以Y(z)(2z/(z-1)2)/(1-0.5z^{-1})好这里我们发现2是常数要和z/(z-1)通分。2 2(z-1)/(z-1) (2z-2)/(z-1)所以分子合计(2z2z-2)/(z-1) (4z-2)/(z-1)。因此Y(z) (4z-2)/((z-1)(1-0.5z^{-1}))为了用部分分式把分母化为z的多项式1-0.5z^{-1} (z-0.5)/z所以Y(z) (4z-2)z/((z-1)(z-0.5)) (4z^2-2z)/((z-1)(z-0.5))Y(z)/z (4z-2)/((z-1)(z-0.5))展开(4z-2)/((z-1)(z-0.5)) A/(z-1)B/(z-0.5)通分得A(z-0.5)B(z-1)4z-2令z1: A(0.5)2 → A4 令z0.5: B(-0.5)0 → B0所以Y(z)4z/(z-1)逆变换y[n]4u[n]。验证y[0]4和手算一致。y[1]0.5*424也等于4。可以。这个例子里很有意思的一点是B0说明系统最终完全由输入主导初始条件的影响只体现在n0那一项不y[n]4u[n]意味着从n0开始一直是4初始条件作用是如果y[-1]0则y[n]4其实可以比较假设y[-1]0Y(z)2z/((z-1)(1-0.5z^{-1}))算出来会是4? 让我快速草算Y(z)/z2/((z-1)(1-0.5/z))有点复杂但初值 y[0]0.5022。所以初始条件让y[0]从2变成4。可是Y(z)4z/(z-1)给出的y[n]恒为4也没有体现出收敛。不对这系统是稳定的极点0.5按理零状态响应会趋于稳态4? u[n]的稳态是2/(1-0.5)4。所以最终稳态是4但开始没那么高。我上面的B0看起来有问题因为零输入响应的瞬态消失了。等等重新检查收敛域和解法。如果B0则y[n]4u[n]那从n1开始y[1]4。手算y[1]0.5424正确y[2]0.5424。哦对因为初始条件y[-1]4带入差分方程使得之后的序列一直是4。也就是说初始储能正好使得输出从一开始就到达稳态这其实是一个特殊构造的题——初始条件恰好抵消了零状态响应的瞬态部分。讲讲B0的情况如果初始条件等于-2考虑输入2u[n]零状态响应稳态4瞬态-2*(0.5)^n则y[n] [4 - 2*(0.5)^n] 4*(0.5)^n ? 也不对。其实y[n]从n0开始4确实一直4。这种情况下输入项2u[n]在n≥1时持续提供2上一时刻的4被0.5衰减成2加起来正好是4形成恒值。假设y[-1]0y[0]2y[1]0.5223y[2]0.5323.5趋近于4。所以只有y[-1]4时才是常值序列。好的。这个例子告诉我们代入初始条件后零输入和零状态响应会叠加有时候瞬态会被抵消结果看着很“巧”但计算逻辑是一致的。初学者很容易在这里犯轴觉得B0不对其实只要每一步变换和代数都正确最终结果用原方程递推验证一下就好。5.4 从H(z)到频率响应H(e^{jω})连接滤波器设计的桥梁当我们在|z|1上用ze^{jω}取值H(z)就变成了系统的频率响应。这个概念是将数字信号处理从“域分析”推进到“频谱分析”的关键桥梁。为什么要换成ze^{jω}因为单位圆上的复指数信号e^{jωn}通过LTI系统后输出等于H(e^{jω}) e^{jωn}。换句话说系统对单频信号的“响应幅度”恰好就是H在单位圆上的模相位就是它的幅角。于是你可以画波特图、画幅频特性曲线直接用图形看系统对哪些频率放行、对哪些频率衰减。我做数字滤波器设计时几乎天天都在用这个关系。设计一个低通FIR滤波器H(z)的零极点设计决定了频率响应的形状想看看它能不能滤掉50Hz工频干扰直接把ze^{j2πf/fs}放进去算模值一目了然。这里有一个容易出错的点频率响应H(e^{jω})只在单位圆上取值但单位圆对应的是z的模等于1的全部角度。你计算模值时依赖于|z|1所以要先确认系统稳定否则单位圆根本不在收敛域内H(e^{jω})可能发散频率响应就没有意义。稳定是前提频率响应是稳定系统才能享受到的福利。6. 那些年我们一起踩过的坑收敛域、因果性与时移性质6.1 收敛域判断错误的重灾区我批改作业时发现收敛域相关的错误可以归纳成三类。第一类把因果序列和反因果序列的收敛域写反。原因很简单记反了“圆内”“圆外”。我的建议是万无一失的理解法把a^n u[n]和a^n u[-n-1]的序列图像在脑子里过一遍前者是往右侧增长的指数z的模必须大于a才能使序列衰减后者往左侧走越往左n越小越需要z的模小来压制。图像想明白了方向就不会错。第二类忽略了零点不影响收敛域。收敛域由极点决定不是零点。不少学生把分子多项式的根也当作边界画出奇怪的区域。注意零点可以在收敛域内——零点是X(z)等于零的位置级数收敛与否跟X(z)是否为0没有关系。第三类有限长序列的收敛域不会写。比如x[n]2u[n]-2u[n-3]看起来像是无限长但实际只在0到2有值是有限长序列收敛域是整个复平面可能除去z0和无穷远。做题要先判断序列长度的本质不要单纯看表达式的表象。6.2 时移性质里“初始条件”到底补哪些项时移性质里的尾巴项是每年扣分的重灾区。很多同学背了公式但一到具体题目就不知道补几项、补哪个值。核心逻辑说透单边Z变换只从n0开始求和。你右移k步相当于把序列往右整体挪了k位原序列的前k个样本被推到了负时间轴上这部分信息在单边求和里是缺失的必须通过初始条件项补回来。所以有多少个缺失样本就补多少个尾巴。举例x[n-2]做单边Z变换z^{-2}X(z) x[-2] x[-1] z^{-1}推导直接来自定义Σ_{n0}^{∞} x[n-2] z^{-n} Σ_{m-2}^{∞} x[m] z^{-(m2)}拆出m-2和m-1的两项剩下的就是从m0开始即z^{-2}X(z)。所以补几项顺手就能推根本不用死记。考试考的都是这种推导能力临时忘了公式也能顶住。6.3 部分分式展开时的符号陷阱部分分式展开最常见的问题出在分母因式里z的系数。比如X(z)z/(z-a)展开时有人直接写成A/(z-a)B/z结果部分分式系数算得热闹最后哪一项都对不上号。你要始终记得一个原则展开对象是X(z)/z不是X(z)。还有一个陷阱当X(z)/z的分母有极点0时。比如X(z)z1X(z)/z1z^{-1}展开后有一个1/z项对应的是δ[n-1]这样的移位序列不要强行套a^n的模板。留数法处理这一类就特别干净。最后提醒一句所有部分分式的系数解出来以后一定要代回通分验证。高中解方程你都知道要验根这里同样如此。很多低级失误都是省了这一步结果整道大题跟着报废得不偿失。6.4 实际仿真时Z变换的离散化还有个“坑”这部分是工作以后才真正体会到的。做数字控制时连续系统的传递函数要通过某种离散化方法转成Z域表达常见有前向欧拉、后向欧拉、双线性变换、零阶保持器等。不同方法映射出来的极点位置略有差异直接影响数字控制器的稳定裕度。前向欧拉法映射关系是z1Ts这会把s域左半平面的一些区域映射到z域单位圆外导致一个连续系统离散化后可能变得不稳定。双线性变换z(1sT/2)/(1-sT/2)整体上更稳妥。所以别只看离散化公式长得差不多背后稳定性差别大了。这个哪怕你只是做仿真也应该有意识。等你以后真的把数字控制器烧到芯片里才会发现课本里那些收敛域和极点位置的知识点其实都是在为这一时刻做铺垫。7. 用一个完整例子串起全章从差分方程到频率响应我一直觉得零零散散的公式要串起来才能变成能力。最后用一个综合例子把整篇文章讲到的内容走一遍。假设一个离散系统差分方程y[n] - 0.6y[n-1] 0.08y[n-2] x[n] 0.5x[n-1]第一步求系统函数H(z)。初始条件为零时单边Z变换得到Y(z) - 0.6z^{-1}Y(z) 0.08z^{-2}Y(z) X(z) 0.5z^{-1}X(z)H(z) (1 0.5z^{-1}) / (1 - 0.6z^{-1} 0.08z^{-2})分子分母同乘z^2H(z) (z^2 0.5z) / (z^2 - 0.6z 0.08) z(z 0.5) / ((z - 0.2)(z - 0.4))第二步判断系统稳定性。极点位于z0.2和z0.4都在单位圆内所以这个因果系统是稳定的。零点在z0和z-0.5注意零点不是稳定性因素。第三步求单位脉冲响应h[n]。对H(z)/z做部分分式H(z)/z (z 0.5) / ((z - 0.2)(z - 0.4))设(z0.5)/((z-0.2)(z-0.4)) A/(z-0.2) B/(z-0.4)解A-3.5B4.5快速验证A(z-0.4)B(z-0.2)z0.5即(AB)z - (0.4A0.2B)z0.5。AB1-0.4A-0.2B0.5。解得B1-A-0.4A-0.2(1-A)0.5 → -0.2A-0.20.5 → -0.2A0.7 → A-3.5B4.5。所以H(z) -3.5 z/(z-0.2) 4.5 z/(z-0.4)收敛域|z|0.4因果系统从最大极点外开始所以h[n] (-3.5 * 0.2^n 4.5 * 0.4^n) u[n]第四步验证一下。n0时h[0]-3.54.51。直接从H(z)→∞极限也是1初值定理吻合。第五步画幅频响应草图。把ze^{jω}代入H(z)计算模值。这个系统有两个实极点低频时H(1)(10.5)/(1-0.60.08)1.5/0.483.125。高频时H(-1)(1-0.5)/(10.60.08)0.5/1.68≈0.298。可见这是一个低通滤波器对低频信号放大、高频信号衰减。验证时用前面初值定理检验过前几项再用这个综合流程把差分方程、系统函数、稳定性、脉冲响应、频率响应全部串起来你会发现这一章的知识点其实是一个整体而不是零散的公式列表。这也解释了我前面说的那句话Z变换的终点不是算X(z)而是让你能彻底把控一个离散系统的行为。如果你自己能独立把这个例子从头到尾算一遍把每一步都讲明白为什么这么做那这一章基本上就算吃透了。剩下的无非是见更多题、踩更多坑、积累更多手感。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询