☰
信号与系统第13次作业:离散Z变换、系统函数与状态变量解题套路
2026/10/10 4:12:11 网站建设 项目流程

信号与系统分析的第十三次作业,按春季学期的进度看,通常已经走到了离散时间系统的核心区。我经常看到同学拿到这份作业的参考答案,第一反应是翻到最后一页对答案,结果对完还是一脸茫然——前几步还能看懂,到了收敛域、系统函数、零极点图这些环节就开始发懵。这门课本身已经是很多电类专业的"挂科警戒线",第十三次作业又几乎是期末的缩小版,连续系统你还能靠直觉猜猜,离散部分靠直觉基本就是送。

这篇文章就是专门聊这份作业该怎么下手。我会结合这个阶段最常出现的题型,把Z变换、差分方程、系统函数、状态变量这几座大山的解题套路拆开,每一步都讲清楚"为什么这么走",再指出那些批改时反复踩的坑。不管你的老师具体布置了哪几道题,只要知识骨架搭对了,换什么数字都能套得上去。

1. 从"抄答案"到"按图索骥":第十三次作业的知识坐标

1.1 为什么这个节点的作业特别容易翻车

很多学校的信号与系统课程,前半学期花大精力讲连续时间信号与系统的傅里叶分析,拉普拉斯变换也会单独留出一两周消化。到了第十三次作业前后,课程已经明显拐向离散时间方向,Z变换、差分方程、离散系统函数这些新概念一股脑涌进来。问题就在这里:连续系统部分你已经建立了一套"直觉",比如极点实部小于零就稳定、极点越靠近虚轴振荡越厉害。换到离散域,这些结论全部要改写,极点要在单位圆内才稳定、靠近单位圆才振荡。直觉一旦失灵,又没有人帮你把新旧知识对照起来,作业就变成了照着例题套公式。

从教学进度看,这个节点的作业通常具备两个特点:一是计算量大,部分分式展开、差分方程求解这些步骤繁琐,一步错后面全错;二是题目之间关联性强,比如一道系统函数题会连环追问零极点、稳定性、频率响应和单位冲激响应,任何一个中间结果错了,整道题就报废。

所以这次作业的定位,不该是"抄完交差"的例行任务,而是一次完整的离散系统能力体检。你把答案看懂、把推导自己走一遍,期末前心里就有底了;要是糊弄过去,后面状态空间、数字信号处理的内容只会越来越吃力。

1.2 这次的作业到底在考什么知识骨架

我批改过很多版本的作业,虽然题目数字千变万化,但知识骨架基本固定在三块。第一块是Z变换与反变换,包括基本变换对、收敛域判断、部分分式展开法;第二块是离散系统分析,从差分方程到系统函数H(z),再从H(z)反推单位冲激响应、零极点分布和系统稳定性;第三块是系统结构与状态变量描述,通常要求根据系统函数画出直接型实现框图,或者反过来从框图写出状态方程和输出方程。每次作业大题的布局,十有八九是按这个顺序来的。

你甚至有规律可循:选择题或填空题大概率考Z变换的基本性质和收敛域,大题第一道考反变换,第二道考差分方程求系统函数,第三道是系统框图或状态方程。摸清这个规律之后,备考就有了抓手——不需要追求所有知识点齐头并进,只要把这三块的核心题目各吃透十几道,作业和考试就已经能应付大半。

2. Z变换与反变换的解题模板:以典型第1题为例

2.1 先看一道最典型的Z变换正变换题

作业里最常见的一道题,是给一个双边指数型序列,让你求X(z)并标明收敛域。比如这样的题目:

求序列 (x[n] = (1/2)^n u[n] + (-1/3)^n u[n]) 的Z变换,并确定收敛域。

