ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

信号与系统考研波形变换:关键点映射法三步画对x(-2t+1)

信号与系统考研波形变换:关键点映射法三步画对x(-2t+1) 信号与系统考研里有一类题看着基础丢分率却高得离谱给你一个原始波形 (x(t))让你画出 (x(-2t1)) 这种综合变换后的波形。很多同学不是不懂“尺度、时移、反转”三个概念而是顺序一复杂就画错。有些时候是先平移还是先压缩有些题目又带着负号需要反转三步混在一起画出来的图形要么左右颠倒要么整体偏移了一个单位白白丢掉一整道题的分数。2024 年成都信息工程大学信号与系统科目第 2 大题第 1 小题考的就是这个知识点信号的尺度、时移、反转综合变换作图。这道题本身不复杂但它把第一章最核心的三种基本运算组合在一起非常能检验考生对“自变量变换”的理解到底停留在背口诀还是真正掌握了图形背后的映射关系。这篇文章不打算让你去背“先压缩再平移”还是“先平移再压缩”那套容易混的顺序而是提供一套更稳的做法关键点映射法。把每一步都变成简单的算术运算不需要靠直觉猜方向画完还能快速检验。下面我会把方法拆开讲并用一道题型和难度与成信大 2.1 一致的典型题做完整演示。原题的具体波形以你手上的卷面为准只要把示例中的函数替换成原题信号步骤完全一样。1. 这道题到底在考什么先明确一个判断信号变换作图题在信号与系统考研中属于“性价比极高”的基础题型。它通常出现在选择题、填空题或大题的第一小问难度不大但一旦考到绝大多数考生都能拿分。也正因为大家都觉得简单反而容易因为粗心、顺序混乱、方向判断错误而丢分。成都信息工程大学 2024 年这道 2.1 题本质上考察的是连续时间信号的基本运算。这是信号与系统第一章“信号与系统概述”里的核心内容属于整个学科的地基。很多同学第一章学得很快觉得不过是“平移、压缩、反转”几个词结果到了后面学卷积、傅里叶变换、拉普拉斯变换时才发现自己连波形变换都不够熟练做题速度被拖慢不少。从考试角度看这类题目主要考查三件事是否理解时移对波形位置的影响。是否理解尺度变换对波形宽度的压缩和拉伸。是否理解负号带来的反转以及当多个变换叠加时它们之间的相互影响。换句话说题目表面上是画图实际上是在考“复合函数”的自变量关系。你如果只记住“左加右减”“压缩二倍”这些零散结论遇到 (x(-2t1)) 这种形式就会开始犹豫负号会不会让压缩方向改变这个常数 1 到底该左移还是右移移动量是 1 还是 0.5这些问题用“背口诀”的方式很难稳定答对。正确的思路是回到变换的本质所有对波形的操作都是对自变量 (t) 做了一次线性替换。理解了这一点整道题就从“玄学画图”变成了“代数计算”。这道题最适合哪类读者正在准备信号与系统考研需要系统梳理第一章基础题型的同学。学完信号与系统但波形变换不熟练反复在“先平移还是先尺度”上出错的本科生。需要给学弟学妹讲题或者想找一套清晰教学思路的读者。无论你属于哪一类下面这个方法都能让你在做这类题时少走很多弯路。2. 三种基本变换与常见的顺序陷阱先快速回顾三种基本变换因为后面所有综合变换都是这三种变换的叠加。2.1 时移方向为什么容易记反时移的表达式是[ x(t) \rightarrow x(t b) ]当 (b 0) 时波形向左移动 (b) 个单位当 (b 0) 时波形向右移动 (|b|) 个单位。这就是很多人常说的“左加右减”。但这里要注意这个规律只在单独做时移时成立。一旦和尺度变换结合很多人就会把“x(t1) 左移 1”和“x(2t1) 中常数项是 1所以左移 1”搞混。事实上在 (x(2t1)) 里常数项 1 对应的移动量并不是 1而是 (\frac{1}{2})。原因很简单真正对波形位置起决定作用的是当整个自变量等于多少时信号取到某个特征值。比如原始信号在 (t0) 处有一个峰值那么 (x(2t1)) 的峰值出现在 (2t10)也就是 (t-0.5) 处。这时候移动量是 0.5而不是 1。很多同学第一次意识到这一点时都会觉得“那左加右减不是没用了吗”。其实不是没用而是需要先把表达式整理成标准形式才能套方向判断。2.2 尺度压缩还是拉伸尺度变换的表达式是[ x(t) \rightarrow x(at) ]当 (|a| 1) 时波形在时间轴上被压缩到原来的 (\frac{1}{|a|})当 (0 |a| 1) 时波形被拉伸到原来的 (\frac{1}{|a|}) 倍。这里最容易犯的错误是把“压缩两倍”理解成“图形缩小到原来的一半所以横坐标都乘 0.5”还是“横坐标都除以 0.5”。正确的理解是如果一个特征点原来在 (t_0)变换后它在新的时间轴上满足 (a t t_0)即[ t \frac{t_0}{a} ]所以 (x(2t)) 就是把原来在 (t1) 处的特征点移动到 (t0.5) 处宽度变为原来的一半。这个“除以系数”的关系在后面综合变换里会反复用到。2.3 反转负号出现在哪里反转的表达式是[ x(t) \rightarrow x(-t) ]效果是把波形关于纵轴做镜像折叠。原来在 (t1) 处的点会跑到 (t-1) 处原来在 (t-2) 处的点会跑到 (t2) 处。反转单独出现时很好理解但一旦与尺度变换结合例如 (x(-2t))不少同学会疑惑是先把波形关于纵轴反转再压缩还是先压缩再反转其实两种顺序结果一样。因为反转和尺度都是对自变量进行线性变换它们之间是可交换的。换句话说(x(-2t)) 既可以理解为“先压缩二倍得到 (x(2t))再反转得到 (x(-2t))”也可以理解为“先反转得到 (x(-t))再压缩二倍”。最终波形完全一致。真正容易出问题的是反转与“时移”结合因为时移和尺度不是总能交换的。2.4 综合变换的顺序问题现在看综合形式[ y(t) x(at b) ]以 (x(-2t1)) 为例。很多同学会纠结是先做反转压缩再做时移还是先做时移再做反转压缩两种路线都能画出正确答案但中间步骤的“移动量”完全不同。路线 A先做尺度反转再做时移。先把 (x(-2t1)) 改写成[ x(-2t1) x\left(-2\left(t - \frac{1}{2}\right)\right) ]意思是先由 (x(t)) 得到 (x(-2t))然后整体右移 0.5。注意这里移动量是 0.5不是 1。路线 B先做时移再做尺度反转。先由 (x(t)) 得到 (x(t1))再把自变量 (t) 替换成 (-2t)得到 (x(-2t1))。这条路线里初始时移量是 1但由于之后做了尺度和反转最终波形的位置需要通过解方程来确认。两条路线都正确但如果你没有完全理解每一步对自变量造成的影响很容易在“移动方向”或“移动量”上出错。更稳妥的办法绕开顺序问题直接通过关键点映射来画图。这就是下一节要讲的核心方法。3. 关键点映射法不背顺序也能画对3.1 核心公式设原始信号为 (x(t))变换后信号为[ y(t) x(at b) ]如果原始信号里某个关键点坐标为 ((t_0, x_0))那么在变换后的信号中这个点对应的新横坐标 (t) 满足[ a t b t_0 ]解得[ t \frac{t_0 - b}{a} ]纵坐标保持不变仍然是 (x_0)。这就是关键点映射法的全部原理。它不关心“先平移还是先压缩”只关心“原始位置 (t_0) 经过变换后跑到了哪里”。3.2 操作步骤具体操作可以分为五步第一步确定原始信号的关键点。包括所有线段的端点、转折点、峰值点、零点、不连续点。对这些点逐一记录横坐标和纵坐标。第二步提取参数 (a) 和 (b)。把目标表达式写成 (x(atb)) 的标准形式。例如 (x(-2t1))则 (a-2, b1)。第三步用公式 (t \frac{t_0 - b}{a}) 计算每个关键点的新横坐标。这一步是纯算术运算基本不会错。第四步在新坐标系中依次标出映射后的点横坐标用 (t)纵坐标不变。第五步按照原信号中关键点的连接顺序把新点连接起来。原信号是直线段就连直线段原信号是曲线就按曲线趋势连接。3.3 为什么纵坐标不用变很多同学会问变换后波形被压缩、反转、平移为什么纵坐标完全不变因为 (y(t) x(atb)) 只改变了“自变量”的取值并没有对信号的幅度做任何乘法操作。所谓压缩和拉伸是波形在时间轴上的投影变窄或变宽但每个特征点对应的函数值 (x_0) 是不变的。如果题目里还出现了幅度系数比如 (y(t) 2x(-2t1))那么纵坐标要在关键点映射的基础上再乘 2。但在成信大这类基础作图题中通常只考察自变量变换纵坐标保持原值不变。这个结论很重要可以直接减少一半的计算量。4. 典型例题精讲以 (x(-2t1)) 为例这一节用一道典型题把完整过程走一遍。为了演示清晰假设原始信号是一个三角脉冲[ x(t) \begin{cases} 1 - |t|, -1 \le t \le 1 \ 0, \text{其他} \end{cases} ]它的波形是一条在 (t-1) 和 (t1) 处为 0、在 (t0) 处达到峰值 1 的等腰三角形。这道题与成信大 2.1 的题型一致思路可以直接套用到原题。目标画出 (y(t) x(-2t1)) 的波形。4.1 提取变换参数对照标准形式 (x(atb))得到[ a -2, \quad b 1 ]因为 (a) 是负数所以信号会发生反转因为 (|a|2 1)所以信号会被压缩到原来宽度的一半。这两个判断先放在心里后面用关键点计算来验证。4.2 列出全部关键点三角脉冲的关键点有 3 个左端点((-1, 0))峰值点((0, 1))右端点((1, 0))当然如果你希望更严谨可以在两端之外各取一个零值点比如 ((-2,0)) 和 ((2,0))但画图时只需要连接端点和峰值即可。4.3 映射新横坐标代入公式 (t \frac{t_0 - b}{a})其中 (a-2, b1)。第一个点 ((t_0-1, x_00))[ t \frac{-1 - 1}{-2} 1 ]映射后为 ((1, 0))。第二个点 ((t_00, x_01))[ t \frac{0 - 1}{-2} 0.5 ]映射后为 ((0.5, 1))。第三个点 ((t_01, x_00))[ t \frac{1 - 1}{-2} 0 ]映射后为 ((0, 0))。整理一下原信号关键点对应新信号关键点((-1, 0))((1, 0))((0, 1))((0.5, 1))((1, 0))((0, 0))这组结果说明什么原来的三角形支撑区间是 ([-1, 1])宽度为 2变换后的支撑区间是 ([0, 1])宽度为 1。正好压缩了一半符合 (|a|2) 的预期。同时原来最右边的点 (t1) 跑到了最左边 (t0)原来最左边的点跑到最右边这就是反转的体现。4.4 先用支撑区间做整体检验在连线之前可以先做一个整体检验原始信号的非零区间是 ([-1, 1])也就是要求[ -1 \le -2t 1 \le 1 ]先解左边[ -2t 1 \ge -1 \Rightarrow -2t \ge -2 \Rightarrow t \le 1 ]再解右边[ -2t 1 \le 1 \Rightarrow -2t \le 0 \Rightarrow t \ge 0 ]所以变换后信号的非零区间是 ([0, 1])。宽度正好是 1也就是原宽度 2 的一半。这个检验非常快建议每次画完都算一遍。如果支撑区间都不对那后面的图形一定有问题。4.5 两种路径对比再回到前面讨论的“顺序”问题。现在有了关键点的结果可以验证两种变换路径路径一先做尺度反转。由 (x(t)) 得到 (x(-2t))。此时支撑区间为 ([-0.5, 0.5])峰值仍在 (t0) 处。再把 (x(-2t)) 变成 (x(-2(t-0.5)))整体右移 0.5得到支撑区间 ([0, 1])峰值在 (t0.5)。这与关键点映射结果一致。路径二先做时移。由 (x(t)) 得到 (x(t1))支撑区间为 ([-2, 0])峰值在 (t-1)。再把自变量 (t) 替换成 (-2t)得到 (x(-2t1))。此时原来的区间 ([-2, 0]) 被映射到[ -2 \le -2t \le 0 \Rightarrow 0 \le t \le 1 ]峰值原来在 (t-1)也就是 (-2t-1)解得 (t0.5)。结果同样一致。两条路径都能走通但路径二里“时移 1”最后在图形上体现为“峰值在 0.5”这一步很容易让新手迷糊。关键点映射法之所以稳就是因为它直接跳过这些中间路径一步到位算出最终位置。5. Python 画图验证手算完成之后再用 Python 画一遍既可以验证结果也能帮助建立“波形变换后的样子”的直观印象。这一节给出完整可复现代码。5.1 环境准备需要安装 Python 3 以及 numpy 和 matplotlib。如果还没有安装可以执行pip install numpy matplotlib建议在 Jupyter Notebook 中运行图会直接显示在内嵌画布里在 VS Code 或 PyCharm 中运行也可以会弹出独立窗口。5.2 完整绘图代码下面的代码定义原始三角脉冲信号然后分别画出 (x(t))、(x(t1))、(x(-2t)) 和 (x(-2t1)) 四个波形方便对比每一步的变化。import numpy as np import matplotlib.pyplot as plt # 定义原始信号三角脉冲 x(t) 1 - |t|, -1 t 1 def tri_pulse(t): return np.where(np.abs(t) 1, 1.0 - np.abs(t), 0.0) # 生成高密度时间序列 t np.linspace(-4, 4, 2000) # 四个待绘制的信号 signals [ (x(t), tri_pulse(t)), (x(t1), tri_pulse(t 1)), (x(-2t), tri_pulse(-2 * t)), (x(-2t1), tri_pulse(-2 * t 1)), ] # 2x2 子图 fig, axes plt.subplots(2, 2, figsize(10, 6)) for ax, (title, y) in zip(axes.flatten(), signals): ax.plot(t, y, linewidth2) ax.axhline(0, colorblack, linewidth0.5) ax.axvline(0, colorblack, linewidth0.5) ax.grid(True, linestyle--, alpha0.6) ax.set_title(title) ax.set_xlabel(t) ax.set_ylabel(x(t)) plt.tight_layout() plt.show()运行这段代码后第二行第一列是 (x(-2t))第二行第二列是 (x(-2t1))。观察 (x(-2t))支撑区间为 ([-0.5, 0.5])峰值在 0 处再看 (x(-2t1))支撑区间变为 ([0, 1])峰值移动到 0.5。这就验证了手算结果。5.3 关键点自动计算如果你不想每次都盯着图数坐标可以写一个小脚本直接输出关键点的映射结果。# 原始信号的关键点格式为 (t0, x0) key_points [(-1, 0), (0, 1), (1, 0)] # 变换参数y(t) x(at b) a, b -2, 1 print(原始关键点 - 变换后关键点) for t0, val in key_points: t_new (t0 - b) / a print(f({t0}, {val}) - ({t_new:.2f}, {val}))输出结果原始关键点 - 变换后关键点 (-1, 0) - (1.00, 0) (0, 1) - (0.50, 1) (1, 0) - (0.00, 0)这个脚本可以作为通用模板。以后遇到其他信号只要修改key_points列表和a, b两个参数即可。5.4 支撑区间校验再写一段脚本用来快速算变换后的支撑区间。# 原始信号支撑区间 [L, R] L, R -1, 1 # 变换参数 a, b -2, 1 # 对新支撑区间端点做映射 x1 (L - b) / a x2 (R - b) / a new_L, new_R min(x1, x2), max(x1, x2) print(f原支撑区间: [{L}, {R}]) print(f新支撑区间: [{new_L:.2f}, {new_R:.2f}]) print(f原宽度: {R - L}新宽度: {new_R - new_L:.2f})输出结果原支撑区间: [-1, 1] 新支撑区间: [0.00, 1.00] 原宽度: 2新宽度: 1.005.5 怎样判断画对了画完图或手算完之后用三条标准快速自查支撑区间是否满足 (-1 \le atb \le 1) 的推导结果。峰值点是否满足 (at_p b 0)其中 (t_p) 是原信号峰值位置。例如本题 (t_p0)则 (-2t10 \Rightarrow t0.5)。关键点的纵坐标是否都与原信号一致。如果题目没有幅度缩放纵坐标不应该发生任何变化。三条都满足基本可以确定图形正确。6. 常见错误与排查方法根据历年考生在信号变换作图题上的表现下面这些问题出现频率最高也最有代表性。问题现象可能原因排查方式解决方案画出来的图形左右颠倒了忽略了 (a0) 时的反转检查 (a) 的符号看到负号先做整体反转再检查关键点位置整体平移方向反了混淆了 (x(tb)) 在 (b0) 时左移的规律代入峰值点验证移动方向用关键点映射法定位置不依赖“左加右减”移动量算错把 (x(2t1)) 的移动量当成 1将表达式改写成 (x(a(t\frac{b}{a})))先提取 (a)再判断移动量和方向支撑区间宽度不对压缩比例计算错误用 (-1 \le atb \le 1) 重新解不等式新宽度 原宽度 ÷ |a|只画了峰值遗漏端点只关注了最高点检查原信号所有拐点、端点、零点把所有关键点全部列出并映射曲线趋势连接错误原信号是折线映射后按曲线画对比原信号线段顺序保持原信号关键点的连接顺序不变在这些错误里最值得单独强调的就是“移动量算错”。很多同学看到 (x(-2t1))觉得常数项是 1图形应该左移 1。但结合关键点映射可以发现原始峰值 (t0) 映射到新位置是 (t0.5)也就是右移了 0.5。真正决定移动方向和大小的是 (t \frac{t_0-b}{a}) 这个关系而不是简单地看常数项。7. 考场答题规范与技巧同样的知识点为什么有人能拿满分有人只能拿一半分问题往往出在答题过程的呈现方式上。下面整理几个考场上的实用建议。7.1 答题步骤模板建议按照下面的格式书写既清晰又能让阅卷老师一眼看到你的思路。第一步写出变换表达式并提取参数[ y(t) x(-2t1), \quad a-2, \quad b1 ]第二步列出原始信号关键点[ (-1, 0), \quad (0, 1), \quad (1, 0) ]第三步用公式计算映射后的点[ t \frac{t_0 - b}{a} \frac{t_0 - 1}{-2} ]第四步在新坐标轴上标点连线。7.2 给分点在哪里从阅卷角度看这类作图题的给分点通常包括是否写出变换表达式和参数。是否画出正确的支撑区间。是否标出关键点的坐标。最终波形形状是否正确。哪怕最后波形画得不够完美只要关键点标对了通常也能拿到大部分步骤分。所以考场上一定不要空着不写哪怕只算出支撑区间也要标在图上。7.3 特殊信号的处理如果原始信号不是三角波而是矩形脉冲、阶跃信号或冲激信号关键点映射法依然适用但要注意两点矩形脉冲重点关注左右跳变点的位置映射后保持跳变方向不变。单位冲激冲激的位置由 (a t b 0) 解出冲激强度不变。例如 (\delta(-2t1) \frac{1}{2}\delta(t-0.5))这里涉及冲激的尺度性质考研中常考需要单独记忆。7.4 考前一分钟检查画完图形后用一分钟做两个快速检查原信号宽度为 2变换后宽度是否为 1如果宽度没有变化说明尺度变换没做对。原信号峰值在 (t0)变换后峰值是否在 (t0.5)如果位置不对说明时移或反转方向有问题。这两个检查只需要口算但能挡住绝大多数低级失误。8. 总结与后续建议综合变换作图题本质上是一道“用代数方法解决图形问题”的题目。不要依赖“先平移还是先压缩”的口诀也不要靠直觉猜方向。掌握关键点映射法之后这类题就从“需要空间想象力”变成了“带公式计算”得分稳定性会明显提升。把今天的方法浓缩成一句话对 (y(t) x(atb))原信号每个关键点 ((t_0, x_0)) 映射到新位置 ((\frac{t_0-b}{a}, x_0))。如果你正在以成信大或其他院校的信号与系统考研真题为目标建议把第一章所有涉及波形变换的题都集中刷一遍。每次做题都严格按“列关键点、套公式、标点连线、区间校验”四步走不要跳步。练熟之后这类题在考场上就是纯送分题。下一步可以继续关注卷积的图形化计算、傅里叶变换的尺度性质以及冲激信号的尺度变换。这些内容都建立在波形变换的基础上把这一题吃透后面的学习会顺畅很多。
返回列表