信号与系统波形变换全解:尺度、时移、反转综合作图与Python验证 最近在带信号与系统考研复习时很多同学卡在了“信号的尺度、时移、反转综合变换作图”这类题上。明明每个基本变换单独拿出来都懂一旦组合在一起不是区间算错就是方向搞反。恰好在整理小马哥960题的时候看到2024年成都信息工程大学考研真题第2.1题正是这类综合变换作图的典型考法。本文将围绕这个题型把三种基本变换、综合变换的运算顺序、安全可靠的作图方法、易错点以及Python验证完整梳理一遍。无论你是刚开始复习信号与系统还是刷题阶段想彻底搞懂变换作图这篇文章都值得收藏。1. 为什么信号变换作图是考研“送分题”也是“失分题”1.1 这类题目在考卷中的位置信号与系统考研试卷中第一道大题往往就是基础概念与波形变换题。成都信息工程大学2024年真题第2.1题也是这个套路给一个分段定义的信号 f(t)要求画出 f(atb) 这类综合变换后的波形。这类题分值不高但考查的知识点非常集中几乎每所学校都会涉及。从阅卷角度看这类题几乎没有“中间地带”——你要么完全画对要么因为一个区间的符号错误整个丢分。很多同学平时练习不够或者只背结论不理解本质考场上遇到带负号系数的尺度变换就慌了。实际上这类题是整张试卷中最容易通过系统化训练拿到满分的基础题。1.2 图形变换与解析变换的关系很多同学有一个误区觉得作图题就是“画个大概”不需要精确计算。实际上考试中的作图题要求画出准确的波形包括非零区间的左右端点信号的峰值位置和峰值大小分段函数的分段点每段的斜率或函数表达式变化。也就是说作图题本质上还是要回到数学计算上。图形只是计算结果的可视化表达。如果只凭直觉画图很容易忽略“信号被压缩后幅度不变但斜率会变化”这样的细节。1.3 掌握这类题的实际收益这类题一旦掌握了系统化解法做题速度会明显提升。按照小马哥960题的训练思路这类题应该做到“读完题就知道怎么画”而不是在考场上临时推演。2. 三种基本变换的本质从自变量角度理解波形变化要掌握综合变换必须先彻底理解三种基本变换。它们分别是时移、尺度、反转。很多教材把这三种变换称为“信号的波形变换”本质上都是对自变量 t 做代数变形而不是对函数值 f(t) 做变形。2.1 时移f(t - t0) 的图形含义时移变换的表达式是 f(t - t0)。当 t0 0 时波形整体向右移动 t0当 t0 0 时波形整体向左移动。为什么是“右加左减”初学者经常搞反。这里给一个容易记住的推导思路原信号在 t 0 处有一个特征点变换后这个特征点出现在 t - t0 0 的位置也就是 t t0。所以当 t0 0特征点从 0 移动到了 t0看起来就是整体右移。来看一个最小例子。假设 f(t) 是一个只在 [0, 2] 区间非零的矩形脉冲那么f(t - 1) 的非零区间是 [1, 3]波形右移 1 个单位f(t 1) 的非零区间是 [-1, 1]波形左移 1 个单位。这里需要注意时移不会改变波形的形状和幅度只改变它在坐标轴上的位置。这是时移和尺度变换最本质的区别。2.2 尺度f(at) 的图形含义尺度变换的表达式是 f(at)。当 a 1 时波形在时间轴上被压缩当 0 a 1 时波形被扩展当 a 为负值时还叠加了反转效果。继续用上面的矩形脉冲举例。f(t) 的非零区间是 [0, 2]那么f(2t) 的非零区间是 [0, 1]波形被压缩了一半f(t/2) 的非零区间是 [0, 4]波形被扩展为两倍。注意尺度变换的两个关键细节第一波形的幅度不变。压缩和扩展只发生在时间轴上。第二分段函数的斜率会变。比如 f(t) 在 [0, 2] 上是一条斜线 f(t) t那么 f(2t) 在 [0, 1] 上等于 2t斜率从 1 变成了 2。也就是说虽然图形高度没变但每个点的切线斜率变了。这一点在考试中容易被忽略。很多同学画 f(2t) 时只把横坐标压缩了但纵坐标还是照原样画结果斜线段的斜率没有同步调整图形比例就不对了。2.3 反转f(-t) 的图形含义反转变换的表达式是 f(-t)。它的效果是把波形关于纵轴做左右镜像翻转。特征点从 t 0 还是 t 0但从 t t0 移动到了 t -t0。用矩形脉冲举例f(t) 的非零区间是 [0, 2]那么 f(-t) 的非零区间是 [-2, 0]。反转是尺度变换在 a 为负数时的一种特殊表现。严格来说f(at) 当 a 0 时同时包含尺度和反转两种效果。比如 f(-2t) 表示先压缩两倍再关于纵轴反转。3. 综合变换的运算顺序最大误区与安全解法3.1 综合变换的两种常见运算思路综合变换的典型形式是 f(at b)其中 a 可以是正数、负数b 也可以是正数、负数。比如 f(2t 1)、f(-2t 1)、f(t/2 - 3) 等。处理这种综合变换常见的有两种思路思路一先尺度后时移。把 f(at b) 改写为 f(a(t b/a))。先画 f(at)再做时移 b/a。注意这里的时移方向和 b/a 有关。思路二先时移后尺度。先画 f(t b)再做尺度变换 f(at b)。但这个顺序容易出错因为先时移后尺度时时移量会被尺度系数“吃掉”。下面用一个具体例子来对比两种思路的差异。设 f(t) 的非零区间为 [0, 2]要求 f(2t 4) 的非零区间。先尺度后时移f(2t) 的非零区间是 [0, 1]f(2t 4) f(2(t 2))整体左移 2非零区间变成 [-2, -1]。先时移后尺度f(t 4) 的非零区间是 [-4, -2]再做 f(2t 4) 时如果直接把横坐标压缩会得到非零区间 [-2, -1]这个结果碰巧是对的。但如果你在压缩时把“时移量”也压缩就很容易算错。为了减少出错概率教材和辅导资料普遍推荐“先尺度后时移”的顺序。3.2 为什么推荐先尺度后时移先尺度后时移的核心逻辑是先把 f(at b) 写成 f(a(t b/a)) 的标准形式。一旦写成这个形式操作顺序就固定了第一步对 f(t) 做尺度变换得到 f(at)第二步对 f(at) 做时移时移量为 -b/a。这个顺序的优势在于时移量 -b/a 是最终的实际时移量不需要再考虑尺度系数的影响。而先时移后尺度时时移量 b 会被尺度系数 a 再次缩放非常容易搞混。我们用一个反例说明先时移后尺度为什么危险。仍设 f(t) 非零区间为 [0, 2]求 f(2t 4) 的非零区间。如果先时移f(t 4) 的非零区间是 [-4, -2]。然后做尺度变换 f(2t 4) 时正确做法是令 u 2t 4当 -4 ≤ u ≤ -2 时解得 -4 ≤ 2t 4 ≤ -2即 -4 ≤ t ≤ -3。所以结果是 [-4, -3]。这和上面先尺度后时移得到的 [-2, -1] 不一样。哪个对我们分别验证取 t -2.5它在 [-2, -1] 内此时 2t 4 -1f(-1) 在 [0, 2] 内吗不在。所以 [-2, -1] 是错的。取 t -3.5它在 [-4, -3] 内此时 2t 4 -3也不在 [0, 2] 内。咦两个结果感觉都对不上问题出在哪里我们重新算。f(2t 4) 有定义需要 u 2t 4 落在 [0, 2] 内。解不等式0 ≤ 2t 4 ≤ 2得到 -4 ≤ 2t ≤ -2即 -2 ≤ t ≤ -1。所以正确答案是 [-2, -1]。再看先尺度后时移f(2t) 的非零区间是 [0, 1]f(2t 4) f(2(t 2))把 [0, 1] 左移 2 个单位得到 [-2, -1]。正确。先时移后尺度f(t 4) 的非零区间是 [-4, -2]做 f(2t 4) 时u 2t 4u 的范围是 [-4, -2]解得 2t 4 -4 → t -42t 4 -2 → t -3。得到 [-4, -3]这是错误结果。因为 f(t 4) 已经是“原信号左移4”再做 f(2t 4) 时不能直接把 f(t4) 的区间压缩而要意识到 f(2t4) 并不等于 f((t)4) 再做尺度。严格来说先时移后尺度的正确写法是f(t) → 左移 4 得到 f(t4) → 再把自变量 t 换成 2t得到 f(2t4)。也就是说如果你想先左移 4那么之后做尺度时是把 f(t4) 的整个自变量替换为 2t非零区间从 [-4, -2] 变成了 [(-4)/2, (-2)/2] [-2, -1]。看结果和先尺度后时移一致了。所以先时移后尺度也不是完全不行但必须记住“最后的尺度变换是针对所有自变量的乘性变化包括时移量”。这个规则太容易被忽视了考试紧张时容易写错。因此我推荐大家统一使用“先尺度后时移”的顺序。3.3 更保险的变量代换法除了图形变换顺序还有一个更直接、更不容易出错的方法——变量代换法。这个方法的核心思想是不要从“波形怎么移动”的角度思考而是从“自变量的取值如何映射”的角度思考。假设已知 f(t) 的非零区间是 [t1, t2]要求 y(t) f(at b) 的非零区间。令 u at b当 u 在 [t1, t2] 范围内时 y(t) 非零。于是解不等式t1 ≤ at b ≤ t2就能直接求出 t 的范围。再进一步如果需要画具体的分段波形就把 u at b 代入 f(u) 的分段表达式中得到 y(t) 关于 t 的分段表达式。这个过程完全是代数运算不需要依赖图形直觉。变量代换法特别适合处理带负号系数的变换比如 f(-2t 1)因为负号导致的区间反转很容易在图形思维里出错但在代数运算中只需要注意不等式方向变化即可。4. 真题实战2024年成都信息工程大学第2.1题的完整作图流程4.1 题目类型分析与示例信号选取2024年成都信息工程大学第2.1题考查的正是 f(t) 的尺度、时移、反转综合变换。由于真题中给出的具体 f(t) 表达式我们不方便原样转载下面使用一道考查方式完全一致的典型示例信号来演示完整解法。理解了这道示例真题自然能迎刃而解。设 f(t) 是一个三角脉冲信号其解析式为f(t) 0, t -1 f(t) t 1, -1 ≤ t 0 f(t) -t 1, 0 ≤ t ≤ 1 f(t) 0, t 1这个信号的非零区间是 [-1, 1]峰值在 t 0 处取得值 f(0) 1。波形是一个等腰三角波。题目要求画出 y1(t) f(2t 1) 的波形画出 y2(t) f(-2t 1) 的波形。这两问分别考查了正系数尺度综合变换和负系数尺度反转综合变换正好覆盖了所有难点。4.2 方法一变量代换法求解 y1(t) f(2t 1)第一步求非零区间。f(u) 非零需要 -1 ≤ u ≤ 1。代 u 2t 1-1 ≤ 2t 1 ≤ 1 -2 ≤ 2t ≤ 0 -1 ≤ t ≤ 0所以 y1(t) 只在 [-1, 0] 上非零持续时间是原信号的一半符合压缩特性。第二步求分段表达式。原信号 f(u) 的分段规则是当 -1 ≤ u 0f(u) u 1当 0 ≤ u ≤ 1f(u) -u 1。将 u 2t 1 代入。先看第一段u ∈ [-1, 0) 对应-1 ≤ 2t 1 0 -2 ≤ 2t -1 -1 ≤ t -0.5此时y1(t) (2t 1) 1 2t 2所以当 t -1 时y1(-1) 0当 t -0.5 时y1(-0.5) 1。再看第二段u ∈ [0, 1] 对应0 ≤ 2t 1 ≤ 1 -1 ≤ 2t ≤ 0 -0.5 ≤ t ≤ 0此时y1(t) -(2t 1) 1 -2t所以当 t -0.5 时y1(-0.5) 1当 t 0 时y1(0) 0。综上y1(t) 是一个非零区间为 [-1, 0]、峰值在 t -0.5 处且值为 1 的三角波。左半段从 (0) 到峰值右半段从峰值回到 0。与原信号相比波形被压缩了一半整体向左平移。4.3 方法二分步作图法求解 y1(t)再用图形变换的思路验证一遍。第一步尺度变换g(t) f(2t)。原信号非零区间 [-1, 1] 被压缩到 [-0.5, 0.5]峰值仍在 t 0值为 1。图形是缩窄的三角波。第二步时移变换y1(t) g(t 0.5)。为什么是 0.5因为 y1(t) f(2t 1) f(2(t 0.5)) g(t 0.5)。g(t 0.5) 相对于 g(t) 向左平移 0.5 个单位。所以 [-0.5, 0.5] 左移 0.5得到 [-1, 0]。峰值位置从 t 0 左移到 t -0.5。这和变量代换法得到的结果完全一致。4.4 方法三变量代换法求解 y2(t) f(-2t 1)现在看带反转的综合变换。第一步求非零区间。f(u) 非零需要 -1 ≤ u ≤ 1。代 u -2t 1-1 ≤ -2t 1 ≤ 1 -2 ≤ -2t ≤ 0 0 ≤ t ≤ 1注意因为这里的不等式两边同时除以 -2不等式方向要反转。所以 y2(t) 的非零区间是 [0, 1]。第二步求分段表达式。第一段 u ∈ [-1, 0)-1 ≤ -2t 1 0 -2 ≤ -2t -1 1/2 t ≤ 1这里再次体现了负号对区间方向的影响。此时y2(t) (-2t 1) 1 -2t 2所以当 t 1 时y2(1) 0当 t 趋近 0.5 时y2 趋近 1。第二段 u ∈ [0, 1]0 ≤ -2t 1 ≤ 1 -1 ≤ -2t ≤ 0 0 ≤ t ≤ 0.5此时y2(t) -(-2t 1) 1 2t所以当 t 0 时y2(0) 0当 t 0.5 时y2(0.5) 1。综上y2(t) 是一个非零区间为 [0, 1]、峰值在 t 0.5 处且值为 1 的三角波。它和 y1(t) 关于 t -0.25 或者说是不同位置的对称图形。4.5 分步作图法求解 y2(t)按照“先尺度、再反转、后时移”的顺序y2(t) f(-2t 1) f(-2(t - 0.5))。第一步先做尺度 g1(t) f(2t)非零区间 [-0.5, 0.5]第二步做反转 g2(t) g1(-t) f(-2t)非零区间仍为 [-0.5, 0.5]但波形左右翻转第三步做时移 y2(t) g2(t - 0.5) f(-2(t - 0.5))非零区间右移 0.5得到 [0, 1]峰值在 t 0.5。三步操作清晰无误。这个例子完美说明了带负号时反转并不会改变非零区间的长度但会改变波形的左右朝向而时移方向则取决于提取出的时移量符号。5. 用 Python 画图验证手工作图结果5.1 为什么建议用 Python 验证信号与系统作图题训练中最有效的自我验证方式就是用 Python 按解析式直接画出波形图然后和手工作图结果比对。这不光是考研复习的技巧也是后续学习信号与系统时加深理解的通用做法。毕竟图形直觉是可以被训练出来的而代码验证能快速纠正错误的图形直觉。下面用 numpy 和 matplotlib 实现 f(t)、f(2t1)、f(-2t1) 三张波形图。5.2 完整代码实现import numpy as np import matplotlib.pyplot as plt def f(t): 定义三角脉冲信号 f(t) t np.asarray(t, dtypefloat) y np.zeros_like(t) # 分段-1 t 0 mask1 (t -1) (t 0) y[mask1] t[mask1] 1 # 分段0 t 1 mask2 (t 0) (t 1) y[mask2] -t[mask2] 1 return y t np.linspace(-3, 3, 2000) y_orig f(t) y1 f(2 * t 1) y2 f(-2 * t 1) plt.figure(figsize(12, 4)) plt.subplot(1, 3, 1) plt.plot(t, y_orig, linewidth2) plt.title(f(t)) plt.grid(True) plt.ylim(-0.2, 1.2) plt.subplot(1, 3, 2) plt.plot(t, y1, linewidth2, colororange) plt.title(f(2t1)) plt.grid(True) plt.ylim(-0.2, 1.2) plt.subplot(1, 3, 3) plt.plot(t, y2, linewidth2, colorgreen) plt.title(f(-2t1)) plt.grid(True) plt.ylim(-0.2, 1.2) plt.tight_layout() plt.show()5.3 运行结果与图形解读运行上述代码可以得到三张对比图。第一张原信号 f(t) 是中心在 0、跨度 [-1, 1] 的等腰三角波。第二张 f(2t1) 的三角波跨度变为 [-1, 0]峰值在 -0.5。第三张 f(-2t1) 的跨度变为 [0, 1]峰值在 0.5。这和我们在 4.2 到 4.5 节手推的结果完全一致。建议你在自己的电脑上运行这段代码把三张图放在一起观察重点体会“压缩后斜率变化”和“反转后左右朝向变化”这两个细节。如果考试时手工作图的结果和代码不一致大概率是区间计算错了。可以优先检查不等式的变换方向。6. 高频错误与排查清单6.1 常见错误对照表错误现象常见原因解决思路非零区间左右端点算反时移方向理解反了用特征点法令 atb 0解出的 t 是峰值/特征点的新位置带负号系数时区间范围完全错误解不等式时忘了变号每步都写清楚不等式除以负数时立即反转方向压缩后分段函数斜率没变只画了图形轮廓没有代入解析式把 u atb 代入原分段表达式重新计算每段表达式先时移后尺度导致区间偏移量错误时移量被尺度系数二次缩放统一用“先尺度后时移”顺序或直接用变量代换法反转后波形朝向画反对 f(-t) 的镜像效果不熟悉找特征点原 f(t) 在 t1 处的值等于 f(-t) 在 t-1 处的值分段的连接点与峰值位置对不上只算区间没有算分段表达式分别列出每段对应 t 的子区间再算连接点函数值6.2 考场上快速排查步骤如果你在考场上发现自己画的图和预想的对不上不要急着重画整张图按下面流程排查第一步检查非零区间。用不等式重新计算一次特别注意系数为负时不等式方向是否反转。第二步检查峰值位置。令 at b 0解出 t这个 t 就是原信号特征点比如峰值的新位置。第三步检查幅度。尺度、时移、反转都不会改变信号的幅度幅度仍然由原函数决定。如果你画的图峰值不是 1说明代入计算错了。第四步检查分段点。把原信号的分段点代入 at b u解出新信号的分段点。比如原信号分段点是 u -1 和 u 0那么代入 u 2t 1 解得 t -1 和 t -0.5。第五步检查斜率。线性段的斜率可以用一阶导数验证。比如 f(2t 1) 在左半段是 2t 2斜率为 2而原信号在对应段斜率是 1。压缩系数 a 会让斜率变为原来的 a 倍。6.3 一个典型的反例分析再来看一个最容易错的式子f(-2t 1)。很多同学会先画 f(-2t)然后“向右平移 1”得到非零区间 [1, 2] 之类的错误结果。正确做法是先把式子变形为 f(-2(t - 0.5))。从这个形式可以看出先做 f(-2t)反转加压缩再右移 0.5。所以非零区间是 [0, 1]峰值在 0.5。整个过程中时移量是 0.5 而不是 1。这个反例说明看到形如 at b 的表达式时不要直接“平移 b”而要先提出系数 a。这是综合变换作图里最重要的一条规则。7. 考场上的系统化步骤与后续练习建议7.1 一套可以直接套用的解题模板经过上面的分析我们把综合变换作图整理成一套统一流程。以后遇到任意 f(at b)都可以按以下步骤操作。第一步把 f(at b) 写成 f(a(t b/a))明确尺度系数 a 和时移量 b/a 的符号。第二步先画 f(at)。如果 a 1压缩如果 0 a 1扩展如果 a 0先按 |a| 做尺度再反转。第三步对 f(at) 做时移时移量为 -b/a。时移量大于 0 右移小于 0 左移。第四步用变量代换法验证关键点。取原信号的几个关键点 t_orig令 at b t_orig解出新信号的关键点 t。把关键点连起来就是变换后的波形。第五步如果需要写解析式将 u at b 代入原函数的分段表达式逐段化简。这套流程在手无论是正系数、负系数、分数系数都能稳定求解。7.2 借助小马哥960题进行专项训练小马哥960题中把信号变换类题目按难度分层编排从简单的 f(t1) 到复杂的 f(-2t3)逐步提升。建议每天练习 3 到 5 道每道题都用上面这套模板完整走一遍流程不要跳步。练到后面你会发现所有这类题本质上都是同一个套路。如果你手头有其他学校的真题也可以把真题里的变换题单独整理出来用同样的流程做一遍。信号与系统考研中作图题是大多数学校的高频送分题值得投入时间彻底掌握。7.3 进阶思考从作图到卷积积分的衔接综合变换作图能力还会直接影响后续章节的学习。比如卷积积分中经常需要画 f(τ) 和 h(t-τ) 的波形其中 h(t-τ) 本身就是时移加反转的综合变换。如果现在能把反转和时移的图形关系弄得很熟练后面学习卷积的图解法会轻松很多。这也是为什么很多老师强调“波形变换是信号与系统的基础之基础”。它不只是一道孤立的作图题而是后续时域分析、频域分析的图形直觉来源。建议你把今天这套方法真正练熟而不是仅停留在看懂例题的层面。下一个阶段可以试着把变换后的信号用于卷积积分的图解法计算画出 f(τ) 与 h(t-τ) 的重叠区域求出卷积结果。练习过程中如果遇到问题可以先用本文的 Python 代码思路画出中间波形再对照手动结果很快就能查漏补缺。信号与系统考研复习中基础作图题是性价比最高的板块之一。它不需要大量记忆只需要理解自变量的变换本质加上系统化的计算流程。把这篇文章中的方法吃透成都信息工程大学2024年真题第2.1题这类题目就不会再丢分了。