这类题目的考点非常固定:基本变换对 + 线性性质 + 收敛域取交集。第一步先识别每个分量的变换对。对于第一项 ((1/2)^n u[n]),标准结果是 (z/(z - 1/2)),收敛域 (|z| > 1/2)。第二项 ((-1/3)^n u[n]),对应的是 (z/(z + 1/3)),收敛域 (|z| > 1/3)。这里有个极易踩的坑:看到分母是 (z+1/3) 就以为极点是正数,其实极点 (z = -1/3) 在实轴的负半轴,收敛域照样是向外延伸的圆外区域,因为因果序列的收敛域要看所有极点模值的最大值。

第二步就是合并同分母:

[ X(z) = \frac{z}{z - 1/2} + \frac{z}{z + 1/3} = \frac{2z(z - 1/6)}{(z - 1/2)(z + 1/3)} ]

注意这里的化简:分式相加后约掉一个公因子z,最终结果带不带这个z因子,在后续做反变换时影响很大。很多同学在通分和因式分解环节算错,问题往往出现在符号处理上——负号抄错、乘法展开不仔细、分子合并后忘了提公因子。

收敛域为什么是 (|z| > 1/2) 而不是 (|z| > 1/3)?因为两个子收敛域的交集才是整个X(z)的收敛域,必须满足同时满足两个条件,所以取模值更大的那个边界。这是一个高频考点,也是后面判断系统因果性、稳定性的基础。

2.2 反变换用部分分式展开,每一步都要能自检

题目如果反着来,比如已知 (X(z) = z / [(z - 0.5)(z - 0.8)]),收敛域 (|z| > 0.8),要求反变换,做法是一个固定套路。第一步把X(z)除以z,变成可展开的形式:

[ \frac{X(z)}{z} = \frac{1}{(z - 0.5)(z - 0.8)} = \frac{A}{z - 0.5} + \frac{B}{z - 0.8} ]

求系数A的方法是让分母丢掉 (z - 0.5) 这一项,代 (z = 0.5) 进去:

[ A = \frac{1}{0.5 - 0.8} = -\frac{10}{3} ]

同理求出 (B = 10/3),代回去就成了:

[ X(z) = \frac{10}{3} \left( \frac{z}{z - 0.8} - \frac{z}{z - 0.5} \right) ]

到这里就可以用基本变换对收尾了。收敛域 (|z| > 0.8) 表明序列是因果的,所以每一项都对应右边序列的指数形式,最终结果是:

[ x[n] = \frac{10}{3} \left[ (0.8)^n - (0.5)^n \right] u[n] ]

我建议你养成一个自检习惯:把算出的x[n]代回Z变换定义,或者代入原题的初始条件,检查n=0时是否合理。比如这里 (x[0] = 0),而直接从 (X(z) = z / [(z-0.5)(z-0.8)]) 用长除法也能看出第一项确实是0,这种双重验证能在考试时救你一命。

2.3 部分分式展开里那些隐蔽的失分点

部分分式法看着简单,实际做错的人非常多。第一个失分点出现在"分子次数不低于分母次数"的时候。很多作业题目故意给出 (X(z) = (z^2 + z) / [(z - 0.5)(z - 0.3)]) 这种分子分母同阶的形式,正确做法是先做长除法,分离出整式部分,再对余式做部分分式。整式部分对应的是 (n = 0) 处的冲激项,漏掉这一步整道题就废了。

第二个失分点是重极点的处理。如果分母有 ((z - 0.5)^2) 这种二次因子,展开形式要写成 (\frac{A}{z - 0.5} + \frac{B}{(z - 0.5)^2}),注意展开式的第二项分母是平方。求系数B时,可以先乘 ((z - 0.5)^2) 再代入 (z = 0.5);求系数A则要先求导再代入。严格的推导过程在教材和讲义上都有,作业可能只考一次,但期末一定用得上,建议你这次就彻底啃下来。

第三个失分点,是收敛域判断和每一项对应关系搞混。同一个X(z)的代数表达式,如果收敛域是 (|z| < 0.5),那对应的序列就变成左边序列,每一项前面要加负号、底数取倒数。很多同学只记结论不记原因,一旦题目换成交集或双边收敛域就全军覆没。我的建议是每次反变换完,口头问自己一句:这个收敛域是圆外、圆内、还是环带?因果就对应右边序列,反因果对应左边序列,环带对应双边序列,这个对应关系是离散信号与系统最后阶段的核心思路。

