信号与系统波形变换作图:尺度变换、时移与反转综合题解法

发布时间:2026/9/1 6:34:09

信号与系统波形变换作图:尺度变换、时移与反转综合题解法
这次我们来看一个信号与系统里的高频基础题信号尺度变换、时移、反转综合变换作图。题目来自小马哥960题题库对应2024年成都信息工程大学信号与系统相关试卷第2.1题。这类题在考研和期末考试中基本属于必拿分项但每年都有不少同学在变换顺序、时移方向上出错画出来的波形和答案相差很远。信号变换作图的核心不是背很多种“套路组合”而是掌握三件事三个基本变换各自的图形效果、复合函数的拆分顺序、以及关键点坐标映射。本文先用一道典型三角波题完整演示两种解法再用 Python 数值绘图做交叉验证最后给出这类题最容易踩的坑和考场建议。如果你正在复习信号与系统或者准备考研专业课这篇文章可以直接收藏。1. 核心考点速览先把这道题涉及的知识点列成一张表方便后面展开。项目说明考点类型连续时间信号的横轴变换基本变换反转 f(-t)、尺度变换 f(at)、时移 f(t-t0)题目来源小马哥960题2024年成都信息工程大学相关试卷2.1题核心能力给定 f(t) 波形画出 f(atb) 波形易错点变换顺序、时移方向、系数提取高频要求能画波形图、能写分段函数表达式、能判断斜率变化这类题最大的特点是图形本身不难难在思路清晰。只要变换规则掌握牢固考场上可以直接用关键点法快速解决。2. 适用场景与使用边界这道题适合三类读者第一类是正在复习信号与系统期末考试的本科生。这类综合变换作图题经常出现在期末卷子的基础题部分一个题可能占 8 到 15 分。第二类是准备电子信息类考研专业课的同学。信号与系统考研题里这类题很少单独出现但会作为后续傅里叶变换、拉普拉斯变换题目的前置条件比如让你先画出变换后的时域波形再求频谱。第三类是通信、电子、自动化方向低年级学生想通过一道典型题把横轴变换的底层逻辑彻底搞清楚。要明确一点这篇文章不会只讲一道题而是给出一个通用解法。无论原题给的 f(t) 是三角波、矩形波还是任意分段线性波形只要按照关键点映射法都能快速画出 f(atb)。这里也要说清楚边界信号变换作图只处理时间轴的线性变换不改变信号的纵坐标幅度。也就是说无论怎么压缩、平移、反转原信号幅度是多少新信号幅度仍然是多少。很多同学在这里会产生误解以为尺度变换会改变幅度后续求能量或功率时也会跟着错。3. 三种基本变换的图形效果在进入综合变换之前先把三个基本变换单独看一遍。这三个变换的结论非常重要后面所有复合变换都是它们的有序组合。3.1 反转变换 f(t) → f(-t)反转变换就是把原始信号沿纵轴翻转。图形看起来像照镜子一样原来的左半部分变到右半部分原来的右半部分变到左半部分。数学上原信号的特征点 t0 会映射到 -t0。举个例子如果原信号 f(t) 在 t 1 处有一个峰值那么 f(-t) 的峰值就在 t -1。理解反转的另一种方式是横轴上的取值方向反过来了。原来从左到右读信号反转后从右到左读信号。3.2 尺度变换 f(t) → f(at)尺度变换对应时间轴的压缩或扩展。当 |a| 1 时信号在时间轴方向被压缩。比如 f(2t)原来在 t 2 的位置现在落在 t 1 的位置。当 0 |a| 1 时信号在时间轴方向被扩展。比如 f(0.5t)原来在 t 1 的位置现在落在 t 2 的位置。尺度变换只改变横轴拉伸比例不改变纵轴幅度。这一点必须反复强调。3.3 时移 f(t) → f(t - t0)时移是三个变换里最容易判断的但也是最容易在复合变换中出错的。规则非常简单f(t - t0) 表示原信号向右平移 t0f(t t0) 表示原信号向左平移 t0。注意这里说的是 t - t0而不是 at b 这种整体形式。如果给的是 f(2t - 1)不能直接判断为右移 1必须先提取系数变成 f[2(t - 0.5)]才能确定是右移 0.5。这就是复合变换中最关键的一个动作先提取时间变量 t 的系数再做平移判断。4. 综合变换的通用解法思路对于 f(at b) 这种一般形式标准做法是先把表达式改写成 f[a(t b/a)]然后按照固定次序完成变换。综合变换常见的有两种操作次序第一种次序反转 → 尺度 → 时移。先处理 a 的符号问题再做缩放最后做平移。第二种次序尺度 → 反转 → 时移。如果先做尺度再处理反转最后平移也可以但必须保证每一步的变换基准正确。对于大多数初学者来说推荐使用第一种次序。原因在于先做反转可以尽快处理负号避免后续步骤中系数的正负干扰。但这里也要强调还有另一种更直接的解法关键点映射法。它不需要在脑海里模拟多步图像变化而是直接把原信号的特征点坐标代入方程算出新信号特征点的位置然后连线。这种方法特别适合考试时使用因为计算量小而且每一步都有数值可查不容易画错。下面用一道典型题来完整演示这两种方法。作为示例设原信号 f(t) 是一个分段线性三角波f(t) 0, t 0 f(t) t, 0 ≤ t ≤ 1 f(t) 2 - t, 1 ≤ t ≤ 2 f(t) 0, t 2也就是在 [0, 1] 区间上从 0 线性上升到 1在 [1, 2] 区间上从 1 线性下降到 0。目标画出 y(t) f(1 - 2t) 的波形。这个问题等价于 f(-2t 1)是尺度、时移、反转同时存在的综合变换题。5. 方法一关键点映射法关键点映射法的核心思想是线性变换不会改变分段线性信号的特征点性质。原信号在某个点发生上升、下降、峰值变化那么新信号一定也在对应位置发生相同性质的变化。原信号 f(t) 有三个特征点原信号位置 t纵坐标 f(t)特征说明00上升起点11峰值点20下降终点现在要求 y(t) f(1 - 2t)。令中间变量 τ 1 - 2t则原信号特征点满足 τ 等于0、1、2。所以有1 - 2t 0 → t 0.51 - 2t 1 → t 01 - 2t 2 → t -0.5整理成表格原信号特征点 τ新信号位置 t纵坐标 y(t)00.501012-0.50也就是说新信号 y(t) 的三个关键点是(-0.5, 0)、(0, 1)、(0.5, 0)。接下来确定斜率。原信号在 [0,1] 区间斜率为 1在 [1,2] 区间斜率为 -1。由于 y(t) f(1-2t)令 u 1 - 2t则 du/dt -2。所以新信号斜率与原信号斜率之间的关系是dy/dt (df/du) · (du/dt) f(u) · (-2)对应到两个区间区间 t ∈ [0, 0.5]对应 u ∈ [1, 0]。原斜率为 f(u) 1新斜率 1 × (-2) -2。区间 t ∈ [-0.5, 0]对应 u ∈ [2, 1]。原斜率为 f(u) -1新斜率 -1 × (-2) 2。所以最终 y(t) 的分段表达式为y(t) 0, t -0.5 y(t) 1 2t, -0.5 ≤ t ≤ 0 y(t) 1 - 2t, 0 ≤ t ≤ 0.5 y(t) 0, t 0.5波形是一个以 t 0 为对称轴的等腰三角波峰值仍在 1。这说明信号的纵坐标幅度没有改变只是时间轴发生了反转和压缩。关键点法的优点在于不需要在脑海中做连续动画式的变换只需要列出特征点算映射坐标再连起来画图。考场时间紧张的情况下这个方法最稳。6. 方法二分步变换法第二种方法是把综合变换拆成三个基本变换一步一步操作。这种方法更适合理解本质也适合在草稿纸上逐步验证。先把目标函数改写为标准形式y(t) f(1 - 2t) f[-2(t - 0.5)]这里的关键动作是提取系数 2并且保留负号。提取之后才能判断平移量。如果直接看 f(-2t 1)很容易误判为左移 1但实际是右移 0.5。接下来按照“反转 → 尺度 → 时移”的步骤执行。6.1 第一步反转从 f(t) 到 f(-t)。原三角波区间 [0, 2] 经过反转变为 [-2, 0]峰值点从 t 1 变为 t -1。波形关于纵轴翻转。此时图形是一个“左高右低”的三角波最高点在 t -1。6.2 第二步尺度压缩从 f(-t) 到 f(-2t)。横向压缩 2 倍区间从 [-2, 0] 变为 [-1, 0]峰值点从 t -1 变为 t -0.5。注意这里仍然不改变纵坐标幅度峰值还是 1。6.3 第三步时移从 f(-2t) 到 f[-2(t - 0.5)]。这一步是右移 0.5。区间从 [-1, 0] 变为 [-0.5, 0.5]峰值点从 t -0.5 变为 t 0。最终结果和方法一完全一致一个以 t 0 为对称轴的等腰三角波区间 [-0.5, 0.5]峰值 1。对比两种方法关键点法适合考试实战分步变换法适合学习理解和检查。实际做题时可以先用关键点法算出特征点位置再用分步法确认变换顺序无误双保险。7. 用 Python 数值验证波形为了避免手动画图出现视觉误差可以用 Python 做一次数值验证。这个方法也适合平时做作业时自查。代码如下import numpy as np import matplotlib.pyplot as plt def f(t): # 原信号分段线性三角波 conds [t 0, (t 0) (t 1), (t 1) (t 2), t 2] funcs [0, t, 2 - t, 0] return np.select(conds, funcs) # 原信号 t_orig np.linspace(-1, 3, 1000) y_orig f(t_orig) # 变换后的信号 y(t) f(1 - 2t) t_new np.linspace(-1, 1.5, 1000) y_new f(1 - 2 * t_new) # 检查非零区间 nonzero t_new[y_new 1e-6] print(y(t) 非零区间:, nonzero.min(), 至, nonzero.max()) print(y(t) 峰值:, y_new.max()) # 绘图 fig, axes plt.subplots(2, 1, figsize(8, 6)) axes[0].plot(t_orig, y_orig, linewidth2) axes[0].set_title(f(t)) axes[0].grid(True) axes[0].set_ylim(-0.2, 1.4) axes[1].plot(t_new, y_new, linewidth2, colororange) axes[1].set_title(y(t) f(1 - 2t)) axes[1].grid(True) axes[1].set_ylim(-0.2, 1.4) plt.tight_layout() plt.show()运行后的输出结果非零区间-0.5 至 0.5峰值1.0这和前面两种方法手算的结果完全一致。数值验证的另一个好处是如果题目要求画任意给定波形比如矩形波可以替换 f(t) 的定义然后重新绘图检查。对于不是连续折线的信号比如指数函数、三角函数Python 验证也同样适用。8. 易错点与高分技巧这道题本身不难但错误率很高主要集中在这五个地方。8.1 平移量判断错误最容易错的是 f(1 - 2t) 的平移量。很多同学会机械地认为 f(t 1) 左移 1所以 f(-2t 1) 也是左移 1。这个思路的问题在于没有先提取系数。正确做法是把表达式改写为 f[-2(t - 0.5)]这时才能判断是右移 0.5。先提取系数再判断平移方向这是整个综合变换题的黄金步骤。8.2 变换顺序混乱有些同学先做尺度和时移再做反转结果每一步的参考坐标都在变化很容易画错。建议固定一种顺序比如统一的“反转 → 尺度 → 时移”。每次都用同一种顺序熟练之后可以降低出错率。如果非要用“先平移、后尺度、再反转”这种顺序需要非常清楚每一步变换的基准是什么通常不建议初学者尝试。8.3 忽略反转当 a 为负数时必须做反转。比如 f(1 - 2t) 中的 a 是 -2很多同学只做了压缩和右移忘了信号还要翻过来。反映到特征点上原信号的峰值在 t 1新信号峰值在 t 0。如果没有做反转峰值位置会算成 t 0.5 或 t 1和后面对不上。8.4 误改纵坐标幅度这是普遍存在的误解。尺度变换 f(at) 只改变时间轴不改变纵坐标幅度。原信号最大值为 1变换后最大值为 1。如果题目后续问到能量或者功率这一条尤其重要。8.5 斜率符号和大小如果题目要求写出分段函数表达式必须注意新信号斜率等于原信号斜率乘以 du/dt。对于 f(1 - 2t) 来说u 1 - 2t所以所有斜率都要乘以 -2。这就是为什么新信号两个区间的斜率分别是 2 和 -2而不是原来的 1 和 -1。9. 考场做题标准流程推荐一套可以直接套用的做题流程无论题目给出的 f(t) 是什么形状都按这套流程走。第一步把目标函数写成 f[a(t b/a)] 的形式。这一步必须写出它是后续所有判断的基础。第二步列出原信号所有特征点的坐标包括起点、终点、峰值点、折点。如果原信号是矩形波就需要列出上升沿和下降沿位置。第三步令中间变量等于原信号特征点解出新的时间位置。这一步得到的是新信号的特征点表。第四步根据特征点表画出新信号草图。如果原信号在某区间是直线新信号对应区间也是直线直接连接特征点即可。如果原信号是曲线需要额外判断曲线的趋势。第五步用斜率关系检查。对新信号每个分段计算斜率确认特征点之间的递增递减关系没有反。这套流程对于 f(-2t1)、f(3t2)、f(2-t) 等各类复合变换都有效。区别只是提取系数之后a 的值不同反转和压缩的比例不同。10. 常见问题与排查方法在实际做题和编程验证过程中可能会遇到一些具体问题整理成下表。问题现象可能原因排查方式解决方案新信号左右方向和答案相反没有做反转观测 a 的正负a 0 时先画反转平移量看起来不对没有提取系数将 f(atb) 改写为 f[a(tb/a)]以提取后的内部表达式为准峰值位置对不上只做了平移没做尺度用特征点方程逐一验证令内部表达式等于原位置分段函数斜率错误忘记乘以 du/dt检查每个分段斜率新斜率 原斜率 × a纵坐标幅度变了误以为压缩会改幅度比较原信号幅值横轴变换不改纵坐标Python 画出来没有图形f(t) 定义域表达式写错打印每个区间的值用 np.select 替代多重 if峰值为空或为零输入的 t_new 范围太小检查 t_new 是否覆盖非零区间扩大 linspace 范围第 5 条和第 6 条是很多同学用代码验证时才会遇到的问题。实际上 Python 验证并不复杂关键是 f(t) 的分段表达式要和手算一致。11. 同型题变式训练这类综合变换题出题人通常会在两个方向变换系数 a 的取值以及 b 的正负。下面列两个常见变式帮助你把方法用熟。11.1 变式一f(2t 1)先提取系数f(2t 1) f[2(t 0.5)]a 2不需要反转压缩 2 倍。因为是 t 0.5所以左移 0.5。原三角波经过压缩后区间为 [0, 1]峰值点从 t 1 变为 t 0.5再左移 0.5区间变为 [-0.5, 0.5]峰值点变为 t 0。注意这个结果和 f(1 - 2t) 类似区间也是 [-0.5, 0.5]峰值也在 t 0。区别在于 f(1 - 2t) 的上升下降方向与原信号相反而 f(2t 1) 的上升下降方向与原信号相同。11.2 变式二f(1 - t)提取系数f(1 - t) f[-(t - 1)]a -1需要反转。因为 t - 1所以右移 1。原三角波反转后区间为 [-2, 0]峰值在 t -1再右移 1区间变为 [-1, 1]峰值在 t 0。这个变式说明当 |a| 1 时没有压缩只做反转和平移计算更简单。每个变式都可以用前面讲的关键点法走一遍熟能生巧。12. 总结与下一步这类信号变换作图题最值得花时间掌握的就是关键点映射法。把原信号的特征点坐标代入新表达式算出新坐标再连线整个过程不超过两分钟比在脑子里模拟动画式变换可靠得多。开始做题时建议先验证最简单的 f(2t) 和 f(-t)确认自己完全理解基本变换后再做综合题。最容易踩的坑有两个一是 f(-2t 1) 这种形式的平移方向判断二是忘记斜率需要乘以系数 a。后续可以继续扩展的方向很多时域变换之后画频谱也就是傅里叶变换的尺度性质和平移性质或者利用波形变换去求解卷积因为卷积的图解中同样依赖信号左右反转和平移。把这篇文章的方法吃透后面学习卷积图解、傅里叶变换性质会轻松很多。建议用文中的 Python 代码把自己手里的真题验证一遍把关键点映射法变成肌肉记忆考场直接套流程。

