上一节 6·01 有了积木,这一节学两件事:一是看着一个分段的波形(题目给的图),把它写成 u、r(必要时还有 δ)的加减;二是反过来,看到这样一个式子,画出波形、写出分段表达式。这样做的原因在最后一部分:电路是 linear、time-invariant 的,只要知道它对 u(t) 的反应,对 u(t−a) 的反应就是把它平移 a,对整个波形的反应就是逐项相加。
① 方法:从左往右扫 课上第 12 讲
关键事实:u(t−a) 和 r(t−a) 在 t≤a 都是 0。所以在一个式子里加上 Δ⋅u(t−a),a 左边的波形一点不变,a 右边整体抬高 Δ:这是一次跳变,斜率不变。加上 Δk⋅r(t−a),左边也不变,右边的斜率多了 Δk;它从 0 开始长,所以不产生跳变。于是可以从最左边出发,每走到一个"特殊时刻"就补一块积木,把波形修正成正确的样子,再继续往右走。
把波形写成 u 和 r 的四步
- 读图。写出分段定义,标出所有特殊时刻 a:值跳变的点,和斜率改变的点。
- 在每个 a 量两样东西。跳了多少:Δ = (a 右边的值)−(a 左边的值)。斜率变了多少:Δk = (a 右边的斜率)−(a 左边的斜率)。
- 补积木。每个跳变加 Δ⋅u(t−a),每个斜率变化加 Δk⋅r(t−a)。同一个 a 两样都有,就两块都加。往下跳 Δ 为负;斜率变小 Δk 为负。
- 相加并检查。每一段取一个 t 代进去,和分段定义比较。
第 2 步量的是变化量,不是新的斜率:斜率从 +1 变成 −1,要加的是 (−1)−(+1)=−2 倍的 ramp,不是 −1 倍。
② 例题:读图写式子
例 1、2、3、6、8、10 的解答里都有一排小图:灰色虚线是要拼出的目标波形,青色是"到这一步为止已经写下的各项之和"。每补一块积木,青色线就在那个时刻之后被修正一次;最后一张图里青色和灰色完全重合,式子就写对了。
例 1电源电压跌落 1 s
0 到 1 为 3,1 到 2 跌到 1,之后恢复 3。一个 3 V 的电源在 t=0 接通,在 1<t≤2 s 期间跌落到 1 V,之后恢复 3 V 并一直保持。把 v(t) 写成 u 和 r 的组合。
读图。v=0(t≤0),3(0<t≤1),1(1<t≤2),3(t>2)。各段都是水平的,斜率处处是 0,所以只有跳变:特殊时刻 0、1、2,跳变量依次是 3−0=+3、1−3=−2、3−1=+2。每个跳变补一个 Δ⋅u(t−a):
① t=0 跳 +3:补 3u(t)。② t=1 跳 −2:补 −2u(t−1),右边整体降 2。③ t=2 跳 +2:补 2u(t−2),和目标重合 ✓
v(t)=3u(t)−2u(t−1)+2u(t−2)
检查。t=−1:0 ✓。t=0.5:3 ✓。t=1.5:3−2=1 ✓。t=3:3−2+2=3 ✓。这个波形最后不回到 0,所以三个跳变加起来不是 0,而是终值 3−2+2=3。
例 2斜升到 2,然后保持
0 到 2 以斜率 1 上升到 2,之后保持 2。写成 u 和 r 的组合。
读图。f(t)=0(t≤0),t(0<t≤2),2(t>2)。特殊时刻 0 和 2,两处的值左右相等,都没有跳变,只有斜率变化。
① t=0 斜率 0 → 1:补 r(t)。它会一直往上走(出了画面)。② t=2 斜率 1 → 0:补 −r(t−2),把继续的增长抵消掉 ✓
结果 f(t)=r(t)−r(t−2)。检查:t=1:1−0=1 ✓。t=3:3−1=2 ✓。展开 t>2:t−(t−2)=2,正是第 2 张图里"抵消"的意思。
例 3冲过头再回落:0 → 2 → 1,然后保持
0 到 1 以斜率 2 升到 2,1 到 2 以斜率 −1 落到 1,之后保持 1。写成 u 和 r 的组合。(形状像一个会过冲的 step response 的折线近似。)
读图。f(t)=0(t≤0),2t(0<t≤1),3−t(1<t≤2),1(t>2)。在 t=1:2⋅1=2,3−1=2,相等;在 t=2:3−2=1,相等。所以没有跳变,只有斜率变化。各段斜率依次是 0、+2、−1、0。
① t=0:Δk=2−0=+2,补 2r(t)。② t=1:Δk=−1−2=−3,补 −3r(t−1),之后斜率是 −1,一直往下。③ t=2:Δk=0−(−1)=+1,补 r(t−2),停在 1 ✓
f(t)=2r(t)−3r(t−1)+r(t−2)
第 2 张图是关键:斜率从 +2 变成 −1,要补的是变化量 −3 倍的 ramp,不是 −1 倍。检查:t=0.5:1 ✓。t=1.5:3−1.5=1.5 ✓。t=3:6−6+1=1 ✓。三个 Δk 加起来 2−3+1=0,所以最后斜率是 0;但终值是 1,不是 0:斜率回到 0 不等于值回到 0。
例 4阶梯:只有跳变,有一段在 0 以下
0 到 1.5 为 2,1.5 到 2.5 为 −1,2.5 到 4 为 1,之后为 0。写成阶跃的组合。
看解答
- 读图。各段都是水平的,所以只有跳变:t=0 从 0 到 2(Δ=+2),t=1.5 从 2 到 −1(−3),t=2.5 从 −1 到 1(+2),t=4 从 1 到 0(−1)。
- 相加。f(t)=2u(t)−3u(t−1.5)+2u(t−2.5)−u(t−4)。
- 检查。t=1:2 ✓。t=2:2−3=−1 ✓。t=3:2−3+2=1 ✓。t=5:2−3+2−1=0 ✓。
另一种写法:每一层乘一个"窗口"。每一段的值乘上该段的脉冲:
f=2[u(t)−u(t−1.5)]−1[u(t−1.5)−u(t−2.5)]+1[u(t−2.5)−u(t−4)]
合并同类项:u(t−1.5) 的系数 −2−1=−3,u(t−2.5) 的系数 1+1=2,u(t−4) 的系数 −1。和上面一样。窗口写法不用量跳变,对曲线段也适用(见例 9)。
例 5梯形:只有斜率变化
1 到 2 升到 3,2 到 4 保持 3,4 到 5 降回 0。写成 ramp 的组合。
看解答
- 读图。没有跳变。各段斜率:t<1 为 0;1–2 为 3/1=3;2–4 为 0;4–5 为 −3;之后为 0。
- 斜率变化。t=1:3−0=+3;t=2:0−3=−3;t=4:−3−0=−3;t=5:0−(−3)=+3。
- 相加。f(t)=3r(t−1)−3r(t−2)−3r(t−4)+3r(t−5)。
- 检查。t=1.5:3(0.5)=1.5 ✓。t=3:3(2)−3(1)=3 ✓。t=4.5:3(3.5)−3(2.5)−3(0.5)=10.5−7.5−1.5=1.5 ✓(从 3 降到 0 的一半)。t=6:15−12−6+3=0 ✓。
例 6课上例题(第 12 讲):跳变和斜率变化同时出现
0 到 1 斜率 1,1 到 2 平在 1,t = 2 跳到 2,然后斜率 −1,t = 4 回到 0。写成 u 和 r 的组合。
读图。f(t)=0(t≤0),t(0<t≤1),1(1<t≤2),4−t(2<t≤4),0(t>4)。特殊时刻 0、1、2、4;只有 t=2 有跳变(1 → 2),其余三处只是拐角(4−t 在 t=4 正好是 0)。从左往右,在每个时刻补积木:
① t=0:不跳,斜率 0 → 1,补 r(t)。② t=1:不跳,斜率 1 → 0,补 −r(t−1)。③ t=2:跳 +1 并且斜率 0 → −1,两块一起补:u(t−2)−r(t−2)。④ t=4:不跳,斜率 −1 → 0,补 r(t−4),和目标重合 ✓
相加:
f(t)=r(t)−r(t−1)+u(t−2)−r(t−2)+r(t−4)
逐段检查(每段只留已经开始的项):0<t≤1:t ✓。1<t≤2:t−(t−1)=1 ✓。2<t≤4:t−(t−1)+1−(t−2)=4−t ✓,t=2+ 时是 2。t>4:(4−t)+(t−4)=0 ✓。在 t=2 这一点,u(0)=0、r(0)=0,所以 f(2)=1,取的是左边的值,图上实心点在 1。
③ 同一个信号用 δ 和 p 再写一遍
6·01 说过,积木之间只差一次求导或积分:
pu(t−a)=δ(t−a)pr(t−a)=u(t−a)p2r(t−a)=δ(t−a)
反过来 u(t−a)=p1δ(t−a),r(t−a)=p21δ(t−a)。p 是 linear 的:对和逐项求导,常数提出来。所以一个写成 u、r 之和的信号,求导就是把每块积木"降一级":u 变成 δ,r 变成 u。这和技巧 J 是一回事:跳变 Δ 在导数里给 Δδ;斜率变化 Δk 在导数里给一个高 Δk 的台阶。
例 7把例 1、2、3、6 的导数写成 δ 和 u 之和
对例 1、2、3、6 的结果求导(例 2、3 求到二阶),并反过来用 1/p 写出原信号。
(a) 例 1 的电压跌落 v=3u(t)−2u(t−1)+2u(t−2)。每个 u 换成 δ:
pv=3δ(t)−2δ(t−1)+2δ(t−2)
三个 impulse,面积就是三次跳变:t=0 跳 +3,t=1 跳 −2,t=2 跳 +2。
反过来 v=p1[⋯]:从左往右累加面积,t<0 是 0;0<t<1 已经加了 3;1<t<2 是 3−2=1;t>2 是 1+2=3。正好回到原波形 ✓。
(b) 例 2 f=r(t)−r(t−2)。每个 r 换成 u:pf=u(t)−u(t−2),一个高 1 的脉冲,就是 f 的斜率(0–2 为 1,其余为 0)。再求一次:p2f=δ(t)−δ(t−2)。所以 f=p21[δ(t)−δ(t−2)]。
(c) 例 3 的过冲波形 f=2r(t)−3r(t−1)+r(t−2)。每个 r 直接换成 δ,得 p2f=2δ(t)−3δ(t−1)+δ(t−2),即
f=p21[2δ(t)−3δ(t−1)+δ(t−2)]
impulse 的面积 2、−3、1 正是三个拐角的 Δk。中间那一级 pf=2u(t)−3u(t−1)+u(t−2) 就是 f 的斜率:0–1 为 2,1–2 为 2−3=−1,之后为 0。
(d) 例 6 的课上波形:r→u,u→δ,逐项换:
pf=u(t)−u(t−1)+δ(t−2)−u(t−2)+u(t−4)
读这个结果:u 那几项拼成"斜率函数"(0–1 为 1,1–2 为 0,2–4 为 1−1−1=−1,之后为 0),再加上 t=2 处那一跳给出的 δ(t−2)。
例 6 的 pf:青色是斜率部分,橙色箭头是 t=2 处面积 1 的 impulse。
④ 反过来:从式子画波形
从式子到分段表达式
- 列出每一项开始的时刻(u(t−a)、r(t−a) 里的 a),排好序,把 t 轴分成几段。
- 在每一段里,已经开始的项都在起作用:u(t−a) 贡献常数 1,r(t−a) 贡献 t−a;还没开始的项是 0。把起作用的项加起来、化简,就是这一段的表达式。
- 在分界点比较左右两段的值,判断有没有跳变,然后画图。
例 8画出 2u(t) − u(2 − t) 和 r(t) − 2u(t − 1) − r(t − 3)
两个式子分别画出来,写成分段形式。(a) 里有一个 6·01 ③ 讲的"关掉"型阶跃 u(2−t),它不是在 2 开始,而是在 2 结束,所以方框里第 1 步的"开始时刻"要改成"开关时刻"。
看解答
(a) f=2u(t)−u(2−t)。开关时刻:2u(t) 在 0 打开;u(2−t) 在 t<2 时为 1、在 2 关掉。所以 t 轴分成三段:
- t≤0:2u(t)=0,u(2−t)=1,f=−1。波形在负时间不是 0:它不是 one-sided waveform。
- 0<t<2:2−1=1。
- t≥2:u(2−t)=0(t=2 时是 u(0)=0),f=2。
① 2u(t):在 0 打开,之后是 2。② −u(2−t):t<2 时是 −1,在 2 关掉,把左边整体降 1 ✓
端点:t=0 时 f(0)=2u(0)−u(2)=−1,取左边的值;t=2 时 f(2)=2−u(0)=2,取右边的值。"关掉"型阶跃在跳变点取的是关掉以后的值,和 6·01 ③ 例 1(d) 一样。
例 8(a):t = 0 处实心点在 −1,t = 2 处实心点在 2。
(b) g=r(t)−2u(t−1)−r(t−3)。开始时刻 0、1、3。
- t≤0:g=0。
- 0<t≤1:只有 r(t)=t,从 0 升到 1。
- 1<t≤3:t−2,从 −1 升到 1。
- t>3:(t−2)−(t−3)=1。
① r(t):从 0 开始斜率 1。② −2u(t−1):1 以后整条线往下挪 2,斜率不变。③ −r(t−3):3 以后斜率归零,停在 1 ✓
在 t=1:左边的值 1,右边 1−2=−1,往下跳 2,但斜率没变(跳变前后都是 1):u 项只把线整体平移,不改斜率;改斜率要靠 r 项,这就是 −r(t−3) 的作用。少了它,g 会一直以斜率 1 上升。
例 8(b):t = 1 处实心点在 1(取左边的值),空心圈在 −1。
⑤ 函数乘阶跃:截断和平移
不是所有波形都由直线段组成。曲线段用"公式 × 窗口"来写:g(t)[u(t−a)−u(t−b)] 在 a<t≤b 上等于 g(t)、其余为 0(窗口就是高 1 的脉冲);g(t)u(t−a) 是"从 a 开始一直等于 g(t)"。这里有一个必须分清的区别:
截断和平移
- 截断:g(t)u(t−a)。曲线本身不动,只是把 a 以前的部分抹成 0。它在 t=a+ 的值是 g(a)。
- 平移:g(t−a)u(t−a)。把整条 g(t)u(t) 原样搬到右边 a 处。它在 t=a+ 的值是 g(0)。
r(t−a)=(t−a)u(t−a) 是平移(g(t)=t)。判断方法:看 u 里面的式子和前面函数里的式子是不是同一个。
例 9四个"函数乘阶跃"
画出并说明:(a) e−tu(t);(b) (t−1)u(t−1) 和 tu(t−1);(c) e−(t−2)u(t−2) 和 e−tu(t−2);(d) sint[u(t)−u(t−π)]。
(a) t≤0 为 0;t>0 为 e−t。在 0 处从 0 跳到 e0=1,然后衰减。这是 capacitor 放电的形状(6·16)。
(b) (t−1)u(t−1)=r(t−1):t=1 以前为 0,之后从 0 开始以斜率 1 上升,没有跳变。tu(t−1) 是截断:t≤1 为 0,t>1 为 t,在 t=1+ 已经是 1,所以多了一个高 1 的跳变。代数上 tu(t−1)=(t−1+1)u(t−1)=r(t−1)+u(t−1)。取 t=2:r(1)=1,而 2u(1)=2,确实差 1。
(c) e−(t−2)u(t−2) 是 (a) 平移 2:在 t=2 从 0 跳到 1 再衰减。e−tu(t−2) 是截断:在 t=2 跳到 e−2≈0.135。两者只差一个常数倍:e−tu(t−2)=e−2⋅e−(t−2)u(t−2)。
(d) 窗口 u(t)−u(t−π) 只留 0<t≤π,在这一段等于 sint:一个半拱。两端 sin0=sinπ=0,没有跳变。
(a) e−tu(t):t=0 处实心点在 0,空心圈在 1。(d) f(t)=sint[u(t)−u(t−π)]。
(b) 青:r(t−1)。橙:tu(t−1),在 t=1 跳了 1。(c) 青:平移。橙:截断,起点只有 e−2。
最常见的错
- tu(t−1)=r(t−1):前者在 t=1 跳了 1。平移的 ramp 两个 t 都要换。
- e−tu(t−2)=e−(t−2)u(t−2):前者小了 e−2 倍。
- 写完以后在每个开始时刻 a 代 t=a+ 检查一下:平移的 ramp 在那里应该是 0。
⑥ 为什么要拆:linear + time-invariant 课上第 11、12 讲
设一个系统(比如一个 RC 电路)满足两条:linear,即满足 superposition:输入乘常数、相加,输出也跟着乘、跟着加(定义和检验方法见 6·03);time-invariant,同样的输入晚 a 秒进来,输出形状不变、也只是晚 a 秒。再假设开始前电路里没有储能(zero state)。把它对 u(t) 的输出叫 step response,记作 s(t)。那么
x(t)=k∑Δku(t−ak)⇓y(t)=k∑Δks(t−ak)
理由:time-invariant 给出"u(t−ak) 的输出是 s(t−ak)",linear 给出"乘系数、相加"。所以只要算出一个 s(t),阶梯、脉冲输入的输出全是平移和加法。输入是一串 impulse 时同理:δ(t−a) 的输出是 impulse response 平移 a。这两条性质在 C·01 还会细讲,并由此推出 convolution。
例 10反过来用:已知 step response 和输出,求输入
某个 zero state 的 linear、time-invariant 系统,step response 是 s(t)=r(t)−r(t−1):输入一个单位阶跃,输出用 1 s 线性升到 1,然后保持。给它加一个只有跳变的输入(阶梯)x(t),测得的输出是下图的折线:
y(t)=⎩⎨⎧0,2t,2,8−3t,−1,t−4.5,0,t≤00<t≤11<t≤22<t≤33<t≤3.53.5<t≤4.5t>4.5测得的输出:三段斜坡,每段 1 s,中间是平台。求输入 x(t)。
- 想清楚要找什么。由上面的结论,输入 x=∑kΔku(t−ak) 的输出是 y=∑kΔks(t−ak)。所以只要把 y 写成若干个平移、缩放的 s 之和,平移量就是输入跳变的时刻 ak,系数就是跳变量 Δk。
- 先用 ① 的方法把 y 写成 ramp。y 处处连续,没有跳变;斜率依次是 0、2、0、−3、0、1、0,变化发生在 0、1、2、3、3.5、4.5,Δk 依次是 +2,−2,−3,+3,+1,−1:
y=2r(t)−2r(t−1)−3r(t−2)+3r(t−3)+r(t−3.5)−r(t−4.5)
- 两两配成 s。s(t−a)=r(t−a)−r(t−a−1),所以相差 1 s、系数相反的一对 ramp 就是一个平移的 s:
y=2s(t)−3s(t−2)+s(t−3.5)
下面三张小图把这三个 s 逐个加上(灰色虚线是测得的 y):
① 2s(t):0 到 1 s 的斜坡,升 2。② −3s(t−2):2 到 3 s 的斜坡,降 3。③ +s(t−3.5):3.5 到 4.5 s 的斜坡,升 1,和 y 重合 ✓
- 读出输入。s(t−a) 来自 u(t−a),系数照搬:
x(t)=2u(t)−3u(t−2)+u(t−3.5)
即 0<t≤2 时为 2,2<t≤3.5 时为 −1,之后为 0。
- 正向核对。把 x 代回去算两个点:y(2.5)=2s(2.5)−3s(0.5)+s(−1)=2−1.5+0=0.5,题目给的 8−3×2.5=0.5 ✓。y(4)=2−3+s(0.5)=−0.5,题目给的 4−4.5=−0.5 ✓。
橙色:求出的输入。灰色虚线:输出。输入每跳一次 Δ,输出就用 1 s 走完同样的 Δ。
没有做任何积分:只用了"拆成积木、平移、相加",而且是倒着用的。这个系统的 s 是折线,所以能直接读图;换成 RC 电路的 s(t)=(1−e−t/τ)u(t),第 3 步的配对思路完全一样。
练习 1:读图写式子并求导
g(t):0 到 2 以斜率 2 上升(升到 4);t=2 跳到 1,2 到 3 平在 1;3 到 4 以斜率 −1 降回 0;之后为 0。(a) 写成 u 和 r 的组合。(b) 求 pg。
提示
t=2 同时有跳变(Δ=1−4)和斜率变化(2→0),两块积木都要补,和例 6 的 t=2 一样。
(a) t=0:Δk=+2,补 2r(t)。t=2:Δ=1−4=−3,补 −3u(t−2);Δk=0−2=−2,补 −2r(t−2)。t=3:Δk=−1,补 −r(t−3)。t=4:Δk=+1,补 r(t−4)。
g=2r(t)−2r(t−2)−3u(t−2)−r(t−3)+r(t−4)
检查 2<t≤3:2t−2(t−2)−3=1 ✓;3<t≤4:1−(t−3)=4−t ✓;t>4:4−t+(t−4)=0 ✓。
(b) r→u,u→δ:pg=2u(t)−2u(t−2)−3δ(t−2)−u(t−3)+u(t−4)。
练习 2:从式子画波形
画出 q(t)=3u(t)−3r(t−1)+3r(t−2),写成分段形式。
提示
开始时刻 0、1、2,每一段只留已经开始的项。
t≤0:0。0<t≤1:3。1<t≤2:3−3(t−1)=6−3t,从 3 降到 0。t>2:6−3t+3(t−2)=0。形状:0 处跳到 3,平一段,再用 1 秒斜降到 0。
练习 3:有曲线段的波形
w(t):0<t≤1 时为 2;t>1 时为 2e−(t−1)(从 2 开始衰减);t≤0 时为 0。写成"公式 × 窗口"的形式,并说明 t=1 处有没有跳变。
提示
第一段用窗口 u(t)−u(t−1),第二段用 u(t−1)。第二段的函数是不是"平移"的形式?
w=2[u(t)−u(t−1)]+2e−(t−1)u(t−1),也可以合并成 2u(t)+2(e−(t−1)−1)u(t−1)。t=1+ 时第二段是 2e0=2,和左边的 2 相等,所以没有跳变(第二段正是平移形式,起点等于 2e0)。