3. 差分方程、系统函数与稳定性:一份完整的第2题推导

3.1 从差分方程到系统函数的完整链路

作业第二道大题,通常是给一个常系数线性差分方程,比如:

(y[n] - 0.5y[n-1] = x[n] + 2x[n-1])

要求完成下面几个小问:求系统函数H(z);求单位冲激响应h[n];判断系统是否因果、稳定;求频率响应表达式。如果只给答案,这题一分钟可以写完,但结构之间环环相扣,推导过程才是真正要练的东西。

第一步,对差分方程两边做Z变换,注意使用移位性质:时域的 (y[n-1]) 对应Z域的 (z^{-1}Y(z)),前提是系统初始条件为零,这也是"线性时不变系统在零状态下求系统函数"的默认前提。于是:

[ Y(z) - 0.5 z^{-1}Y(z) = X(z) + 2z^{-1}X(z) ]

提出 (Y(z)) 和 (X(z)):

[ Y(z)(1 - 0.5 z^{-1}) = X(z)(1 + 2z^{-1}) ]

于是系统函数:

[ H(z) = \frac{Y(z)}{X(z)} = \frac{1 + 2z^{-1}}{1 - 0.5z^{-1}} = \frac{z + 2}{z - 0.5} ]

看到这个结果,就能提炼出一个通用规律:差分方程中(y)项系数和延时阶数,决定了H(z)的分母;(x)项系数和延时阶数,决定了分子。用这个规律可以反向验证自己有没有把系统函数倒置。

3.2 单位冲激响应、因果性、稳定性一次算清

求h[n]是这题的重头戏。因为H(z)的分子分母同阶,不能直接做部分分式展开,需要先用长除法或者先处理H(z)/z。

先把H(z)/z列成:

[ \frac{H(z)}{z} = \frac{z + 2}{z(z - 0.5)} = \frac{A}{z} + \frac{B}{z - 0.5} ]

用和上一个例题完全一样的系数法:

(A = (0 + 2) / (0 - 0.5) = -4)

(B = (0.5 + 2) / 0.5 = 5)

代回去:

[ H(z) = -4 + 5 \cdot \frac{z}{z - 0.5} ]

常数项 (-4) 对应时域的冲激项 (-4\delta[n]),因为常数z变换的收敛域是整个Z平面(除掉无穷远点除直观点),只在n=0处非零。另一项直接查表,得到:

[ h[n] = -4\delta[n] + 5(0.5)^n u[n] ]

检验一下n=0的值:(h[0] = -4 + 5 = 1)。从原差分方程递推看,令(x[n] = \delta[n]),零初始条件下第一步 (y[0] - 0.5 y[-1] = x[0] + 2x[-1]),代入(y[-1]=0, x[-1]=0, x[0]=1),得到 (y[0]=1),完全吻合。这种"代数结果和递推结果对上"的自检方式,比反复检查算式更管用。

因果关系在这个题目里不证自明,因为计算得出的h[n]中,冲激项在n=0处,指数项全部落在n≥0区间,是个严格的因果序列。稳定性就要看极点模值了,H(z)的唯一极点是 (z = 0.5),模值0.5小于1,落在这个因果系统的收敛域 (|z| > 0.5) 内部,所以系统稳定。稳定意味着单位冲激响应绝对可和,直观理解:((0.5)^n) 随n增大衰减,h[n]在无穷远处趋于零。

3.3 频率响应别只背公式,要会换算角度

频率响应就是将系统函数中z换成(e^{j\omega}),也就是在单位圆上取值。对刚才的H(z):

[ H(e^{j\omega}) = \frac{e^{j\omega} + 2}{e^{j\omega} - 0.5} ]