相关新闻

数字电源控制算法工程实践:从采样到PID完整链路

数字电源控制算法工程实践:从采样到PID完整链路

2026/9/1 6:34:09

在开关电源从模拟环路切换到数字控制之后,电源数字控制算法的核心不再只是一个 PID 公式,而是由采样、补偿、PWM 调制、状态机、保护和通信共同组成的一套控制逻辑。实际项目中,很多人把 MCU 或者 DSP 上的控制代码写完了,但输出电…

Python+Django+机器学习:搭建电商数据分析与销量预测系统

Python+Django+机器学习:搭建电商数据分析与销量预测系统

2026/9/1 6:24:09

最近在和做电商运营的朋友聊天时,他提到一个很具体的痛点:店铺后台导出几十万行订单,Excel 一打开就卡,想分析一下“哪些商品最近卖得好”“未来一个月该备多少货”,基本靠感觉,做一次报表要花大半天。我相…

C#上位机通过S7net与西门子PLC通信:四代S7系列连接配置与实战踩坑总结

C#上位机通过S7net与西门子PLC通信:四代S7系列连接配置与实战踩坑总结

2026/9/1 6:24:09

简介:一套基于C#语言与S7net库开发的西门子PLC通信示例项目,面向工业自动化上位机开发工程师,可对接S7-200、S7-300、S7-1200、S7-1500系列PLC,适用于远程监控、数据采集与控制逻辑下发等应用场景。压缩包共249个文件,…