相关新闻

最新新闻

Grok Bot与Agent工作流:从概念到最小可运行示例

Grok Bot与Agent工作流:从概念到最小可运行示例

如果只看这则观点,大多数人会自动把 Grok Bot 当作“又一个聊天机器人”。但真正值得拆解的并不是 Grok 这个词,而是 Bot 这个后缀。它代表的不再是“用户提问、模型回答”的对话框模式,而是“给 AI 一个目标,由它调用工具、规划步…

2026/8/31 17:15:34
基于Matlab的布匹缺陷检测:GLCM纹理特征与自适应阈值分割实战

基于Matlab的布匹缺陷检测:GLCM纹理特征与自适应阈值分割实战

简介:本资源是一套基于MATLAB实现的布匹缺陷检测完整项目方案,面向图像处理初学者、工业质检算法开发者及高校相关课程实践者,聚焦纺织行业自动化质检痛点,提供从图像预处理、特征提取到模型训练与缺陷定位的全流程技术实现。压缩…

2026/8/31 17:15:34
Qt WebView开发全攻略:从QWebEngineView选型到JS通信实战

Qt WebView开发全攻略:从QWebEngineView选型到JS通信实战

简介:这是一份面向Qt跨平台GUI开发者的轻量级WebView浏览器实现示例,聚焦于在桌面端(Windows/macOS/iOS)快速集成网页浏览能力,适用于初学者理解QtWebEngine核心机制及中级开发者复用基础架构。资源共15个文件&#xf…