作业如果要求画幅频特性草图,你需要会分析幅度随频率的变化趋势。先看分子部分,向量长度在零频率时为3,在高频部分约为1,分子在低频贡献大;分母部分,零频时向量长度(1 - 0.5 = 0.5),分母在零频最小。一增一减,幅度在(\omega = 0)处达到最大值,高频处幅度减小,这是典型的一阶低通响应形状。实际上算出幅值为:

[ |H(e^{j\omega})| = \sqrt{\frac{(2 + \cos\omega)^2 + \sin^2\omega}{(\cos\omega - 0.5)^2 + \sin^2\omega}} ]

对于作业里的简答题,你不需要深入展开到这一步,但心里要有这个概念:频率响应的几何意义是两个向量长度之比。零点靠近单位圆会让该频率附近形成凹陷,极点靠近单位圆会让该频率附近形成尖峰,这是离散域与连续域频率响应分析之间最相通的一份直觉。

4. 系统框图与状态变量:第3题的高频考点拆解

4.1 由系统函数画直接型框图

第十三次作业里经常会出现一类"画结构图"的题,给你一个系统函数,让你用直接Ⅱ型实现画出系统框图,有的还要求写出状态方程和输出方程。这种题看似复杂,核心无非是拆解H(z)为两部分:先由分母决定反馈通路,再由分子决定前向通路。

举个例子,系统函数写成:

[ H(z) = \frac{b_0 + b_1 z^{-1}}{1 + a_1 z^{-1} + a_2 z^{-2}} ]

用直接Ⅱ型的步骤非常固定。第一步设定一条中间支路信号(w[n]),使(w[n])经过两个延时单元后反馈回加法器,反馈系数是(-a_1)和(-a_2),这一步解决的是差分方程中的递归部分:

[ w[n] = x[n] - a_1 w[n-1] - a_2 w[n-2] ]

第二步,输出信号由中间节点加权组合而成,系数对应分子多项式:

[ y[n] = b_0 w[n] + b_1 w[n-1] + b_2 w[n-2] ]

画图时,延时链从左往右排,反馈支路从右往左接回输入端加法器,前向支路从各个延时单元抽头引到输出加法器。这是固定套路,画对了,后面状态方程基本就是照着延时单元写。

4.2 从框图到状态方程:选状态是关键

写状态方程和输出方程,关键在选状态变量。最省事的做法,是把每个延时单元的输出端定义为状态变量。因为延时单元本质上是"把前一个时刻的值存到下一个时刻",状态变量天然满足一阶差分关系。

沿用上面的例子,设第一个延时单元输出为(s_1[n]),第二个延时单元输出为(s_2[n])。由图可得:

[ s_1[n+1] = w[n] ]

代入上面w[n]的表达式:

[ s_1[n+1] = -a_1 s_1[n] - a_2 s_2[n] + x[n] ]

而第二个延时单元的输入恰好是第一个延时单元的输出,因此:

[ s_2[n+1] = s_1[n] ]

这就是状态方程。输出方程直接将中间节点关系代入:

[ y[n] = b_0 (x[n] - a_1 s_1[n] - a_2 s_2[n]) + b_1 s_1[n] + b_2 s_2[n] ]

整理成标准矩阵形式后,矩阵A的系数一眼就能从框图中看出来,第一行是反馈系数,第二行有个1是链式结构带来的,这类题想拿满分的诀窍就是状态定义保持一致,不要一会儿定义在延时单元输入、一会儿定义在输出。

4.3 状态方程写完后,别忘了检查维数

很多同学状态方程写完后完全不检查,矩阵维数不对、常数项漏掉、变量名混用,功亏一篑。检查思路很朴素:你有几个延时单元,状态向量就是几维。二阶系统一定是2×1状态向量、2×2系统矩阵A、2×1输入矩阵B。输出方程则看输出的个数,单输出系统就是一行。