SiYuan 智能体使用指南:让 AI 直接动手管理你的知识库(附配置与排障清单)

SiYuan 智能体使用指南:让 AI 直接动手管理你的知识库(附配置与排障清单)

2026/9/1 8:54:15

SiYuan 智能体使用指南:让 AI 直接动手管理你的知识库(附配置与排障清单) 【免费下载链接】siyuan An open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识…

前端面试高频八股文:Vite脚手架、HTTP缓存与XSS实战解析

前端面试高频八股文:Vite脚手架、HTTP缓存与XSS实战解析

2026/9/1 8:54:15

把时间拨回到今年三月,我蹲在宿舍阳台接完最后一通面试电话,手心全是汗。四十分钟里,面试官从我的Vite脚手架一路追问到DOM型XSS的触发链路,中间穿插了三次关于HTTP缓存的连环设问。挂电话的那一刻我知道,这场我准备了…

金蝶二开资料荒与VB控件兼容性排查:从K/3到云星空WebAPI迁移实战

金蝶二开资料荒与VB控件兼容性排查:从K/3到云星空WebAPI迁移实战

2026/9/1 8:54:15

简介:面向金蝶K3系统二次开发人员、ERP实施顾问及有VB基础的开发者,这套资料针对开发过程中参考资料分散、常用控件缺失等痛点,集中整理了从入门到实战所需的完整文档体系。压缩包共118个文件,占用空间约173.62MB,以67…