2026/8/31 17:15:34
列车试验场播放音乐:从信号选择到声学测试的系统工程

列车试验场播放音乐:从信号选择到声学测试的系统工程

“在列车靶场上我放的音乐。” 第一次看到这个标题,大概率会以为是一句随手写的随笔,背后可能是某个生活场景的碎片。但放到工程语境里,它完全可以是一个项目代号:在列车的试验场地里,用一段音乐作为标准信号&#xff…

2026/8/31 17:15:34
NVIDIA开源srt-slurm:SLURM集群上的GPU推理服务编排

NVIDIA开源srt-slurm:SLURM集群上的GPU推理服务编排

NVIDIA 开源 srt-slurm:把 GPU 推理服务的编排做到 SLURM 里先说一个判断:推理部署真正的瓶颈,往往不是显卡性能不够,而是 GPU 集群里“谁能用、怎么用、出了问题谁来管”这件事太乱了。单机跑大模型还好,一旦上了多节…

2026/8/31 17:15:34
模型自动化与人类增强能力:为什么效率提升不等于能力提升

模型自动化与人类增强能力:为什么效率提升不等于能力提升

最近看到一篇论文,标题非常直接:模型自动化与人类增强能力未必相关。这个结论放在当下很有拆解价值。当前技术圈的主流叙事是:模型越强、自动化越彻底,人的能力就越强。但论文把这层叙事打了一个问号——自动化提升的是任务吞吐、…

2026/8/31 17:10:34