另外,信号与系统的作业在这里往往还喜欢交叉出一个"由状态方程求系统函数"的小问。方法是用公式(H(z) = C(zI - A)^{-1}B + D),其中矩阵((zI - A)^{-1})的伴随矩阵法来求,过程比较机械。但只要你状态方程写对了,这个公式代进去就能得到正确的系统函数,恰好可以和最开始给的H(z)对上,这又是一个绝佳的自检环节。

5. 批改中反复出现的共性问题与止损清单

5.1 五大高频错误:现象、原因、对策

错误表现根因应对思路
收敛域判断错误,把因果序列收敛域写成圆内习惯性套用连续域拉普拉斯变换的"ROC"直觉每一道题都先判断序列类型,因果序列收敛域在最大极点模值之外
部分分式展开系数求错,尤其是分子分母同阶时不先做长除法没有检查分子分母最高次项次数展开前先看一眼是否满足"真分式"条件,不满足就长除
Z变换符号和拉普拉斯变换符号混用,把(z^{-1})写丢对移位性质理解不深每步推导都把"时域延时n0"和"Z域乘(z^{-n0})"对应起来
差分方程递推时初值条件漏用边界条件意识薄弱求h[n]时直接从差分方程递推第一项验证h[0]
系统函数的极点和零点画图时标反混淆分子的零点和分母的极点来源零点来自分子多项式的根,极点来自分母多项式的根,也是特征根

这个表格你可以直接抄进复习笔记里,每次做完作业对答案之前先看一遍,立刻就能找到自己的弱点位置。

5.2 为什么参考答案会"看懂了但做不出来"

这是作业参考答案这个资料最容易被误解的地方。参考答案只有结果和关键步骤,默认读者已经具备跳跃推导的能力,但它不会告诉你"为什么在这个地方要除以z再展开""为什么常数项对应的是冲激",而这些背景恰恰是新手最缺的。我建议大家拿到答案之后做一件事:把答案合上,只看题目,自己独立从头推导一遍,卡住的地方就是知识漏洞,再回头查讲义和答案的那个步骤,比直接读答案效率高得多。

后半学期的大题,每一步都有前置知识点支撑:部分分式展开依赖代数功底,反变换依赖对基本变换对的熟悉程度,稳定性判断依赖对收敛域的理解。哪一个环节薄弱,都撑不起最后那个结果。所以建议你用"错误归因法"处理错题:不只看哪里错了,还要继续问"为什么我在这个地方会想到另一种做法",把错误上升到方法层面,才能避免考试换一道题又错。

6. 期末前两周的复习节奏:这次作业能当试金石

6.1 用作业题目反向梳理考点优先级

如果期末复习时间紧张,我建议把第十三次作业当成一份"考点频率表"来用。以Z变换反变换为首,务必保证基本变换对能默写、部分分式展开步骤熟练、收敛域判断不需要停顿超过十秒。差分方程和系统函数那一块,重点练从差分方程一步写出H(z)的熟练度,以及从H(z)求零极点并判断稳定性。状态空间和结构框图是第三梯队,看你们课堂学时安排。

这样排出优先级之后,两周时间就可以这样分配:前半周集中在Z变换的集体刷题,每天十道;中间四天攻系统函数的综合题;最后三天把状态方程和框图题过一遍,顺便把前面做过的错题重新演算。考前那个晚上不碰新题,只看你自己的易错点清单。

6.2 最后一个自检清单,交作业前过一遍

每次交作业前,我都建议花五分钟做一次机械检查。检查差分方程的延时阶数是否和系统函数的分母次数一致,检查收敛域是否与序列因果性一致,检查零极点图里单位圆有没有画出来,状态变量维数是否等于延时单元个数。这些小检查不需要多高深的技巧,却能把批改时最常扣的"粗心分"全部抢回来。

这门课的第十三次作业,说到底是离散时间系统知识的第一场实战。你现在多花两小时把部分分式展开和系统函数的推导彻底弄明白,期末复习就能少熬好几个夜。参考答案只是辅助工具,你亲手推出来的每一行算式,才是真正长在自己身上的能力。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询