AI角色卡免部署导入指南:PNG、JSON、CHARX格式转换实战

AI角色卡免部署导入指南:PNG、JSON、CHARX格式转换实战

2026/9/1 8:54:15

最近在折腾AI角色扮演应用时,发现很多有趣的“角色卡”资源散落在社区,格式五花八门,有PNG图片、JSON文件,还有CHARX这种特定格式。想把它们导入到“手机酒馆”这类App里,往往需要复杂的部署或转换流程,对新…

Cesium动态路径导航线实战:从Polyline到自定义材质

Cesium动态路径导航线实战:从Polyline到自定义材质

2026/9/1 8:54:15

简介:面向Cesium开发者的路径导航线源码包,解决在三维地球场景中快速绘制移动轨迹与导航路线的需求。核心代码围绕PathLinePrimitive类实现,通过初始化一组经纬度坐标点并传入构造方法,即可生成可视化路径,同时支持调整…

cuDNN 8.9.7 与 CUDA 11.x 安装实战及常见坑解析

cuDNN 8.9.7 与 CUDA 11.x 安装实战及常见坑解析

2026/9/1 8:44:15

简介:cuDNN 8.9.7 for CUDA 11.x 是一套面向深度学习开发者的专用加速库,主要解决 CUDA 11.x 环境中卷积、池化、归一化等神经网络算子执行效率偏低的问题,适合使用 TensorFlow、PyTorch 搭建训练或推理环境,以及通过 C/C 调用 cu…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/1 1:53:39

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/8/31 7:20:57

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/31 17:18:46

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…